/* 콘텐츠공통 - 시작 */
#content{padding:10rem 0 13rem 0; transition:padding 0.3s ease; overflow:hidden;}
#content.ovflow_visible{overflow:visible;}
.inline_b{display:inline-block;}
.cont_wrap{margin-top:60px;}

    /* 미디어쿼리 시작 */
	@media (max-width: 1500px) {
		#content{padding:9rem 0 11rem 0;}
	}
	@media (max-width: 1440px) {
		#content{padding:8rem 0 10rem 0;}
	}
	@media (max-width: 1280px){
		#content{padding:7rem 0 9rem 0;}
		.cont_wrap{margin-top:52px;}
	}
	@media (max-width: 1024px){
		#content{padding:6rem 0 8rem 0;}
	}
	@media (max-width: 768px){
		#content{padding:5rem 0 7rem 0;}
		.cont_wrap{margin-top:36px;}
	}
	@media (max-width: 500px){
		#content{padding:4rem 0 6rem 0;}
		.cont_wrap{margin-top:20px;}
	}
	/* 미디어쿼리 끝 */
/* 콘텐츠공통 - 끝 */


/* 콘텐츠 상단 시작*/
.con_top{display:flex; justify-content:space-between; align-items:end; padding-bottom:23px; margin-bottom:50px; border-bottom: 5px #f8f8f8 solid;}
.con_top .main_title{position:relative; font-size:4rem; letter-spacing:-0.025rem; font-weight:700; line-height:1.5; color:black; padding-right:10%;}
.con_top .util-buttons{display:inline-flex; gap:0 8px; background-color:#ffffff; cursor:pointer;}
.con_top .util-buttons button{position:relative; width:53px; height:51px; border:1px #ededed solid; border-radius:10px; transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);}
.con_top .util-buttons button:active{transform:scale(0.95); background-color:#e5efff;}
.con_top .util-buttons button.linkcopy_btn:before{
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
	transform: translate(-50%, -50%);
    width: 22px;
    height: 22px;
	background: url(../images/sub/clip_icon.svg) center no-repeat;
	background-size:contain;
}
.con_top .util-buttons button.print_btn:before{
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
    height: 24px;
    background: url(../images/sub/printer_icon.svg) center no-repeat;
    background-size: 24px 23px;
}
.con_top .util-buttons button:hover{border-color:#2b7de9; background-color:#f2f7ff;}
.con_top .util-buttons button:hover:before{filter:brightness(0) saturate(100%) invert(45%) sepia(85%) saturate(2400%) hue-rotate(195deg) brightness(95%) contrast(90%);}

	/* 콘텐츠 상단 미디어쿼리 시작 */
	@media (max-width: 1280px) {
		.con_top .main_title{font-size:3.6rem;}
	}
	@media (max-width: 1024px) {
		.con_top{padding-bottom:20px;}
		.con_top .main_title{font-size:3.2rem;}
		.con_top .util-buttons .print_btn{display:none;}
		.con_top .util-buttons button{width:48px; height:46px;}
	}
	@media (max-width: 768px) {
		.con_top{padding-bottom:18px; margin-bottom:32px; border-bottom-width:4px;}
		.con_top .main_title{font-size:3rem;}
		.con_top .util-buttons button{width:44px; height:42px; border-radius:8px;}
		.con_top .util-buttons button.linkcopy_btn:before{width:20px; height:20px;}
	}
	@media (max-width: 425px) {
		.con_top{padding-bottom:15px;}
		.con_top .main_title{font-size:2.8rem;}
		.con_top .util-buttons button{width:40px; height:38px; border-radius:7px;}
		.con_top .util-buttons button.linkcopy_btn:before{width:18px; height:18px;}
	}
	@media (max-width: 375px) {
		.con_top .main_title{font-size:2.6rem;}
		.con_top .util-buttons button{width:38px; height:36px;}
	}
	/* 콘텐츠 상단 미디어쿼리 끝 */
/* 콘텐츠 상단 끝 */


/* 타이틀 시작*/
.h4_normal{font-size: 3.4rem; font-weight:700; letter-spacing:-0.035em; color:#111;  white-space:nowrap;}
.bullet_tit{display:flex; align-items:center; gap:11px; font-size:3.2rem; font-weight:700; color:#1f2024; letter-spacing:-0.05rem; line-height:1.2;}
.bullet_tit::before{
  content:''; 
  flex:0 0 auto; 
  width:36px; 
  height:28px;
  background:url(../images/contents/bullet_icon.svg) left center / contain no-repeat;
}

	/* 미디어쿼리 시작 */
	@media (max-width: 1024px) {
		.h4_normal{font-size: 3rem;}
		.bullet_tit{font-size:2.8rem;}
	}
	@media (max-width: 768px) {
		.h4_normal{font-size: 2.5rem;}
		.bullet_tit{font-size:2.5rem; gap: 8px;}
		.bullet_tit::before{width:31px; height:24px;}
	}
	@media (max-width: 375px) {
		.h4_normal{font-size: 2.4rem;}
		.bullet_tit{font-size:2.4rem; gap:6px;}
		.bullet_tit::before{
			width: 29px;
			height: 22px;
		}
	}
	/* 미디어쿼리 끝 */
/* 타이틀 끝 */


/* 텍스트 컨텐츠 시작 */
.txt_con_frame{margin:0 auto; font-size: 1.8rem; line-height: 1.4; font-weight: 400; color: #444;}
.txt_con_frame .txt_in{margin-left: 35px; margin-bottom:80px;}
.txt_con_frame .txt_in:last-child{margin-bottom:0;}
.txt_con_frame .txt_in2 .in_ul{margin-left: 20px;}
.txt_con_frame .txt_in2 .in_ul > li{font-size:1.8rem;}
.txt_con_frame b{color: #444; font-weight:700;}
.txt_con_frame .alert_info{position:relative; display: inline-block; font-weight: 500; margin-top: 7px; color: #7a6842; padding-left:24px; line-height:1.3;}
.txt_con_frame .alert_info:before{
    content: "!";
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 16px;
    height: 16px;
    background-color: #7a6842;
    border-radius: 100%;
    color: white;
    line-height: 17px;
    text-align: center;
    font-size: 1.1rem;
}
.txt_con_frame table .alert_info{font-size: 1.7rem;}
.txt_con_frame table .alert_info:before{top:3px;}
.txt_con_frame .in_gray_box{border: 1px #e0e0e0 solid; padding: 24px 35px; margin-top: 50px; box-shadow: 2px 2px 4px rgb(0 0 0 / 5%); transition: 0.3s; }
.txt_con_frame .in_gray_box .alert_info{padding-top: 1px;}
.txt_con_frame .caution_info{position:relative; display: inline-block; font-weight: 500; margin-top: 7px; color: #f44336; padding-left:22px; line-height:1.3;}
.txt_con_frame .caution_info:before{
    content: "※";
    display: block;
    position: absolute;
    top: 3px;
    left: 0;
    width: 16px;
    height: 16px;
    color: #f44336;
    line-height: 17px;
    text-align: center;
    font-size: 2.3rem;
}
.txt_con_frame .txt_p{line-height: 1.85; margin-top:-7px;}
.txt_con_mb{margin-bottom:9rem;}
.underline {position: relative; z-index: 10; color: #333; font-weight: 600; padding: 0 3px;}
.underline:before{
    opacity: .1;
    content: "";
    display: block;
    position: absolute;
    bottom: -3px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 50%;
    background: #6e7b98;
}

    /* 미디어쿼리 시작 */
	@media (max-width: 1500px){
		.txt_con_frame .txt_in{margin-bottom:70px;}
	}
	@media (max-width: 1280px){
		.txt_con_frame{font-size:1.7rem;}
		.txt_con_frame .txt_in{margin-bottom:60px;}
		.txt_con_frame .alert_info:before{top: 3px;}
		.txt_con_frame table .alert_info{padding-left: 22px; font-size: 1.5rem;}
		.txt_con_frame .in_gray_box{margin-top:30px; padding: 15px 28px;}
	}
	@media (max-width: 1024px){
		.txt_con_mb{margin-bottom: 8rem;}
		.txt_con_frame .txt_in{margin-bottom:50px; margin-left:0px;}
		.txt_con_frame .alert_info{margin-top:5px;}
	}
	@media (max-width: 500px){
		.txt_con_mb{margin-bottom: 7rem;}
		.txt_con_frame{font-size:1.6rem;}
		.txt_con_frame .txt_in{margin-left:0; margin-bottom:40px;}
		.txt_con_frame .alert_info{padding-left:20px; margin-top: 4px}
		.txt_con_frame .alert_info:before{width: 14px; height: 14px; line-height: 16px;}
	}
    /* 미디어쿼리 끝 */
/* 텍스트 컨텐츠 끝 */


/*기본 ul 시작*/
.txt_ul > li{position:relative; padding-left: 16px; margin-bottom: 12px;}
.txt_ul > li:before{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 10px;
    width: 4px;
    height: 4px;
    background: #848380;
    border-radius: 100%;
}
.txt_ul > li:last-child{margin-bottom:0;}
.dash_ul > li{position:relative; padding-left: 16px; margin-bottom: 10px;}
.dash_ul > li:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 12px;
    width: 4px;
    height: 1px;
    background: #848380;
}
.dash_ul > li:last-child{margin-bottom:0;}
.dash_ul.c1{display:inline-block; margin:0; padding:0; list-style:none;}
.dash_ul.c1 > li{margin-bottom: 8px;}
.dash_ul.c1 > li:last-child{margin-bottom:0;}
.in_ul{margin-top:10px; margin-bottom:15px;}
.in_ul > li{margin-bottom:7px;}
.in_ul > li:before{top: 10px;}
.small_ul{padding-left: 15px; margin-bottom: 15px; margin-top: 10px;}
.small_ul li{color: #666; font-size: 1.7rem; margin-bottom: 8px; font-weight: 400;}
.num_frame{display:flex;}
.num_frame .number{font-family: 'Pretendard'; font-weight:600;}
.num_span{padding-left:6px;}
.mb_big > li{margin-bottom:30px;}
.mb_big .t_bold{font-size:1.9rem; font-weight:500; letter-spacing:-0.075rem; color:#303030;}
.mb_small > li{margin-bottom:20px;}

    /* 미디어쿼리 시작 */
	@media (max-width: 1280px){
		.txt_ul > li:before{top: 10px;}
		.mb_big .t_bold{font-size:1.8rem;}
		.in_ul{margin-top:7px;}
		.in_ul > li{padding-left: 11px; margin-bottom:5px;}
		.small_ul li{font-size:1.6rem;}
		.mb_small > li{margin-bottom:15px;}
	}
	@media (max-width: 768px){
		.mb_small > li{margin-bottom:12px;}
		.txt_ul.c1 > li{margin-bottom:5px;}
		.dash_ul.c1 > li{margin-bottom: 5px;}
	}
	@media (max-width: 500px){
		.txt_ul > li {padding-left: 13px;}
		.txt_ul > li:before{top: 9px; width: 3px; height: 3px;}
		.mb_big .t_bold{font-size:1.7rem;}
		.in_ul > li{padding-left:10px; margin-bottom: 3px;}
		.small_ul li{font-size:1.5rem;}
		.dash_ul > li:before{top:10px;}
		.txt_ul.c1 > li{padding-left:10px;}
	}
    /* 미디어쿼리 끝 */
/*기본 ul 끝*/


/* 테이블 시작 */
.table_wrap{overflow-x:auto;}
.table_wrap.scroll_x{position:relative;}
.table_type1{margin-top:1px; position:relative; font-size:1.8rem; letter-spacing: -0.025rem;}
.table_type1:before{
    content:"";
    width: 100%;
    height: 2px;
	background-color:#3e3e3e;
    position: absolute;
    top: -1px;
    left: 0px;
}
.table_type1.vm th, .table_type1.vm td{vertical-align:middle;}
.table_type1.pd_30 th, .table_type1.pd_30 td{padding-left:30px; padding-right:30px;}
.table_type1 thead th{background:#f9f9f9; border-right: 1px solid #dfdfdf;}
.table_type1 thead th:last-child{border-right:none;}
.table_type1 thead th.br_plus{border-right: 1px solid #dfdfdf;}
.table_type1 thead th.bb_plus{border-bottom: 1px solid #dfdfdf;}
.table_type1 tbody th{background:#f7f7f7; border:1px solid #e9e9e9; font-weight:400; color: #000000;}
.table_type1 thead + tbody th{border-right-color:#e9e9e9;}
.table_type1 th{padding:17px; line-height:1.4; word-break:keep-all; text-align:center; font-weight:600;}
.table_type1 td{padding:20px 25px; line-height:1.4; word-break:keep-all;}
.table_type1 tbody td{border:1px solid #e9e9e9; text-align:left; font-weight:400;}
.table_type1 tbody tr.t_center td{text-align:center;}
.table_type1 tbody tr td:last-child{border-right-width:0px;}
.table_type1 tbody tr td:first-child,
.table_type1 tbody tr th:first-child{border-left-width:0px;}
.table_type1 thead + tbody tr td{text-align:center;}
.m_scroll_info{display:none; position: sticky; top: 0px; left: 0px; width: 100%; justify-content: flex-start; align-items: center; z-index: 10; padding: 8px 13px; box-sizing: border-box; border: 1px #d4d4d4 dotted;  margin-bottom: 13px; font-size: 1.6rem; font-weight: 500; color: #444; letter-spacing: -0.5px;}
.m_scroll_info span{display:inline-block; position: relative; padding-left: 30px; color: #7a6841; font-weight: 500; font-size: 1.6rem; line-height: 1.3; letter-spacing: -0.075rem;}
.m_scroll_info span > i{position: absolute; top:0; left:1px; height: 100%; font-size:3rem; transform: rotate(90deg);}

	/* 미디어쿼리 시작 */
	@media (max-width: 1280px) {
		.table_type1{font-size:1.7rem;}
	}
	@media (max-width: 768px) {
		.table_type1{font-size:1.6rem;}
		.table_type1 th {padding: 11px 15px;}
		.table_type1.pd_30 th, .table_type1.pd_30 td{padding: 14px 20px 12px 20px;}
		.table_type1.pd_30 tbody td{padding:19px 2px 17px 20px;}
	}
	@media (max-width: 350px) {
		.table_type1{font-size:1.5rem;}
		.table_type1 thead th{padding:13px 18px 11px 18px;}
		.table_type1 td{padding:17px 18px;}
		.m_scroll_info span{font-size:1.5rem; padding-left:28px;}
		.m_scroll_info span > i{font-size:2.4rem;}
	}
	/* 미디어쿼리 끝 */
/* 테이블 끝 */


/* 하단여백 시작 */
.bottom-spacer{height:100px;}
.mb-spacer{margin-bottom:100px;}
.tit-spacer{margin-bottom: 18px;}

	/* 미디어쿼리 시작 */
	@media (max-width:1024px){
		.bottom-spacer{height:90px;}
		.mb-spacer{margin-bottom:90px;}
		.tit-spacer{margin-bottom:22px;}
	}
	@media (max-width:768px){
		.bottom-spacer{height:70px;}
		.mb-spacer{margin-bottom:70px;}
		.tit-spacer{margin-bottom:13px;}
	}
	@media (max-width:425px){
		.bottom-spacer{height:60px;}
		.mb-spacer{margin-bottom:60px;}
	}
	/* 미디어쿼리 끝 */
/* 하단여백 끝 */


/* 국가정원 지도 시작 */
@keyframes markerPulse {
	0%   { transform: rotate(-45deg) scale(1);   opacity: 0.6; }
	100% { transform: rotate(-45deg) scale(2.2); opacity: 0; }
}
#content.map_bottom{padding-bottom:0;}
:root{
	--green-dark:   #1a3a2a;
	--green-main:   #2d6a4f;
	--green-light: #52b788;
	--green-pale:  #d8f3dc;
	--cream:       #f8f5f0;
	--warm-gray:   #e8e4dd;
	--text-dark:   #1c1c1c;
	--text-mid:    #555;
	--text-light:  #888;
	--accent:      #e76f51;
	--white:       #fff;
	--panel-w:     380px;
	--header-h:    60px;
	--map-h:       800px;
}
#taehwa_garden_map {
	display:flex;
	flex-direction:column;
	height:var(--map-h);
	overflow:hidden;
    border-radius: 15px;
    border: 1px #f5f4f2 solid;
}
#taehwa_garden_map .body-area{
	position:relative;
	display:flex;
	flex:1;
	overflow:hidden;
	min-height:0;
}
#taehwa_garden_map .top-bar{
	height:var(--header-h);
	background: linear-gradient(120deg, #1a3a2a 0%, #245c46 35%, #2f8a62 70%, #8fd694 100%);
	display:flex;
	align-items:center;
	padding:0 20px;
	gap:16px;
	flex-shrink:0;
	z-index:5;
}
#taehwa_garden_map .top-bar h1{font-size:2.3rem; color:var(--white); white-space: nowrap; font-family:'Paperlogy'; text-shadow:2px 2px 2px rgb(10 22 17 / 80%);}
#taehwa_garden_map .top-bar .divider{width:1px; height:24px; background:rgba(255,255,255,.25);}
#taehwa_garden_map .search-wrap{position:relative; flex:1; max-width: 360px; flex: 1; min-width: 0;}
#taehwa_garden_map .search-wrap input{
	width:100%;
	padding:8px 36px 8px 14px;
	border-radius:30px;
	border:none;
	outline:none;
	background:rgba(255,255,255,.15);
	color:var(--white);
	font-size:1.7rem;
	transition:background .2s;
}
#taehwa_garden_map .search-wrap input::placeholder{color:rgba(255,255,255,.55);}
#taehwa_garden_map .search-wrap input:focus{background:rgba(255,255,255,.25);}
#taehwa_garden_map .search-wrap .ico-search{position:absolute; right:12px; top:50%; transform:translateY(-50%); color:rgba(255,255,255,.7); font-size:1.7rem; pointer-events:none;}
#taehwa_garden_map .left-panel{
	width:var(--panel-w);
	background:var(--white);
	display:flex;
	flex-direction:column;
	border-right:1px solid var(--warm-gray);
	flex-shrink:0;
	z-index:5;
	min-height:0;
	overflow:hidden;
	transition:width .3s cubic-bezier(.4, 0, .2, 1);
	will-change:width;
}
#taehwa_garden_map .cat-tabs{
	display:flex;
	border-bottom:1px solid var(--warm-gray);
	overflow-x:auto;
	scrollbar-width:none;
	flex-shrink:0;
}
#taehwa_garden_map .cat-tabs::-webkit-scrollbar{display:none;}
#taehwa_garden_map .cat-tab{
	flex-shrink:0;
	padding:14px 14px;
	font-size:1.5rem;
	font-weight:500;
	color:var(--text-light);
	cursor:pointer;
	border:none;
	border-bottom:2px solid transparent;
	background:transparent;
	font-family:inherit;
	transition:all .2s;
	white-space:nowrap;
}
#taehwa_garden_map .cat-tab.active{color:var(--green-main); border-bottom-color:var(--green-main); font-weight:700;}
#taehwa_garden_map .cat-tab:hover:not(.active){color: var(--text-dark);}
#taehwa_garden_map .filter-row{
	display:flex;
	gap:6px;
	padding:10px 14px;
	border-bottom:1px solid var(--warm-gray);
	flex-shrink:0;
	overflow-x:auto;
	overflow-y:hidden;
	scrollbar-width:none;
	flex-wrap:nowrap;
}
#taehwa_garden_map .filter-row::-webkit-scrollbar{display:none;}
#taehwa_garden_map .filter-chip{
	flex-shrink:0;
	padding:6px 14px;
	border-radius:20px;
	border:1px solid var(--warm-gray);
	font-size:1.4rem;
	font-weight:500;
	color:var(--text-mid);
	background:var(--white);
	cursor:pointer;
	font-family:inherit;
	transition:all .18s;
	white-space:nowrap;
}
#taehwa_garden_map .filter-chip.active{background:var(--green-pale); border-color:var(--green-light); color:var(--green-dark);}
#taehwa_garden_map .list-meta{padding:15px 16px 6px; font-size:1.5rem; color:var(--text-light); flex-shrink:0;}
#taehwa_garden_map .list-meta strong{color:var(--green-main);}
#taehwa_garden_map .place-list{
	flex:1;
	overflow-y:auto;
	scrollbar-width:thin;
	scrollbar-color:var(--warm-gray) transparent;
	min-height:0;
	display:flex;
	flex-direction:column;
}
#taehwa_garden_map .place-card{
	display:flex;
	align-items:flex-start;
	gap:1.6rem;
	padding:1.8rem;
	border-bottom:1px solid #eee;
	cursor:pointer;
	transition:background 0.2s;
	position:relative;
}
#taehwa_garden_map .place-card:hover{background:var(--cream);}
#taehwa_garden_map .place-card.active {
	background: #f2f2f2;
	border-left: 3px solid var(--green-main);
	padding-left: calc(1.8rem - 3px);
}

#taehwa_garden_map .card-thumb{width:80px; height:80px; border-radius:8px; object-fit:cover; flex-shrink:0; background:var(--warm-gray);}
#taehwa_garden_map .card-info{flex:1; min-width:0;}
#taehwa_garden_map .card-badge{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px 3px 8px;
	border-radius: 100px;
	border: 1px solid transparent;
	font-size: 1.3rem;
	font-weight: 600;
	margin-bottom: 0.6rem;
	letter-spacing: 0.01em;
	font-family: 'Paperlogy';
}
#taehwa_garden_map .card-badge::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.65;
	flex-shrink: 0;
}
#taehwa_garden_map .card-name{
	font-family:'Paperlogy';
	font-size:1.7rem;
	font-weight:700;
	margin-bottom:0.6rem;
	line-height:1.4;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	color:var(--text-dark);
}
#taehwa_garden_map .card-desc{
	font-size:1.4rem;
	color:var(--text-mid);
	line-height:1.6;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
#taehwa_garden_map .card-num{
	position: absolute;
	top: 15px;
	right: 16px;
	width: 26px;
	height: 26px;
	border-radius: 100px;
	font-size: 1.2rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 6px;
	letter-spacing: -0.3px;
	font-family: 'Paperlogy';
}
#taehwa_garden_map .detail-panel{
	position:absolute;
	top:0;
	left:0;
	width:var(--panel-w);
	height:100%;
	background:var(--white);
	z-index:300;
	display:flex;
	flex-direction:column;
	transform:translateX(-100%);
	transition:transform .3s cubic-bezier(.4,0,.2,1);
	overflow:hidden;
}
#taehwa_garden_map .detail-panel.open{transform:translateX(0);}
#taehwa_garden_map .detail-img{width:100%; height:220px; object-fit:cover; display:block; flex-shrink:0;}
#taehwa_garden_map .detail-body{padding:20px; overflow-y:auto; flex:1; min-height:0;}
#taehwa_garden_map .detail-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 12px 4px 10px;
	border-radius: 100px;
	border: 1px solid transparent;
	font-size: 1.4rem;
	font-weight: 600;
	margin-bottom: 10px;
}
#taehwa_garden_map .detail-badge::before {
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.65;
	flex-shrink: 0;
}
#taehwa_garden_map .detail-name{font-size:2.6rem; font-weight:700; margin-bottom:12px; line-height:1.3;}
#taehwa_garden_map .detail-desc{font-size:1.7rem; color:var(--text-mid); line-height:1.8; margin-bottom:16px;}
#taehwa_garden_map .detail-info-list{list-style:none;}
#taehwa_garden_map .detail-info-list li{
	display:flex;
	gap:10px;
	font-size:1.5rem;
	color:var(--text-mid);
	padding:8px 0;
	border-bottom:1px solid var(--warm-gray);
	align-items:flex-start;
}
#taehwa_garden_map .detail-info-list li:last-child{border-bottom:none;}
#taehwa_garden_map .detail-info-list .lbl{font-weight:700; color:var(--text-dark); white-space:nowrap; min-width:56px;}
#taehwa_garden_map .btn-back {
	position: absolute;
	top: 12px;
	left: 12px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: linear-gradient(145deg, #2d8659, #1a5c3a);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255,255,255,0.2);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow:
	0 4px 16px rgba(0,0,0,0.3),
	0 1px 4px rgba(0,0,0,0.15),
	inset 0 1px 1px rgba(255,255,255,0.25),
	inset 0 -1px 1px rgba(0,0,0,0.15);
	transition: all 0.2s ease;
	z-index: 1;
}
#taehwa_garden_map .btn-back:hover {
	background: linear-gradient(145deg, #35a06a, #206b44);
	transform: translateY(-2px);
	box-shadow:
	0 6px 20px rgba(0,0,0,0.35),
	inset 0 1px 1px rgba(255,255,255,0.3);
}
#taehwa_garden_map .btn-back:active {
	transform: scale(0.94);
}
#taehwa_garden_map .btn-back i{font-weight:600; color:white;}
#taehwa_garden_map .map-wrap{
	flex:1;
	position:relative;
	overflow:hidden;
	min-height:0;
	z-index:1;
	transition:width .3s cubic-bezier(.4, 0, .2, 1);
}
#taehwa_garden_map .in-map{width:100%; height:100%; background:#fffbda; overflow: hidden;}
#taehwa_garden_map .in-map .leaflet-container{background: #fffbda !important;}
#taehwa_garden_map .leaflet-map-pane,
#taehwa_garden_map .leaflet-image-layer{will-change:transform; transform:translateZ(0);}
#taehwa_garden_map .leaflet-popup-content-wrapper{
	border-radius:12px !important;
	box-shadow:0 8px 24px rgba(0,0,0,.18) !important;
	padding:0 !important;
	overflow:hidden;
	min-width:23rem;
	-webkit-font-smoothing:subpixel-antialiased;
	backface-visibility:hidden;
}
#taehwa_garden_map .leaflet-popup-content-wrapper,
#taehwa_garden_map .leaflet-popup-tip{opacity: 1 !important;}
#taehwa_garden_map .leaflet-popup-content{margin:0 !important;}
#taehwa_garden_map .leaflet-popup-tip-container{display:none;}
#taehwa_garden_map .map-popup{width:230px; cursor:pointer; transform:translateZ(0);}
#taehwa_garden_map .map-popup img{width:100%; height:130px; object-fit:cover; display:block;}
#taehwa_garden_map .map-popup-body{padding:14px 16px;}
#taehwa_garden_map .map-popup-badge{font-size:1.2rem; font-weight:600; color:var(--green-main); margin-bottom:5px; display:inline-flex; align-items:center; border-radius:5px; padding:3px 5px; line-height:1; font-family:'Paperlogy';}
#taehwa_garden_map .map-popup-name{font-family:'Paperlogy'; font-size:1.7rem; font-weight:700; margin-bottom:5px; line-height:1.3;}
#taehwa_garden_map .map-popup-desc{font-size:1.4rem; color:var(--text-light); line-height:1.6; margin-bottom:15px;}
#taehwa_garden_map .map-popup-btn{display:block; text-align:center; padding:1rem; background:var(--green-main); color:var(--white); font-size:1.4rem; font-weight:700; border-radius:6px; border:none; width:100%; cursor:pointer; transition:background .15s;}
#taehwa_garden_map .map-popup-btn:hover{background:var(--green-dark);}
#taehwa_garden_map .panel-toggle-btn{
	position: absolute;
	top: 50%;
	left: var(--panel-w);
	transform: translateY(-50%);
	z-index: 10;
	width: 20px;
	height: 48px;
	background: var(--green-main);
	border: none;
	cursor: pointer;
	border-radius: 0 6px 6px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white);
	font-size: 2.4rem;
	transition: left .3s cubic-bezier(.4,0,.2,1), background .15s;
	box-shadow: 2px 0 8px rgba(0,0,0,.15);
}
#taehwa_garden_map .panel-toggle-btn:hover{background:var(--green-dark);}
#taehwa_garden_map .panel-toggle-btn .xi-angle-left-min{padding-right:1px;}
#taehwa_garden_map.panel-collapsed .left-panel{width:0;}
#taehwa_garden_map.panel-collapsed .panel-toggle-btn{left:0;}
#taehwa_garden_map .card-detail-btn {
    display: block;
    width: 100%;
    margin: 1rem 0 0 0;
    padding: 8px;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 600;
    cursor: pointer;
}
#taehwa_garden_map .scroll-hint {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(0,0,0,0.6);
	color: #fff;
	padding: 12px 20px;
	border-radius: 8px;
	font-size: 1.4rem;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s;
	z-index: 1000;
	white-space: nowrap;
}
#taehwa_garden_map .scroll-hint.visible {
	opacity: 1;
}

	/* 미디어쿼리 시작 */
	@media (min-width: 1440px) {
		#taehwa_garden_map{font-size:1.6rem;}
		#taehwa_garden_map .card-name{font-size:1.9rem;}
		#taehwa_garden_map .card-desc{font-size:1.5rem;}
	}
	@media (max-width: 1024px) {
		:root{--panel-w:100vw;}
		#taehwa_garden_map{height:100svh; font-size:1.5rem;}
		#taehwa_garden_map .body-area{flex-direction:column;}
		#taehwa_garden_map .map-wrap{width:100%; height:55%; flex-shrink:0; order:1;}
		#taehwa_garden_map .left-panel{width:100%; height:45%; flex-shrink:0; border-right:none; border-top:2px solid var(--warm-gray); order:2; position:static; pointer-events:auto; z-index:200;}
		#taehwa_garden_map .detail-panel{top:0; height:100%; width:100%;}
		#taehwa_garden_map .panel-toggle-btn{display:none;}
		#taehwa_garden_map.panel-collapsed .left-panel{width:100%; height:45%;}
		#taehwa_garden_map .card-name{font-size:1.8rem;}
		#taehwa_garden_map .card-desc{font-size:1.5rem; line-height:1.7;}
		.leaflet-popup-content{font-size:1.5rem !important;}
	}
	@media (max-width: 768px) {
		#taehwa_garden_map{font-size:1.6rem;}
		#taehwa_garden_map .top-bar{gap:10px; padding:0 14px;}
		#taehwa_garden_map .top-bar h1{font-size:1.8rem;}
		#taehwa_garden_map .search-wrap{max-width:100%;}
		#taehwa_garden_map .search-wrap input{font-size:1.5rem; padding:7px 32px 7px 12px;}
		#taehwa_garden_map .card-name{font-size:1.9rem;}
		#taehwa_garden_map .card-desc{font-size:1.6rem; line-height:1.7;}
		#taehwa_garden_map .map-popup-name{font-size:1.8rem;}
		#taehwa_garden_map .map-popup-desc{font-size:1.6rem;}
		#taehwa_garden_map .map-popup-btn{padding:1.2rem; font-size:1.5rem;}
	}
	/* 미디어쿼리 끝 */
/* 국가정원 지도 끝 */


/* 국가정원 개요 시작 */
/* =========================================================
공통 사용(타이틀 상단)
========================================================= */
.ng_section-head{margin-bottom:32px;}
.ng_section-head .title_txt_wrap{display:flex; gap:0 30px; align-items:end;}
.ng_section-head .eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:1.3rem; font-weight:600; color:#2d8659; letter-spacing:0.18em; text-transform:uppercase; margin-bottom:18px; font-family:'Paperlogy';}
.ng_section-head .eyebrow::before{
	content:"";
	display:block;
	width:34px;
	height:2px;
	background:#2d8659;
}
.ng_section-head h4{font-size:3.4rem; font-weight:700; letter-spacing:-0.035em; color:#111; white-space:nowrap;}
.ng_section-head .lead{margin-top:14px; font-size:1.8rem; color: #56595e; line-height:1.65; margin-bottom:-4px; letter-spacing: -0.03rem;}
.status-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:32px;align-items:stretch;}

	/* 미디어쿼리 시작 */
	@media (max-width:1153px){
		.ng_section-head .title_txt_wrap{align-items:flex-start;}
		.ng_section-head .lead{margin-top:-4px;}
	}
	@media (max-width:1024px){
		.ng_section-head h4{font-size:2.8rem;}
		.ng_section-head .lead{font-size:1.7rem;}
		.status-grid{grid-template-columns:1fr;gap:24px;}
	}
	@media (max-width:768px){
		.ng_section-head{margin-bottom:24px;}
		.ng_section-head h4{font-size:2.5rem;}
		.ng_section-head .lead{font-size:1.6rem;}
		.ng_section-head .eyebrow{font-size:1.2rem; margin-bottom:18px;}
	}
	@media (max-width:500px){
		.ng_section-head .title_txt_wrap{flex-wrap:wrap; gap:15px 30px;}
		.ng_section-head .lead{width:100%;}
	}
	@media (max-width:425px){
		.ng_section-head .eyebrow{font-size:1.1rem; margin-bottom:17px;}
	}
	@media (max-width:375px){
		.ng_section-head h4{font-size:2.4rem;}
	}
	/* 미디어쿼리 끝 */


/* =========================================================
정원현황 (Overview)
========================================================= */
.nationalgarden_section-wrap{padding:0 0 20px 0;}

/* 좌측 — 메인 비주얼 */
.status-visual{position:relative;border-radius:24px;overflow:hidden;background:#0d1f12;min-height:560px;}
.status-visual .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.8s cubic-bezier(.22,1,.36,1);}
.status-visual:hover .img{transform:scale(1.04);}
.status-visual .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,0.55) 100%);}
.status-visual .caption{position:absolute;left:32px;right:32px;bottom:28px;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;z-index:2;}
.status-visual .caption .place{font-size:2.2rem;font-weight:700;letter-spacing:-0.02em;text-shadow:0 2px 16px rgba(0,0,0,0.4); margin-bottom:5px;}
.status-visual .caption .place small{display:block; font-size:1.5rem; font-weight:400; opacity:0.85; letter-spacing:0.05em; margin-top:10px;}
.status-visual .caption .badge{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:rgba(255,255,255,0.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,0.25);border-radius:100px;font-size:1.3rem;font-weight:600;color:#fff;}
.status-visual .caption .badge::before{content:"";width:6px;height:6px;border-radius:50%;background:#7dd87d;box-shadow:0 0 0 4px rgba(125,216,125,0.25);}

/* 우측 — 정보 패널 */
.status-info{display:flex;flex-direction:column;gap:18px;}

.info-card{background:#fff;border:1px solid #e8ece8;border-radius:24px;padding:28px 30px;position:relative;overflow:hidden;}
.info-card .label{font-size:1.25rem;font-weight:600;color:#2d8659;letter-spacing:0.15em;text-transform:uppercase;margin-bottom:8px;}
.info-card .name{font-size:2.4rem;font-weight:700;letter-spacing:-0.025em;color:#111;line-height:1.3;}
.info-card .name .accent{color:#2d8659;}
.info-card .desc{margin-top:10px;font-size:1.7rem;color:#666;line-height:1.6;}
.info-card .deco{position:absolute;top:-30px;right:-30px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle at 30% 30%, rgba(45,134,89,0.08), transparent 70%);}

/* 총 면적 강조 */
.area-card{background:linear-gradient(135deg,#1b5c3a 0%,#2d8659 100%);color:#fff;border-radius:24px;padding:28px 30px;position:relative;overflow:hidden;}
.area-card .label{font-size:1.25rem;font-weight:500;letter-spacing:0.15em;opacity:0.85;margin-bottom:6px;}
.area-card .area-value{font-family:'Inter','Pretendard',sans-serif;font-size:4.4rem;font-weight:700;letter-spacing:-0.04em;line-height:1.05;display:flex;align-items:baseline;gap:6px;}
.area-card .area-value sup{font-size:1.6rem;font-weight:500;opacity:0.85;}
.area-card .area-value .unit{font-size:1.6rem;font-weight:500;opacity:0.85;margin-left:2px;}
.area-card .area-sub{margin-top:10px;font-size:1.4rem;opacity:0.85;}
.area-card .pattern{position:absolute;right:-40px;bottom:-40px;width:200px;height:200px;border-radius:50%;border:1px solid rgba(255,255,255,0.15);}
.area-card .pattern::before{content:"";position:absolute;inset:24px;border-radius:50%;border:1px solid rgba(255,255,255,0.12);}
.area-card .pattern::after{content:"";position:absolute;inset:48px;border-radius:50%;border:1px solid rgba(255,255,255,0.08);}

/* 지구 분할 */
.zone-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.zone-card{background:#fff;border:1px solid #e8ece8;border-radius:20px;padding:22px 22px 24px;position:relative;transition:all 0.25s ease;}
.zone-card:hover{border-color:#2d8659;transform:translateY(-2px);box-shadow:0 8px 24px rgba(45,134,89,0.08);}
.zone-card .zone-tag{display:inline-block;font-size:1.3rem;font-weight:600;color:#fff;background:#2d8659;padding:4px 10px;border-radius:6px;letter-spacing:0.05em;margin-bottom:14px;}
.zone-card.purple .zone-tag{background:#7e57c2;}
.zone-card .zone-name{font-size:1.9rem;font-weight:700;color:#111;letter-spacing:-0.02em;margin-bottom:4px;}
.zone-card .zone-loc{font-size:1.3rem;color:#888;margin-bottom:16px;}
.zone-card .zone-size{font-family:'Inter','Pretendard',sans-serif;font-size:2.2rem;font-weight:700;color:#111;letter-spacing:-0.03em;}
.zone-card .zone-size .unit{font-size:1.3rem;font-weight:500;color:#888;margin-left:2px;}

/* 운영 정보 미니 */
.meta-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.meta-card{background:#f6f8f6;border-radius:18px;padding:18px 22px;display:flex;align-items:center;gap:14px;}
.meta-card .ico{flex:none;width:40px;height:40px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;color:#2d8659;}
.meta-card .ico svg{width:20px;height:20px;}
.meta-card .meta-label{font-size:1.2rem;color:#888;margin-bottom:2px;}
.meta-card .meta-value{font-size:1.6rem;font-weight:600;color:#1a1a1a;line-height:1.25; display:inline-flex; align-items:end; gap:0 5px; flex-wrap:wrap;}

	/* 미디어쿼리 시작 */
	@media (max-width:1024px){
		.nationalgarden_section-wrap{padding:0 0 10px 0;}
	}
	@media (max-width:768px){
		.nationalgarden_section-wrap{padding:0;}
		.status-info{gap:15px;}
		.zone-split{gap:12px;}
		.meta-row{gap:12px;}
		.status-visual{min-height:340px;border-radius:18px;}
		.status-visual .caption{left:20px;right:20px;bottom:20px;}
		.status-visual .caption .place{font-size:1.8rem;}
		.info-card,.area-card{padding:22px 22px;border-radius:18px;}
		.info-card .name{font-size:2rem;}
		.info-card .desc{font-size:1.6rem;}
		.area-card .area-value{font-size:3.6rem;}
		.zone-card{padding:18px 18px 20px;border-radius:16px;}
		.zone-card .zone-size{font-size:1.9rem;}
		.zone-card .zone-name{font-size:1.8rem;}
		.meta-card{padding:14px 16px;border-radius:14px;}
	}
	@media (max-width:425px){
		.meta-row,.zone-split{grid-template-columns:1fr;}
		.status-visual{min-height:260px;}
		.area-card .area-value{font-size:3.2rem;}
	}
	/* 미디어쿼리 끝 */


/* =========================================================
주제와 테마 (Themes)
========================================================= */
.nationalgarden_theme-section{padding:100px 0 20px;}

.theme-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px;flex-wrap:wrap;}
.theme-meta .stat-line{display:flex;align-items:center;gap:24px;}
.theme-meta .stat{display:flex;align-items:baseline;gap:6px;}
.theme-meta .stat .num{font-size:3.2rem;font-weight:700;color:#2d8659;letter-spacing:-0.04em;line-height:1;}
.theme-meta .stat .lbl{font-size:1.4rem;color:#666;font-weight:500;}
.theme-meta .stat-divider{width:1px;height:36px;background:#e0e0e0;}

.theme-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px;}
.theme-card{position:relative;overflow:hidden;border-radius:22px;cursor:pointer;}
.theme-card .photo{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.7s cubic-bezier(.22,1,.36,1);}
.theme-card .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,0.7) 100%);transition:opacity 0.4s ease;}
.theme-card:hover .photo{transform:scale(1.08);}
.theme-card .overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;color:#fff;z-index:2;}
.theme-card .num{position:absolute;top:20px;left:24px;font-family:'Inter',sans-serif;font-size:1.4rem;font-weight:600;color:#fff;opacity:0.7;letter-spacing:0.1em;}
.theme-card .tag{position:absolute;top:20px;right:20px;font-size:1.2rem;font-weight:600;color:#fff;padding:5px 12px;border-radius:100px;background:rgba(255,255,255,0.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.25);letter-spacing:0.05em;}
.theme-card .title{font-size:2.2rem;font-weight:600;letter-spacing:-0.025em;line-height:1.2;margin-bottom:6px;text-shadow:0 2px 12px rgba(0,0,0,0.35);}
.theme-card .sub{font-size:1.6rem; font-weight:400; opacity:0.9; line-height:1.5; max-width:340px; max-height:0; opacity:0; transform:translateY(8px); transition:all 0.35s ease; overflow:hidden;}
.theme-card:hover .sub{max-height:80px; opacity:0.9; transform:translateY(0);}
.theme-card .more{display:inline-flex;align-items:center;gap:6px;font-size:1.3rem;font-weight:600;opacity:0;height:0;margin-top:0;overflow:hidden;transition:all 0.35s ease 0.05s;}
.theme-card:hover .more{opacity:1;height:2rem;margin-top:12px;}
.theme-card .more::after{content:"→";transition:transform 0.3s ease;}
.theme-card:hover .more::after{transform:translateX(4px);}

/* Bento 배치 — 4×3 채움 */
.theme-card.c-eco     { grid-column:1/3; grid-row:1/3; }   /* 2×2 좌상단 */
.theme-card.c-bamboo  { grid-column:3/4; grid-row:1/2; }
.theme-card.c-season  { grid-column:4/5; grid-row:1/2; }
.theme-card.c-water   { grid-column:3/4; grid-row:2/3; }
.theme-card.c-join    { grid-column:4/5; grid-row:2/3; }
.theme-card.c-rose    { grid-column:1/5; grid-row:3/4; }   /* 와이드 하단 히어로 */

/* 컬러 태그 */
.theme-card.c-eco .tag,
.theme-card.c-eco .num{color:#fff;}
.theme-card.c-eco .tag{background:rgba(76,175,80,0.35);border-color:rgba(180,255,180,0.4);}
.theme-card.c-bamboo .tag{background:rgba(76,175,80,0.3);}
.theme-card.c-season .tag{background:rgba(255,167,38,0.35);}
.theme-card.c-water .tag{background: rgb(38 70 166 / 35%);}
.theme-card.c-join .tag{background:rgba(126,87,194,0.4);}
.theme-card.c-rose .tag{background:rgba(236,64,122,0.35);}

	/* 미디어쿼리 시작 */
	@media (max-width:1280px){
		.theme-bento{grid-auto-rows:200px;}
		.theme-card .title{font-size:2.1rem;}
	}
	@media (max-width:1024px){
		.nationalgarden_theme-section{padding:80px 0 10px;}
		.theme-bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;}
		.theme-card .sub{font-size:1.5rem;}
	}
	@media (max-width:768px){
		.nationalgarden_theme-section{padding:60px 0 10px;}
		.theme-meta{margin-bottom:30px;}
		.theme-meta .stat-line{gap:18px;}
		.theme-meta .stat .num{font-size:2.6rem;}
		.theme-bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px;gap:10px;}
		.theme-card{grid-column:span 1 !important;grid-row:span 1 !important;}
		.theme-card.c-eco,
		.theme-card.c-rose{grid-column:span 2 !important;grid-row:span 1 !important;}
		.theme-card .overlay{padding:18px;}
		.theme-card .title{font-size:1.9rem;}
		.theme-card .num,.theme-card .tag{top:14px;}
		.theme-card .num{left:18px;}
		.theme-card .tag{right:14px;font-size:1.15rem;padding:4px 10px;}
		.theme-card .sub{font-size:1.4rem; max-height:80px;opacity:0.85;transform:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
		.theme-card .more{display:none;}
		.theme-card .photo::after{background: linear-gradient(180deg, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.9) 100%);}
	}
	@media (max-width:425px){
		.theme-bento{grid-auto-rows:170px; grid-template-columns:max-content; gap:10px 0;}
		.theme-card .title{font-size:1.7rem;}
		.theme-card .sub{font-size:1.35rem; line-height:1.4;}

		.theme-meta .stat-line{gap: 11px;}
		.theme-meta .stat{gap:5px;}
		.theme-meta .stat .num{font-size:2.2rem;}
		.theme-meta .stat-divider{height:18px;}
		
	}
	/* 미디어쿼리 끝 */
/* 정원현황 끝 */


/* 태화강 국가정원 백서 시작 */
.wp_wrap *{box-sizing:border-box;}
.wp_intro{position:relative; background:linear-gradient(180deg, #f4faf8 0%, #ecf4f1 100%); border-radius:32px; padding:64px 72px; overflow:hidden; margin-bottom:80px;}
.wp_intro::before{
  content:''; position:absolute; top:-160px; right:-120px;
  width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle at center, rgba(9,132,127,.10) 0%, rgba(9,132,127,0) 65%);
  pointer-events:none;
}
.wp_intro::after{
  content:''; position:absolute; bottom:-200px; left:-80px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle at center, rgba(191,159,23,.07) 0%, rgba(191,159,23,0) 65%);
  pointer-events:none;
}
.wp_intro_grid{position:relative; display:grid; grid-template-columns:minmax(280px, 360px) 1fr; gap:88px; align-items:center; z-index:1;}
.wp_intro_grid *{font-family:'Paperlogy';}
.wp_book{position:relative; perspective:1400px;}
.wp_book_inner{
  position:relative;
  aspect-ratio:3 / 4.1;
  border-radius:4px 14px 14px 4px;
  overflow:hidden;
  box-shadow:
    0 1px 0 rgba(255,255,255,.6) inset,
    -2px 0 0 rgba(0,0,0,.06) inset,
    25px 30px 60px -15px rgba(31,46,42,.35),
    14px 20px 38px -16px rgba(31,46,42,.22);
  transform:rotateY(-6deg) rotateX(2deg);
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
  background:#f4f1e8;
}
.wp_book:hover .wp_book_inner{transform:rotateY(-2deg) rotateX(1deg) translateY(-4px);}
.wp_book_inner::before{
  content:''; 
  position:absolute; 
  top:0; 
  bottom:0; 
  left:0; 
  width:14px;
  pointer-events: none;
  background:linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.04) 60%, transparent 100%);
  z-index:2;
}
.wp_book_inner::after{
  content:''; 
  position:absolute; 
  top:0; 
  bottom:0; 
  left:0; 
  width:100%;
  height:100%;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, .04) 15%, transparent 30%);
  z-index:2;
}
.book_cover{position:absolute; inset:0; background:linear-gradient(180deg, #fafaf2 0%, #f4f1e6 60%, #ebe6d4 100%);}
.book_cover .book-thumb{object-fit:cover; width:100%; height:100%;}
.wp_meta{position:relative;}
.wp_eyebrow{display:inline-flex; align-items:center; gap:8px; background:rgba(9,132,127,.10); color:#09847F; padding:8px 14px; border-radius:99px; font-size:1.4rem; font-weight:500; letter-spacing:-.01em; margin-bottom:24px;}
.wp_eyebrow .dot{width:6px; height:6px; border-radius:50%; background:#09847F;}
.wp_title{font-size:4.2rem; line-height:1.25; font-weight:700; letter-spacing:-.04em; color:#1a1f1d; margin:0 0 24px;}
.wp_title em{font-style:normal; color:#09847F;}
.wp_desc{font-size:1.7rem; line-height:1.7; color:#525854; margin:0 0 36px; max-width:60ch; font-weight:400; letter-spacing:-.015em; text-wrap:pretty;}
.wp_specs{ display:grid; grid-template-columns:repeat(3, 1fr); gap:0; list-style:none; margin:0 0 40px; padding:0; border-top:1px solid rgba(26,31,29,.10); border-bottom:1px solid rgba(26,31,29,.10);}
.wp_specs li{padding:18px 24px 18px 0; display:flex; flex-direction:column; gap:6px; position:relative;}
.wp_specs li + li{padding-left:24px;}
.wp_specs li + li::before{
  content:''; 
  position:absolute; 
  left:0; 
  top:24%; 
  bottom:24%; 
  width:1px;
  background:rgba(26,31,29,.10);
}
.wp_specs .k{font-size:1.3rem; color:#7a807c; font-weight:500; letter-spacing:-.01em;}
.wp_specs .v{font-size:1.7rem; color:#1a1f1d; font-weight:600; letter-spacing:-.02em;}
.wp_actions{display:flex; flex-wrap:wrap; gap:12px;}
.wp_download_btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:60px; padding:0 30px;
  background:linear-gradient(135deg, #0ba39d 0%, #09847F 100%);
  border:0; border-radius:16px;
  color:#fff; font-size:1.7rem; font-weight:600; letter-spacing:-.02em;
  cursor:pointer;
  box-shadow:0 8px 20px -6px rgba(9,132,127,.45);
  transition:transform .25s ease, box-shadow .25s ease;
  text-decoration:none;
}
.wp_download_btn:hover{transform:translateY(-2px); box-shadow:0 14px 26px -6px rgba(9,132,127,.55);}
.wp_download_btn svg{width:20px; height:20px;}
.wp_preview_btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:60px; padding:0 24px;
  background:#fff; border:1px solid #d8dedb;
  border-radius:16px;
  color:#1a1f1d; font-size:1.7rem; font-weight:500; letter-spacing:-.02em;
  cursor:pointer; transition:all .2s ease;
  text-decoration:none;
}
.wp_preview_btn:hover{border-color:#09847F; color:#09847F;}
.wp_toc_head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:36px; padding-bottom:24px; border-bottom:1px solid #e8eceb;}
.wp_toc_head .left p{font-size:1.8rem; line-height:1.4; color:#6a706c; margin:0; letter-spacing:-.01em; margin-top:15px;}
.wp_toc_head .stats{display:flex; gap:21px;}
.wp_toc_head .stats *{font-family:'Paperlogy';}
.wp_toc_head .stats > div{position:relative; display:flex; align-items:end; gap:5px; padding-right:20px; position:relative;}
.wp_toc_head .stats > div:before{
  content:''; 
  position:absolute; 
  right:0; 
  top:50%;
  transform:translate(0,-50%); 
  width:1px;
  height:80%;
  background:rgba(26,31,29,.10);
}
.wp_toc_head .stats > div:last-child{padding-right:0;}
.wp_toc_head .stats > div:last-child:before{display:none;}
.wp_toc_head .stats .num{font-size:2.4rem; font-weight:700; color:#09847F; letter-spacing:-.03em; line-height:1;}
.wp_toc_head .stats .lbl{font-size:1.3rem; color:#7a807c; font-weight:500; padding-bottom:3px;}
.toc_groups{display:flex; flex-direction:column; gap:24px;}
.toc_groups *{font-family:'Paperlogy';}
.toc_group{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:32px;
  background:#fff;
  border:1px solid #e8eceb;
  border-radius:24px;
  padding:36px 40px;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.toc_group:hover{border-color:#cdd9d6; box-shadow:0 10px 30px -18px rgba(9,132,127,.18);}
.toc_group_head{position:relative; padding-top:6px;}
.toc_group_head .badge{
  display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:48px; border-radius:14px;
  background:linear-gradient(135deg, #0ba39d 0%, #09847F 100%);
  color:#fff; font-size:1.6rem; font-weight:700; letter-spacing:.02em;
  margin-bottom:16px;
  box-shadow:0 6px 14px -6px rgba(9,132,127,.55);
}
.toc_group_head h5{font-size:2.6rem; font-weight:700; color:#1a1f1d; letter-spacing:-.03em; margin:0 0 6px; line-height:1.2;}
.toc_group_head .sub{font-size:1.4rem; color:#7a807c; letter-spacing:-.005em;}
.toc_group.is_main{background:linear-gradient(180deg, #fbfdfc 0%, #f5faf8 100%); border-color:#dde6e3;}
.toc_group_body{display:flex; flex-direction:column;}
.toc_flat{list-style:none; padding:0; margin:0; display:flex; flex-direction:column;}
.toc_flat li{
  display:flex; align-items:center; gap:10px;
  padding:14px 5px 14px 15px;
  font-size:1.7rem; color:#2e3331; letter-spacing:-.015em;
  border-bottom:1px dashed #e2e7e5;
  position: relative;
  line-height:1.4;
}
.toc_flat li:last-child{border-bottom:0;}
.toc_flat li::before{
  content:''; 
  width:6px; 
  height:6px; 
  border-radius:50%;
  background:#09847F; 
  flex-shrink:0;
  position:absolute;
  top:20px;
  left:0;
}
.toc_flat li.sub{padding-left:20px; font-size:1.55rem; color:#525854;}
.toc_flat li.sub::before{background:#bfc6c3; width:4px; height:4px;}
.toc_parts{display:flex; flex-direction:column; gap:12px;}
.toc_part{border-radius:16px; overflow:hidden; background:#fff; border:1px solid #e8eceb; transition:all .25s ease;}
.toc_part:hover{border-color:#cdd9d6;}
.toc_part_head{
  display:flex; align-items:center; gap:16px;
  padding:20px 24px;
  background:linear-gradient(90deg, rgba(9,132,127,.04) 0%, rgba(9,132,127,0) 100%);
  border-bottom:1px solid #eef1f0;
}
.toc_part_head .pnum{
  font-family:'Paperlogy', system-ui;
  font-size:1.4rem; font-weight:600; color:#09847F;
  background:rgba(9,132,127,.10);
  padding:5px 12px; border-radius:99px;
  letter-spacing:-.005em; flex-shrink:0;
}
.toc_part_head h6{
  font-size:1.95rem; font-weight:700; color:#1a1f1d;
  letter-spacing:-.025em; margin:0; line-height:1.3;
}
.toc_chapters{padding:8px 28px 24px;}
.toc_ch{
  display:grid;
  grid-template-columns:minmax(220px, 34%) 1fr;
  gap:32px;
  align-items:flex-start;
  padding:22px 0;
  border-top:1px solid #eef1f0;
}
.toc_ch:first-child{border-top:0;}
.toc_ch_title{
  font-size:1.7rem; font-weight:500; color:#1a1f1d;
  letter-spacing:-.02em; margin:0;
  display:flex; align-items:baseline; gap:10px;
  line-height:1.4;
}
.toc_ch_title .ch_n{
  display:inline-block; flex-shrink:0;
  font-size:1.3rem; font-weight:600; color:#09847F;
  letter-spacing:.04em; line-height:1;
  padding:5px 10px; border-radius:6px;
  background:rgba(9,132,127,.10);
  text-transform:uppercase;
}
.toc_ch_title .ch_t{display:inline-block;}
.toc_ch_list{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2, 1fr);
  gap:8px 24px;
}
.toc_ch_list li{
  display:flex; align-items:baseline;
  font-size:1.6rem; color:#444a47; letter-spacing:-.015em;
  line-height:1.5;
}
.toc_ch_list li .n{
  flex-shrink:0;
  font-size:1.35rem; color:#9aa19e; font-weight:500;
  font-variant-numeric:tabular-nums;
  min-width:18px;
}
.toc_ch_list li:hover .t{color:#09847F;}
.toc_ch_list li .t{transition:color .15s ease;}
.toc_ch_list.is_single{grid-template-columns:1fr;}
.toc_ch_note{
  font-size:1.5rem; color:#6a706c; letter-spacing:-.01em;
  margin:0; line-height:1.55;
  padding:2px 0;
}

	/* 미디어쿼리 시작 */
	@media (max-width:1280px){
		.wp_intro_grid{grid-template-columns:minmax(240px, 320px) 1fr; gap:64px;}
		.wp_title{font-size:3.6rem;}
		.toc_group{grid-template-columns:200px 1fr; padding:32px 32px;}
	}
	@media (max-width:1024px){
		.wp_toc_head .left p{font-size:1.7rem;}
		.wp_intro{padding:48px 44px; margin-bottom:64px;}
		.wp_intro_grid{gap:44px; align-items: self-start;}
		.wp_book{width:300px; margin:0 auto;}
		.wp_meta{text-align:left;}
		.wp_title{font-size:3.2rem;}
		.wp_specs{grid-template-columns:repeat(3, 1fr); margin: 0 0 32px;}
		.toc_group{grid-template-columns:1fr; gap:24px; padding:32px 28px;}
		.toc_group_head{display:flex; flex-direction:column; align-items:flex-start; padding:0 5px;}
		.toc_ch{grid-template-columns:minmax(200px, 32%) 1fr; gap:24px;}
		.wp_download_btn{width:215px;}
		.wp_preview_btn{width:181px;}
	}
	@media (max-width:920px){
		.wp_intro_grid{grid-template-columns: 1fr;}
	}
	@media (max-width:768px){
		.wp_toc_head .left p{font-size:1.6rem;}
		.wp_intro{padding:36px 24px; border-radius:24px;}
		.wp_eyebrow{margin-bottom:20px;}
		.wp_title{font-size:2.6rem; margin: 0 0 18px;}
		.wp_desc{font-size:1.55rem;}
		.wp_specs{grid-template-columns:1fr; border-top:1px solid rgba(26,31,29,.10); border-bottom:none;}
		.wp_specs li{flex-direction:row; align-items:center; justify-content:space-between; padding:14px 0; border-bottom:1px solid rgba(26,31,29,.06);}
		.wp_specs li + li{padding-left:0;}
		.wp_specs li + li::before{display:none;}
		.wp_specs .k{font-size:1.4rem;}
		.wp_specs .v{font-size:1.6rem;}
		.wp_download_btn, .wp_preview_btn{width:100%; height:56px; font-size:1.6rem;}
		.wp_actions{flex-direction:column;}

		.wp_toc_head{flex-direction:column; align-items:flex-start; gap:20px;}
		.wp_toc_head .stats{gap:16px; padding:0 6px;}
		.wp_toc_head .stats .num{font-size:2rem;}
		.wp_toc_head .stats > div{padding-right: 15px;}

		.toc_group{padding:24px 20px; border-radius:20px;}
		.toc_group_head h5{font-size:2.2rem;}
		.toc_chapters{padding:4px 18px 16px;}
		.toc_ch{grid-template-columns:1fr; gap:12px; padding:18px 0;}
		.toc_ch_list{grid-template-columns:1fr;}
		.toc_part_head{padding:16px 18px; gap:12px;}
		.toc_part_head h6{font-size:1.7rem;}
	}
	@media (max-width:425px){
		.wp_intro{padding:32px 20px;}
		.wp_book{max-width:240px;}
		.wp_eyebrow{font-size:1.25rem; margin-bottom:18px;}
		.wp_title{font-size:2.3rem; margin: 0 0 15px;}

		.wp_toc_head .stats{gap:13px;}
		.wp_toc_head .stats > div{gap:4px; padding-right:12px;}

		.toc_group_head .badge{width:42px; height:42px; border-radius:12px; font-size:1.4rem;}
		.toc_group_head h5{font-size:2rem;}
		.toc_part_head .pnum{font-size:1.2rem;}
		.toc_part_head h6{font-size:1.65rem;}
		.toc_ch_title{font-size:1.6rem;}
		.toc_ch_list li{font-size:1.5rem;}
		.toc_flat li{font-size:1.6rem;}
	}
	/* 미디어쿼리 끝 */
/* 태화강 국가정원 백서 끝 */


/* 조직도 시작 */
.org_section .org_table .w1{width:25%;}
.org_section .org_table .w2{width:22%;}
.org_section .org_table{min-width:410px;}
.org_table td.org_position{padding-left:10px; padding-right:10px; color: black; font-weight: 500;}
.org_table td.org_work{text-align: left;}
.orgchart{
  --wt-green:#1d8b6f;
  --wt-green-bright:#3ba884;
  --wt-green-subtle: rgb(141 159 154 / 6%);
  --wt-yellow: #ffbf59;
  --wt-purple: #b1a6ff;
  --wt-ink:#171719;
  --wt-fg-2:rgb(69 72 79 / 92%);
  --wt-fg-3:rgba(112,115,124,0.62);
  --wt-fg-4:rgba(112,115,124,0.30);
  --wt-border:rgba(112,115,124,0.16);
  --wt-line:rgba(112,115,124,0.28);
  --wt-subtle:rgba(29,139,111,0.05);
  --wt-shadow-2:0 4px 16px rgba(46,49,55,0.08);
  margin-top:56px; padding:8px 0;
}
.org-top{display:flex; justify-content:center;}
.org-node{font-family: 'Paperlogy';
  width:160px; height:160px; border-radius:50%; margin:0 auto;
  display:flex; align-items:center; justify-content:center; text-align:center;
  color:#fff; font-weight:700; font-size:2.4rem; line-height:1.34; letter-spacing:-0.03rem;
  background:linear-gradient(150deg, #3ba884 0%, #1d8b6f 100%);
  box-shadow:0 14px 32px rgba(29,139,111,0.28), 0 0 0 9px rgba(52,163,126,0.14);
}
.org-trunk{width:1px; height:48px; margin:0 auto; background:var(--wt-line);}
.org-teams{display:flex; gap:24px; padding-top:48px; position:relative;}
.org-team{flex:1 1 0; min-width:0; position:relative;}
.org-team .oc-bus{position:absolute; top:-48px; left:-12px; right:-12px; border-top:1px solid var(--wt-line);}
.org-team:first-child .oc-bus{left:50%;}
.org-team:last-child .oc-bus{right:50%;}
.org-team .oc-drop{position:absolute; top:-48px; left:50%; width:1px; height:48px; background:var(--wt-line);}
.org-team{
  background:#fff; border:1px solid var(--wt-border); border-radius:20px;
  padding:30px 26px 28px; text-align:center;
  transition:box-shadow .18s var(--ease-out, ease-out), transform .18s ease-out;
}
.org-team:hover{box-shadow:var(--wt-shadow-2); transform:translateY(-3px);}
.org-team:hover .oc-bus{transform:translateY(3px);}
.org-team:hover .oc-drop{transform:translateY(3px); height: 45px;}
.org-team .oc-bus,
.org-team .oc-drop{
  transition: transform .18s ease-out, height .18s ease-out;
}
.team-badge{
  width:64px; height:64px; margin:0 auto 18px; border-radius:18px;
  background:var(--wt-green-subtle);
  display:flex; align-items:center; justify-content:center;
}
.team-badge img{width:48px; height:48px; margin-top:3px;}
.team-head{font-size:2.4rem; font-weight:700; color:var(--wt-ink); letter-spacing:-0.04rem; font-family: 'Paperlogy';}
.team-tasks{margin-top:18px; padding-top:18px; border-top:1px solid var(--wt-border); text-align:left;}
.team-tasks li{position:relative; padding-left:18px; font-size:1.7rem; line-height:1.62; color:var(--wt-fg-2); letter-spacing:-0.02rem; text-wrap:pretty;}
.team-tasks li + li{margin-top:9px;}
.team-tasks li::before{
  content:'';
  position:absolute;
  left:3px;
  top:0.74em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--wt-green);
  opacity:.85;
}
.team-tasks.yellow li::before{background:var(--wt-yellow);}
.team-tasks.purple li::before{background:var(--wt-purple);}

	/* 미디어쿼리 시작 */
	@media (max-width:1024px){
		.orgchart{margin-top:48px;}
		.org-node{width:140px; height:140px; font-size:2.1rem;}
		.team-head{font-size:2.1rem;}
		.team-tasks{padding-top:16px;}
	}
	@media (max-width:768px){
		.orgchart{margin-top:36px; padding-top:4px;}
		.org-node{width:130px; height:130px; font-size:2rem;}
		.org-trunk{height:30px;}
		.org-teams{flex-direction:column; gap:0; padding-top:0;}
		.org-team{margin-top:30px;}
		.org-team .oc-bus{display:none;}
		.org-team .oc-drop{top:-30px; height:30px;}
		.org-team:hover{transform:none; box-shadow:none;}
		.org-team:hover .oc-drop{transform:none; height:30px;}
		.team-head{font-size:2rem;}
		.team-tasks li{font-size:1.6rem;}
	}
	@media (max-width: 500px) {
		.org_table td.org_phone{padding-left:10px; padding-right:10px;}
	}
	@media (max-width:425px){
		.org-node{width:120px; height:120px; font-size:1.9rem;}
		.org-team{padding:26px 22px 24px;}
	}
	/* 미디어쿼리 끝 */
/* 조직도 끝 */


/* 국가정원 상징 시작 */
:root{
  --green:#65b144;        /* R101 G177 B68 */
  --deep-green:#107c78;   /* R16 G124 B120 */
  --sky:#00bdd4;          /* R0 G189 B212 */
  --blue:#255aa7;         /* R37 G90 B167 */
  --bi-line:rgba(112,115,124,0.18);
  --bi-line-soft:rgba(112,115,124,0.10);
}
.bi_sec + .bi_sec{margin-top:96px;}
.bi_desc{margin-top:18px;}
.bi_desc li{position:relative; padding-left:17px; font-size:1.8rem; line-height:1.6; color:#56595e; letter-spacing:-0.03rem; text-wrap:pretty;}
.bi_desc li + li{margin-top:4px;}
.bi_desc li::before{
  content:''; 
  position:absolute; 
  left:2px; 
  top:0.72em; 
  width:5px; 
  height:5px; 
  background-color: #ededed; 
  border-radius:50%;
}
.grid_bg{background-color:#fdfdfd;
  background-image:
    linear-gradient(to right, rgba(112,115,124,0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(112,115,124,0.04) 1px, transparent 1px);
  background-size:24px 24px;
}
.bi_symbol_show{margin-top:30px; position:relative; display:flex; border:1px solid var(--bi-line); border-radius:24px; overflow:hidden; background:#fff;}
.bi_symbol_show .symbol_left{flex:0 0 57%; min-width:0; height:400px; display:flex; align-items:center; justify-content:center; border-right:1px solid var(--bi-line-soft);}
.bi_symbol_show .symbol_left img{width:64%; max-width:480px; height:auto;}
.bi_symbol_show .symbol_right{flex:1 1 43%; min-width:0; height:400px; position:relative;}
.bi_symbol_show .symbol_right:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(to right, rgb(0 0 0 / 30%) 5%, rgb(255 255 255 / 0%) 20%);
    z-index: 2;
}
.bi_symbol_show .symbol_right img{width:100%; height:100%; object-fit:cover;}
.bi_symbol_show .symbol_arrow{
  position:absolute; top:50%; left:57%; transform:translate(-50%,-50%); z-index:6;
  width:52px; height:52px; border-radius:50%;
  background:rgba(38,42,46,0.72); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,0.22);
}
.bi_symbol_show .symbol_arrow svg{width:20px; height:20px; stroke:#fff; fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;}
.bi_logo_show{
  margin-top:30px; border:1px solid var(--bi-line); border-radius:24px; overflow:hidden;
  display:flex; align-items:center; justify-content:center; gap:6%;
  padding:74px 56px; min-height:240px; flex-wrap:wrap;
}
.bi_logo_show .lt_kor{flex:0 0 auto; width:34%; max-width:430px;}
.bi_logo_show .lt_eng{flex:0 0 auto; width:42%; max-width:520px;}
.bi_logo_show img{width:100%; height:auto;}
.bi_sign_grid{margin-top:30px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.bi_sign_card{
  border:1px solid var(--bi-line); border-radius:20px; background:#fff;
  min-height:320px; display:flex; align-items:center; justify-content:center; padding:44px 36px;
  transition:box-shadow .25s ease, border-color .25s ease;
}
.bi_sign_card:hover{box-shadow:0 14px 36px rgba(46,49,55,0.08); border-color:rgba(112,115,124,0.05);}
.bi_sign_card.type_vertical img{width:auto; max-width:90%; max-height:180px;}
.bi_sign_card.type_horizontal img{width:auto; max-width:92%; max-height:120px;}
.bi_sign_card.type_tall img{width:auto; max-height:230px; max-width:60%;}
.bi_downloads{margin-top:28px; display:flex; justify-content:center; gap:14px; flex-wrap:wrap;}
.bi_downloads .dl_btn{height: 54px;min-width: 250px;justify-content: center;
  display:inline-flex; align-items:center; gap:9px;
  padding:14px 26px; border:1px solid black; border-radius:10px;
  font-size:1.7rem; font-weight:600; color:#101010; background:#fff; transition:all .2s ease;
}
.bi_downloads .dl_btn::after{
  content:'';
  width:18px;
  height:18px;
  background:url(../images/contents/download_icon.svg) center / contain no-repeat;
}
.bi_downloads .dl_btn:hover{border-color:#9fce8e; background:#f4f9f1; color:#2d6010;}
.bi_downloads .dl_btn:hover::after{
  background:url(../images/contents/download_icon_color.svg) center / contain no-repeat;
}
.bi_color_grid{margin-top:30px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.bi_color_card{
  border-radius:18px; padding:30px 28px 32px; color:#fff;
  min-height:308px; display:flex; flex-direction:column;
  box-shadow:0 10px 24px rgba(46,49,55,0.06);
}
.bi_color_card.is-green{background:var(--green);}
.bi_color_card.is-deepgreen{background:var(--deep-green);}
.bi_color_card.is-sky{background:var(--sky);}
.bi_color_card.is-blue{background:var(--blue);}
.bi_color_card .c_label{font-size:1.4rem; font-weight:600; opacity:.9;}
.bi_color_card .c_name{font-size:2.6rem; font-weight:700; margin-top:7px; letter-spacing:0; line-height:1.15;}
.bi_color_card .c_specs{margin-top:auto; padding-top:24px; display:flex; flex-direction:column; gap:11px; border-top:1px solid rgba(255,255,255,0.28);}
.bi_color_card .c_specs dl{display:flex; align-items:baseline; gap:14px; font-size:1.4rem; line-height:1.2;}
.bi_color_card .c_specs dt{flex:0 0 62px; font-weight:700; letter-spacing:0.02rem;}
.bi_color_card .c_specs dd{font-weight:300; opacity:.96;}

	/* 미디어쿼리 시작 */
	@media (max-width:1280px){
		.bi_sec + .bi_sec{margin-top:84px;}
		.bi_symbol_show .symbol_left img{width:83%; max-width:450px;}
		.bi_sign_card{padding:40px 20px;}
	}
	@media (max-width:1024px){
		.bi_desc{margin-top:22px;}
		.bi_color_grid{grid-template-columns:repeat(2,1fr);}
		.bi_symbol_show .symbol_left{flex:0 0 62%;}
		.bi_symbol_show .symbol_right{flex:1 1 38%;}
		.bi_symbol_show .symbol_arrow{left:62%;}
		.bi_sign_grid{gap:14px; margin-top:25px;}
		.bi_sign_card.type_horizontal img{max-width:100%;}
		.bi_color_grid{margin-top:25px;}
	}
	@media (max-width:768px){
		.bi_sec + .bi_sec{margin-top:64px;}
		.bi_desc{margin-top:13px;}
		.bi_desc li{font-size:1.7rem;}
		.bi_symbol_show{flex-direction:column;}
		.bi_symbol_show .symbol_left{flex:none; width:100%; height:310px; border-right:0; border-bottom:1px solid var(--bi-line-soft);}
		.bi_symbol_show .symbol_left img{max-width:400px;}
		.bi_symbol_show .symbol_right{flex:none; width:100%; height:220px;}
		.bi_symbol_show .symbol_right:after{
			background: linear-gradient(to bottom, rgb(0 0 0 / 30%) 5%, rgb(255 255 255 / 0%) 30%);
		}
		.bi_symbol_show .symbol_arrow{top:310px; left:50%; transform:translate(-50%,-50%) rotate(90deg); width:46px; height:46px;}
		.bi_logo_show{flex-direction:column; gap:42px; padding:48px 32px;}
		.bi_logo_show .lt_kor{width:74%; max-width:340px;}
		.bi_logo_show .lt_eng{width:90%; max-width:440px;}
		.bi_sign_grid{grid-template-columns:1fr; gap:18px;}
		.bi_sign_card{min-height:260px; padding:40px 28px;}
		.bi_sign_card.type_tall img{max-height:260px;}
		.bi_color_grid{gap:18px;}
	}
	@media (max-width:560px){
		.bi_color_grid{grid-template-columns:1fr;}
		.bi_color_card{min-height:0;}
		.grid_bg{background-size: 18px 18px;}
		.bi_symbol_show .symbol_left{height:260px;}
		.bi_symbol_show .symbol_arrow{top:260px;}
		.bi_symbol_show .symbol_left img{max-width:340px;}
		.bi_downloads{flex-direction:column;}
		.bi_downloads .dl_btn{justify-content:center;}
	}
	/* 미디어쿼리 끝 */
/* 국가정원 상징 끝 */


/* 찾아오시는길 시작 */
.way_map_box{position:relative;overflow:hidden;background:#e9f0ec;border-radius:1.8rem;border:1px solid #e2ece9;aspect-ratio:21/8;}
.way_map_box .canvas{position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,#f3f8f4 0%,transparent 45%),radial-gradient(circle at 78% 80%,#eaf2ec 0%,transparent 50%),#e7eee9;}
.way_map_box .canvas::before{content:'';position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(150,168,160,.28) 1px,transparent 1px),linear-gradient(0deg,rgba(150,168,160,.28) 1px,transparent 1px);background-size:6.4rem 6.4rem;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 55%,transparent 92%);mask-image:radial-gradient(circle at 50% 50%,#000 55%,transparent 92%);}
.way_map_box .road{position:absolute;background:#fff;box-shadow:0 0 0 1px rgba(120,140,132,.18);}
.way_map_box .road.h{height:1.4rem;left:-5%;right:-5%;border-radius:.7rem;}
.way_map_box .road.v{width:1.2rem;top:-5%;bottom:-5%;border-radius:.6rem;}
.way_map_box .road.r1{top:34%;transform:rotate(-3deg);}
.way_map_box .road.r2{top:70%;transform:rotate(2deg);}
.way_map_box .road.r3{left:24%;}
.way_map_box .road.r4{left:66%;transform:rotate(4deg);}
.way_map_box .river{position:absolute;left:-10%;right:-10%;top:50%;height:4.2rem;background:linear-gradient(180deg,#cfe6e2,#bfe0db);transform:rotate(-7deg);border-radius:4rem;opacity:.9;box-shadow:inset 0 0 0 1px rgba(11,163,157,.18);}
.way_map_box .river::after{content:'태화강';position:absolute;left:14%;top:50%;transform:translateY(-50%) rotate(7deg);font-size:1.2rem;font-weight:600;color:#3f8f86;letter-spacing:.04rem;}
.way_map_box .pin{position:absolute;left:50%;top:48%;transform:translate(-50%,-100%);z-index:3;display:flex;flex-direction:column;align-items:center;}
.way_map_box .pin .ring{position:absolute;left:50%;top:100%;width:5.4rem;height:5.4rem;border-radius:50%;background:rgba(11,163,157,.22);transform:translate(-50%,-50%);animation:wayping 2.2s ease-out infinite;}
@keyframes wayping{0%{transform:translate(-50%,-50%) scale(.4);opacity:.8;}70%,100%{transform:translate(-50%,-50%) scale(1.4);opacity:0;}}
.way_map_box .pin svg{width:4.2rem;height:4.2rem;filter:drop-shadow(0 .6rem 1rem rgba(7,80,72,.35));position:relative;z-index:2;}
.way_map_box .pin .label{margin-top:.8rem;font-size:1.25rem;font-weight:600;color:#fff;background:#09847F;padding:.5rem 1.1rem;border-radius:.8rem;white-space:nowrap;box-shadow:0 .4rem 1.2rem rgba(7,80,72,.3);}
.way_map_box .chip{position:absolute;left:1.6rem;top:1.6rem;z-index:4;display:inline-flex;align-items:center;gap:.7rem;font-size:1.25rem;font-weight:600;color:#48535a;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border:1px solid rgba(18,52,46,0.10);border-radius:.9rem;padding:.7rem 1.2rem;}
.way_map_box .chip .live{width:.7rem;height:.7rem;border-radius:50%;background:#bf9f17;box-shadow:0 0 0 3px rgba(191,159,23,.18);}
.way_map_note{font-size:1.25rem;color:#7c868c;margin-top:1.2rem;display:flex;align-items:center;gap:.6rem;}
.way_map_note svg{width:1.4rem;height:1.4rem;color:#bf9f17;flex:none;}

.way_info{display:flex;align-items:center;gap:4rem;flex-wrap:wrap;margin-top:3rem;padding-top:3rem;border-top:1px solid #eef1f0;}
.way_info_item{display:flex;align-items:flex-start;gap:1.3rem;}
.way_info_item .lic{width:3rem;height:3rem;color:#09847F;flex:none;margin-top:5px;}
.way_info_item .lbl{font-size:1.5rem;color:#7c868c;font-weight:500;margin-bottom:.3rem;}
.way_info_item .val{font-family:'Paperlogy','Pretendard',sans-serif;font-weight:600;color:#1b2024;letter-spacing:-0.02rem;font-size:2rem;line-height:1.35;}
.way_info_item .val.phone{font-size:2.1rem;font-weight:700;}
.way_info_btns{margin-left:auto;display:flex;gap:1rem;}
.way_btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.6rem;font-weight:600;border-radius:1.1rem;padding:1.2rem 2rem;transition:all .18s ease;white-space:nowrap;}
.way_btn svg{width:1.7rem;height:1.7rem;}
.way_btn.primary{background:linear-gradient(135deg,#0ba39d 0%,#09847F 100%);color:#fff;box-shadow:0 .8rem 2rem rgba(9,132,127,.26);}
.way_btn.primary:hover{transform:translateY(-2px);box-shadow:0 1.2rem 2.6rem rgba(9,132,127,.32);}
.way_btn.ghost{background:#fff;color:#1b2024;border:1px solid rgba(18,52,46,0.10);}
.way_btn.ghost:hover{border-color:#0ba39d;color:#09847F;background:#f2f8f6;}

.way_map_box .map_more{position:absolute;right:1.6rem;bottom:1.6rem;z-index:5;display:inline-flex;align-items:center;gap:.6rem;font-size:1.4rem;font-weight:600;color:#fff;background:#09847F;border-radius:1rem;padding:1rem 1.6rem;box-shadow:0 .6rem 1.6rem rgba(7,80,72,.3);transition:all .18s ease;}
.way_map_box .map_more:hover{transform:translateY(-2px);background:#076a66;}
.way_map_box .map_more svg{width:1.6rem;height:1.6rem;}

.way_sec_head{padding-bottom:1.8rem;border-bottom:1px solid rgba(18,52,46,.14);margin-bottom:3rem;}
.way_sec_head .bar{display:block;width:3rem;height:.4rem;border-radius:.4rem;background:linear-gradient(135deg,#0ba39d,#09847F);margin-bottom:1.5rem;}
.way_sec_head h4{font-size:3.2rem;font-weight:700;color:#1b2024;letter-spacing:-0.07rem;}

.way_sub:last-child{margin-top:5rem;}
.way_sub:first-child{margin-top:0;}
.way_sub_head{display:flex;align-items:flex-start;gap:1.4rem;padding-bottom:1.6rem;border-bottom:2px dotted #e3ede9;}
.way_sub_head .ico{width:4.8rem;height:4.8rem;border-radius:1.3rem;background:linear-gradient(135deg,#0ba39d,#09847F);display:grid;place-items:center;color:#fff;flex:none;box-shadow:0 .7rem 1.8rem rgba(9,132,127,.3);}
.way_sub_head .ico svg{width:2.6rem;height:2.6rem;}
.way_sub_head .tt{display:flex;flex-direction:column;gap:.35rem;}
.way_sub_head .tt b{font-family:'Paperlogy','Pretendard',sans-serif;font-size:2.4rem;font-weight:700;color:#1b2024;letter-spacing:-0.05rem;line-height:1.15;}
.way_sub_head .tt small{font-family:'Pretendard',sans-serif;font-size:1.6rem;font-weight:500;color:#7c868c;letter-spacing:-0.02rem;margin-top:5px;}
.way_search_note{margin-top:1.6rem;color:#48535a;background:#f5f9f7;border:1px solid #e6efeb;border-radius:1.1rem;padding:1.3rem 1.7rem;line-height:1.6;}
.way_search_note b{color:#111;font-weight:500;}
.way_search_note .m_middot{display:inline-block;}
.way_search_note .m_br{display:none;}

.way_table_wrap{margin-top:2rem;overflow-x:auto;border-radius:1.4rem;border:1px solid rgba(18,52,46,.14);-webkit-overflow-scrolling:touch;}
.way_table{width:100%;border-collapse:collapse;min-width:86rem;background:#fff;}
.way_table th,.way_table td{padding:1.5rem 1.3rem;text-align:center;border-bottom:1px solid rgba(18,52,46,.08);vertical-align:middle;line-height:1.45;}
.way_table thead th{padding:1.3rem 1.3rem; background:#09847F;color:#fff;font-weight:500;letter-spacing:-0.02rem;border-bottom:0;white-space:nowrap;}
.way_table thead th:not(:last-child){border-right:1px solid rgba(255,255,255,.18);}
.way_table tbody td:not(:last-child){border-right:1px solid rgba(18,52,46,.06);}
.way_table tbody tr:last-child td{border-bottom:0;}
.way_table tbody tr:hover{background:#f7faf9;}
.way_table .bl_plus{border-left: 1px solid rgba(18, 52, 46, .06);}
.way_table .bb_none{border-bottom:none;}
.way_table .no{color:#09847F;font-size:larger;}
.way_table .nm{text-align:left;color:black;}
.way_table .addr{text-align:left;color:#48535a;}
.way_table .fee{font-weight:600;letter-spacing:-0.02rem;}
.way_table .fee.paid{color:#6b7680;}
.way_table .fee.free{color:#0a8f4d;}
.way_table .contact{color:#48535a;line-height:1.5;}
.way_table .contact .org{font-weight:600;color:#1b2024;display:block;margin-bottom:.3rem;}
.way_table .contact .num{display:block;}
.way_table .contact small{color:#8a939a;}
.way_table .contact .margin_small{margin-top: .6rem; display: block;}
.way_table .gobtn{display:inline-flex;align-items:center;font-family: 'Paperlogy';height:32px;gap:.4rem;margin-top:.8rem;font-weight:600;color:#09847F;border:1px solid #cfe3dd;background:#fff;border-radius:.7rem;padding:.45rem .6rem .45rem 1rem;transition:all .15s ease;font-size:1.5rem;line-height:1;}
.way_table .gobtn:hover{background:#f2f8f6;border-color:#0ba39d;}
.way_table .gobtn svg{width:1.5rem;height:1.5rem;margin-bottom:1px;}
.way_table .etc{color:#7c868c;line-height:1.5;}
.way_table_hint{display:none;color:#9aa3a8;margin-top:1rem;align-items:center;gap:.5rem;}
.way_table_hint svg{width:1.4rem;height:1.4rem;}

.way_bus{margin-top:1.8rem;display:flex;flex-direction:column;}
.way_bus_row{display:flex;align-items:center;gap:1.4rem;padding:1.3rem 0;border-bottom:1px solid rgba(18,52,46,.08);}
.way_bus_row:first-child{padding-top:10px;}
.way_bus_row:last-child{border-bottom:0;}
.way_bus_tag{flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:500;color:#fff;border-radius:.8rem;padding:.8rem 1.3rem;letter-spacing:-0.03rem;min-width:14rem;white-space:nowrap;font-family:'Paperlogy','Pretendard',sans-serif;}
.way_bus_tag.t1{background:#8a6fb0;}
.way_bus_tag.t2{background:#2f6fb3;}
.way_bus_tag.t3{background:#2f9e5e;}
.way_bus_tag.t4{background:#d6453c;}
.way_bus_no{color:#111;line-height:1.55;font-weight:500;letter-spacing:-0.01rem; font-family:'Paperlogy';}

.way_tel_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.way_tel_card{background:#fff;border:1px solid rgba(18,52,46,.14);border-radius:1.6rem;padding:3.2rem 2.6rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.8rem;transition:all .2s ease;}
.way_tel_card:hover{border-color:transparent;box-shadow:0 1.4rem 4rem rgba(9,70,60,.1);transform:translateY(-3px);}
.way_tel_card .ic{width:5.6rem;height:5.6rem;border-radius:50%;background:#f2f8f6;display:grid;place-items:center;color:#09847F;flex:none;}
.way_tel_card .ic svg{width:2.8rem;height:2.8rem;}
.way_tel_card .body{display:flex;flex-direction:column;align-items:center;gap:1.6rem;width:100%;}
.way_tel_card .ct{font-family:'Paperlogy','Pretendard',sans-serif;font-size:2.4rem;font-weight:700;color:#1b2024;letter-spacing:-0.04rem;}
.way_tel_card .rows{display:flex;flex-direction:column;gap:1.2rem;border-top: 1px #e1e1e1 dotted;width: 90%; padding-top: 17px;}
.way_tel_card .rows .r{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:1.6rem;padding:0 .4rem;}
.way_tel_card .rows .r .rl{color:#7c868c;white-space:nowrap;}
.way_tel_card .rows .r .rv{font-weight:600;color:#1b2024;letter-spacing:-0.02rem;font-family:'Paperlogy','Pretendard',sans-serif;}
.way_tel_card .single{font-family:'Paperlogy','Pretendard',sans-serif;font-size:2.6rem;font-weight:700;color:#09847F;letter-spacing:-0.04rem;padding-top:30px; border-top:1px #e1e1e1 dotted; width:90%;}
.way_tel_card .sub{font-size:1.4rem;color:#7c868c;margin-top:-.8rem;}

.way_owner{margin-top:4rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;background:#f5f9f7;border:1px solid #e6efeb;border-radius:1.2rem;padding:1.7rem 2.2rem;font-size:1.45rem;color:#48535a;}
.way_owner b{color:#1b2024;font-weight:600;}
.way_owner .sep{width:1px;height:1.3rem;background:#cdddd7;display:inline-block;}
.way_owner .tel{color:#09847F;font-weight:700;}

	/* 미디어쿼리 시작 */
	@media (max-width:1130px){
		.way_tel_card .single{padding-top:20px;}
		.way_tel_grid{grid-template-columns:1fr 1fr;}
		.way_tel_card:first-child{grid-column:1 / -1;}
	}
	@media (min-width:1025px) and (max-width:1130px){
		.way_tel_card {
			flex-direction: row;
			text-align: left;
			padding: 3rem 2.8rem 3rem 2.8rem;
			gap: 2rem;
    	}
		.way_tel_card .body{align-items:flex-start;}
		.way_tel_card .rows .r{justify-content: left;}
	}
	@media (max-width:1024px){
		.way_info{gap:2.8rem;}
		.way_tel_grid{gap:1.6rem;}
		.way_tel_card{flex-direction:row;text-align:left;padding:2.4rem 2.4rem 2.6rem 2.4rem;gap:2rem;}
		.way_tel_card .ic{width:5rem;height:5rem;}
		.way_tel_card .rows{align-items:flex-start;}
		.way_tel_card .body{display:flex;flex-direction:column;gap:1.4rem;flex:1;align-items:flex-start;}
		.way_tel_card .single{font-size:2.3rem; padding-top:15px;}
		.way_tel_card .ct{font-size:2.2rem;}
		.way_sec_head h4{font-size:2.8rem;}
		.way_sec_head .bar{margin-bottom: 1.4rem;}
		.way_sub_head .tt b{font-size:2.2rem;}
	}
	@media (max-width:768px){
		.way_map_box{aspect-ratio:4/3;}
		.way_map_box .map_more{font-size:1.25rem;padding:.8rem 1.2rem;right:1.2rem;bottom:1.2rem;}
		.way_info{flex-direction:column;align-items:flex-start;gap:2.2rem;}
		.way_info_btns{margin-left:0;width:100%;}
		.way_info_btns .way_btn{flex:1; padding:1.6rem 2rem;}
		.way_tel_grid{grid-template-columns:1fr;}
		.way_sec_head h4{font-size:2.5rem;}
		.way_sub_head .ico{width:4.2rem;height:4.2rem;}
		.way_sub_head .tt b{font-size:2.1rem;}
		.way_sub_head .tt small{font-size:1.5rem; margin-top:2px;}
		.way_table_hint{display:flex;}
		.way_bus_row{flex-direction:column;align-items:flex-start;gap:.5rem;}
		.way_bus_row:first-child{padding-top:0;}
		.way_bus_tag{min-width:0; font-size:1.5rem; padding: .4rem 1.1rem; border-radius: .6rem;}
		.way_tel_card .ct{font-size:2.1rem;}
	}
	@media (max-width:600px){
		.way_search_note .m_middot{display:none;}
		.way_search_note .m_br{display:block;}
	}
	@media (max-width:480px){
		.way_map_box{aspect-ratio:1/1;}
		.way_info_btns{flex-direction:column;}
		.way_info_item .val{font-size:1.8rem;}
		.way_info_item .val.phone{font-size:2rem;}
		.way_tel_card{flex-direction:column;text-align:center;gap:1.2rem;}
		.way_tel_card .body{align-items:center;}
		.way_tel_card .rows .r{width:100%; justify-content:center; flex-wrap:wrap;}
		.way_tel_card .rows .r .rv{width:100%;}
		.way_tel_card .ct{font-size:2rem;}
	}
	@media (max-width:375px){
		.way_sec_head h4{font-size:2.4rem;}
		.way_tel_card .rows .r{font-size:1.5rem;}
	}
	/* 미디어쿼리 끝 */
/* 찾아오시는길 끝 */


/* 연혁 시작 */
:root {
  --c-primary: #09847F;
  --c-primary-dark: #066460;
  --c-primary-soft: #e8f4f3;
  --c-accent: #bf9f17;
  --c-accent-soft: #fbf4d8;
  --c-leaf: #4a7a4a;
  --c-leaf-soft: #edf3e9;
  --c-ink: #14211c;
  --c-text: #313c36;
  --c-muted: #71796f;
  --c-line: rgba(20, 33, 28, 0.10);
  --c-hair: rgba(20, 33, 28, 0.07);
  --c-paper: #f5f6f3;
  --c-card: #ffffff;
}

.hx {
  position: relative;
  width: 100%;
  margin: 0 auto;
  color: var(--c-text);
  font-family: 'Paperlogy', 'Pretendard', sans-serif;
}

/* 읽기 진행 바 */
.hx .read_progress {
  position: fixed; top: 0; left: 0; right: 0; height: 3px;
  background: transparent; z-index: 1100;
}
.hx .read_progress span {
  display: block; height: 100%;
  background: linear-gradient(90deg, var(--c-primary), var(--c-accent));
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.1s linear;
}

/* ============================================================
   인트로
   ============================================================ */
.hx .hx_intro {
  padding: 10px 0 56px;
  border-bottom: 2px solid var(--c-ink);
  margin-bottom: 0;
}
.hx .hx_eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 1.35rem; font-weight: 700; letter-spacing: 0.14em;
  color: var(--c-primary);
  margin-bottom: 22px;
}
.hx .hx_eyebrow .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--c-primary);
}
.hx .hx_title {
  font-size: 5.4rem; font-weight: 800;
  line-height: 1.16; letter-spacing: -0.04em;
  color: var(--c-ink);
  margin-bottom: 26px;
  text-wrap: balance;
}
.hx .hx_title b {
  font-weight: 800;
  background: linear-gradient(180deg, transparent 62%, var(--c-accent-soft) 62%, var(--c-accent-soft) 94%, transparent 94%);
  padding: 0 4px;
}
.hx .hx_lede {
  font-size: 1.95rem; line-height: 1.62;
  color: var(--c-muted); font-weight: 400;
  letter-spacing: -0.02em;
  max-width: 820px;
  margin-bottom: 50px;
}
.hx .hx_metrics {
  display: flex; gap: 56px; flex-wrap: wrap;
}
.hx .hx_metrics > div { display: flex; flex-direction: column; gap: 6px; }
.hx .hx_metrics strong {
  font-size: 4.4rem; font-weight: 800;
  color: var(--c-ink); line-height: 1; letter-spacing: -0.04em;
}
.hx .hx_metrics em {
  font-style: normal; font-size: 1.6rem; font-weight: 600;
  color: var(--c-primary); margin-left: 3px;
}
.hx .hx_metrics span { font-size: 1.45rem; color: var(--c-muted); font-weight: 500; }

/* ============================================================
   국면 네비게이션 (sticky)
   ============================================================ */
.hx .chapnav {
  position: sticky; top: 30px; z-index: 20;
  margin: 28px 0 20px;
}
.hx .chapnav ul {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  border: 1px solid var(--c-line);
  border-radius: 16px;
  padding: 8px;
  box-shadow: 0 10px 30px -14px rgba(20,33,28,0.14);
}
.hx .chapnav_item {
  width: 100%;
  display: flex; align-items: center; gap: 12px;
  padding: 12px 18px;
  border-radius: 11px;
  text-align: left;
  color: var(--c-muted);
  transition: all 0.2s ease;
}
.hx .chapnav_item i {
  font-style: normal;
  font-size: 1.3rem; font-weight: 800;
  color: rgba(20,33,28,0.22);
  letter-spacing: -0.02em;
  transition: color 0.2s ease;
}
.hx .chapnav_item span { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.02em; }
.hx .chapnav_item em {
  font-style: normal; font-size: 1.25rem; font-weight: 500;
  color: var(--c-muted); opacity: 0.7;
  margin-left: auto;
}
.hx .chapnav_item:hover { background: var(--c-paper); color: var(--c-ink); }
.hx .chapnav_item.active { background: var(--c-primary); color: #fff; }
.hx .chapnav_item.active i { color: rgba(255,255,255,0.55); }
.hx .chapnav_item.active em { color: rgba(255,255,255,0.8); opacity: 1; }

/* ============================================================
   챕터
   ============================================================ */
.hx .chapter { position: relative; padding: 76px 0 8px; }
.hx #ch1.chapter{padding-top:0px;}
.hx .chap_head {
  position: relative;
  padding: 52px 0 30px;
  margin-bottom: 0;
  border-bottom: 1px solid var(--c-line);
}
/* 타이틀 ↔ 본문 구분선의 teal 캡 */
.hx .chap_head::after {
  content: '';
  position: absolute; left: 0; bottom: -2px;
  width: 56px; height: 3px;
  background: var(--c-primary);
  border-radius: 3px;
  z-index: 2;
}
.hx .chap_watermark {
  position: absolute; top: 20px; right: -6px;
  font-size: 16rem; font-weight: 900;
  line-height: 0.8; letter-spacing: -0.06em;
  color: rgba(9, 132, 127, 0.05);
  pointer-events: none; user-select: none;
  z-index: 0;
}
.hx .chap_no {
  position: relative; z-index: 1;
  display: block;
  font-size: 1.5rem; font-weight: 800;
  letter-spacing: 0.2em;
  color: var(--c-primary);
  margin-bottom: 16px;
}
.hx .chap_titlewrap {
  position: relative; z-index: 1;
  display: flex; align-items: baseline; gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.hx .chap_title {
  font-size: 5rem; font-weight: 800;
  letter-spacing: -0.04em; color: var(--c-ink);
  line-height: 1;
  font-family: 'Paperlogy';
}
.hx .chap_range {
  font-size: 1.9rem; font-weight: 600;
  color: var(--c-muted);
  letter-spacing: -0.01em;
}
.hx .chap_desc {
  position: relative; z-index: 1;
  font-size: 1.85rem; line-height: 1.6;
  color: var(--c-text); font-weight: 500;
  letter-spacing: -0.02em;
  max-width: 760px;
}
.hx .chapter--accent {
  background: linear-gradient(180deg, transparent, rgba(9,132,127,0.025) 14%, rgba(9,132,127,0.025) 86%, transparent);
  border-radius: 32px;
}
.hx .chapter--accent .chap_watermark { color: rgba(191,159,23,0.07); }

/* ============================================================
   타임라인 (연혁.html 스타일 — 박스 없이 헤어라인)
   풀폭: 연도 헤드(sticky) | 본문
   ============================================================ */
.hx .tl { list-style: none; margin: 0; padding: 0; }
.hx .yr {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 60px;
  padding: 48px 0;
  border-top: 1px solid var(--c-line);
}
.hx .yr:first-child { border-top: 0; }

/* 연도 헤드 (sticky) */
.hx .yr_head { position: sticky; top: 200px; align-self: start; }
.hx .yr_num {
  display: block;
  font-size: 4.6rem; font-weight: 800;
  line-height: 1; letter-spacing: -0.04em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  font-family: 'Paperlogy';
}
.hx .yr_num::after {
  content: ''; display: block;
  width: 38px; height: 3px;
  background: var(--c-primary);
  margin-top: 16px; border-radius: 2px;
}
.hx .yr_tag {
  display: inline-block; margin-top: 18px;
  padding: 5px 13px; border-radius: 999px;
  font-size: 1.25rem; font-weight: 700; letter-spacing: 0.01em;
  background: var(--c-primary-soft); color: var(--c-primary);
}
.hx .yr_tag.leaf { background: var(--c-leaf-soft); color: var(--c-leaf); }
.hx .yr_tag.gold { background: var(--c-accent-soft); color: #8a7517; }
.hx .yr_tag.fill { background: var(--c-primary); color: #fff; }
.hx .yr_cap {
  margin-top: 14px;
  font-size: 1.5rem; line-height: 1.45;
  color: var(--c-muted); font-weight: 500;
  letter-spacing: -0.02em;
}

/* 본문 */
.hx .yr_body { min-width: 0; }
/* 사진이 있는 해 — 풀폭 활용: 사진 | 리스트 좌우 배치 */
.hx .yr_body.has-photo {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 48px;
  align-items: start;
}

/* 사진 */
.hx .photo {
  margin: 0;
  position: relative;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid var(--c-hair);
}
.hx .photo img { width: 100%; height: 100%; display: block; }
.hx .photo svg { width: 100%; height: 100%; display: block; }
.hx .photo figcaption {
  position: absolute; left: 14px; bottom: 12px;
  font-size: 1.4rem; font-weight: 500;
  color: rgba(255,255,255,0.95);
  background: rgba(0,0,0,0.42); backdrop-filter: blur(6px);
  padding: 5px 11px; border-radius: 999px;
  letter-spacing: -0.01em;
}

/* 사건 목록 */
.hx .ev { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.hx .ev > li {
  display: grid; grid-template-columns: 100px 1fr; gap: 26px;
  align-items: baseline;
  padding: 16px 0;
  border-top: 1px solid var(--c-hair);
}
.hx .ev > li:first-child { border-top: 0; padding-top: 0; }
.hx .ev time {
  font-size: 1.45rem; font-weight: 600;
  color: var(--c-muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap; line-height: 1.5;
  font-family: 'Paperlogy';
}
.hx .ev p {
  font-size: 2rem; line-height: 1.5;
  color: var(--c-text); font-weight: 500;
  letter-spacing: -0.02em;
}
.hx .ev .sub {
  display: block; margin-top: 5px;
  font-size: 1.6rem; font-weight: 400;
  color: var(--c-muted); line-height: 1.5;
}
.hx .ev .key {
  color: var(--c-primary-dark); font-weight: 700;
}

/* ============================================================
   담당자 안내
   ============================================================ */
.hx .hx_info {
  margin-top: 64px;
  padding: 26px 30px;
  background: var(--c-paper);
  border-radius: 14px;
}
.hx .hx_info dl { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 30px; margin: 0; }
.hx .hx_info dt { font-size: 1.5rem; font-weight: 800; color: var(--c-ink); }
.hx .hx_info dd { font-size: 1.5rem; font-weight: 400; color: var(--c-text); margin: 0; }
.hx .hx_info .dept { font-weight: 700; color: var(--c-primary); margin-right: 6px; }

/* ============================================================
   reveal — 기본 보임, JS 동작 시에만 숨겼다 드러냄
   ============================================================ */
.hx .reveal-on [data-reveal] {
  opacity: 0; transform: translateY(22px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.hx .reveal-on [data-reveal].in_view { opacity: 1; transform: translateY(0); }

	/* 미디어쿼리 시작 */
	@media (prefers-reduced-motion: reduce) {
	  .hx .reveal-on [data-reveal] { opacity: 1; transform: none; transition: none; }
	}
	@media (max-width: 1280px) {
	  .hx .yr_body.has-photo { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 40px; }
	}
	@media (max-width: 1024px) {
	  .hx .hx_title { font-size: 4.4rem; }
	  .hx .chap_watermark { font-size: 12rem; }
	  .hx .chap_title { font-size: 4rem; }
	  .hx .yr { grid-template-columns: 150px 1fr; gap: 44px; }
	  .hx .yr_num { font-size: 3.8rem; }
	  /* 사진 위 / 리스트 아래로 스택 */
	  .hx .yr_body.has-photo { grid-template-columns: 1fr; gap: 26px; }
	  .hx .photo { max-width: 560px; }
	  .hx .ev p { font-size: 1.9rem; }
	}
	@media (max-width: 820px) {
	  .hx .chapnav ul { grid-template-columns: repeat(2, 1fr); border-radius: 15px;}
	}
	@media (max-width: 720px) {
	  .hx .hx_intro { padding-bottom: 44px; }
	  .hx .hx_title { font-size: 3.2rem; }
	  .hx .hx_lede { font-size: 1.65rem; margin-bottom: 36px; }
	  .hx .hx_metrics { gap: 28px; }
	  .hx .hx_metrics strong { font-size: 3.4rem; }
	  .hx .chapnav { top: 20px; }
	  .hx .chapnav_item { padding: 10px 12px; gap: 8px; }
	  .hx .chapnav_item em { display: none; }
	  .hx .chapnav_item span { font-size: 1.45rem; }
	  .hx .chapter { padding-top: 52px; }
	  .hx .chap_head { padding: 36px 0 28px; }
	  .hx .chap_watermark { font-size: 8rem;}
	  .hx .chap_title { font-size: 3.2rem; }
	  .hx .chap_range { font-size: 1.6rem; }
	  .hx .chap_desc { font-size: 1.6rem; }
	  /* 연도 헤드 인라인화 */
	  .hx .yr { grid-template-columns: 1fr; gap: 18px; padding: 36px 0; }
	  .hx .yr_head {
	    position: static; top: auto;
	    display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px;
	  }
	  .hx .yr_num { font-size: 3.2rem; }
	  .hx .yr_num::after { display: none; }
	  .hx .yr_tag, .yr_cap { margin-top: 0; }
	  .hx .yr_cap { width: 100%; }
	  .hx .photo { max-width: none; }
	  .hx .ev > li { grid-template-columns: 80px 1fr; gap: 16px; }
	  .hx .ev p { font-size: 1.8rem; }
	  .hx .ev .sub { font-size: 1.5rem; }
	}
	@media (max-width: 480px) {
	  .hx .hx_title { font-size: 2.7rem; }
	  .hx .chapnav ul { grid-template-columns: 1fr 1fr; gap: 6px; padding: 6px; }
	  .hx .chapnav_item i { display: none; }
	  .hx .chap_title { font-size: 2.7rem; }
	  .hx .ev > li { grid-template-columns: 68px 1fr; gap: 12px; }
	  .hx .ev time { font-size: 1.35rem; }
	  .hx .ev p { font-size: 1.7rem; }
	  .hx .hx_info dl { flex-direction: column; align-items: flex-start; gap: 8px; }
	}
	/* 미디어쿼리 끝 */
/* 연혁 끝 */


/* 생태·역사·문화 시작 */
.eh_tabs {
  position: relative;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 8px;
  background: #f3f7f6;
  border-radius: 18px;
  margin-bottom: 56px;
}
.eh_tabs__btn {
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: center;
  gap: 12px;
  padding: 20px 18px;
  border-radius: 12px;
  font-family: "Paperlogy", sans-serif;
  font-size: 1.9rem; font-weight: 500; letter-spacing: -0.04rem;
  color: #6f7672;
  transition: color 0.3s ease;
  text-align: center;
}
.eh_tabs__btn .eh_tabs__num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #d8e2df;
  font-size: 1.25rem; font-weight: 700; letter-spacing: 0.02em;
  color: #9aa3a0;
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.eh_tabs__btn:hover { color: #2c423d; }
.eh_tabs__btn.is_active { color: #fff; font-weight: 600; }
.eh_tabs__btn.is_active .eh_tabs__num {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff;
}
.eh_tabs__indicator {
  position: absolute; top: 8px; left: 8px;
  width: calc(50% - 12px); height: calc(100% - 16px);
  background: linear-gradient(135deg, #0ba39d 0%, #09847F 100%);
  border-radius: 12px;
  box-shadow: 0 10px 30px -8px rgba(9, 132, 127, 0.55);
  transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
  z-index: 0;
}
.eh_tabs[data-active="history"] .eh_tabs__indicator {
  transform: translateX(calc(100% + 8px));
}

/* ============================
   탭 패널
   ============================ */
.eh_panel { display: none; animation: panelFade 0.5s ease both; }
.eh_panel.is_active { display: block; }
@keyframes panelFade {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================
   히어로 (큰 카드)
   ============================ */
.eh_hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 32px;
  align-items: stretch;
  margin-bottom: 80px;
}
.eh_hero__body {
  position: relative;
  padding: 56px 56px 48px;
  border-radius: 32px;
  background: #f6faf9;
  border: 1px solid #e6efed;
  overflow: hidden;
}
.eh_hero__body::after {
  content: ""; position: absolute;
  right: -80px; bottom: -120px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(11, 163, 157, 0.10) 0%, transparent 70%);
  pointer-events: none;
}
.eh_hero__eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 1.3rem; font-weight: 600;
  letter-spacing: 0.16em; color: #09847F;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.eh_hero__eyebrow::before {
  content: ""; width: 28px; height: 2px;
  background: #09847F; border-radius: 1px;
}
.eh_hero__title {
  font-size: 4.2rem; font-weight: 700; line-height: 1.25;
  letter-spacing: -0.05rem; color: #14201d;
  margin-bottom: 24px; text-wrap: pretty;
}
.eh_hero__title em {
  font-style: normal;
  background: linear-gradient(135deg, #0ba39d 0%, #09847F 60%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.eh_hero__desc {
  font-size: 1.7rem; line-height: 1.75; color: #4a5450;
  letter-spacing: -0.025rem; text-wrap: pretty;
  font-weight: 400;
}
.eh_hero__statbox {
  margin-top: 36px;
  display: inline-flex; align-items: baseline; gap: 14px;
  padding: 18px 24px;
  background: #fff; border-radius: 16px;
  border: 1px solid #e6efed;
  box-shadow: 0 8px 24px -10px rgba(20, 32, 29, 0.08);
}
.eh_hero__statnum {
  font-size: 3.6rem; font-weight: 800; line-height: 1;
  color: #09847F; letter-spacing: -0.06rem;
}
.eh_hero__statnum small {
  font-size: 1.6rem; font-weight: 700;
  margin-left: 4px;
}
.eh_hero__statlbl {
  font-size: 1.5rem; color: #4a5450; font-weight: 500;
}
.eh_hero__media {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  min-height: 460px;
  background: #d8e2df;
}
.eh_hero__caption {
  position: absolute; right: 24px; bottom: 24px;
  padding: 10px 18px;
  background: rgba(20, 32, 29, 0.55);
  backdrop-filter: blur(8px);
  color: #fff; font-size: 1.4rem; font-weight: 500;
  border-radius: 100px;
  letter-spacing: -0.02rem;
}

/* 이미지 placeholder (CSS art) */
.ph {
  position: absolute; inset: 0;
  display: flex; align-items: flex-end; justify-content: flex-start;
  color: #fff; font-size: 1.4rem; font-weight: 500;
  letter-spacing: -0.02rem;
  overflow: hidden;
}
.ph img{width:100%; height:100%; object-fit: cover;}
.ph::before {
  content: ""; position: absolute; inset: 0;
  background-size: cover; background-position: center;
}
.ph__lbl {
  position: relative; z-index: 2;
  padding: 6px 14px;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(6px);
  border-radius: 100px;
  font-size: 1.3rem;
}

.ph--egret::before {
  background:
    radial-gradient(ellipse at 20% 75%, rgba(255, 255, 255, 0.6) 0%, transparent 6%),
    radial-gradient(ellipse at 35% 80%, rgba(255, 255, 255, 0.55) 0%, transparent 5%),
    radial-gradient(ellipse at 50% 76%, rgba(255, 255, 255, 0.5) 0%, transparent 6%),
    radial-gradient(ellipse at 65% 82%, rgba(255, 255, 255, 0.6) 0%, transparent 5%),
    radial-gradient(ellipse at 80% 78%, rgba(255, 255, 255, 0.55) 0%, transparent 6%),
    linear-gradient(180deg,
      #6da890 0%,
      #4d8a73 32%,
      #6fa088 48%,
      #4f7d72 65%,
      #2f5c5a 100%
    );
}
.ph--cliff::before {
  background:
    radial-gradient(ellipse at 30% 30%, rgba(255, 255, 255, 0.15) 0%, transparent 40%),
    linear-gradient(180deg,
      #a3826b 0%,
      #8d6a52 30%,
      #6f553f 55%,
      #7ea758 60%,
      #94c562 100%
    );
}

/* ============================
   블록 헤더 (섹션 타이틀)
   ============================ */
.eh_blockhead {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; margin-bottom: 36px; flex-wrap: wrap;
}
.eh_blockhead__main { max-width: 720px; }
.eh_blockhead__eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 1.25rem; font-weight: 600; letter-spacing: 0.16em;
  color: #09847F; text-transform: uppercase; margin-bottom: 12px;
}
.eh_blockhead__eyebrow::before {
  content: ""; width: 24px; height: 2px;
  background: #09847F; border-radius: 1px;
}
.eh_blockhead__title {
  font-size: 3rem; font-weight: 700; line-height: 1.3;
  letter-spacing: -0.04rem; color: #14201d; text-wrap: pretty;
}
.eh_blockhead__sub {
  font-size: 1.55rem; color: #6c7773; max-width: 380px;
  line-height: 1.65; text-wrap: pretty;
}

/* ============================
   존(zone) 카드 그리드 - 자연생태
   ============================ */
.eh_zones {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 80px;
}
.eh_zone {
  position: relative;
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid #e6efed;
  border-radius: 22px;
  overflow: hidden;
  transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1),
              box-shadow 0.35s ease,
              border-color 0.35s ease;
}
.eh_zone:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 40px -18px rgba(20, 32, 29, 0.18);
  border-color: #c5dcd8;
}
.eh_zone__media {
  position: relative;
  height: 200px;
  background: #e8efed;
  overflow: hidden;
}
.eh_zone__tag {
  position: absolute; top: 16px; left: 16px;
  z-index: 2;
  padding: 6px 14px;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(6px);
  color: white;
  font-size: 1.3rem; font-weight: 700; letter-spacing: -0.02rem;
  border-radius: 100px;
}
.eh_zone__body { padding: 22px 24px 26px; flex: 1; display: flex; flex-direction: column; }
.eh_zone__title {
  font-size: 1.9rem; font-weight: 700; letter-spacing: -0.035rem;
  color: #14201d; line-height: 1.35; margin-bottom: 10px;
  text-wrap: pretty;
}
.eh_zone__desc {
  font-size: 1.6rem; line-height: 1.65; color: #5a6562;
  letter-spacing: -0.02rem; text-wrap: pretty;
}
.eh_zone__species {
  margin-top: 16px; display: flex; flex-wrap: wrap; gap: 6px;
}
.eh_zone__species span {
  font-size: 1.3rem; color: #4a5450; font-weight: 500;
  padding: 4px 10px; border-radius: 100px;
  background: #f0f5f3;
}

.ph--otter::before {
  background:
    radial-gradient(ellipse at 50% 65%, #3d2f24 0%, #3d2f24 8%, transparent 9%),
    radial-gradient(ellipse at 40% 55%, #5b4636 0%, transparent 15%),
    linear-gradient(180deg, #5a8678 0%, #3e6e5f 50%, #29554c 100%);
}
.ph--heron::before {
  background:
    radial-gradient(ellipse at 30% 60%, rgba(255,255,255,0.7) 0%, transparent 6%),
    radial-gradient(ellipse at 55% 65%, rgba(255,255,255,0.65) 0%, transparent 5%),
    radial-gradient(ellipse at 75% 58%, rgba(255,255,255,0.6) 0%, transparent 7%),
    linear-gradient(180deg, #2d6010 0%, #4a8a2c 40%, #6daa44 80%, #87c46e 100%);
}
.ph--crow::before {
  background:
    radial-gradient(ellipse at 20% 30%, rgba(20,20,20,0.85) 0%, transparent 3%),
    radial-gradient(ellipse at 35% 35%, rgba(20,20,20,0.75) 0%, transparent 2%),
    radial-gradient(ellipse at 50% 28%, rgba(20,20,20,0.8) 0%, transparent 3%),
    radial-gradient(ellipse at 70% 33%, rgba(20,20,20,0.75) 0%, transparent 2%),
    radial-gradient(ellipse at 85% 30%, rgba(20,20,20,0.8) 0%, transparent 3%),
    radial-gradient(ellipse at 25% 50%, rgba(20,20,20,0.7) 0%, transparent 2%),
    radial-gradient(ellipse at 60% 52%, rgba(20,20,20,0.75) 0%, transparent 2%),
    radial-gradient(ellipse at 80% 48%, rgba(20,20,20,0.7) 0%, transparent 2%),
    linear-gradient(180deg, #c89568 0%, #b07050 40%, #6b4530 80%, #3a2818 100%);
}
.ph--salmon::before {
  background:
    radial-gradient(ellipse at 30% 50%, rgba(220, 130, 100, 0.7) 0%, transparent 6%),
    radial-gradient(ellipse at 55% 55%, rgba(220, 130, 100, 0.6) 0%, transparent 5%),
    radial-gradient(ellipse at 70% 48%, rgba(220, 130, 100, 0.65) 0%, transparent 6%),
    linear-gradient(180deg, #3d6f8e 0%, #2a5470 60%, #1a3a52 100%);
}

/* ============================
   스탯 스트립
   ============================ */
.eh_stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  padding: 40px;
  background: linear-gradient(135deg, #14201d 0%, #1f3631 100%);
  border-radius: 24px;
  margin-bottom: 64px;
  position: relative; overflow: hidden;
}
.eh_stats::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 85% 20%, rgba(11, 163, 157, 0.18) 0%, transparent 50%),
    radial-gradient(circle at 15% 80%, rgba(11, 163, 157, 0.10) 0%, transparent 50%);
  pointer-events: none;
}
.eh_stat { position: relative; padding: 16px 24px; }
.eh_stat:not(:last-child)::after {
  content: ""; position: absolute; right: 0; top: 18%;
  width: 1px; height: 64%;
  background: rgba(255, 255, 255, 0.12);
}
.eh_stat__num {
  display: block;
  font-size: 5.2rem; font-weight: 800; line-height: 1;
  background: linear-gradient(135deg, #6ddfd9 0%, #0ba39d 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.06rem;
  margin-bottom: 12px;
}
.eh_stat__num small {
  font-size: 2.2rem; font-weight: 700; margin-left: 4px;
  -webkit-text-fill-color: #6ddfd9;
}
.eh_stat__label {
  font-size: 1.6rem; color: rgba(255, 255, 255, 0.7);
  font-weight: 500; letter-spacing: -0.02rem;
}

/* ============================
   타임라인 - 역사
   ============================ */
.eh_timeline {
  position: relative;
  margin-bottom: 80px;
}
.eh_timeline__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
}
.eh_timeline__item { position: relative; }
.eh_timeline__head {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  height: 24px;
  margin-bottom: 22px;
}
.eh_timeline__head::before {
  content: ""; position: absolute; z-index: 0;
  top: 50%; left: -12px; right: -12px; height: 2px;
  transform: translateY(-50%);
  border-radius: 2px;
}
.eh_timeline__item:first-child .eh_timeline__head::before { left: 50%; }
.eh_timeline__item:last-child  .eh_timeline__head::before { right: 50%; }
.eh_timeline__item:nth-child(1) .eh_timeline__head::before { background: #b9ddd8; }
.eh_timeline__item:nth-child(2) .eh_timeline__head::before { background: #5cbcb2; }
.eh_timeline__item:nth-child(3) .eh_timeline__head::before { background: #09847F; }
.eh_timeline__dot {
  position: relative; z-index: 1;
  width: 18px; height: 18px;
  background: #fff;
  border: 3px solid #09847F;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(9, 132, 127, 0.12);
}
.eh_timeline__item:nth-child(3) .eh_timeline__dot { background: #09847F; }
.eh_timeline__card {
  height: calc(100% - 46px);
  text-align: center;
  padding: 26px 28px 28px;
  background: #f6faf9;
  border: 1px solid #e6efed;
  border-top: 3px solid #09847F;
  border-radius: 18px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.eh_timeline__item:nth-child(1) .eh_timeline__card { border-top-color: #7cccc2; }
.eh_timeline__item:nth-child(2) .eh_timeline__card { border-top-color: #2ba99e; }
.eh_timeline__item:nth-child(3) .eh_timeline__card { border-top-color: #09847F; }
.eh_timeline__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 30px -16px rgba(9, 132, 127, 0.2);
}
.eh_timeline__era {
  font-size: 1.3rem; font-weight: 700; letter-spacing: 0.12em;
  color: #09847F; margin-bottom: 8px; text-transform: uppercase;
}
.eh_timeline__period {
  font-size: 2.2rem; font-weight: 700; letter-spacing: -0.04rem;
  color: #14201d; line-height: 1.25; margin-bottom: 12px;
}
.eh_timeline__desc {
  font-size: 1.6rem; line-height: 1.65; color: #5a6562;
  margin: 0;
  letter-spacing: -0.02rem; text-wrap: pretty;
}
.eh_timeline__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  background: #fff;
  border: 1px solid #e6efed;
  border-radius: 20px;
  box-shadow: 0 4px 16px -6px rgba(9, 132, 127, 0.14);
  padding: 12px;
}
.eh_timeline__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ============================
   문화재 카드 - 역사
   ============================ */
.eh_heritage {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 64px;
}
.eh_h_card {
  background: #fff;
  border: 1px solid #e8e0d4;
  border-radius: 22px;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1),
              box-shadow 0.35s ease;
}
.eh_h_card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 40px -18px rgba(60, 45, 30, 0.18);
}
.eh_h_card__media {
  position: relative;
  height: 220px;
  background: #e8e0d4;
  overflow: hidden;
}
.eh_h_card__badge {
  position: absolute; top: 16px; left: 16px;
  padding: 6px 14px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  color: #8b6f47;
  font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02rem;
  border-radius: 100px;
  z-index: 2;
}
.eh_h_card__body { padding: 22px 24px 28px; flex: 1; }
.eh_h_card__title {
  font-size: 2rem; font-weight: 700; letter-spacing: -0.04rem;
  color: #14201d; line-height: 1.3; margin-bottom: 10px;
}
.eh_h_card__sub {
  font-size: 1.25rem; color: #8b6f47; font-weight: 600;
  letter-spacing: 0.04em; margin-bottom: 14px;
}
.eh_h_card__desc {
  font-size: 1.6rem; line-height: 1.65; color: #5a5247;
  text-wrap: pretty;
}

.ph--petroglyph::before {
  background:
    radial-gradient(ellipse 12px 5px at 30% 45%, rgba(50,35,25,0.5) 0%, transparent 100%),
    radial-gradient(ellipse 8px 4px at 45% 50%, rgba(50,35,25,0.5) 0%, transparent 100%),
    radial-gradient(ellipse 14px 6px at 60% 48%, rgba(50,35,25,0.5) 0%, transparent 100%),
    radial-gradient(ellipse 10px 5px at 70% 55%, rgba(50,35,25,0.4) 0%, transparent 100%),
    linear-gradient(180deg, #b8966e 0%, #9a785a 50%, #7d5e44 100%);
}
.ph--rock_carving::before {
  background:
    radial-gradient(ellipse 80% 30% at 50% 50%, rgba(80,60,40,0.18) 0%, transparent 70%),
    linear-gradient(135deg, #c4a685 0%, #a88869 40%, #876a4c 80%);
}
.ph--budo::before {
  background:
    radial-gradient(ellipse 50px 12px at 50% 80%, rgba(80,70,60,0.5) 0%, transparent 60%),
    radial-gradient(circle 38px at 50% 50%, #9a8b76 0%, #7d6e58 70%, transparent 72%),
    radial-gradient(circle 28px at 50% 38%, #aa9b86 0%, #8d7e68 70%, transparent 72%),
    linear-gradient(180deg, #d4cfc4 0%, #b8b0a0 50%, #8a8474 100%);
}

.eh_panel [data-reveal] {
  opacity: 0; transform: translateY(16px);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.eh_panel [data-reveal].is_in { opacity: 1; transform: translateY(0); }

/* 미디어쿼리 시작 */
@media (max-width: 1280px) {
  .eh_hero { gap: 24px; margin-bottom: 64px; }
  .eh_hero__body { padding: 48px 40px 40px; }
  .eh_hero__title { font-size: 3.6rem; }
  .eh_hero__media { min-height: 400px; }
  .eh_zones { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
  .eh_hero { grid-template-columns: 1fr; }
  .eh_hero__body { padding: 40px 32px; border-radius: 24px; }
  .eh_hero__media { min-height: 320px; border-radius: 24px; }
  .eh_hero__title { font-size: 3.2rem; }
  .eh_hero__desc { font-size: 1.6rem; }
  .eh_heritage { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
	.eh_tabs { padding: 6px; gap: 6px; margin-bottom: 32px; grid-template-columns: 1fr; }
	.eh_tabs__indicator {
	width: calc(100% - 16px);
	height: calc((100% - 24px) / 2);
	}
	.eh_tabs[data-active="history"] .eh_tabs__indicator {
	transform: translateY(calc(100% + 6px));
	}
	.eh_tabs__btn { padding: 16px 14px; font-size: 1.6rem; gap: 10px;
	justify-content: flex-start; text-align: left; }
	.eh_tabs__btn .eh_tabs__num { width: 22px; height: 22px; font-size: 1.1rem; }
  .eh_hero { gap: 16px; margin-bottom: 48px; }
  .eh_hero__body { padding: 32px 24px; border-radius: 20px; }
  .eh_hero__media { min-height: 260px; border-radius: 20px; }
  .eh_hero__title { font-size: 2.6rem; margin-bottom: 18px; }
  .eh_hero__desc { font-size: 1.5rem; line-height: 1.7; }
  .eh_hero__statbox { padding: 14px 18px; margin-top: 24px; gap: 10px; }
  .eh_hero__statnum { font-size: 2.8rem; }
  .eh_blockhead__title { font-size: 2.5rem; }
  .eh_blockhead { margin-bottom: 24px; gap:10px;}
  .eh_stats { grid-template-columns: 1fr; padding: 24px; gap: 8px; }
  .eh_stat { padding: 14px 4px; }
  .eh_stat:not(:last-child)::after {
    right: auto; left: 4px; top: auto; bottom: 0;
    width: calc(100% - 8px); height: 1px;
  }
  .eh_stat__num { font-size: 4rem; margin-bottom: 6px; }
  .eh_timeline { margin-bottom: 56px; }
  .eh_timeline__list { grid-template-columns: 1fr; gap: 0; }
  .eh_timeline__item {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    column-gap: 18px;
    padding-bottom: 22px;
  }
  .eh_timeline__item:last-child { padding-bottom: 0; }
  .eh_timeline__head {
    flex-direction: column; justify-content: flex-start;
    height: 100%; margin-bottom: 0;
    padding-top: 24px;
  }
  .eh_timeline__head::before {
    top: 27px; bottom: -22px; left: 50%; right: auto;
    width: 2px; height: auto;
    transform: translateX(-50%);
  }
  .eh_timeline__desc{font-size:1.5rem;}
  .eh_timeline__item:first-child .eh_timeline__head::before { top: 27px; left: 50%; }
  .eh_timeline__item:last-child  .eh_timeline__head::before { display: none; }
  .eh_timeline__card {
    height: auto;
    text-align: left;
    padding: 20px 22px 22px;
  }
  .eh_timeline__period { font-size: 1.9rem; }
  .eh_timeline__icon {
    margin: 0 0 14px;
    width: 56px;
    height: 56px;
    border-radius: 15px;
    padding: 9px;
  }
  .eh_zone__title {font-size:1.8rem;}
  .eh_h_card__title{font-size:1.9rem;}
}
@media (max-width: 600px) {
  .eh_zones { grid-template-columns: 1fr; gap: 14px; margin-bottom: 48px; }
  .eh_zone__media { height: 180px; }
  .eh_heritage { grid-template-columns: 1fr; gap: 14px; }
  .eh_h_card__media { height: 200px; }
}
@media (max-width: 375px) {
  .eh_blockhead__title { font-size: 2.4rem; }
  .eh_stat__label { font-size: 1.5rem; }
  .eh_zone__desc{font-size:1.5rem;}
  .eh_timeline__desc {font-size:1.5rem;}
  .eh_h_card__desc{font-size:1.5rem;}
  .eh_stat__label { font-size: 1.5rem; }
}
/* 미디어쿼리 끝 */
/* 생태·역사·문화 끝 */

/* 태화강 살리기 사업 시작 */
.rv_tabs {
  position: relative;
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 8px;
  background: #f3f7f6;
  border-radius: 18px;
  margin-bottom: 56px;
}
.rv_tabs__btn {
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: center;
  gap: 12px;
  padding: 16px 24px;
  border-radius: 12px;
  font-family: "Paperlogy", sans-serif;
  font-size: 1.9rem; font-weight: 500; letter-spacing: -0.04rem;
  color: #6f7672;
  transition: color 0.3s ease;
}
.rv_tabs__btn .rv_tabs__num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #d8e2df;
  font-size: 1.25rem; font-weight: 700; letter-spacing: 0.02em;
  color: #9aa3a0;
  transition: all 0.3s ease;
}
.rv_tabs__btn:hover { color: #2c423d; }
.rv_tabs__btn.is_active { color: #fff; font-weight: 600; }
.rv_tabs__btn.is_active .rv_tabs__num {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff;
}
.rv_tabs__indicator {
  position: absolute; top: 8px; left: 8px;
  width: calc((100% - 16px - 16px) / 3); height: calc(100% - 16px);
  background: linear-gradient(135deg, #0ba39d 0%, #09847F 100%);
  border-radius: 12px;
  box-shadow: 0 10px 30px -8px rgba(9, 132, 127, 0.55);
  transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1),
              background 0.5s ease;
  z-index: 0;
}
.rv_tabs[data-active="manifesto"] .rv_tabs__indicator {
  transform: translateX(calc(100% + 8px));
  background: linear-gradient(135deg, #3a8dd6 0%, #2a6fb8 100%);
  box-shadow: 0 10px 30px -8px rgba(42, 111, 184, 0.5);
}
.rv_tabs[data-active="revival"] .rv_tabs__indicator {
  transform: translateX(calc(200% + 16px));
  background: linear-gradient(135deg, #41ad7a 0%, #0e8a4f 100%);
  box-shadow: 0 10px 30px -8px rgba(14, 138, 79, 0.5);
}

.rv_panel { display: none; animation: rvPanelFade 0.5s ease both; }
.rv_panel.is_active { display: block; }
@keyframes rvPanelFade {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.rv_hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 32px;
  align-items: stretch;
  margin-bottom: 80px;
}
.rv_hero__body {
  position: relative;
  padding: 56px 56px 48px;
  border-radius: 32px;
  background: #f6faf9;
  border: 1px solid #e6efed;
  overflow: hidden;
}
.rv_hero__body::after {
  content: ""; position: absolute;
  right: -80px; bottom: -120px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(11, 163, 157, 0.10) 0%, transparent 70%);
  pointer-events: none;
}
.rv_panel[data-theme="growth"] .rv_hero__body { background: #f5f2ee; border-color: #ebe4d8; }
.rv_panel[data-theme="growth"] .rv_hero__body::after { background: radial-gradient(circle, rgba(180, 100, 60, 0.10) 0%, transparent 70%); }
.rv_panel[data-theme="manifesto"] .rv_hero__body { background: #f0f5fb; border-color: #dee7f1; }
.rv_panel[data-theme="manifesto"] .rv_hero__body::after { background: radial-gradient(circle, rgba(58, 141, 214, 0.10) 0%, transparent 70%); }
.rv_panel[data-theme="revival"] .rv_hero__body { background: #eef8f1; border-color: #d8ebdf; }
.rv_panel[data-theme="revival"] .rv_hero__body::after { background: radial-gradient(circle, rgba(14, 138, 79, 0.12) 0%, transparent 70%); }

.rv_hero__eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 1.3rem; font-weight: 600;
  letter-spacing: 0.16em; color: #09847F;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.rv_hero__eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; border-radius: 1px; }
.rv_panel[data-theme="growth"] .rv_hero__eyebrow { color: #a25a2f; }
.rv_panel[data-theme="manifesto"] .rv_hero__eyebrow { color: #2a6fb8; }
.rv_panel[data-theme="revival"] .rv_hero__eyebrow { color: #0e8a4f; }

.rv_hero__title {
  font-size: 4.2rem; font-weight: 700; line-height: 1.25;
  letter-spacing: -0.05rem; color: #14201d;
  margin-bottom: 24px; text-wrap: pretty;
}
.rv_hero__title em {
  font-style: normal;
  background: linear-gradient(135deg, #0ba39d 0%, #09847F 60%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.rv_panel[data-theme="growth"] .rv_hero__title em { background: linear-gradient(135deg, #c46d3a 0%, #8a4820 60%); -webkit-background-clip: text; background-clip: text; }
.rv_panel[data-theme="manifesto"] .rv_hero__title em { background: linear-gradient(135deg, #3a8dd6 0%, #2a6fb8 60%); -webkit-background-clip: text; background-clip: text; }
.rv_panel[data-theme="revival"] .rv_hero__title em { background: linear-gradient(135deg, #41ad7a 0%, #0e8a4f 60%); -webkit-background-clip: text; background-clip: text; }

.rv_hero__desc {
  font-size: 1.7rem; line-height: 1.75; color: #4a5450;
  letter-spacing: -0.025rem; text-wrap: pretty;
  font-weight: 400;
}
.rv_hero__desc strong { font-weight: 700; color: #14201d; }

.rv_hero__statbox {
  margin-top: 36px;
  display: inline-flex; align-items: baseline; gap: 14px;
  padding: 18px 24px;
  background: #fff; border-radius: 16px;
  border: 1px solid #e6efed;
  box-shadow: 0 8px 24px -10px rgba(20, 32, 29, 0.08);
}
.rv_hero__statnum {
  font-size: 3.6rem; font-weight: 800; line-height: 1;
  color: #09847F; letter-spacing: -0.06rem;
}
.rv_hero__statnum small { font-size: 1.6rem; font-weight: 700; margin-left: 4px; }
.rv_panel[data-theme="growth"] .rv_hero__statnum { color: #a25a2f; }
.rv_panel[data-theme="manifesto"] .rv_hero__statnum { color: #2a6fb8; }
.rv_panel[data-theme="revival"] .rv_hero__statnum { color: #0e8a4f; }
.rv_hero__statlbl { font-size: 1.5rem; color: #4a5450; font-weight: 500; }

.rv_hero__media {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  min-height: 460px;
  background: #d8e2df;
}
.rv_hero__caption {
  position: absolute; right: 24px; bottom: 24px;
  padding: 10px 18px;
  background: rgba(20, 32, 29, 0.55);
  backdrop-filter: blur(8px);
  color: #fff; font-size: 1.4rem; font-weight: 500;
  border-radius: 100px;
  letter-spacing: -0.02rem;
}

.rv_blockhead {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; margin-bottom: 36px; flex-wrap: wrap;
}
.rv_blockhead__main { max-width: 720px; }
.rv_blockhead__eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 1.25rem; font-weight: 600; letter-spacing: 0.16em;
  color: #09847F; text-transform: uppercase; margin-bottom: 12px;
}
.rv_blockhead__eyebrow::before { content: ""; width: 24px; height: 2px; background: currentColor; border-radius: 1px; }
.rv_panel[data-theme="growth"] .rv_blockhead__eyebrow { color: #a25a2f; }
.rv_panel[data-theme="manifesto"] .rv_blockhead__eyebrow { color: #2a6fb8; }
.rv_panel[data-theme="revival"] .rv_blockhead__eyebrow { color: #0e8a4f; }
.rv_blockhead__title { font-size: 3rem; font-weight: 700; line-height: 1.3; letter-spacing: -0.04rem; color: #14201d; text-wrap: pretty; }
.rv_blockhead__sub { font-size: 1.55rem; color: #6c7773; max-width: 420px; line-height: 1.65; text-wrap: pretty; }

.rv_timeline { position: relative; margin-bottom: 64px; }
.rv_timeline__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; position: relative; }
.rv_timeline__item { position: relative; }
.rv_timeline__head { position: relative; display: flex; align-items: center; justify-content: center; height: 24px; margin-bottom: 20px; }
.rv_timeline__head::before { content: ""; position: absolute; z-index: 0; top: 50%; left: -10px; right: -10px; height: 2px; transform: translateY(-50%); border-radius: 2px; }
.rv_timeline__item:first-child .rv_timeline__head::before { left: 50%; }
.rv_timeline__item:last-child  .rv_timeline__head::before { right: 50%; }
.rv_timeline__item:nth-child(1) .rv_timeline__head::before { background: #dcc8ad; }
.rv_timeline__item:nth-child(2) .rv_timeline__head::before { background: #c79c72; }
.rv_timeline__item:nth-child(3) .rv_timeline__head::before { background: #a66838; }
.rv_timeline__item:nth-child(4) .rv_timeline__head::before { background: #7a4420; }
.rv_timeline__dot { position: relative; z-index: 1; width: 18px; height: 18px; background: #fff; border: 3px solid #a25a2f; border-radius: 50%; }
.rv_timeline__item:nth-child(1) .rv_timeline__dot { border-color: #c89a76; box-shadow: 0 0 0 5px rgba(200, 154, 118, 0.16); }
.rv_timeline__item:nth-child(2) .rv_timeline__dot { border-color: #b07854; box-shadow: 0 0 0 5px rgba(176, 120, 84, 0.16); }
.rv_timeline__item:nth-child(3) .rv_timeline__dot { border-color: #8a4a26; box-shadow: 0 0 0 5px rgba(138, 74, 38, 0.18); }
.rv_timeline__item:nth-child(4) .rv_timeline__dot { border-color: #5a2a10; background: #5a2a10; box-shadow: 0 0 0 5px rgba(90, 42, 16, 0.2); }
.rv_timeline__icon { display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; margin: 0 auto 18px; background: #fff; border: 1px solid #ece1d0; border-radius: 20px; box-shadow: 0 4px 16px -6px rgba(162, 90, 47, 0.14); padding: 12px; }
.rv_timeline__icon img { width: 100%; height: 100%; object-fit: contain; }
.rv_timeline__card { height: calc(100% - 44px); text-align: center; padding: 24px 22px 26px; background: #faf6ef; border: 1px solid #ece1d0; border-radius: 18px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.rv_timeline__item:nth-child(1) .rv_timeline__card { border-top: 3px solid #c89a76; }
.rv_timeline__item:nth-child(2) .rv_timeline__card { border-top: 3px solid #b07854; }
.rv_timeline__item:nth-child(3) .rv_timeline__card { border-top: 3px solid #8a4a26; }
.rv_timeline__item:nth-child(4) .rv_timeline__card { border-top: 3px solid #5a2a10; }
.rv_timeline__card:hover { transform: translateY(-4px); box-shadow: 0 18px 30px -16px rgba(90, 42, 16, 0.22); }
.rv_timeline__year { font-size: 2.2rem; font-weight: 800; letter-spacing: -0.03rem; color: #14201d; line-height: 1.1; margin-bottom: 8px; }
.rv_timeline__year sub { font-size: 1.2rem; font-weight: 600; color: #8a8074; margin-left: 4px; vertical-align: baseline; }
.rv_timeline__title { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.03rem; color: #2c2a26; margin-bottom: 10px; line-height: 1.35; text-wrap: pretty; }
.rv_timeline__desc { font-size: 1.6rem; line-height: 1.65; color: #6c655a; margin: 0; letter-spacing: -0.02rem; text-wrap: pretty; }

.rv_peak { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 24px; margin-bottom: 64px; align-items: stretch; }
.rv_peak__media { position: relative; border-radius: 24px; overflow: hidden; min-height: 380px; background: #2a2a2a; }
.rv_peak__body { position: relative; padding: 44px 48px 44px; border-radius: 24px; background: linear-gradient(160deg, #3a2a1c 0%, #1f1611 100%); color: #fff; border: 1px solid #4a3424; overflow: hidden; }
.rv_peak__body::after { content: ""; position: absolute; right: -80px; bottom: -80px; width: 280px; height: 280px; background: radial-gradient(circle, rgba(196, 109, 58, 0.18) 0%, transparent 70%); pointer-events: none; }
.rv_peak__chip { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; background: rgba(255,255,255,0.10); border: 1px solid rgba(255,255,255,0.18); border-radius: 100px; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.06em; color: #f0d5b8; text-transform: uppercase; }
.rv_peak__metric { position: relative; margin-top: 22px; display: flex; align-items: baseline; gap: 12px; }
.rv_peak__metric strong { font-size: 7.2rem; font-weight: 800; letter-spacing: -0.07rem; line-height: 1; background: linear-gradient(135deg, #f0d5b8 0%, #c46d3a 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.rv_peak__metric span { font-size: 1.55rem; font-weight: 600; color: #c5a275; letter-spacing: -0.02rem; }
.rv_peak__lead { position: relative; margin-top: 18px; font-size: 1.8rem; font-weight: 600; line-height: 1.55; color: #f3e5d0; letter-spacing: -0.025rem; text-wrap: pretty; }
.rv_peak__list { position: relative; margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,0.12); display: flex; flex-direction: column; gap: 12px; }
.rv_peak__list li { display: flex; align-items: flex-start; gap: 12px; font-size: 1.6rem; line-height: 1.6; color: #ddc8a8; letter-spacing: -0.02rem; }
.rv_peak__list p { margin: 0; }
.rv_peak__dot { flex-shrink: 0; width: 6px; height: 6px; margin-top: 9px; border-radius: 50%; background: #d08555; }

.rv_principles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 64px; }
.rv_principle { position: relative; padding: 28px 24px 28px; background: #fff; border: 1px solid #dee7f1; border-radius: 22px; overflow: hidden; transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s ease, border-color 0.35s ease; }
.rv_principle::before { content: ""; position: absolute; top: -40px; right: -40px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, rgba(58, 141, 214, 0.10) 0%, transparent 70%); }
.rv_principle:hover { transform: translateY(-6px); border-color: #b9d0e8; box-shadow: 0 24px 40px -18px rgba(42, 111, 184, 0.18); }
.rv_principle__num { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: linear-gradient(135deg, #3a8dd6 0%, #2a6fb8 100%); color: #fff; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.02em; margin-bottom: 22px; position: relative; z-index: 1; box-shadow: 0 8px 18px -8px rgba(42, 111, 184, 0.5); }
.rv_principle__eyebrow { font-size: 1.15rem; font-weight: 700; letter-spacing: 0.12em; color: #2a6fb8; text-transform: uppercase; margin-bottom: 8px; }
.rv_principle__title { font-size: 1.8rem; font-weight: 700; letter-spacing: -0.04rem; color: #14201d; line-height: 1.3; margin-bottom: 12px; text-wrap: pretty; }
.rv_principle__desc { font-size: 1.6rem; line-height: 1.65; color: #5a6878; letter-spacing: -0.02rem; text-wrap: pretty; }

.rv_quote { position: relative; padding: 48px 56px; background: linear-gradient(135deg, #1a3654 0%, #0e2542 100%); color: #fff; border-radius: 28px; margin-bottom: 64px; overflow: hidden; }
.rv_quote::before { content: ""; position: absolute; top: -20px; left: 32px; font-size: 12rem; font-weight: 800; line-height: 1; color: rgba(255,255,255,0.06); font-family: Georgia, serif; }
.rv_quote::after { content: ""; position: absolute; right: -100px; bottom: -100px; width: 320px; height: 320px; background: radial-gradient(circle, rgba(58,141,214,0.22) 0%, transparent 70%); }
.rv_quote__eyebrow { position: relative; display: inline-flex; align-items: center; gap: 10px; font-size: 1.25rem; font-weight: 700; letter-spacing: 0.16em; color: #6db4ee; text-transform: uppercase; margin-bottom: 20px; }
.rv_quote__eyebrow::before { content: ""; width: 28px; height: 2px; background: #6db4ee; border-radius: 1px; }
.rv_quote__body { position: relative; font-size: 2.4rem; font-weight: 600; line-height: 1.45; letter-spacing: -0.03rem; text-wrap: pretty; max-width: 880px; }
.rv_quote__body em { font-style: normal; background: linear-gradient(135deg, #8ecbf2 0%, #4ea3e0 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.rv_quote__meta { position: relative; margin-top: 28px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.rv_quote__date { padding: 8px 18px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18); border-radius: 100px; font-size: 1.4rem; font-weight: 600; color: #d8e9f8; letter-spacing: -0.02rem; }
.rv_quote__caption { font-size: 1.4rem; color: rgba(255,255,255,0.65); font-weight: 400; letter-spacing: -0.02rem; }

.rv_stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 40px; background: linear-gradient(135deg, #14201d 0%, #1f3631 100%); border-radius: 24px; margin-bottom: 64px; position: relative; overflow: hidden; }
.rv_panel[data-theme="growth"] .rv_stats { background: linear-gradient(135deg, #2c1f14 0%, #4a3622 100%); }
.rv_panel[data-theme="manifesto"] .rv_stats { background: linear-gradient(135deg, #122944 0%, #1d3f64 100%); }
.rv_panel[data-theme="revival"] .rv_stats { background: linear-gradient(135deg, #122c1d 0%, #1d4830 100%); }
.rv_stats::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 85% 20%, rgba(11, 163, 157, 0.18) 0%, transparent 50%), radial-gradient(circle at 15% 80%, rgba(11, 163, 157, 0.10) 0%, transparent 50%); pointer-events: none; }
.rv_panel[data-theme="growth"] .rv_stats::before { background: radial-gradient(circle at 85% 20%, rgba(196, 109, 58, 0.18) 0%, transparent 50%), radial-gradient(circle at 15% 80%, rgba(196, 109, 58, 0.10) 0%, transparent 50%); }
.rv_panel[data-theme="manifesto"] .rv_stats::before { background: radial-gradient(circle at 85% 20%, rgba(58, 141, 214, 0.20) 0%, transparent 50%), radial-gradient(circle at 15% 80%, rgba(58, 141, 214, 0.10) 0%, transparent 50%); }
.rv_panel[data-theme="revival"] .rv_stats::before { background: radial-gradient(circle at 85% 20%, rgba(65, 173, 122, 0.20) 0%, transparent 50%), radial-gradient(circle at 15% 80%, rgba(65, 173, 122, 0.10) 0%, transparent 50%); }
.rv_stat { position: relative; padding: 16px 24px; }
.rv_stat:not(:last-child)::after { content: ""; position: absolute; right: 0; top: 18%; width: 1px; height: 64%; background: rgba(255, 255, 255, 0.12); }
.rv_stat__num { display: block; font-size: 5.2rem; font-weight: 800; line-height: 1; background: linear-gradient(135deg, #6ddfd9 0%, #0ba39d 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; letter-spacing: -0.06rem; margin-bottom: 12px; }
.rv_stat__num small { font-size: 2.2rem; font-weight: 700; margin-left: 4px; -webkit-text-fill-color: #6ddfd9; }
.rv_panel[data-theme="growth"] .rv_stat__num { background: linear-gradient(135deg, #f0b585 0%, #c46d3a 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.rv_panel[data-theme="growth"] .rv_stat__num small { -webkit-text-fill-color: #f0b585; }
.rv_panel[data-theme="manifesto"] .rv_stat__num { background: linear-gradient(135deg, #8ecbf2 0%, #3a8dd6 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.rv_panel[data-theme="manifesto"] .rv_stat__num small { -webkit-text-fill-color: #8ecbf2; }
.rv_panel[data-theme="revival"] .rv_stat__num { background: linear-gradient(135deg, #82d6a0 0%, #41ad7a 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.rv_panel[data-theme="revival"] .rv_stat__num small { -webkit-text-fill-color: #82d6a0; }
.rv_stat__label { font-size: 1.6rem; color: rgba(255, 255, 255, 0.7); font-weight: 500; letter-spacing: -0.02rem; }

.rv_outcomes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 64px; }
.rv_outcome { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid #d8ebdf; border-radius: 22px; overflow: hidden; transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s ease; }
.rv_outcome:hover { transform: translateY(-6px); box-shadow: 0 24px 40px -18px rgba(14, 138, 79, 0.18); }
.rv_outcome__media { position: relative; height: 200px; background: #e0eee5; overflow: hidden; }
.rv_outcome__tag { position: absolute; top: 16px; left: 16px; z-index: 2; padding: 6px 14px; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(8px); color: #0e8a4f; font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02rem; border-radius: 100px; }
.rv_outcome__body { padding: 26px 26px 28px; flex: 1; display: flex; flex-direction: column; }
.rv_outcome__title { font-size: 1.9rem; font-weight: 700; letter-spacing: -0.04rem; color: #14201d; line-height: 1.3; margin-bottom: 12px; text-wrap: pretty; }
.rv_outcome__desc { font-size: 1.6rem; line-height: 1.65; color: #4f5e54; letter-spacing: -0.02rem; text-wrap: pretty; }
.rv_outcome__chips { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 6px; }
.rv_outcome__chips span { font-size: 1.2rem; color: #2c5d40; font-weight: 600; padding: 5px 11px; border-radius: 100px; background: #eaf5ee; }

.rv_participation { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px; margin-bottom: 64px; align-items: stretch; }
.rv_participation__body { padding: 44px 44px 40px; border-radius: 24px; background: linear-gradient(160deg, #f0faf3 0%, #e2f1e8 100%); border: 1px solid #cee4d7; position: relative; overflow: hidden; }
.rv_participation__body::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; background: radial-gradient(circle, rgba(14, 138, 79, 0.12) 0%, transparent 70%); }
.rv_participation__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.16em; color: #0e8a4f; text-transform: uppercase; margin-bottom: 16px; }
.rv_participation__eyebrow::before { content: ""; width: 24px; height: 2px; background: #0e8a4f; border-radius: 1px; }
.rv_participation__title { font-size: 2.6rem; font-weight: 700; line-height: 1.3; letter-spacing: -0.04rem; color: #14201d; margin-bottom: 20px; text-wrap: pretty; }
.rv_participation__desc { font-size: 1.6rem; line-height: 1.7; color: #4a5450; letter-spacing: -0.025rem; text-wrap: pretty; }
.rv_participation__chips { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.rv_participation__chips span { padding: 7px 14px; background: #fff; border: 1px solid #cee4d7; border-radius: 100px; font-size: 1.3rem; font-weight: 600; color: #14201d; letter-spacing: -0.02rem; }
.rv_participation__chips strong { color: #0e8a4f; font-weight: 800; margin-right: 4px; }
.rv_participation__counts { display: grid; gap: 16px; grid-template-rows: 1fr 1fr; }
.rv_participation__count { position: relative; padding: 28px 28px; background: #fff; border: 1px solid #cee4d7; border-radius: 20px; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.rv_participation__count_eyebrow { font-size: 1.2rem; font-weight: 700; letter-spacing: 0.1em; color: #0e8a4f; text-transform: uppercase; }
.rv_participation__count strong { display: block; font-size: 4.2rem; font-weight: 800; line-height: 1.05; color: #0e8a4f; letter-spacing: -0.05rem; }
.rv_participation__count strong.rv_participation__count_text { font-size: 2.6rem; letter-spacing: -0.04rem; color: #14201d; }
.rv_participation__count strong small { font-size: 1.8rem; font-weight: 700; margin-left: 4px; }
.rv_participation__count .rv_participation__count_desc { font-size: 1.5rem; font-weight: 500; color: #4f5e54; line-height: 1.6; letter-spacing: -0.02rem; text-wrap: pretty; }

.rv_info { display: flex; align-items: center; flex-wrap: wrap; gap: 0 32px; row-gap: 12px; padding: 22px 28px; background: #f6faf9; border: 1px solid #e6efed; border-radius: 16px; margin-top: 8px; }
.rv_info__label { display: inline-flex; align-items: center; gap: 8px; font-size: 1.5rem; font-weight: 700; color: #14201d; letter-spacing: -0.025rem; padding-right: 24px; position: relative; }
.rv_info__label::before { content: ""; width: 6px; height: 6px; background: #09847F; border-radius: 50%; }
.rv_info__label::after { content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 14px; background: #d6dfdc; }
.rv_info dl { display: inline-flex; align-items: center; gap: 10px; }
.rv_info dt { font-size: 1.45rem; font-weight: 600; color: #4a5450; letter-spacing: -0.025rem; }
.rv_info dd { font-size: 1.45rem; color: #14201d; font-weight: 500; letter-spacing: -0.025rem; }
.rv_info dd a { color: #09847F; font-weight: 600; }
.rv_info dd a:hover { text-decoration: underline; }

.rv_panel [data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1); }
.rv_panel [data-reveal].is_in { opacity: 1; transform: translateY(0); }

@media (max-width: 1280px) {
  .rv_hero { gap: 24px; margin-bottom: 64px; }
  .rv_hero__body { padding: 48px 40px 40px; }
  .rv_hero__title { font-size: 3.6rem; }
  .rv_hero__media { min-height: 400px; }
}
@media (max-width: 1024px) {
  .rv_hero { grid-template-columns: 1fr; }
  .rv_hero__body { padding: 40px 32px; border-radius: 24px; }
  .rv_hero__media { min-height: 320px; border-radius: 24px; }
  .rv_hero__title { font-size: 3.2rem; }
  .rv_hero__desc { font-size: 1.6rem; }
  .rv_peak { grid-template-columns: 1fr; }
  .rv_peak__media { min-height: 280px; }
  .rv_principles { grid-template-columns: repeat(2, 1fr); }
  .rv_participation { grid-template-columns: 1fr; }
  .rv_participation__body { padding: 36px 32px; }
}
@media (max-width: 900px) {
  .rv_tabs { grid-template-columns: 1fr; gap: 6px; padding: 6px; }
  .rv_tabs__btn { padding: 16px 14px; font-size: 1.6rem; gap: 10px; justify-content: flex-start; text-align: left; }
  .rv_tabs__btn .rv_tabs__num { width: 22px; height: 22px; font-size: 1.1rem; }
  .rv_tabs__indicator { width: calc(100% - 16px); height: calc((100% - 24px) / 3); }
  .rv_tabs[data-active="manifesto"] .rv_tabs__indicator { transform: translateY(calc(100% + 6px)); }
  .rv_tabs[data-active="revival"] .rv_tabs__indicator { transform: translateY(calc(200% + 12px)); }
  .rv_timeline__list { grid-template-columns: repeat(2, 1fr); }
  .rv_outcomes { grid-template-columns: 1fr; gap: 14px; }
  .rv_outcome__media { height: 180px; }
}
@media (max-width: 768px) {
  .rv_hero { gap: 16px; margin-bottom: 48px; }
  .rv_hero__body { padding: 32px 24px; border-radius: 20px; }
  .rv_hero__media { min-height: 260px; border-radius: 20px; }
  .rv_hero__title { font-size: 2.6rem; margin-bottom: 18px; }
  .rv_hero__desc { font-size: 1.5rem; line-height: 1.7; }
  .rv_hero__statbox { padding: 14px 18px; margin-top: 24px; gap: 10px; }
  .rv_hero__statnum { font-size: 2.8rem; }
  .rv_blockhead__title { font-size: 2.5rem; }
  .rv_blockhead { margin-bottom: 24px; gap: 10px; }
  .rv_blockhead__sub { display: none; }
  .rv_stats { grid-template-columns: 1fr; padding: 24px; gap: 8px; }
  .rv_stat { padding: 14px 4px; }
  .rv_stat:not(:last-child)::after { right: auto; left: 4px; top: auto; bottom: 0; width: calc(100% - 8px); height: 1px; }
  .rv_stat__num { font-size: 4rem; margin-bottom: 6px; }
  .rv_timeline { margin-bottom: 56px; }
  .rv_timeline__year { font-size: 1.9rem; }
  .rv_timeline__desc { font-size: 1.5rem; }
  .rv_peak__body { padding: 32px 28px; border-radius: 20px; }
  .rv_peak__media { border-radius: 20px; }
  .rv_peak__metric strong { font-size: 5.2rem; }
  .rv_peak__lead { font-size: 1.7rem; }
  .rv_quote { padding: 36px 28px; border-radius: 20px; }
  .rv_quote__body { font-size: 1.8rem; }
  .rv_timeline, .rv_peak, .rv_principles, .rv_quote, .rv_stats, .rv_outcomes, .rv_participation { margin-bottom: 44px; }
  .rv_outcome__title { font-size: 1.9rem; }
}
@media (max-width: 600px) {
  .rv_timeline__list { grid-template-columns: 1fr; gap: 0; }
  .rv_timeline__item { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 18px; padding-bottom: 22px; }
  .rv_timeline__item:last-child { padding-bottom: 0; }
  .rv_timeline__head { flex-direction: column; justify-content: flex-start; height: 100%; margin-bottom: 0; padding-top: 24px; }
  .rv_timeline__head::before { top: 27px; bottom: -22px; left: 50%; right: auto; width: 2px; height: auto; transform: translateX(-50%); }
  .rv_timeline__item:first-child .rv_timeline__head::before { top: 27px; left: 50%; }
  .rv_timeline__item:last-child  .rv_timeline__head::before { display: none; }
  .rv_timeline__card { height: auto; text-align: left; padding: 20px 22px 22px; }
  .rv_timeline__icon { margin: 0 0 14px; width: 56px; height: 56px; border-radius: 15px; padding: 9px; }
  .rv_principles { grid-template-columns: 1fr; gap: 12px; }
  .rv_participation__body { padding: 28px 24px; border-radius: 20px; }
  .rv_participation__title { font-size: 2rem; }
  .rv_participation__count strong { font-size: 3.4rem; }
  .rv_participation__count strong.rv_participation__count_text { font-size: 2.2rem; }
  .rv_info { padding: 18px 20px; gap: 8px 0; }
  .rv_info__label { padding-right: 0; width: 100%; }
  .rv_info__label::after { display: none; }
}
@media (max-width: 375px) {
  .rv_blockhead__title { font-size: 2.4rem; }
  .rv_outcome__desc { font-size: 1.5rem; }
  .rv_peak__list li { font-size: 1.5rem; }
  .rv_stat__label { font-size: 1.5rem; }
  .rv_timeline__desc { font-size: 1.5rem; }
}
/* 태화강 살리기 사업 끝 */


/* 태화강 소개 시작 */
:root {
  --tw-teal:        #0B8378;
  --tw-teal-deep:   #0A6A60;
  --tw-teal-bright: #0BA39D;
  --tw-green:       #2F6B1E;
  --tw-green-deep:  #234E16;
  --tw-gold:        #B89220;
  --tw-gold-soft:   #D7B259;
  --tw-ink:         #1A2420;
  --tw-river:       #1F7FB5;
  --tw-footer:      #131614;

  --tw-surface-tint: #F4F8F5;
  --tw-border:       rgba(26,36,32,0.10);
  --tw-border-soft:  rgba(26,36,32,0.06);

  --shell-max: 1660px;
  --shell-pad: 60px;
  --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --shadow-1: 0 1px 2px rgba(46, 49, 55, 0.04), 0 1px 3px rgba(46, 49, 55, 0.04);
  --shadow-2: 0 2px 8px rgba(46, 49, 55, 0.05), 0 4px 16px rgba(46, 49, 55, 0.04);
  --shadow-3: 0 4px 16px rgba(46, 49, 55, 0.06), 0 8px 32px rgba(46, 49, 55, 0.06);
  --shadow-4: 0 12px 32px rgba(46, 49, 55, 0.08), 0 24px 64px rgba(46, 49, 55, 0.10);
}


/* =====================================================================
   슬라이더 공통
   ===================================================================== */
.t_river .tw-slider { position: relative; }
.t_river .tw-stage { position: relative; overflow: hidden; }
.t_river .tw-track { display: flex; transition: transform .6s var(--ease-out); }
.t_river .tw-slide { flex: 0 0 100%; position: relative; }
.t_river .tw-slide image-slot, .t_river .tw-slide .ph { display: block; width: 100%; }
.t_river .tw-cap {
  position: absolute; left: 1.8rem; bottom: 1.8rem; z-index: 3;
  display: inline-flex; align-items: center; gap: 0.8rem;
  padding: 0.9rem 1.6rem; border-radius: 999px;
  background: rgba(11,131,120,0.6); backdrop-filter: blur(8px);
  color: #fff; font-size: 1.5rem; font-weight: 600; letter-spacing: -0.01em;
  border: 1px solid rgba(255,255,255,0.25);
}
.t_river .tw-cap .dot { width: 0.7rem; height: 0.7rem; border-radius: 999px; background: var(--tw-gold-soft); }

.t_river .tw-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
  width: 5.2rem; height: 5.2rem; border-radius: 999px; border: 1px solid var(--tw-border);
  background: rgba(255,255,255,0.92); backdrop-filter: blur(6px);
  display: grid; place-items: center; color: var(--tw-teal-deep);
  box-shadow: var(--shadow-3); transition: all .2s var(--ease-out);
}
.t_river .tw-arrow svg { width: 2.2rem; height: 2.2rem; }
.t_river .tw-arrow:hover { background: var(--tw-teal); color: #fff; border-color: var(--tw-teal); }
.t_river .tw-arrow.prev { left: 2rem; }
.t_river .tw-arrow.next { right: 2rem; }

.t_river .tw-dots { display: flex; justify-content: center; gap: 0.9rem; margin-top: 2.2rem; }
.t_river .tw-dots button { width: 0.9rem; height: 0.9rem; border-radius: 999px; border: 0; background: var(--tw-border); padding: 0; transition: all .25s var(--ease-out); }
.t_river .tw-dots button.active { width: 3rem; background: var(--tw-teal); }

.t_river .ph { background: linear-gradient(135deg, #cfe0d4, #a9c6b2); display: grid; place-items: center; color: rgba(26,60,40,0.5); font-size: 1.5rem; font-weight: 600; }


/* =====================================================================
   히어로
   ===================================================================== */
.t_river .hero { position: relative; border-radius: 28px; overflow: hidden; min-height: 560px; display: flex; align-items: flex-end; }
.t_river .hero .hero-bg { position: absolute; inset: 0; z-index: 0; }
.t_river .hero .hero-bg image-slot, .t_river .hero .hero-bg .ph { position: absolute; inset: 0; width: 100%; height: 100%; }
.t_river .hero::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(7,26,18,0) 0%, rgba(7,26,18,0.12) 38%, rgba(6,28,20,0.62) 78%, rgba(5,24,17,0.86) 100%); }
.t_river .hero .glass { position: relative; z-index: 2; margin: 4.8rem; width: 100%; max-width: 66rem; color: #fff; }
.t_river .hero .h-eyebrow {
  display: inline-flex; align-items: center; gap: 0.9rem;
  font-size: 1.4rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: #fff; padding: 0.7rem 1.5rem; border-radius: 999px;
  background: rgba(255,255,255,0.12); backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.22);
}
.t_river .hero .h-eyebrow::before { content: ''; width: 0.6rem; height: 0.6rem; border-radius: 999px; background: var(--tw-gold-soft); }
.t_river .hero .h-title {
  margin: 2.2rem 0 0; font-size: 4.6rem; font-weight: 700; line-height: 1.18; letter-spacing: -0.035em;
  text-shadow: 0 2px 28px rgba(0,0,0,0.38); text-wrap: balance;
}
.t_river .hero .h-title em { font-style: normal; color: var(--tw-gold-soft); }
.t_river .hero .glass p {
  max-width: 54rem; font-size: 1.8rem; line-height: 1.7; font-weight: 500; letter-spacing: -0.015em;
  margin: 2rem 0 0; color: rgba(255,255,255,0.92); text-wrap: pretty; text-shadow: 0 1px 12px rgba(0,0,0,0.35);
}
.t_river .hero .h-coords { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.6rem; }
.t_river .hero .coord {
  display: inline-flex; align-items: center; gap: 0.9rem;
  padding: 0.9rem 1.6rem; border-radius: 12px;
  background: rgba(255,255,255,0.10); backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.18);
  font-size: 1.6rem; font-weight: 600; color: #fff; letter-spacing: -0.01em;
}
.t_river .hero .coord svg { width: 1.6rem; height: 1.6rem; color: var(--tw-gold-soft); }
.t_river .hero .coord .ck { color: rgba(255,255,255,0.6); font-weight: 600; margin-right: 0.1rem; }


/* =====================================================================
   스탯 그리드
   ===================================================================== */
.t_river .stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 2rem; }
.t_river .stat-grid .chip {
  padding: 2.6rem 2.4rem 2.4rem 2.4rem; border-radius: 18px; border: 1px solid var(--tw-border); background: #fff;
  transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out);
}
.t_river .stat-grid .chip:hover { transform: translateY(-3px); box-shadow: var(--shadow-3); }
.t_river .stat-grid .num { font-size: 3.8rem; font-weight: 700; font-family: 'Paperlogy'; letter-spacing: -0.03em; line-height: 1; color: var(--tw-ink); display: flex; align-items: baseline; gap: 0.5rem; }
.t_river .stat-grid .num .u { font-size: 1.7rem; font-weight: 600; color: var(--tw-ink); opacity: 0.55; }
.t_river .stat-grid .lab { margin-top: 1.2rem; font-size: 1.5rem; font-weight: 700; color: var(--tw-ink); }
.t_river .stat-grid .sub { margin-top: 0.4rem; font-size: 1.6rem; color: var(--tw-ink); opacity: 0.45; line-height: 1.4; }
.t_river .stat-grid .chip.accent { background: linear-gradient(140deg, #0c7a6f, #0a5d54); border-color: transparent; }
.t_river .stat-grid .chip.accent .num, .t_river .stat-grid .chip.accent .num .u { color: #fff; opacity: 1; }
.t_river .stat-grid .chip.accent .lab { color: #fff; }
.t_river .stat-grid .chip.accent .sub { color: rgba(255,255,255,0.7); opacity: 1; }


/* =====================================================================
   소제목
   ===================================================================== */
.t_river .subtitle { margin-top: 8rem; text-align: center; }
.t_river .subtitle .s-kicker { display: inline-flex; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.14em; color: var(--tw-teal); text-transform: uppercase; }
.t_river .subtitle h3 { font-size: 3.6rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1.4; margin: 2.4rem 0 0; text-wrap: balance; color: var(--tw-ink); }
.t_river .subtitle h3 .hl { color: var(--tw-teal); }


/* =====================================================================
   갤러리
   ===================================================================== */
.t_river .gallery { margin-top: 3.6rem; }
.t_river .gallery .tw-stage { border-radius: 26px; background: #0c1612; padding: 0; }
.t_river .gallery .tw-slide { aspect-ratio: 16/8; position: relative; }
.t_river .gallery .tw-slide .ph { position: absolute; inset: 0; }
.t_river .gallery .tw-slide .ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.t_river .tw-progress { position: absolute; left: 0; bottom: 0; height: 4px; background: var(--tw-gold-soft); z-index: 6; transition: width .15s linear; }


	/* 미디어쿼리 시작 */
	@media (max-width: 1280px) {
		.t_river .hero .h-title { font-size: 4.2rem; }
		.t_river .stat-grid .num { font-size: 3.4rem; }
		.t_river .subtitle h3 { font-size: 3.2rem; }
	}
	@media (max-width: 1024px) {
		.t_river .hero { min-height: 480px; }
		.t_river .hero .glass { margin: 3.2rem; }
		.t_river .hero .h-title { font-size: 3.8rem; }
		.t_river .hero .glass p { font-size: 1.7rem; }
		.t_river .stat-grid { grid-template-columns: repeat(2, 1fr); }
		.t_river .stat-grid .num { font-size: 3.2rem; }
		.t_river .subtitle { margin-top: 7rem; }
		.t_river .subtitle h3 { font-size: 3rem; margin-top: 2rem; }
		.t_river .gallery { margin-top: 3rem; }
	}
	@media (max-width: 768px) {
		.t_river .tw-arrow { width: 4.4rem; height: 4.4rem; }
		.t_river .tw-arrow.prev { left: 1rem; }
		.t_river .tw-arrow.next { right: 1rem; }
		.t_river .hero { min-height: 480px; align-items: stretch; }
		.t_river .hero::after { background: linear-gradient(180deg, rgba(7,26,18,0) 0%, rgba(7,26,18,0.18) 30%, rgba(6,28,20,0.66) 64%, rgba(5,24,17,0.9) 100%); }
		.t_river .hero .glass { margin: 0; align-self: flex-end; padding: 0 2.2rem 3rem; max-width: 100%; }
		.t_river .hero .h-eyebrow { font-size: 1.2rem; padding: 0.6rem 1.3rem; }
		.t_river .hero .h-title { font-size: 3rem; line-height: 1.2; margin-top: 1.6rem; }
		.t_river .hero .glass p { font-size: 1.6rem; line-height: 1.7; margin-top: 1.4rem; }
		.t_river .hero .h-coords { gap: 0.8rem; margin-top: 1.8rem; }
		.t_river .hero .coord { font-size: 1.5rem; padding: 1rem 1.4rem; flex: 1 1 100%; justify-content: flex-start; }
		.t_river .stat-grid { grid-template-columns: 1fr 1fr; }
		.t_river .stat-grid .num { font-size: 3rem; }
		.t_river .stat-grid .lab { font-size: 1.45rem; }
		.t_river .stat-grid .sub { font-size: 1.5rem; }
		.t_river .subtitle { margin-top: 5.6rem; }
		.t_river .subtitle h3 { font-size: 2.6rem; margin-top: 1.8rem; }
		.t_river .gallery { margin-top: 2rem; }
		.t_river .gallery .tw-slide { aspect-ratio: 16/10; }
    .t_river .tw-cap{font-size:1.4rem;}
	}
	@media (max-width: 500px) {
		.t_river .hero .h-title { font-size: 2.6rem; }
		.t_river .hero .glass p { font-size: 1.5rem; }
		.t_river .hero .coord { font-size: 1.4rem; }
		.t_river .stat-grid .num { font-size: 2.8rem; }
		.t_river .subtitle h3 { font-size: 2.4rem; margin-top: 1.6rem; }
		.t_river .gallery .tw-slide { aspect-ratio: 4/3; }
	}
	@media (max-width: 425px) {
		.t_river .hero .glass { padding: 0 1.8rem 2.4rem; }
		.t_river .hero .h-title { font-size: 2.4rem; }
		.t_river .stat-grid { grid-template-columns: 1fr; }
		.t_river .stat-grid .num { font-size: 3.4rem; }
		.t_river .subtitle { margin-top: 4.8rem; }
		.t_river .subtitle h3 { font-size: 2.2rem; margin-top: 1.4rem; }
	}
	/* 미디어쿼리 끝 */
/* 태화강 소개 끝 */


/* faq 시작 */
.faq_area{
	--faq-green:#09847F;
	--faq-green-d:#066b66;
	--faq-grad:linear-gradient(135deg, #0ba39d 0%, #09847F 100%);
	--faq-ink:#1c2b25;
	--faq-text:#53625b;
	--faq-line:rgba(9, 79, 75, 0.13);
	--faq-soft:#f0f7f3;
	--faq-soft-2:#e6f1ec;
	width:100%;
	margin:0 auto;
	letter-spacing:-0.02rem;
}

/* ---------- 탭 ---------- */
.faq_area .faq_tabs_inner {
  display: flex;
  width: 100%;
  gap: 8px;
}
.faq_area .faq_tabs{
	display:flex;
	gap:8px;
	padding:7px;
	background:var(--faq-soft);
	border:1px solid var(--faq-line);
	border-radius:9999px;
	margin-bottom:36px;
}
.faq_area .faq_tab{
	flex:1;
	min-height:54px;
	padding:0 12px;
	border-radius:9999px;
	font-size:1.8rem;
	font-weight:600;
	color:#5d6c64;
	letter-spacing:-0.04rem;
	background:transparent;
	transition:color .25s ease, background .25s ease, box-shadow .25s ease;
}
.faq_area .faq_tab:hover{ color:var(--faq-green-d); background:rgba(11, 163, 157, 0.10); }
.faq_area .faq_tab.active{
	color:#fff;
	background:var(--faq-grad);
	box-shadow:0 8px 20px rgba(9, 132, 127, 0.28);
}

/* ---------- 패널 ---------- */
.faq_area .faq_panel{ display:none; }
.faq_area .faq_panel.active{ display:block; animation:faqFade .4s ease both; }
@keyframes faqFade{ from{ transform:translateY(10px); } to{ transform:none; } }

.faq_area .faq_list{ display:flex; flex-direction:column; gap:14px; }

/* ---------- 아코디언 아이템 ---------- */
.faq_area .faq_item{
	background:#fff;
	border:1px solid var(--faq-line);
	border-radius:18px;
	overflow:hidden;
	transition:border-color .25s ease, box-shadow .25s ease;
}
.faq_area .faq_item:hover{ border-color:rgba(9, 132, 127, 0.30); }
.faq_area .faq_item.open{
	border-color:rgba(9, 132, 127, 0.45);
	box-shadow:0 14px 36px rgba(9, 79, 75, 0.10);
}

/* ---------- 질문(버튼) ---------- */
.faq_area .faq_q{
	display:flex;
	align-items:center;
	gap:20px;
	width:100%;
	padding:24px 28px;
	text-align:left;
	background:transparent;
	transition:background .25s ease;
}
.faq_area .faq_q:hover{ background:#f7faf8; }
.faq_area .faq_item.open .faq_q{ background:var(--faq-soft); }

.faq_area .q_badge{
	flex:none;
	display:inline-flex; align-items:center; justify-content:center;
	width:46px; height:46px;
	border-radius:13px;
	background:var(--faq-grad);
	color:#fff;
	font-family:'Paperlogy', 'Pretendard', sans-serif;
	font-size:2.1rem; font-weight:700; line-height:1;
	box-shadow:0 6px 14px rgba(9, 132, 127, 0.30);
  padding-bottom: 0.1em;
}
.faq_area .q_text{
	flex:1;
	font-size:1.9rem; font-weight:600; line-height:1.45;
	color:var(--faq-ink); letter-spacing:-0.03rem;
	white-space:normal; word-break:keep-all; text-wrap:pretty;
}
.faq_area .faq_item.open .q_text{ color:var(--faq-green-d); }

/* 토글 ( + → − ) */
.faq_area .q_toggle{
	flex:none; position:relative;
	width:34px; height:34px; border-radius:50%;
	border:1.5px solid var(--faq-line);
	transition:background .3s ease, border-color .3s ease, transform .3s ease;
}
.faq_area .q_toggle::before,
.faq_area .q_toggle::after{
	content:''; position:absolute; top:50%; left:50%;
	width:14px; height:2px; border-radius:2px;
	background:var(--faq-green);
	transform:translate(-50%, -50%);
	transition:transform .3s ease, background .3s ease;
}
.faq_area .q_toggle::after{ transform:translate(-50%, -50%) rotate(90deg); }
.faq_area .faq_item.open .q_toggle{
	background:var(--faq-grad); border-color:transparent;
	transform:rotate(180deg);
}
.faq_area .faq_item.open .q_toggle::before,
.faq_area .faq_item.open .q_toggle::after{ background:#fff; }
.faq_area .faq_item.open .q_toggle::after{ transform:translate(-50%, -50%) rotate(0deg); }

/* ---------- 답변(아코디언 펼침) ---------- */
.faq_area .faq_a{
	overflow:hidden;
	max-height:0;
	transition:max-height .45s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq_area .a_inner{
	display:flex; gap:20px;
	padding:18px 28px 28px 28px;
}
.faq_area .a_badge{
	flex:none;
	display:inline-flex; align-items:center; justify-content:center;
	width:46px; height:46px;
	border-radius:13px;
	background:var(--faq-soft-2);
	color:var(--faq-green-d);
	font-family:'Paperlogy', 'Pretendard', sans-serif;
	font-size:2.1rem; font-weight:700; line-height:1;
  padding-bottom: 0.08em;
}
.faq_area .a_text{ flex:1; padding-top:9px; }
.faq_area .a_text p{
	font-size:1.7rem; line-height:1.85; color:var(--faq-text);
	font-weight:500; letter-spacing:-0.01rem;
	word-break:keep-all; text-wrap:pretty;
}
.faq_area .a_text a{
	color:var(--faq-green); font-weight:600;
	text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;
	word-break:break-all;
}
.faq_area .a_text a:hover{ color:var(--faq-green-d); }

/* ---------- 반응형 ---------- */
@media (max-width:1024px){
	.faq_area .faq_tab{ font-size:1.7rem; min-height:50px; }
	.faq_area .q_text{ font-size:1.8rem; }
}
@media (max-width:768px){
  .faq_area .faq_tabs{
    display: flex;
    justify-content: flex-start;
    gap: 6px; 
    border-radius:0;
    /* 1. 알약 통 자체의 배경과 테두리는 투명하게 지워버립니다. */
    background: transparent;
    border: none;
    
    /* 2. 하단 패딩을 줘서 스크롤바가 생길 밑바닥 공간을 확보합니다. */
    padding: 0 0 16px 0; 
    margin-bottom: 20px;
    
    /* 3. 가로 스크롤 활성화 (손가락으로 밀면 100% 동작합니다) */
    width: 100%;
    box-sizing: border-box;
    overflow-x: auto; 
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; 
    
    /* 순정 스크롤바 다시 켜기 */
    -ms-overflow-style: auto;
    scrollbar-width: auto;
  }
  
  /* 4. 🔥 [진짜 핵심] 알약 디자인을 개별 버튼의 가상요소(::before)로 구현합니다.
        이렇게 하면 버튼들이 가로로 밀려도 연회색 알약 통은 늘어나지 않고 완벽하게 유지됩니다! */
  .faq_area .faq_tab{ 
    flex: 0 0 auto; 
    white-space: nowrap;
    min-height: 46px; 
    font-size: 1.6rem; 
    padding: 0 18px; 
    border-radius: 14px; 
    
    /* 원래 알약 느낌을 내기 위한 연회색 배경과 테두리 선언 */
    background: var(--faq-soft);
    border: 1px solid var(--faq-line);
  }
  
  /* 5. 브라우저 순정 스크롤바 디자인 (알약 밑 투명 공간에 이쁘게 안착) */
  .faq_area .faq_tabs::-webkit-scrollbar { 
    display: block !important;
    height: 4px; 
  }
  .faq_area .faq_tabs::-webkit-scrollbar-thumb { 
    background: var(--faq-green) !important; 
    border-radius: 4px; 
  }
  .faq_area .faq_tabs::-webkit-scrollbar-track { 
    background: #e6f1ec !important; 
    border-radius: 4px;
  }

  /* 이하 질문/답변 아코디언 스타일 (원본 100% 동일) */
  .faq_area .faq_q{ gap:14px; padding:20px; }
  .faq_area .q_badge,
  .faq_area .a_badge{ width:40px; height:40px; font-size:1.8rem; border-radius:11px; }
  .faq_area .q_text{ font-size:1.65rem; }
  .faq_area .q_toggle{ width:30px; height:30px; }
  .faq_area .q_toggle::before,
  .faq_area .q_toggle::after{ width:12px; }
  .faq_area .faq_item{ border-radius:16px; }
  .faq_area .faq_list{ gap:10px; }
  .faq_area .a_inner{ gap:14px; padding:15px 20px 22px 20px; }
  .faq_area .a_text{ padding-top:6px; }
  .faq_area .a_text p{ font-size:1.6rem; line-height:1.8; }
}
@media (max-width:425px){
	.faq_area .faq_tab{ font-size:1.5rem; padding:0 14px; }
	.faq_area .faq_q{ gap:12px; padding:18px 16px; }
	.faq_area .q_badge,
	.faq_area .a_badge{ width:36px; height:36px; font-size:1.6rem; border-radius:10px; }
	.faq_area .q_text{ font-size:1.55rem; }
	.faq_area .a_inner{ gap:12px; padding:12px 16px 20px 16px; }
  .faq_area .a_text p{font-size:1.55rem;}
}
/* faq 끝 */


/* 예약및신청안내 시작 */
.resv_area{
  --r-green:#09847F;
  --r-green-d:#066b66;
  --r-grad:linear-gradient(135deg, #0ba39d 0%, #09847F 100%);
  --r-ink:#1c2b25;
  --r-text:#4f5e57;
  --r-muted:#8a978f;
  --r-line:rgba(9, 79, 75, 0.13);
  --r-soft:#eef5f0;
  --r-warn:#b9701a;
  --r-warn-bg:#fcf3e6;
  width:100%;
  margin:0 auto;
  letter-spacing:-0.02rem;
}
.resv_area .resv_nav{
  display:flex;
  gap:10px;
  margin-bottom:50px;
}
.resv_area .resv_nav_link{
  flex:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:62px;
  padding:0 18px;
  border:1px solid var(--r-line);
  border-radius:14px;
  background:#fff;
  color:#566159;
  font-size:1.7rem;
  font-weight:600;
  letter-spacing:-0.04rem;
  text-align:center;
  transition:color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.resv_area .resv_nav_link i{
  flex:none;
  width:17px; height:17px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23066b66' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.45;
  transition:transform .25s ease, opacity .25s ease;
}
.resv_area .resv_nav_link:hover{
  color:var(--r-green-d);
  border-color:rgba(9, 132, 127, 0.40);
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(9, 79, 75, 0.10);
}
.resv_area .resv_nav_link:hover i{ transform:translateX(3px); opacity:1; }
.resv_area .resv_nav_link.active{
  background:var(--r-grad);
  color:#fff;
  border-color:transparent;
  box-shadow:0 8px 20px rgba(9, 132, 127, 0.28);
  cursor:default;
}
.resv_area .resv_nav_link.active:hover{ transform:none; }
.resv_area .resv_head{
  display:flex;
  flex-direction:column;
  gap:15px;
  padding-bottom:24px;
  border-bottom:1px solid var(--r-line);
  margin-bottom:30px;
}
.resv_area .resv_eyebrow{
  width:30px; height:4px;
  border-radius:4px;
  background:var(--r-grad);
}
.resv_area .resv_title{
  font-size:3rem;
  font-weight:700;
  color:var(--r-green-d);
  letter-spacing:-0.07rem;
  line-height:1.2;
}
.resv_area .resv_list{
  display:flex;
  flex-direction:column;
}
.resv_area .resv_card{
  display:flex;
  align-items:center;
  gap:26px;
  padding:26px 6px;
  border-bottom:1px dotted var(--r-line);
  transition:background .2s ease;
}
.resv_area .resv_card:first-child{ border-bottom:none; }
.resv_area .resv_card:last-child{ border-bottom:none; }
.resv_area .resv_card_body{ flex:1; min-width:0; }
.resv_area .resv_subj{
  position:relative;
  display:block;
  padding-left:17px;
  font-size:2rem;
  font-weight:700;
  color:var(--r-ink);
  letter-spacing:-0.04rem;
}
.resv_area .resv_subj::before{
  content:'';
  position:absolute; left:0; top:0.16em;
  width:5px; height:0.82em;
  border-radius:3px;
  background:var(--r-grad);
}
.resv_area .resv_desc{
  margin-top:10px;
  padding-left:17px;
  font-size:1.7rem;
  line-height:1.7;
  color: #222;
  font-weight:400;
  word-break:keep-all;
  text-wrap:pretty;
}
.resv_area .resv_note{
  margin-top:9px;
  padding-left:17px;
  font-size:1.5rem;
  font-weight:500;
  color:var(--r-warn);
  letter-spacing:-0.02rem;
  word-break:keep-all;
}
.resv_area .resv_note::before{
  content:'※ ';
  font-weight:600;
}
.resv_area .resv_contact {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 190px;
  padding: 14px 20px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-bottom: 3px solid #94a3b8; 
  color: #1e293b;
  cursor: pointer;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
  transition: all .15s ease-in-out;
  min-width: 220px;
}
.resv_area .resv_contact:hover { 
  background: #f8fafc;
  border-bottom-width: 1px;
  transform: translateY(2px);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.resv_area .resv_contact .ic {
  flex: none;
  width: 18px; height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.resv_area .resv_contact .txt { display: flex; flex-direction: column; line-height: 1.3; text-align: left; }
.resv_area .resv_contact .txt em { font-size: 1.45rem; font-weight: 500; font-style: normal; color: #64748b; font-family: 'Paperlogy';}
.resv_area .resv_contact .txt b { font-size: 1.75rem; font-weight: 700; color: #0f172a; font-family: 'Paperlogy';}
.resv_area .resv_contact.alt {
  border-color: rgba(9, 132, 127, 0.3);
  border-bottom: 3px solid var(--r-green); 
}
.resv_area .resv_contact.alt:hover {
  background: var(--r-soft);
}
.resv_area .resv_contact.alt .ic {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2309847F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat;
}
.resv_area .resv_contact.alt .txt b { color: var(--r-green-d); }

  /* 미디어쿼리 시작 */
  @media (max-width:1024px){
    .resv_area .resv_nav_link{ font-size:1.6rem; min-height:58px; }
    .resv_area .resv_title{ font-size:2.7rem; }
    .resv_area .resv_subj{ font-size:1.9rem; }
  }
  @media (max-width:768px){
    .resv_area .resv_nav{ flex-wrap:wrap; gap:8px; margin-bottom:38px; }
    .resv_area .resv_nav_link{ flex:1 1 calc(50% - 4px); min-height:54px; font-size:1.55rem; border-radius:12px; }
    .resv_area .resv_head{ margin-bottom:24px; padding-bottom:20px; }
    .resv_area .resv_title{ font-size:2.5rem; }
    .resv_area .resv_card{ flex-direction:column; align-items:stretch; gap:18px; padding:24px 4px; }
    .resv_area .resv_subj{ font-size:1.85rem; }
    .resv_area .resv_desc{ font-size:1.6rem; }
    .resv_area .resv_contact{ width:100%; min-width:0; justify-content:center; padding:15px 20px; }
    /* 모바일에서 버튼이 눌릴 때 어색하지 않게 정렬 유지 */
    .resv_area .resv_contact:hover { transform: none; border-bottom-width: 3px; } 
  }
  @media (max-width:425px){
    .resv_area .resv_nav_link{ flex:1 1 100%; }
    .resv_area .resv_title{ font-size:2.3rem; }
    .resv_area .resv_card{ padding:22px 2px; }
    .resv_area .resv_subj{ font-size:1.8rem; }
    .resv_area .resv_desc{ font-size:1.55rem; }
  }
  /* 미디어쿼리 끝 */
/* 예약및신청안내 끝 */


/* 정원해설사 시작 */
.docent_renewal{
  /* --- scoped tokens --- */
  --dr-primary: #09847F;
  --dr-primary-2: #0ba39d;
  --dr-primary-dark: #066961;
  --dr-primary-soft: #e6f3f1;
  --dr-primary-pale: #f1f9f7;
  --dr-gold:  #bf9f17;
  --dr-ink:   #1a1f1c;
  --dr-ink-2: #2e3a35;
  --dr-text:  #4b5854;
  --dr-mute:  #84908c;
  --dr-line:  #e4eae7;
  --dr-radius:    16px;
  --dr-radius-lg: 24px;
  --dr-radius-xl: 32px;
  --dr-shadow-2: 0 6px 24px rgba(20,40,35,.08), 0 2px 6px rgba(20,40,35,.04);

  color:var(--dr-text); line-height:1.55;
}
.docent_renewal strong{font-weight:700; color:var(--dr-ink-2);}

/* 섹션 공통 */
.docent_renewal .sec_block{margin-bottom:11rem;}
.docent_renewal .sec_block:last-child{margin-bottom:0;}
.docent_renewal .sec_head{display:flex; flex-direction:column; gap:12px; margin-bottom:4rem; max-width:80rem;}
.docent_renewal .sec_kicker{font-size:1.4rem; font-weight:700; color:var(--dr-primary); letter-spacing:.18em; text-transform:uppercase;}
.docent_renewal .sec_lead{font-size:1.8rem; color:var(--dr-text); line-height:1.6; text-wrap:pretty;}

/* ========================================================
   INTRO HERO
======================================================== */
.docent_renewal .intro_hero{margin-bottom:11rem;}
.docent_renewal .hero_grid{display:grid; grid-template-columns:1.05fr .8fr; gap:6rem;}

.docent_renewal .hero_text .eyebrow{
  display:inline-flex; align-items:center; gap:1rem;
  padding:6px 18px;
  background:var(--dr-primary-soft); color:var(--dr-primary-dark);
  border-radius:99px; font-size:1.3rem; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase;
}
.docent_renewal .hero_text .eyebrow .dot{width:7px; height:7px; border-radius:50%; background:var(--dr-primary-2); box-shadow:0 0 0 4px rgba(11,163,157,.18); margin-bottom:1px;}
.docent_renewal .hero_title{
  margin:2.4rem 0 2.2rem;
  font-size:4.8rem; line-height:1.3; font-weight:700;
  color:var(--dr-ink); letter-spacing:-.035em; text-wrap:pretty;
}
.docent_renewal .hero_title .accent{color:var(--dr-primary); position:relative; white-space:nowrap;}
.docent_renewal .hero_title .accent::after{content:''; position:absolute; left:0; bottom:2px; width:100%; height:10px; background:rgba(11,163,157,.18); border-radius:6px; z-index:-1;}
.docent_renewal .hero_desc{font-size:1.9rem; line-height:1.75; color:var(--dr-text); max-width:56ch; margin-bottom:3.6rem;}
.docent_renewal .hero_desc strong{color:var(--dr-primary-dark);}

.docent_renewal .hero_stats{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  padding:2.6rem 0; margin-bottom:3.6rem;
  border-top:1px solid var(--dr-line); border-bottom:1px solid var(--dr-line);
}
.docent_renewal .hero_stats li{display:flex; flex-direction:column; gap:7px; padding:0 2.4rem; border-right:1px solid var(--dr-line);}
.docent_renewal .hero_stats li:first-child{padding-left:0;}
.docent_renewal .hero_stats li:last-child{border-right:0;}
.docent_renewal .hero_stats .num{font-size:3rem; font-weight:700; color:var(--dr-ink); letter-spacing:-.04em; line-height:1; display:flex; align-items:baseline; gap:4px; font-family: 'Paperlogy';}
.docent_renewal .hero_stats .num i{font-size:1.7rem; font-weight:500; color:var(--dr-mute); font-style:normal;}
.docent_renewal .hero_stats .label{font-size:1.5rem; color:var(--dr-mute);}

.docent_renewal .hero_cta{display:flex; gap:12px; flex-wrap:wrap;}
.docent_renewal .btn_primary{
  display:inline-flex; align-items:center; gap:10px;
  padding:1.7rem 2.6rem; background:var(--dr-primary); color:#fff;
  border-radius:12px; font-weight:600; font-size:1.7rem; letter-spacing:-.02em;
  box-shadow:0 6px 18px rgba(9,132,127,.28); transition:all .25s; white-space:nowrap;
}
.docent_renewal .btn_primary:hover{background:var(--dr-primary-dark); transform:translateY(-2px); box-shadow:0 10px 26px rgba(9,132,127,.36);}
.docent_renewal .btn_primary.block{display:flex; justify-content:center; width:100%;}
.docent_renewal .btn_ghost{
  display:inline-flex; align-items:center; gap:8px;
  padding:1.7rem 2.6rem; border-radius:12px; background:#fff; color:var(--dr-ink-2);
  border:1px solid var(--dr-line); font-weight:600; font-size:1.7rem; transition:all .2s; white-space:nowrap;
}
.docent_renewal .btn_ghost:hover{border-color:var(--dr-primary); color:var(--dr-primary);}

/* hero visual (이미지 슬롯 + 떠다니는 요소) */
.docent_renewal .hero_visual{position:relative; width:100%; max-width:none; margin:0; align-self:stretch;}
.docent_renewal .visual_card{position:relative; width:100%; aspect-ratio:4/5; border-radius:var(--dr-radius-xl); overflow:hidden; box-shadow:var(--dr-shadow-2); background:linear-gradient(160deg,#ecf8ef 0%,#d3edd6 100%);}
.docent_renewal .visual_card img{width:100%; height:100%; object-fit:cover;}
.docent_renewal .visual_photo{position:absolute; inset:0; width:100% !important; height:100% !important; display:block;}
.docent_renewal .visual_overlay{position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(10,40,30,.45) 0%, transparent 26%),
            linear-gradient(0deg, rgba(8,38,30,.78) 0%, rgba(8,38,30,.12) 42%, transparent 60%);}
.docent_renewal .visual_inner{position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:space-between; padding:3rem; pointer-events:none;}
.docent_renewal .badge_top{display:inline-flex; align-items:center; gap:8px; align-self:flex-start; padding:7px 14px; background:rgba(255,255,255,.9); backdrop-filter:blur(6px); border-radius:99px; font-size:1.3rem; line-height:1; font-weight:600; color:var(--dr-primary-dark); box-shadow:0 4px 14px rgba(0,0,0,.12);}
.docent_renewal .badge_top .leaf_dot{width:7px; height:7px; border-radius:50%; background:var(--dr-primary-2); box-shadow:0 0 0 4px rgba(11,163,157,.2);}
.docent_renewal .visual_caption{font-size:2.1rem; font-weight:600; color:#fff; line-height:1.45; letter-spacing:-.02em; text-shadow:0 2px 16px rgba(0,0,0,.35);}
.docent_renewal .visual_chip{position:absolute; z-index:3; display:inline-flex; align-items:center; gap:6px; padding:7px 14px; background:#fff; color:var(--dr-ink-2); font-size:1.35rem; font-weight:600; border-radius:99px; box-shadow:0 8px 20px rgba(20,40,35,.18); white-space:nowrap;}
.docent_renewal .visual_chip svg{color:var(--dr-primary);}
.docent_renewal .visual_chip.chip_1{top:10rem; right:2.4rem; animation:dr_floaty 4s ease-in-out infinite;}
.docent_renewal .visual_chip.chip_2{top:40%; left:4.8rem; animation:dr_floaty 5s ease-in-out infinite .8s;}
.docent_renewal .visual_chip.chip_3{bottom:24%; right:11rem; animation:dr_floaty 4.5s ease-in-out infinite 1.4s;}
@keyframes dr_floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

/* ========================================================
   INFO GRID
======================================================== */
.docent_renewal .info_grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.6rem;}
.docent_renewal .info_card{position:relative; background:#fff; border:1px solid var(--dr-line); border-radius:var(--dr-radius-lg); padding:2.8rem 2.8rem 3.2rem; transition:all .25s; overflow:hidden;}
.docent_renewal .info_card:hover{box-shadow:var(--dr-shadow-2); transform:translateY(-3px);}
.docent_renewal .card_icon{width:50px; height:50px; border-radius:14px; background:var(--dr-primary-soft); color:var(--dr-primary-dark); display:inline-flex; align-items:center; justify-content:center; margin-bottom:2.4rem;}
.docent_renewal .card_label{font-size:1.6rem; font-family:'Paperlogy'; font-weight:600; color:var(--dr-mute); letter-spacing:.04em; text-transform:uppercase; margin-bottom:8px;}
.docent_renewal .card_value{font-size:2.3rem; font-weight:700; color:var(--dr-ink); letter-spacing:-.025em; line-height:1.3; margin-bottom:8px;}
.docent_renewal .card_sub{font-size:1.6rem; color:var(--dr-text); line-height:1.55;}

/* notice panel */
.docent_renewal .notice_panel{margin-top:3.2rem; background:var(--dr-primary-pale); border:1px solid #cfe7e3; border-radius:var(--dr-radius-lg); padding:3.2rem 3.6rem; position:relative; overflow:hidden;}
.docent_renewal .notice_panel::before{content:'';position:absolute;right: -12rem;top: -12rem;width: 30rem;height: 30rem;border-radius:50%;background: radial-gradient(circle,rgba(11,163,157,.15),transparent 65%);}
.docent_renewal .notice_head{display:flex; align-items:center; gap:12px; margin-bottom:1.5rem;}
.docent_renewal .notice_pill{display:inline-flex; align-items:center; justify-content:center; width:29px; height:29px; border-radius:50%; background:var(--dr-primary); color:#fff; font-weight:700; font-size:1.7rem;}
.docent_renewal .notice_panel h5{font-size:2rem; font-family: 'Paperlogy'; font-weight:700; color:var(--dr-ink); letter-spacing:-.025em;}
.docent_renewal .notice_list{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 3.2rem; position:relative;}
.docent_renewal .notice_list li{display:flex; gap:14px; align-items:flex-start; padding:6px 0;}
.docent_renewal .notice_list li:last-child{padding-bottom:0;}
.docent_renewal .notice_list li span{flex:0 0 auto; font-size:1.3rem; font-family: 'Paperlogy'; font-weight:700; color:var(--dr-primary); letter-spacing:.08em; padding-top:3px;}
.docent_renewal .notice_list li p{font-size:1.7rem; color:var(--dr-ink-2); line-height:1.5; letter-spacing:-.01em;}
.docent_renewal .notice_list li em{color:var(--dr-primary-dark); font-weight:700; font-style:normal;}

/* ========================================================
   STEP FLOW
======================================================== */
.docent_renewal .step_flow{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.6rem; position:relative;}
.docent_renewal .step_flow::before{content:''; position:absolute; top:50%; transform:translate(0, -50%); left:9%; right:9%; height:2px; background:repeating-linear-gradient(90deg,#cfe1dc 0 6px,transparent 6px 14px); z-index:0;}
.docent_renewal .step_item{position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; background:#fff; border:1px solid var(--dr-line); border-radius:var(--dr-radius-lg); padding:3.6rem 2.8rem 3.2rem; transition:all .25s;}
.docent_renewal .step_item:hover{border-color:transparent; box-shadow:var(--dr-shadow-2); transform:translateY(-3px);}
.docent_renewal .step_num{position:absolute; top:2.4rem; right:2.8rem; font-family: 'Paperlogy'; font-size:1.4rem; font-weight:700; color:var(--dr-primary); letter-spacing:.06em; background:var(--dr-primary-soft); padding:4px 10px; border-radius:99px;}
.docent_renewal .step_icon{flex:0 0 auto; width:5.6rem; height:5.6rem; border-radius:18px; background:linear-gradient(135deg,var(--dr-primary-2),var(--dr-primary)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:2.4rem; box-shadow:0 8px 18px rgba(9,132,127,.32);}
.docent_renewal .step_title{font-size:2rem; font-weight:700; color:var(--dr-ink); letter-spacing:-.025em; line-height:1.25; margin-bottom:1rem;}
.docent_renewal .step_desc{font-size:1.6rem; color:var(--dr-text); line-height:1.6;}

/* ========================================================
   MAP
======================================================== */
.docent_renewal .map_wrap{display:grid; grid-template-columns:1.4fr 1fr; gap:2.4rem; align-items:stretch;}
.docent_renewal .map_canvas{position:relative; min-height:48rem; border-radius:var(--dr-radius-lg); overflow:hidden; border:1px solid var(--dr-line); background:#eaf4ec;}
.docent_renewal .map_grid{position:absolute; inset:0; background:linear-gradient(180deg,#e7f3df 0%,#d8ecd2 100%);}
.docent_renewal .map_grid::after{content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(0deg,transparent 0 60px,rgba(0,0,0,.04) 60px 61px),
            repeating-linear-gradient(90deg,transparent 0 60px,rgba(0,0,0,.04) 60px 61px),
            radial-gradient(circle at 30% 60%,rgba(180,210,150,.6),transparent 25%),
            radial-gradient(circle at 70% 30%,rgba(180,210,150,.5),transparent 28%);}
.docent_renewal .map_river{position:absolute; left:-5%; right:-5%; top:55%; height:90px; background:linear-gradient(90deg,#a8d5e8 0%,#88c2dd 50%,#a8d5e8 100%); border-top:1px solid rgba(0,0,0,.06); border-bottom:1px solid rgba(0,0,0,.06); transform:rotate(-4deg); filter:blur(.5px);}
.docent_renewal .map_river::before,.docent_renewal .map_river::after{content:''; position:absolute; left:0; right:0; height:14px; background:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 6px,transparent 6px 18px);}
.docent_renewal .map_river::before{top:18px;} .docent_renewal .map_river::after{bottom:18px;}
.docent_renewal .map_pin{position:absolute; top:34%; left:48%; transform:translate(-50%,-100%); display:flex; flex-direction:column; align-items:center; gap:6px; z-index:2;}
.docent_renewal .pin_label{background:#fff; border:1px solid var(--dr-line); border-radius:10px; padding:8px 14px; font-size:1.5rem; font-weight:700; color:var(--dr-ink-2); box-shadow:var(--dr-shadow-2); white-space:nowrap;}
.docent_renewal .pin_dot{width:34px; height:34px; display:flex; align-items:center; justify-content:center; filter:drop-shadow(0 4px 8px rgba(9,132,127,.5)); animation:dr_pinBob 2.2s ease-in-out infinite;}
@keyframes dr_pinBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.docent_renewal .map_attr{position:absolute; right:12px; bottom:10px; font-size:1.2rem; color:rgba(0,0,0,.45); background:rgba(255,255,255,.6); padding:4px 10px; border-radius:6px;}

.docent_renewal .map_info{background:#fff; border:1px solid var(--dr-line); border-radius:var(--dr-radius-lg); padding:3.6rem 3.2rem; display:flex; flex-direction:column; gap:2rem;}
.docent_renewal .mi_title{font-size:2.6rem; font-weight:700; color:var(--dr-ink); line-height:1.2; letter-spacing:-.03em; padding-bottom:1.8rem; border-bottom:1px solid var(--dr-line);}
.docent_renewal .mi_dl{display:flex; flex-direction:column; gap:0.5rem;}
.docent_renewal .mi_dl > div{display:flex; gap:1.8rem; align-items:flex-start;}
.docent_renewal .mi_dl dt{flex:0 0 6.4rem; font-size:1.6rem; font-weight:600; color:var(--dr-mute); padding-top:2px;}
.docent_renewal .mi_dl dd{font-size:1.7rem; color:var(--dr-ink-2); line-height:1.55; letter-spacing:-.015em;}
.docent_renewal .mi_dl a{color:var(--dr-primary-dark); font-weight:600;}
.docent_renewal .mi_traffic{background:var(--dr-primary-pale); border-radius:var(--dr-radius); padding:2rem 2.2rem; margin-top:6px;}
.docent_renewal .mi_traffic h6{font-size:1.7rem; font-weight:700; color:var(--dr-primary-dark); margin-bottom:12px; font-family: 'Paperlogy';}
.docent_renewal .mi_traffic ul{display:flex; flex-direction:column; gap:8px;}
.docent_renewal .mi_traffic li{display:flex; align-items:flex-start; gap:10px;}
.docent_renewal .mi_traffic .tg{display:inline-flex; align-items:center; justify-content:center; flex:0 0 4.4rem; text-align:center; font-size:1.4rem; font-family:'Paperlogy'; font-weight:600; padding:0; border-radius:6px; color:#fff;}
.docent_renewal .mi_traffic .tg.bus{background:#3372d6;} .docent_renewal .mi_traffic .tg.subway{background:#e07a16;} .docent_renewal .mi_traffic .tg.car{background:#5a6573;}
.docent_renewal .mi_traffic p{font-size:1.6rem; color:var(--dr-ink-2); line-height:1.4;}
.docent_renewal .map_info .btn_primary{margin-top:auto;}

  /* 미디어쿼리 시작 */
  @media (min-width:1441px){
    .docent_renewal .hero_grid .hero_text{padding-top:2.5rem;}
    .docent_renewal .visual_card{aspect-ratio:4 / 3; min-height:100%;}
  }
  @media (max-width:1440px){
    .docent_renewal .visual_card{aspect-ratio:auto; height:100%;}
    .docent_renewal .hero_title{font-size:4.2rem;}
  }
  @media (min-width:1281px) and (max-width:1440px){
    .docent_renewal .visual_caption{font-size:1.9rem;}
  }
  @media (max-width:1280px){
    .docent_renewal .hero_grid{gap:4rem;}
    .docent_renewal .hero_title{font-size:3.8rem;}
    .docent_renewal .info_grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .docent_renewal .step_flow{grid-template-columns:repeat(2,minmax(0,1fr));}
    .docent_renewal .step_flow::before{display:none;}
    .docent_renewal .notice_list{grid-template-columns:1fr;}
  }
  @media (max-width:1024px){
    .docent_renewal .sec_block,.docent_renewal .intro_hero{margin-bottom:9rem;}
    .docent_renewal .hero_grid{grid-template-columns:1fr; gap:4.8rem;}
    .docent_renewal .hero_visual{margin:0 auto; width:100%;}
    .docent_renewal .sec_head{margin-bottom: 3.2rem;}
    .docent_renewal .visual_card{aspect-ratio: 16 / 9;}
    .docent_renewal .hero_title{font-size:3.6rem;}
    .docent_renewal .map_wrap{grid-template-columns:1fr; gap:2rem;}
    .docent_renewal .map_canvas{min-height:40rem;}
  }
  @media (max-width:768px){
    .docent_renewal .sec_block,.docent_renewal .intro_hero{margin-bottom:7rem;}
    .docent_renewal .sec_head{margin-bottom:2.5rem; gap:8px; padding: 0 5px;}
    .docent_renewal .sec_kicker{font-size:1.3rem;}
    .docent_renewal .sec_lead{font-size:1.6rem;}
    .docent_renewal .hero_text .eyebrow{font-size:1.2rem;}
    .docent_renewal .hero_title{font-size:3rem; line-height:1.25;}
    .docent_renewal .hero_desc{font-size:1.7rem;}
    .docent_renewal .hero_stats{padding:1.8rem 0;}
    .docent_renewal .hero_stats li{padding:0 1.2rem;}
    .docent_renewal .hero_stats .num{font-size:2.6rem;}
    .docent_renewal .hero_cta{flex-direction:column; align-items:stretch;}
    .docent_renewal .visual_caption{font-size:1.9rem;}
    .docent_renewal .visual_card{aspect-ratio: 4 / 3;}
    .docent_renewal .btn_primary,.docent_renewal .btn_ghost{justify-content:center;}
    .docent_renewal .info_grid{grid-template-columns:1fr; gap:1.2rem;}
    .docent_renewal .info_card{padding:2.4rem;}
    .docent_renewal .card_value{font-size:2.1rem;}
    .docent_renewal .notice_panel{padding:2.4rem;}
    .docent_renewal .notice_panel h5{font-size:1.9rem;}
    .docent_renewal .notice_list li p{font-size: 1.6rem;}
    .docent_renewal .notice_pill{width:25px; height:25px;}
    .docent_renewal .step_flow{grid-template-columns:1fr;}
    .docent_renewal .step_item{padding:2.8rem 2.4rem;}
    .docent_renewal .step_num{position:static; display:inline-flex; margin-bottom:1.4rem;}
    .docent_renewal .step_icon{margin-bottom:1.8rem; width:4.8rem; height:4.8rem; border-radius:14px;}
    .docent_renewal .step_title{font-size:1.8rem;}
    .docent_renewal .map_canvas{min-height:32rem;}
    .docent_renewal .map_info{padding:2.4rem;}
    .docent_renewal .mi_title{font-size:2.1rem;}
    .docent_renewal .manager_bar{flex-direction:column; align-items:flex-start; padding:2rem 2.2rem;}
    .docent_renewal .mb_left,.docent_renewal .mb_right{width:100%;}
    .docent_renewal .mb_right{justify-content:space-between;}
  }
  @media (max-width:700px){
    .docent_renewal .visual_chip{display:none; }
  }
  @media (max-width:500px){
    .docent_renewal .hero_title{font-size:2.6rem; margin:1.85rem 0 1.2rem;}
    .docent_renewal .hero_desc{margin-bottom: 3rem;}
    .docent_renewal .hero_stats{grid-template-columns:1fr 1fr; gap:1.4rem 0; padding: 1.8rem 0 1.6rem 0;}
    .docent_renewal .hero_stats li:nth-child(2){border-right:0;}
    .docent_renewal .hero_stats li:last-child{grid-column:1/-1; border-top:1px solid var(--dr-line); padding-top: 1.8rem; padding-left: 0;}
    .docent_renewal .hero_stats .label{font-size:1.4rem;}
    .docent_renewal .visual_card{aspect-ratio: 1 / 1;}
    .docent_renewal .visual_chip{font-size:1.2rem; padding:6px 12px;}
    .docent_renewal .visual_chip.chip_1{right:0;} .docent_renewal .visual_chip.chip_2{left:0;}
    .docent_renewal .notice_panel::before{display:none;}
  }
  @media (max-width:420px){
    .docent_renewal .mi_traffic li{flex-wrap:wrap; gap:5px;}
    .docent_renewal .mi_traffic p{width:100%;}
  }
  /* 미디어쿼리 끝 */
/* 정원해설사 끝 */


/* 자연주의정원 정원개요 시작 */
.cat-tabs-wrap.houg_custom{margin-bottom:28px;}
.garden_intro{
  --gi-ink:#1f2024;
  --gi-body:#454545;
  --gi-sub:#8a8a86;
  --gi-green:#46603f;
  --gi-green-deep:#34492f;
  --gi-green-soft:#eef2e8;
  --gi-earth:#7a6842;
  --gi-line:#e7e8e3;
  --gi-line-soft:#f0f1ec;
  color:var(--gi-body);
  font-size:1.8rem;
  line-height:1.75;
  font-weight:400;
  letter-spacing:-0.01rem;
  word-break:keep-all;
}
.garden_intro *{box-sizing:border-box;}
.garden_intro .gi_sec{margin-bottom:11rem;}
.garden_intro .gi_sec:last-child{margin-bottom:0;}
.garden_intro .gi_head{
  display:flex; align-items:baseline; gap:18px;
  padding-bottom:22px; margin-bottom:42px;
  border-bottom:2px solid var(--gi-ink);
}
.garden_intro .gi_num{
  flex:0 0 auto;
  font-size:1.8rem; font-weight:700; line-height:1;
  color:var(--gi-green); letter-spacing:0.04em;
}
.garden_intro .gi_title{
  font-size:3.2rem; font-weight:700; line-height:1.2;
  color:var(--gi-ink); letter-spacing:-0.05rem;
}
.garden_intro .gi_head .gi_eyebrow{
  margin-left:auto; flex:0 0 auto;
  font-size:1.5rem; font-weight:500; color:var(--gi-sub); letter-spacing:0.02em;
}
.garden_intro .gi_hero{margin-bottom:11rem;}
.garden_intro .gi_hero_banner{
  position:relative; aspect-ratio:24/9;
  border-radius:22px; overflow:hidden;
}
.garden_intro .gi_hero_caption{margin-top:38px;}
.garden_intro .gi_hero_head{margin-bottom:22px;}
.garden_intro .gi_hero_eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:1.45rem; font-weight:700; color:var(--gi-green);
  letter-spacing:0.08em; text-transform:uppercase; margin-bottom:14px;
}
.garden_intro .gi_hero_eyebrow svg{width:20px; height:20px; opacity:0.85;}
.garden_intro .gi_hero_title{
  font-size:3.4rem; font-weight:700; line-height:1.25;
  color:var(--gi-ink); letter-spacing:-0.05rem;
}
.garden_intro .gi_hero_title small{
  display:block; margin-top:8px;
  font-size:1.6rem; font-weight:500; color:var(--gi-sub); letter-spacing:-0.01rem;
}
.garden_intro .gi_hero_lead{
  font-size:1.95rem; line-height:1.85; color:var(--gi-body);
}
.garden_intro .gi_hero_lead .gi_em{
  color:var(--gi-ink); font-weight:600;
  background:linear-gradient(transparent 62%, rgba(70,96,63,0.16) 0);
  padding:0 2px;
}
.garden_intro .gi_body p{margin-bottom:20px; font-size:1.8rem; line-height:1.85;}
.garden_intro .gi_body p:last-child{margin-bottom:0;}
.garden_intro .gi_people{
  margin-top:34px; padding-top:30px; border-top:1px solid var(--gi-line);
}
.garden_intro .gi_people_label{
  font-size:1.7rem; font-weight:700; color:var(--gi-green);
  letter-spacing:0.02em; margin-bottom:16px;
}
.garden_intro .gi_people_list{display:flex; flex-wrap:wrap; gap:10px;}
.garden_intro .gi_person{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 16px; border:1px solid var(--gi-line); border-radius:999px;
  background:#fff; font-size:1.5rem; font-weight:500; color:#4d4d48;
}
.garden_intro .gi_person b{font-weight:700; color:var(--gi-ink);}
.garden_intro .gi_person span{color:var(--gi-sub); font-size:1.35rem;}
.garden_intro .gi_cards{
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
}
.garden_intro .gi_card{
  border:1px solid var(--gi-line); border-radius:18px;
  padding:38px 36px; background:#fff;
}
.garden_intro .gi_card .gi_cnum{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:12px;
  background:var(--gi-green-soft); color:var(--gi-green-deep);
  font-size:1.8rem; font-weight:700; margin-bottom:20px; font-family:'Paperlogy';
}
.garden_intro .gi_card .gi_ctit{
  font-size:2.2rem; font-weight:700; line-height:1.35;
  color:var(--gi-ink); letter-spacing:-0.04rem; margin-bottom:14px;
}
.garden_intro .gi_card .gi_cbody p{margin-bottom:14px; font-size:1.7rem; line-height:1.7; color:#56564f;}
.garden_intro .gi_card .gi_cbody p:last-child{margin-bottom:0;}
.garden_intro .gi_cards.gi_cards_wide{grid-template-columns:1fr;}
.garden_intro .gi_cards.gi_cards_wide .gi_card{padding:38px 40px;}
.garden_intro .gi_plants_label{
  margin-top:28px; margin-bottom:16px;
  font-size:1.7rem; font-weight:700; color:var(--gi-green-deep);
}
.garden_intro .gi_plants{
  display:grid; grid-template-columns:repeat(5,1fr); gap:14px;
}
.garden_intro .gi_plant{
  display:flex; flex-direction:column; gap:5px;
  padding:18px 18px 20px;
  border:1px solid var(--gi-line); border-radius:14px;
  background:var(--gi-green-soft);
  transition:transform .3s ease, box-shadow .3s ease;
}
.garden_intro .gi_plant:hover{transform:translateY(-4px); box-shadow:0 12px 26px rgba(46,49,55,0.10);}
.garden_intro .gi_plant .gi_pl_leaf{width:22px; height:22px; color:var(--gi-green); opacity:0.7; margin-bottom:4px;}
.garden_intro .gi_plant .gi_pl_kr{font-size:1.7rem; font-weight:700; color:var(--gi-ink); letter-spacing:-0.03rem; line-height:1.3;}
.garden_intro .gi_plant .gi_pl_la{font-size:1.35rem; font-weight:500; font-style:italic; color:#6f7768; line-height:1.35;}
.garden_intro .gi_table_intro{margin-bottom:26px; font-size:1.8rem; line-height:1.7;}
.garden_intro .table_wrap{overflow-x:auto;}
.garden_intro .table_type1{min-width:760px;}
.garden_intro .table_type1 .gi_stage{
  background:var(--gi-green-soft) !important;
  color:var(--gi-green-deep) !important;
  font-size:2rem; font-weight:700; vertical-align:middle;
}
.garden_intro .table_type1 tbody th.gi_step{font-weight:600; color:#2c2c2c; vertical-align:middle;}
.garden_intro .table_type1 tbody td.gi_note{text-align:left !important; color:#4f4f49;}
.garden_intro .gi_note_ul{margin:0; padding:0;}
.garden_intro .gi_note_ul > li{position:relative; padding-left:16px; margin-bottom:9px; line-height:1.55;}
.garden_intro .gi_note_ul > li:last-child{margin-bottom:0;}
.garden_intro .gi_note_ul > li::before{
  content:""; position:absolute; left:0; top:11px;
  width:5px; height:5px; border-radius:50%; background:var(--gi-green);
}
.garden_intro .m_scroll_info{display:none;}
.garden_intro .gi_refs{
  border:1px solid var(--gi-line); border-radius:16px;
  background:var(--gi-line-soft); padding:28px 34px;
}
.garden_intro .gi_refs li{
  position:relative; padding-left:30px; margin-bottom:12px;
  font-size:1.6rem; line-height:1.6; color:#56564f;
}
.garden_intro .gi_refs li:last-child{margin-bottom:0;}
.garden_intro .gi_refs li .gi_ref_n{
  position:absolute; left:0; top:0;
  font-weight:700; color:var(--gi-green);
}
.garden_intro .gi_ph{
  width:100%; height:100%;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(70,96,63,0.10), transparent 55%),
    linear-gradient(135deg,#eef1ea 0%,#e2e7db 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  color:var(--gi-green-deep);
}
.garden_intro .gi_ph img{object-fit:cover; width:100%; height:100%;}
.garden_intro .gi_ph .gi_ph_txt{font-size:1.4rem; font-weight:600; letter-spacing:0.02em; color:rgba(52,73,47,0.65);}

  /* 미디어쿼리 시작 */
  @media (max-width:1280px){
    .garden_intro{font-size:1.7rem;}
    .garden_intro .gi_sec, .garden_intro .gi_hero{margin-bottom:9rem;}
    .garden_intro .gi_title{font-size:2.8rem;}
    .garden_intro .gi_hero_title{font-size:3.2rem;}
    .garden_intro .gi_hero_caption{margin-top:34px;}
    .garden_intro .gi_plants{grid-template-columns:repeat(4,1fr);}
  }
  @media (max-width:1024px){
    .garden_intro .gi_sec, .garden_intro .gi_hero{margin-bottom:8rem;}
    .garden_intro .gi_head{margin-bottom:36px;}
    .garden_intro .gi_title{font-size:2.6rem;}
    .garden_intro .gi_hero_title{font-size:3.1rem;}
    .garden_intro .gi_hero_lead{font-size:1.85rem;}
    .garden_intro .gi_plants{grid-template-columns:repeat(3,1fr);}
    .garden_intro .gi_table_intro{font-size:1.7rem;}
  }
  @media (max-width:768px){
    .garden_intro{font-size:1.6rem; line-height:1.7;}
    .garden_intro .gi_sec, .garden_intro .gi_hero{margin-bottom:7rem;}
    .garden_intro .gi_head{gap:14px; padding-bottom:18px; margin-bottom:30px;}
    .garden_intro .gi_title{font-size:2.4rem;}
    .garden_intro .gi_head .gi_eyebrow{display:none;}
    .garden_intro .gi_hero_banner{aspect-ratio:16/9;}
    .garden_intro .gi_hero_caption{margin-top:28px;}
    .garden_intro .gi_hero_head{margin-bottom:18px;}
    .garden_intro .gi_hero_title{font-size:2.8rem;}
    .garden_intro .gi_hero_title small{font-size:1.55rem;}
    .garden_intro .gi_hero_lead{font-size:1.7rem; max-width:none;}
    .garden_intro .gi_body p{font-size:1.7rem;}
    .garden_intro .gi_cards{grid-template-columns:1fr; gap:16px;}
    .garden_intro .gi_card{padding:30px 26px;}
    .garden_intro .gi_card .gi_ctit{font-size:2rem;}
    .garden_intro .gi_plants{grid-template-columns:repeat(2,1fr); gap:12px;}
    .garden_intro .m_scroll_info{
      display:flex; position:sticky; top:0; left:0; width:100%;
      align-items:center; z-index:10; padding:9px 13px; box-sizing:border-box;
      border:1px dotted #cfd3c8; border-radius:8px; margin-bottom:13px;
      background:#fff;
    }
    .garden_intro .m_scroll_info span{
      display:inline-block; position:relative; padding-left:28px;
      color:var(--gi-green-deep); font-weight:600; font-size:1.5rem;
      line-height:1.3; letter-spacing:-0.04rem;
    }
    .garden_intro .m_scroll_info span::before{
      content:""; position:absolute; left:2px; top:50%; transform:translateY(-50%);
      width:18px; height:18px;
      background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334492f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18M3 12l4-4M3 12l4 4M21 12l-4-4M21 12l-4 4'/%3E%3C/svg%3E") center/contain no-repeat;
    }
    .garden_intro .table_type1 .gi_stage{font-size:1.8rem;}
  }
  @media (max-width:500px){
    .garden_intro{font-size:1.55rem;}
    .garden_intro .gi_title{font-size:2.2rem;}
    .garden_intro .gi_hero_title{font-size:2.6rem;}
    .garden_intro .gi_hero_banner{aspect-ratio:4/3;}
    .garden_intro .gi_card{padding:26px 22px;}
    .garden_intro .gi_cards.gi_cards_wide .gi_card{padding:26px 22px;}
    .garden_intro .gi_person.long_ver{white-space:nowrap; flex-wrap:wrap; border-radius:20px; gap:0px 8px;}
    .garden_intro .gi_people_label{font-size:1.6rem;}
  }
  @media (max-width:375px){
    .garden_intro .gi_hero_title{font-size:2.4rem;}
    .garden_intro .gi_plants{grid-template-columns:1fr;}
  }
  /* 미디어쿼리 끝 */
/* 자연주의정원 정원개요 끝 */


/* 자연주의정원 작가소개 시작 */
.artist_intro{
  --ai-ink:#1f2024;
  --ai-body:#454545;
  --ai-sub:#8a8a86;
  --ai-green:#46603f;        /* 자연주의 딥 올리브 그린 */
  --ai-green-deep:#34492f;
  --ai-green-soft:#eef2e8;   /* 세이지 틴트 */
  --ai-earth:#7a6842;        /* 기존 사이트 어스 톤 */
  --ai-line:#e7e8e3;
  --ai-line-soft:#f0f1ec;
  color:var(--ai-body);
  font-size:1.8rem;
  line-height:1.75;
  font-weight:400;
  letter-spacing:-0.01rem;
  word-break:keep-all;
}
.artist_intro *{box-sizing:border-box;}

/* ---------- 섹션 공통 ---------- */
.artist_intro .ai_sec{margin-bottom:11rem;}
.artist_intro .ai_sec:last-child{margin-bottom:0;}

.artist_intro .ai_head{
  display:flex; align-items:baseline; gap:18px;
  padding-bottom:22px; margin-bottom:46px;
  border-bottom:2px solid var(--ai-ink);
}
.artist_intro .ai_num{
  flex:0 0 auto;
  font-size:1.8rem; font-weight:700; line-height:1;
  color:var(--ai-green);
  letter-spacing:0.04em;
}
.artist_intro .ai_title{
  font-size:3.2rem; font-weight:700; line-height:1.2;
  color:var(--ai-ink); letter-spacing:-0.05rem;
}
.artist_intro .ai_head .ai_eyebrow{
  margin-left:auto; flex:0 0 auto;
  font-size:1.5rem; font-weight:500; color:var(--ai-sub);
  letter-spacing:0.02em;
}

/* ---------- SECTION 1 : 작가 소개 ---------- */
.artist_intro .ai_profile{
  display:grid;
  grid-template-columns:minmax(0,4.2fr) minmax(0,5.8fr);
  gap:56px;
  align-items:start;
}
.artist_intro .ai_portrait{
  position:relative;
  aspect-ratio:1/1;
  border-radius:18px;
  overflow:hidden;
}
.artist_intro .ai_portrait .ai_pcap{
  position:absolute; left:20px; bottom:18px;
  font-size:1.4rem; font-weight:500; color:rgba(255,255,255,0.92);
  letter-spacing:0.02em; z-index:2;
  text-shadow:0 1px 6px rgba(0,0,0,0.35);
}
.artist_intro .ai_profile_body{padding-top:4px;}
.artist_intro .ai_name_en{
  font-size:4.4rem; font-weight:700; line-height:1.05;
  color:var(--ai-ink); letter-spacing:-0.06rem;
}
.artist_intro .ai_name_kr{
  margin-top:10px;
  font-size:2.2rem; font-weight:600; color:var(--ai-green);
  letter-spacing:-0.03rem;
}
.artist_intro .ai_meta_row{
  display:flex; flex-wrap:wrap; gap:10px;
  margin-top:20px;
}
.artist_intro .ai_tag{
  display:inline-flex; align-items:center;
  height:34px; padding:0 16px;
  border:1px solid var(--ai-line);
  border-radius:999px;
  font-size:1.5rem; font-weight:500; color:#5a5a55;
  background:#fff;
}
.artist_intro .ai_lead{
  margin-top:30px; padding-top:30px;
  border-top:1px solid var(--ai-line);
  font-size:1.9rem; line-height:1.85; color:var(--ai-body);
}
.artist_intro .ai_lead .ai_em{
  color:var(--ai-ink); font-weight:600;
  background:linear-gradient(transparent 62%, rgba(70,96,63,0.16) 0);
  padding:0 2px;
}

/* ---------- SECTION 2 : 디자인 철학 ---------- */
.artist_intro .ai_quotes{
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
  margin-bottom:44px;
}
.artist_intro .ai_quote{
  position:relative;
  background:var(--ai-green-soft);
  border-radius:18px;
  padding:40px 38px 34px;
}
.artist_intro .ai_quote::before{
  content:"\201C";
  display:block;
  font-size:7rem; line-height:0.7; font-weight:700;
  color:var(--ai-green);
  opacity:0.45;
  margin-bottom:6px;
}
.artist_intro .ai_quote p{
  font-size:2rem; line-height:1.65; font-weight:600;
  color:var(--ai-green-deep); letter-spacing:-0.02rem;
}
.artist_intro .ai_quote.ai_quote_en p{
  font-size:1.8rem; font-weight:500; line-height:1.7;
  font-style:italic; color:#41513a; letter-spacing:0;
}
.artist_intro .ai_quote cite{
  display:block; margin-top:18px;
  font-style:normal; font-size:1.5rem; font-weight:600;
  color:var(--ai-green); letter-spacing:0.01em;
}
.artist_intro .ai_quote cite::before{content:"— ";}
.artist_intro .ai_philo_body p{margin-bottom:18px;}
.artist_intro .ai_philo_body p:last-child{margin-bottom:0;}

/* ---------- SECTION 3 : 연혁 (세로 타임라인) ---------- */
.artist_intro .ai_timeline{
  position:relative;
  margin-left:6px;
  padding-left:42px;
}
.artist_intro .ai_timeline::before{
  content:""; position:absolute; top:10px; bottom:6px; left:6px;
  width:2px; height: calc(100% - 30px); background:var(--ai-line);
}
.artist_intro .ai_tl_item{
  position:relative;
  padding-bottom:34px;
}
.artist_intro .ai_tl_item:last-child{padding-bottom:0;}
.artist_intro .ai_tl_item::before{
  content:""; position:absolute; left:-42px; top:8px;
  width:9px; height:9px; margin-left:0;
  background:#fff; border:3px solid var(--ai-green);
  border-radius:50%; z-index:1;
}
.artist_intro .ai_tl_row{
  display:grid; grid-template-columns:92px 1fr; gap:24px;
  align-items:baseline;
}
.artist_intro .ai_tl_year{
  font-size:2rem; font-weight:700; color:var(--ai-ink);
  letter-spacing:-0.02rem; line-height:1.5;
}
.artist_intro .ai_tl_desc{
  font-size:1.75rem; line-height:1.6; color:var(--ai-body);
  padding-top:1px;
}
/* 태화강(2022) 강조 */
.artist_intro .ai_tl_item.is-feature::before{
  background:var(--ai-green); border-color:var(--ai-green);
  box-shadow:0 0 0 5px rgba(70,96,63,0.15);
  width:12px; height:12px; left:-44px; top:22px;
}
.artist_intro .ai_tl_item.is-feature .ai_tl_year{color:var(--ai-green);}
.artist_intro .ai_tl_item.is-feature .ai_tl_desc{
  display: flex;
  flex-wrap: wrap;
  gap: 0 8px;
  background:var(--ai-green-soft);
  border-radius:12px;
  padding:16px 22px;
  font-weight:500; color:var(--ai-green-deep);
}
.artist_intro .ai_tl_item.is-feature .ai_tl_row{align-items:center;}
.artist_intro .ai_tl_badge{
  display: inline-flex; align-items: center;
  vertical-align:middle;
  padding:5px 10px; border-radius:999px;
  background:var(--ai-green); color:#fff;
  font-size:1.4rem; font-weight:600; letter-spacing:0.01em; font-family: 'Paperlogy'; line-height: 1;
}

/* ---------- SECTION 4 : 수상 내역 ---------- */
.artist_intro .ai_awards{
  display:grid; grid-template-columns:1fr 1fr;
  gap:0 56px;
  border-top:1px solid var(--ai-line);
}
.artist_intro .ai_award{
  display:flex; align-items:baseline; gap:20px;
  padding:22px 4px;
  border-bottom:1px solid var(--ai-line);
}
.artist_intro .ai_award .ai_aw_year{
  flex:0 0 auto; width:56px;
  font-size:1.8rem; font-weight:700; color:var(--ai-green);
  letter-spacing:-0.01rem;
}
.artist_intro .ai_award .ai_aw_name{
  font-size:1.75rem; line-height:1.5; color:var(--ai-body); font-weight:500;
}

/* ---------- SECTION 5 : 대표 작품 ---------- */
.artist_intro .ai_works{
  display:grid; grid-template-columns:repeat(3,1fr); gap:32px 28px;
}
.artist_intro .ai_work{
  display:flex; flex-direction:column;
  border:1px solid var(--ai-line);
  border-radius:18px; overflow:hidden;
  background:#fff;
  transition:transform .35s cubic-bezier(.25,.8,.25,1), box-shadow .35s ease, border-color .35s ease;
}
.artist_intro .ai_work:hover{
  transform:translateY(-6px);
  border-color:transparent;
  box-shadow:0 18px 40px rgba(46,49,55,0.12);
}
.artist_intro .ai_work .ai_thumb{
  position:relative; aspect-ratio:16/10;
}
.artist_intro .ai_work .ai_wnum{
  position:absolute; top:14px; left:14px; z-index:2;
  width:38px; height:38px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.92);
  color:var(--ai-green-deep);
  font-size:1.5rem; font-weight:700;
  backdrop-filter:blur(4px);
}
.artist_intro .ai_work .ai_wbody{
  display:flex; flex-direction:column; flex:1;
  padding:24px 24px 26px;
}
.artist_intro .ai_work .ai_wtit{
  font-size:2.1rem; font-weight:700; line-height:1.3;
  color:var(--ai-ink); letter-spacing:-0.04rem;
}
.artist_intro .ai_work .ai_wtit_en{
  margin-top:5px;
  font-size:1.5rem; font-weight:500; color:var(--ai-green);
  letter-spacing:0;
}
.artist_intro .ai_work .ai_wmeta{
  display:flex; flex-wrap:wrap; gap:8px 10px;
  margin-top:16px; margin-bottom:14px;
}
.artist_intro .ai_work .ai_wmeta span{
  display:inline-flex; align-items:center;
  padding:4px 12px; border-radius:7px;
  background:var(--ai-line-soft);
  font-size:1.4rem; font-weight:500; color:#5d5d58;
}
.artist_intro .ai_work .ai_wdesc{
  font-size:1.6rem; line-height:1.6; color:#5e5e58;
}
/* 09 태화강 HOUG : featured (가로형, 전체 폭) */
.artist_intro .ai_work.is-feature{
  grid-column:1 / -1;
  flex-direction:row;
  border-color:var(--ai-green);
}
.artist_intro .ai_work.is-feature .ai_thumb{
  flex:0 0 60%; aspect-ratio:auto;
}
.artist_intro .ai_work.is-feature .ai_wbody{
  justify-content:center; padding:40px 44px;
}
.artist_intro .ai_work.is-feature .ai_wflag{
  display:inline-flex; align-self:flex-start; align-items:center;
  margin-bottom:16px; padding:4px 18px; border-radius:999px;
  background:var(--ai-green); color:#fff;
  font-size:1.4rem; font-weight:600; letter-spacing:0.01em;
}
.artist_intro .ai_work.is-feature .ai_wtit{font-size:2.8rem;}
.artist_intro .ai_work.is-feature .ai_wtit_en{font-size:1.7rem;}
.artist_intro .ai_work.is-feature .ai_wdesc{font-size:1.7rem; max-width:52ch;}

/* ---------- 이미지 플레이스홀더 ---------- */
.artist_intro .ai_ph{
  width:100%; height:100%;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(70,96,63,0.10), transparent 55%),
    linear-gradient(135deg,#eef1ea 0%,#e2e7db 100%);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:12px;
  color:var(--ai-green-deep);
  aspect-ratio: 16 / 9;
}
.artist_intro .ai_ph img{width:100%; height:100%; object-fit:cover; object-position: top center;}

/* ---------- 이미지 출처 ---------- */
.artist_intro .ai_ph_caption{
  padding-left:18px;
  border-left:3px solid var(--ai-green);
  font-size:1.5rem; line-height:1.55; color:var(--ai-sub);
}
.artist_intro .ai_ph_caption b{display:block; font-weight:700; color:var(--ai-ink); font-size:1.6rem; letter-spacing:-0.02rem; margin-bottom:3px;}
.artist_intro .ai_ph_caption .ai_ph_cap_c{color:var(--ai-green); font-weight:600;}

  /* 미디어쿼리 시작 */
  @media (max-width:1280px){
    .artist_intro{font-size:1.7rem;}
    .artist_intro .ai_sec{margin-bottom:9rem;}
    .artist_intro .ai_title{font-size:2.8rem;}
    .artist_intro .ai_name_en{font-size:4rem;}
    .artist_intro .ai_profile{gap:44px;}
    .artist_intro .ai_portrait{aspect-ratio:4/5;}
    .artist_intro .ai_works{gap:28px 24px;}
    .artist_intro .ai_work.is-feature .ai_wtit{font-size:2.5rem;}
    
  }
  @media (max-width:1024px){
    .artist_intro .ai_sec{margin-bottom:8rem;}
    .artist_intro .ai_head{margin-bottom:38px;}
    .artist_intro .ai_title{font-size:2.6rem;}
    .artist_intro .ai_profile{grid-template-columns:minmax(0,4.5fr) minmax(0,5.5fr); gap:36px;}
    .artist_intro .ai_name_en{font-size:3.6rem;}
    .artist_intro .ai_lead{font-size:1.8rem;}
    .artist_intro .ai_quote p{font-size:1.9rem;}
    .artist_intro .ai_works{grid-template-columns:repeat(2,1fr);}
    .artist_intro .ai_work.is-feature{flex-direction:column;}
    .artist_intro .ai_work.is-feature .ai_thumb{flex:none; width:100%; aspect-ratio:16/9;}
    .artist_intro .ai_work.is-feature .ai_wbody{padding:32px 30px;}
    .artist_intro .ai_work.is-feature .ai_wtit{font-size:2.4rem;}
  }
  @media (max-width:768px){
    .artist_intro{font-size:1.6rem; line-height:1.7;}
    .artist_intro .ai_sec{margin-bottom:7rem;}
    .artist_intro .ai_head{gap:14px; padding-bottom:18px; margin-bottom:32px;}
    .artist_intro .ai_title{font-size:2.4rem;}
    .artist_intro .ai_head .ai_eyebrow{display:none;}
    /* 작가소개 : 세로 스택 */
    .artist_intro .ai_profile{grid-template-columns:1fr; gap:28px;}
    .artist_intro .ai_portrait{aspect-ratio:16/11; max-height:420px;}
    .artist_intro .ai_name_en{font-size:3.2rem;}
    .artist_intro .ai_name_kr{font-size:2rem;}
    .artist_intro .ai_lead{font-size:1.7rem; margin-top:24px; padding-top:24px;}
    /* 철학 인용 : 세로 스택 */
    .artist_intro .ai_quotes{grid-template-columns:1fr; gap:16px; margin-bottom:34px;}
    .artist_intro .ai_quote{padding:30px 26px 26px;}
    .artist_intro .ai_quote::before{font-size:5.6rem;}
    .artist_intro .ai_quote p{font-size:1.8rem;}
    .artist_intro .ai_philo_body p{font-size:1.7rem;}
    /* 타임라인 */
    .artist_intro .ai_timeline{padding-left:34px;}
    .artist_intro .ai_tl_item::before{left:-34px;}
    .artist_intro .ai_tl_item.is-feature::before{left:-35px;}
    .artist_intro .ai_tl_row{grid-template-columns:78px 1fr; gap:16px;}
    .artist_intro .ai_tl_year{font-size:1.8rem;}
    .artist_intro .ai_tl_desc{font-size:1.65rem;}
    /* 수상 : 1열 */
    .artist_intro .ai_awards{grid-template-columns:1fr; gap:0;}
    .artist_intro .ai_award{padding:18px 2px;}
    /* 작품 : 1열 */
    .artist_intro .ai_works{grid-template-columns:1fr; gap:22px;}
    .artist_intro .ai_work .ai_wbody{padding:22px 22px 24px;}
    .artist_intro .ai_work.is-feature .ai_wbody{padding:26px 24px;}
    .artist_intro .ai_work.is-feature .ai_wtit{font-size:2.2rem;}
    .artist_intro .ai_work.is-feature .ai_wdesc{font-size:1.6rem;}
    .artist_intro .ai_work.is-feature .ai_wflag{padding: 3px 18px; font-size:1.3rem;}
  }
  @media (max-width:590px){
    .artist_intro .ai_timeline::before{height:100%; width: 1.5px;}
  }
  @media (max-width:500px){
    .artist_intro{font-size:1.55rem;}
    .artist_intro .ai_title{font-size:2.2rem;}
    .artist_intro .ai_name_en{font-size:2.8rem;}
    .artist_intro .ai_tl_row{grid-template-columns:64px 1fr; gap:12px;}
    .artist_intro .ai_tl_badge{display:block; margin-left:0; margin-top:8px; width:fit-content;}
    .artist_intro .ai_work .ai_wtit{font-size:2rem;}
  }
  @media (max-width:375px){
    .artist_intro .ai_name_en{font-size:2.6rem;}
    .artist_intro .ai_tl_row{grid-template-columns:1fr; gap:4px;}
    .artist_intro .ai_tl_year{font-size:1.7rem;}
  }
  /* 미디어쿼리 끝 */
/* 자연주의정원 작가소개 끝 */


/* 자연주의정원 추진경과 시작 */
.progress_log{
  --pr-ink:#1f2024;
  --pr-body:#454545;
  --pr-sub:#8a8a86;
  --pr-green:#46603f;
  --pr-green-deep:#34492f;
  --pr-green-soft:#eef2e8;
  --pr-earth:#7a6842;
  --pr-line:#e7e8e3;
  --pr-line-soft:#f0f1ec;
  color:var(--pr-body);
  font-size:1.8rem;
  line-height:1.75;
  font-weight:400;
  letter-spacing:-0.01rem;
  word-break:keep-all;
}
.progress_log *{box-sizing:border-box;}

/* ---------- 섹션 공통 ---------- */
.progress_log .pr_sec{margin-bottom:11rem;}
.progress_log .pr_sec:last-child{margin-bottom:0;}
.progress_log .pr_head{
  display:flex; align-items:baseline; gap:18px;
  padding-bottom:22px; margin-bottom:42px;
  border-bottom:2px solid var(--pr-ink);
}
.progress_log .pr_num{
  flex:0 0 auto; font-size:1.8rem; font-weight:700; line-height:1;
  color:var(--pr-green); letter-spacing:0.04em;
}
.progress_log .pr_title{
  font-size:3.2rem; font-weight:700; line-height:1.2;
  color:var(--pr-ink); letter-spacing:-0.05rem;
}
.progress_log .pr_head .pr_eyebrow{
  margin-left:auto; flex:0 0 auto;
  font-size:1.5rem; font-weight:500; color:var(--pr-sub); letter-spacing:0.02em;
}

/* ---------- SECTION 1 : 핵심 수치 배너 ---------- */
.progress_log .pr_intro_lead{
  margin-bottom:38px;
  font-size:1.95rem; line-height:1.8; color:var(--pr-body);
}
.progress_log .pr_intro_lead .pr_em{
  color:var(--pr-green-deep); font-weight:600;
  background:linear-gradient(transparent 62%, rgba(70,96,63,0.16) 0); padding:0 2px;
}
.progress_log .pr_stats{
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--pr-line); border-radius:22px;
  overflow:hidden; background:#fff;
}
.progress_log .pr_stat{
  padding:40px 38px;
  border-left:1px solid var(--pr-line);
}
.progress_log .pr_stat:first-child{border-left:0;}
.progress_log .pr_stat .pr_stat_label{
  display:inline-flex; align-items:center; gap:8px;
  font-size:1.6rem; font-weight:600; color:var(--pr-green);
  letter-spacing:0.01em; margin-bottom:18px;
}
.progress_log .pr_stat .pr_stat_label svg{width:18px; height:18px; opacity:0.8;}
.progress_log .pr_stat .pr_stat_value{
  font-size:3.8rem; font-weight:700; line-height:1;
  color:var(--pr-ink); letter-spacing:-0.07rem;
}
.progress_log .pr_stat .pr_stat_value small{
  font-size:1.8rem; font-weight:600; color:var(--pr-sub); letter-spacing:-0.02rem; margin-left:3px;
}
.progress_log .pr_stat .pr_stat_desc{
  margin-top:14px; font-size:1.6rem; line-height:1.5; color:#5d5d57;
}

/* ---------- 드론 전경 슬라이더 ---------- */
.progress_log .pr_slider{position:relative; margin-top:28px;}
.progress_log .pr_track{
  display:flex; gap:0;
  overflow-x:auto; scroll-snap-type:x mandatory;
  border-radius:20px; border:1px solid var(--pr-line);
  scrollbar-width:none;
}
.progress_log .pr_track::-webkit-scrollbar{display:none;}
.progress_log .pr_slide{
  flex:0 0 100%; scroll-snap-align:center;
  position:relative; aspect-ratio:21/8;
}
.progress_log .pr_sl_btn{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:52px; height:52px; border:0; border-radius:999px;
  background:rgba(31,32,36,0.74); color:#fff;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background 0.2s ease;
  backdrop-filter:blur(6px);
}
.progress_log .pr_sl_btn:hover{background:var(--pr-green-deep);}
.progress_log .pr_sl_btn svg{width:24px; height:24px;}
.progress_log .pr_sl_prev{left:18px;}
.progress_log .pr_sl_next{right:18px;}
.progress_log .pr_dots{
  display:flex; justify-content:center; gap:9px; margin-top:18px;
}
.progress_log .pr_dot{
  width:9px; height:9px; border-radius:999px; border:0;
  background:var(--pr-line); cursor:pointer; padding:0;
  transition:background 0.2s ease, width 0.2s ease;
}
.progress_log .pr_dot.is-active{background:var(--pr-green); width:26px;}
.progress_log .pr_slider_cap{
  margin-top:16px; padding-left:18px; border-left:3px solid var(--pr-green);
  font-size:1.5rem; line-height:1.5; color:var(--pr-sub);
}

/* ---------- SECTION 2 : 타임라인 ---------- */
.progress_log .pr_year{margin-bottom:24px;}
.progress_log .pr_year:last-child{margin-bottom:0;}
.progress_log .pr_year_label{
  display:inline-flex; align-items:center; gap:14px;
  font-size:2.4rem; font-weight:700; color:var(--pr-green);
  letter-spacing:-0.03rem; line-height:1; margin-bottom:24px;
}
.progress_log .pr_year_label::after{
  content:""; display:block; width:54px; height:3px; background:var(--pr-green-soft);
}
.progress_log .pr_items{
  position:relative; margin-left:7px; padding-left:40px;
}
.progress_log .pr_item{position:relative; padding-bottom:38px;}
.progress_log .pr_year:last-child .pr_item:last-child{padding-bottom:0;}
.progress_log .pr_item::before{
  content:""; position:absolute; left:-42px; top:8px;
  width:9px; height:9px; background:#fff;
  border:3px solid var(--pr-green); border-radius:50%; z-index:2;
}
.progress_log .pr_item::after{
  content:""; position:absolute; left:-36px; top:14px; bottom:-14px;
  width:2px; background:var(--pr-line); z-index:1;
}
.progress_log .pr_item:last-child::after{display:none;}
.progress_log .pr_date{
  display:inline-block; font-size:1.5rem; font-weight:600;
  color:var(--pr-green); letter-spacing:-0.01rem; margin-bottom:7px;
}
.progress_log .pr_item_title{
  font-size:1.9rem; font-weight:600; line-height:1.35;
  color:var(--pr-ink); letter-spacing:-0.03rem;
}
.progress_log .pr_sub{margin-top:10px;}
.progress_log .pr_sub li{
  position:relative; padding-left:16px; margin-bottom:6px;
  font-size:1.6rem; line-height:1.55; color:#5d5d57;
}
.progress_log .pr_sub li:last-child{margin-bottom:0;}
.progress_log .pr_sub li::before{
  content:""; position:absolute; left:0; top:11px;
  width:5px; height:1px; background:var(--pr-sub);
}
/* 준공 강조 */
.progress_log .pr_item.is-done::before{
  background:var(--pr-green); border-color:var(--pr-green);
  width:12px; height:12px; left:-44px; top:6px;
  box-shadow:0 0 0 5px rgba(70,96,63,0.15);
}
.progress_log .pr_item.is-done .pr_done_box{
  display:inline-flex; align-items:center; width:100%; gap:14px;
  background:var(--pr-green-soft); border-radius:14px;
  padding:18px 26px; margin-top:2px;
}
.progress_log .pr_item.is-done .pr_item_title{color:var(--pr-green-deep);}
.progress_log .pr_done_badge{
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--pr-green);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  font-family: 'Paperlogy';
  line-height: 1;
}

/* 타임라인 내 식재 현장 이미지 (2컬럼) */
.progress_log .pr_media{
  display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px;
}
.progress_log .pr_shot{
  position:relative; aspect-ratio:16/9;
  border-radius:14px; overflow:hidden; border:1px solid var(--pr-line);
}
.progress_log .pr_media_cap{
  grid-column:1 / -1; margin-top:2px;
  font-size:1.5rem; line-height:1.5; color:var(--pr-sub);
}

/* ---------- SECTION 3 : 역할 분담 ---------- */
.progress_log .pr_collab_note{
  display:inline-flex; align-items:center; gap:9px;
  font-size:1.6rem; font-weight:600; color:var(--pr-green);
  margin-bottom:22px;
}
.progress_log .pr_collab_note svg{width:20px; height:20px;}
.progress_log .pr_roles{
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
}
.progress_log .pr_role{
  border:1px solid var(--pr-line); border-radius:18px;
  padding:36px 34px; background:#fff;
}
.progress_log .pr_role_head{
  display:flex; align-items:center; gap:12px;
  padding-bottom:20px; margin-bottom:22px;
  border-bottom:1px solid var(--pr-line);
}
.progress_log .pr_role_org{
  font-size:2rem; font-weight:700; color:var(--pr-ink); letter-spacing:-0.04rem;
}
.progress_log .pr_role_tag{
  flex:0 0 auto; padding:5px 13px; border-radius:999px;
  font-size:1.4rem; font-weight:600;
  background:var(--pr-green-soft); color:var(--pr-green-deep);
}
.progress_log .pr_role.pr_role_alt .pr_role_tag{background:#f1ece2; color:var(--pr-earth);}
.progress_log .pr_role ul li{
  position:relative; padding-left:24px; margin-bottom:14px;
  font-size:1.7rem; line-height:1.5; color:var(--pr-body);
}
.progress_log .pr_role ul li:last-child{margin-bottom:0;}
.progress_log .pr_role ul li::before{
  content:""; position:absolute; left:2px; top:8px;
  width:7px; height:7px; border-radius:50%;
  background:var(--pr-green-soft); border:2px solid var(--pr-green);
}
.progress_log .pr_role.pr_role_alt ul li::before{background:#f1ece2; border-color:var(--pr-earth);}

/* ---------- 이미지 플레이스홀더 ---------- */
.progress_log .pr_ph{
  width:100%; height:100%;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(70,96,63,0.10), transparent 55%),
    linear-gradient(135deg,#eef1ea 0%,#e2e7db 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  color:var(--pr-green-deep);
}
.progress_log .pr_ph img{width:100%; height:100%; object-fit:cover;}

  /* 미디어쿼리 시작 */
  @media (max-width:1280px){
    .progress_log{font-size:1.7rem;}
    .progress_log .pr_sec{margin-bottom:9rem;}
    .progress_log .pr_title{font-size:2.8rem;}
    .progress_log .pr_stat{padding:40px 32px;}
    .progress_log .pr_stat .pr_stat_value{font-size:3.6rem;}
    .progress_log .pr_year_label{font-size:2.2rem;}
    .progress_log .pr_shot{aspect-ratio:4/3;}
  }
  @media (max-width:1024px){
    .progress_log .pr_sec{margin-bottom:8rem;}
    .progress_log .pr_head{margin-bottom:36px;}
    .progress_log .pr_intro_lead{font-size:1.85rem;}
    .progress_log .pr_title{font-size:2.6rem;}
    .progress_log .pr_stat .pr_stat_value{font-size:3.4rem;}
    .progress_log .pr_stat .pr_stat_value small{font-size:1.7rem;}
  }
  @media (max-width:768px){
    .progress_log{font-size:1.6rem; line-height:1.7;}
    .progress_log .pr_sec{margin-bottom:7rem;}
    .progress_log .pr_head{gap:14px; padding-bottom:18px; margin-bottom:30px;}
    .progress_log .pr_title{font-size:2.4rem;}
    .progress_log .pr_head .pr_eyebrow{display:none;}
    .progress_log .pr_intro_lead{font-size:1.7rem; margin-bottom:30px;}
    .progress_log .pr_stat .pr_stat_label{font-size:1.5rem;}
    .progress_log .pr_stat .pr_stat_desc{font-size:1.5rem;}
    .progress_log .pr_date{font-size:1.45rem;}
    .progress_log .pr_sub li{font-size:1.55rem;}
    .progress_log .pr_slider_cap,
    .progress_log .pr_media_cap{font-size:1.4rem;}
    .progress_log .pr_collab_note{font-size:1.5rem;}
    .progress_log .pr_role_tag{font-size:1.3rem;}
    /* 수치 배너 : 세로 스택 */
    .progress_log .pr_stats{grid-template-columns:1fr;}
    .progress_log .pr_stat{padding:30px 26px; border-left:0; border-top:1px solid var(--pr-line);}
    .progress_log .pr_stat:first-child{border-top:0;}
    .progress_log .pr_stat .pr_stat_value{font-size:3.2rem;}
    /* 슬라이더 */
    .progress_log .pr_slide{aspect-ratio:16/9;}
    .progress_log .pr_sl_btn{width:44px; height:44px;}
    .progress_log .pr_sl_prev{left:12px;}
    .progress_log .pr_sl_next{right:12px;}
    /* 타임라인 */
    .progress_log .pr_year_label{font-size:2.1rem; margin-bottom:24px;}
    .progress_log .pr_items{padding-left:32px;}
    .progress_log .pr_item::before{left:-32px;}
    .progress_log .pr_item::after{left:-26px;}
    .progress_log .pr_item.is-done::before{left:-33px;}
    .progress_log .pr_item_title{font-size:1.8rem;}
    .progress_log .pr_item.is-done .pr_done_box{padding:14px 18px; gap:10px;}
    /* 역할 분담 : 세로 스택 */
    .progress_log .pr_roles{grid-template-columns:1fr; gap:16px;}
    .progress_log .pr_role{padding:28px 24px;}
    .progress_log .pr_role_org{font-size:2rem;}
    .progress_log .pr_role ul li{font-size:1.65rem;}
  }
  @media (max-width:500px){
    .progress_log{font-size:1.55rem;}
    .progress_log .pr_title{font-size:2.2rem;}
    .progress_log .pr_stat .pr_stat_value{font-size:2.8rem;}
    .progress_log .pr_year_label{font-size:2rem;}
    .progress_log .pr_intro_lead{font-size:1.6rem;}
    .progress_log .pr_item_title{font-size:1.75rem;}
    .progress_log .pr_role_org{font-size:1.9rem;}
    .progress_log .pr_date{font-size:1.4rem;}
    /* 식재 현장 1열 */
    .progress_log .pr_media{grid-template-columns:1fr; gap:12px;}
  }
  /* 미디어쿼리 끝 */
/* 자연주의정원 추진경과 끝 */


/* 자연주의정원 정원식재도면 시작 */
.planting_plan{
  --pp-ink:#1f2024;
  --pp-body:#454545;
  --pp-sub:#8a8a86;
  --pp-green:#46603f;
  --pp-green-deep:#34492f;
  --pp-green-soft:#eef2e8;
  --pp-line:#e7e8e3;
  --pp-line-soft:#f0f1ec;
  color:var(--pp-body);
  font-size:1.8rem;
  line-height:1.75;
  font-weight:400;
  letter-spacing:-0.01rem;
  word-break:keep-all;
}
.planting_plan *{box-sizing:border-box;}

/* ---------- 섹션 공통 ---------- */
.planting_plan .pp_sec{margin-bottom:11rem;}
.planting_plan .pp_sec:last-child{margin-bottom:0;}
.planting_plan .pp_head{
  display:flex; align-items:baseline; gap:18px;
  padding-bottom:22px; margin-bottom:42px;
  border-bottom:2px solid var(--pp-ink);
}
.planting_plan .pp_num{
  flex:0 0 auto; font-size:1.8rem; font-weight:700; line-height:1;
  color:var(--pp-green); letter-spacing:0.04em;
}
.planting_plan .pp_title{
  font-size:3.2rem; font-weight:700; line-height:1.2;
  color:var(--pp-ink); letter-spacing:-0.05rem;
}
.planting_plan .pp_head .pp_eyebrow{
  margin-left:auto; flex:0 0 auto;
  font-size:1.5rem; font-weight:500; color:var(--pp-sub); letter-spacing:0.02em;
}

/* ---------- 소개 ---------- */
.planting_plan .pp_intro{margin-bottom:6rem;}
.planting_plan .pp_intro_eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:1.45rem; font-weight:700; color:var(--pp-green);
  letter-spacing:0.08em; text-transform:uppercase; margin-bottom:16px;
  white-space:nowrap;
}
.planting_plan .pp_intro_eyebrow svg{width:20px; height:20px; opacity:0.85;}
.planting_plan .pp_intro_lead{
  font-size: 1.95rem; line-height: 1.85; color: var(--gi-body);
}
.planting_plan .pp_intro_lead .pp_em{
  color:var(--pp-green-deep); font-weight:700;
}

/* ---------- 식재 도면 (전체 폭 + 크게 보기) ---------- */
.planting_plan .pp_plan{margin:0;}
.planting_plan .pp_plan_frame{
  position:relative;
  border:1px solid var(--pp-line);
  border-radius:18px; overflow:hidden;
  background:#fbfbf9;
  cursor:zoom-in;
}
.planting_plan .pp_plan_img{
  display:block; width:100%; height:100%; object-fit:cover;
}
.planting_plan .pp_zoom_btn{
  position:absolute; right:18px; bottom:18px; z-index:2;
  display:inline-flex; align-items:center; gap:8px;
  height:46px; padding:0 20px; border:0; border-radius:999px;
  background:rgba(31,32,36,0.86); color:#fff;
  font-size:1.6rem; font-weight:600; letter-spacing:-0.02rem;
  cursor:pointer; backdrop-filter:blur(6px);
  transition:background 0.2s ease, transform 0.2s ease;
}
.planting_plan .pp_zoom_btn:hover{background:var(--pp-green-deep);}
.planting_plan .pp_zoom_btn:active{transform:scale(0.96);}
.planting_plan .pp_zoom_btn svg{width:20px; height:20px;}
.planting_plan .pp_caption{
  margin-top:18px; padding-left:18px;
  border-left:3px solid var(--pp-green);
  font-size:1.5rem; line-height:1.55; color:var(--pp-sub);
}
.planting_plan .pp_caption b{display:block; font-weight:700; color:var(--pp-ink); font-size:1.6rem; letter-spacing:-0.02rem; margin-bottom:3px;}
.planting_plan .pp_caption .pp_cap_c{color:var(--pp-green); font-weight:600;}

/* ---------- 라이트박스 (확대 보기) ---------- */
.planting_plan .pp_lightbox{
  position:fixed; inset:0; z-index:9999;
  display:none; align-items:center; justify-content:center;
  background:rgba(20,22,20,0.92);
  opacity:0; transition:opacity 0.25s ease;
}
.planting_plan .pp_lightbox.is-open{display:flex; opacity:1;}
.planting_plan .pp_lb_stage{
  position:relative; width:100%; height:100%;
  overflow:hidden; cursor:grab; touch-action:none;
}
.planting_plan .pp_lb_stage.is-grabbing{cursor:grabbing;}
.planting_plan .pp_lb_img{
  position:absolute; top:50%; left:50%;
  max-width:96vw; max-height:92vh; width:auto; height:auto;
  transform-origin:center center;
  translate:-50% -50%;
  will-change:transform;
  user-select:none; -webkit-user-drag:none;
}
.planting_plan .pp_lb_close{
  position:absolute; top:20px; right:22px; z-index:3;
  width:48px; height:48px; border:0; border-radius:12px;
  background: rgb(0 0 0 / 85%); color:#fff;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background 0.2s ease;
}
.planting_plan .pp_lb_close:hover{background:rgba(255,255,255,0.24);}
.planting_plan .pp_lb_close svg{width:24px; height:24px;}
.planting_plan .pp_lb_tools{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:3;
  display:flex; align-items:center; gap:6px;
  padding:7px; border-radius:999px;
  background:rgb(0 0 0 / 85%); backdrop-filter:blur(8px);
}
.planting_plan .pp_lb_tools button{
  width:44px; height:44px; border:0; border-radius:999px;
  background:transparent; color:#fff;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background 0.18s ease;
}
.planting_plan .pp_lb_tools button:hover{background:rgba(255,255,255,0.18);}
.planting_plan .pp_lb_tools button svg{width:22px; height:22px;}
.planting_plan .pp_lb_tools .pp_lb_div{width:1px; height:24px; background:rgba(255,255,255,0.22); margin:0 4px;}
.planting_plan .pp_lb_hint{
  position:absolute; left:50%; top:20px; transform:translateX(-50%); z-index:3;
  font-size:1.4rem; color:rgba(255,255,255,0.78); font-weight:500;
  background:rgba(0,0,0,0.85); padding:7px 16px; border-radius:999px;
  letter-spacing:-0.02rem; pointer-events:none;
}

/* ---------- 실제로 피어난 정원 (갤러리) ---------- */
.planting_plan .pp_gallery{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.planting_plan .pp_shot{
  position:relative; aspect-ratio:4/3;
  border-radius:16px; overflow:hidden;
  border:1px solid var(--pp-line);
}
.planting_plan .pp_shot.pp_shot_wide{grid-column:span 2; aspect-ratio:8/3;}
.planting_plan .pp_gallery_cap{
  margin-top:20px;
  font-size:1.5rem; color:var(--pp-sub); font-weight:500;
}
.planting_plan .pp_gallery_cap b{color:var(--pp-green-deep); font-weight:700;}

/* ---------- 이미지 플레이스홀더 ---------- */
.planting_plan .pp_ph{
  width:100%; height:100%;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(70,96,63,0.10), transparent 55%),
    linear-gradient(135deg,#eef1ea 0%,#e2e7db 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  color:var(--pp-green-deep);
}
.planting_plan .pp_ph svg{width:42px; height:42px; opacity:0.4;}
.planting_plan .pp_ph .pp_ph_txt{font-size:1.4rem; font-weight:600; letter-spacing:0.02em; color:rgba(52,73,47,0.65);}

  /* 미디어쿼리 시작 */
  @media (max-width:1280px){
    .planting_plan{font-size:1.7rem;}
    .planting_plan .pp_sec{margin-bottom:9rem;}
    .planting_plan .pp_title{font-size:2.8rem;}
  }
  @media (max-width:1024px){
    .planting_plan .pp_sec{margin-bottom:8rem;}
    .planting_plan .pp_head{margin-bottom:36px;}
    .planting_plan .pp_title{font-size:2.6rem;}
    .planting_plan .pp_intro{margin-bottom:5rem;}
    .planting_plan .pp_intro_lead{font-size:1.85rem;}
    .planting_plan .pp_intro_eyebrow{margin-bottom:12px;}
  }
  @media (max-width:768px){
    .planting_plan{font-size:1.6rem; line-height:1.7;}
    .planting_plan .pp_sec{margin-bottom:7rem;}
    .planting_plan .pp_head{gap:14px; padding-bottom:18px; margin-bottom:30px;}
    .planting_plan .pp_title{font-size:2.4rem;}
    .planting_plan .pp_head .pp_eyebrow{display:none;}
    .planting_plan .pp_intro_lead{font-size:1.7rem;}
    .planting_plan .pp_zoom_btn{height:42px; padding:0 16px; font-size:1.5rem; right:14px; bottom:14px;}
    /* 갤러리 2열 */
    .planting_plan .pp_gallery{grid-template-columns:repeat(2,1fr); gap:14px;}
    .planting_plan .pp_shot.pp_shot_wide{grid-column:span 2; aspect-ratio:16/7;}
    .planting_plan .pp_lb_hint{font-size:1.3rem;}
  }
  @media (max-width:500px){
    .planting_plan{font-size:1.55rem;}
    .planting_plan .pp_title{font-size:2.2rem;}
    .planting_plan .pp_intro_lead{font-size:1.7rem;}
    /* 갤러리 1열 */
    .planting_plan .pp_gallery{grid-template-columns:1fr; gap:12px;}
    .planting_plan .pp_shot{aspect-ratio:3/2;}
    .planting_plan .pp_shot.pp_shot_wide{grid-column:span 1; aspect-ratio:3/2;}
  }
  /* 미디어쿼리 끝 */
/* 자연주의정원 정원식재도면 끝 */