@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard-dynamic-subset.min.css");


/* ===== Main visual / Hero ===== */
.main_visual { position: relative; }
.visual_slide { height: calc(100vh - 110px); /* 헤더 높이(110px) 빼고 전체 화면 */ background-image: url('../images/visual_BG01.jpg'); background-size: cover; background-position: center right; position: relative; }
.visual-overlay { position: absolute; inset: 0; /* 부모 영역 전체 덮음 */ background: rgba(0,0,0,0.45); /* 균일한 반투명 단색 오버레이 */ pointer-events: none; /* 오버레이가 클릭을 막지 않음 */ z-index: 1; }
.hero_inner { position: relative; height: 100%; display: flex; align-items: center; z-index: 2; }
.hero_content { width: 70%; max-width: 700px; color: #fff; }
.hero_title { font-family: 'paperlogy'; font-size: 9rem; line-height: 120%; font-weight: 800; margin-bottom: 30px; color: #fff; text-shadow: 0 6px 18px rgba(0,0,0,0.45); }
.hero_desc { color: rgba(255,255,255,0.9); font-size: 2.6rem; font-weight: 500; line-height: 160%; margin-bottom: 90px; }
.btn-ghost { background: #fff; color: #00408F; padding: 20px 50px; border-radius: 40px; display: inline-block; font-size: 2.4rem; line-height: 2.8rem; font-weight: 700 }

/* small responsive tweaks */
@media (max-width:1200px) {
	.container { width: 95%; }
	.hero_title { font-size: 44px; }
	.hero_content { width: 55%; padding-left: 24px }
}
@media (max-width:768px) {
	.gnb { display: none; }
	.hero_title { font-size: 32px; }
	.visual_slide { background-position: center center; }
	.hero_content { width: 80%; padding-left: 16px }
}

/* ===== Swiper ===== */
.swiper { width: 100%; height: 100%; }
.swiper-slide { background: #444; }
@media (max-width:760px) {
    .swiper-button-next { right: 20px; transform: rotate(90deg); }
    .swiper-button-prev { left: 20px; transform: rotate(90deg); }
}





/* ===== 로타리 소식 섹션 (cards) ===== */
.news_section { padding: 160px 0 180px; } /* 섹션 위,아래 여백 */
.news_header { display:flex; align-items:center; justify-content:space-between; margin-bottom: 40px; }
.section_title { font-family: 'paperlogy'; font-size: 5.8rem; font-weight: 700; line-height: 120%; color: #000; }
/* <,>,+ 버튼 */
.news_header .controller, .section_header .controller { display:flex; gap:15px; align-items:center }
.controller .ctrl { width:46px; height:46px; border-radius:50%; border:2px solid #E1E1E1; background:#fff; color:#2f57a8; cursor: pointer; }
.controller .ctrl i { font-size: 2.4rem; }
.news_header .controller .ctrl.prev { background: #fff; color: #6DAEFE; }
.news_header .controller .ctrl.next { background: #fff; color: #1354A5; }
.news_header .controller .ctrl.more { background: #fff; color: #00408F; }

.news_swiper { overflow: visible; /* 그림자가 잘리지 않도록 */ }
.news_list { display:flex; gap:20px; }
.news_card { width: 345px; border-radius: 30px; overflow: hidden; position: relative; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.news_card a { position: relative; display: block; }
.news_card img { display:block; width:100%; height:345px; object-fit:cover; position: relative; z-index: 1; transition: transform 0.4s ease-in-out; }
.news_card:hover img { transform: scale(1.2); } /* 확대 */
.gradient-overlay { position: absolute; bottom: 0; left: 0; right: 0; height: 50%; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); z-index: 2; }
.card_caption { position:absolute; left:25px; top: 265px; color:#fff; font-size:2.2rem; font-weight:500; line-height: 140%; text-shadow:0 2px 8px rgba(0,0,0,0.7); z-index: 3; }


/* ===== 행동하는 사람들 섹션 ===== */
.people_intro { padding: 36px 0 12px; }
.people_intro .people_T {margin-bottom:15px }
.people_intro .people_sub { font-size:2rem; line-height: 1.3; color:#3C3C3C; margin-bottom:40px; }
.people_visual { height: 600px; background-image: url('../images/people_bg.jpg'); background-size: cover; background-position: center; position: relative; display:flex; align-items:center }
.people_visual .visual_overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.45) 100%); z-index:1 }
.people_inner { position:relative; z-index:2; color:#fff; display:flex; flex-direction: column; align-items:center; justify-content:center; }
.rotary_int {font-size: 5rem; line-height: 110%; font-weight: 700; margin-bottom: 60px;}
.btn_normal { color:#fff; padding: 11px 30px; border-radius: 50px; font-size: 2.4rem; line-height: 2.8rem; font-weight:700; }
.btn_normal.btn-people { background: #FFC000; }


/* ===== 숫자로 보는 로타리 (통계) ===== */
.stats_section { padding: 180px 0; }
.stats_row { display:flex; justify-content: space-between; }
.stats_left { width: auto; flex-shrink: 0; }
.stats_left .stats { margin-bottom: 40px; } /* 섹션 제목 마진 */
.btn_normal.btn-primary { background: #00408F; }
.stats_right { width: 960px; display:flex; justify-content: space-between; align-items:flex-start; }
.stat_card { background:#F1F1F1; border-radius:30px; padding:30px; box-sizing: border-box; box-shadow: 0 6px 18px rgba(20,20,40,0.03); }
.stat_card.big { width: calc(50% - 10px); height: 470px; position:relative; }
.stat_card.small { height: 225px; display:flex; flex-direction:column; }
.stat_small_grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 20px; width: calc(50% - 10px); }
.stat_small_grid > .stat_card.small:first-child { grid-column: 1 / -1; }
.stat_number { font-size: 3.2rem; font-weight:800; color:#000; display: flex; align-items: baseline; }
.stat_main { font-size:8rem; line-height: 100%; font-weight: 700; }
.stat_card.small .stat_main { font-size: 5rem; } /* 오른쪽 숫자 크기 조정 */
.stat_suffix { font-size: 2.2rem; line-height: 100%; font-weight: 500; margin-right: 4px; }
.stat_label { margin-top: 40px; font-size: 1.8rem; line-height: 110%; font-weight: 500; color:#4C4C4C; }
.stat_illu { position:absolute; right:16px; bottom:-6px; width:334px; opacity:0.95; mix-blend-mode: luminosity; }


/* ===== 캠페인 섹션 ===== */
.campaign_section { padding: 120px 0 140px 0; background-color: #F2F7FF; }
.section_header { display:flex; align-items:center; justify-content:space-between; margin-bottom: 40px; }
/* 컨트롤러는 위의 것과 같음 */
.campaign_swiper { overflow: visible; }
.campaign_list { display: flex; gap: 20px; }
.campaign_card { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 4px 12px #00408F20; width: 345px; height: 450px; }
.campaign_card img { width: 100%; height: 260px; object-fit: cover; }
.campaign_card a { display: flex; flex-direction: column; height: 100%; }
.campaign_card .card_text {height: 190px; padding: 30px; box-sizing: border-box; }
.campaign_card h4 { font-size: 2.8rem; line-height: 1.1; font-weight: 700; color: #000; margin-bottom: 20px; }
.campaign_card p { font-size: 1.8rem; color: #3C3C3C; line-height: 1.5; }


/* ===== 기부 섹션 ===== */
.donation_section { padding: 120px 0 160px 0; }
.donation_container { display: flex; justify-content: space-between; align-items: flex-start; }
.donation_intro { width: auto; flex-shrink: 0; }
.donation_intro .section_title { margin-bottom: 15px; }
.donation_intro .section_desc { font-size: 1.8rem; line-height: 1.6; color: #666; }
.donation_grid { width: 850px; height: 535px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; }
.donation_card { background: #F1F1F1; border-radius: 20px; padding: 30px; display: flex; font-size: 1.8rem; font-weight: 600; color: #333; min-height: 80px; box-sizing: border-box; flex-direction: column; transition: all 0.5s ease; justify-content: center; }
.donation_card .card_content { width: 100%; display: flex; justify-content: center; flex-direction: column; height: 100%;}
.card_title_wrapper { display: flex; justify-content: space-between; align-items: center; }
.donation_card p { font-size: 1.6rem; line-height: 1.7; margin-top: 0; opacity: 0; max-height: 0; overflow: hidden; transition: all 0.3s ease; font-weight: 500; }
.donation_card h4 { font-size: 2.6rem; font-weight: 700; color: #3c3c3c; }
.donation_card i { width: 42px; height: 42px; border-radius: 50%; background: #fff; font-size: 2rem; transition: all 0.5s ease; display: flex; align-items: center; justify-content: center; }
.donation_card:hover { background: linear-gradient(135deg, #021B79, #0575E6); color: #fff; min-height: 230px; justify-content: flex-start; }
.donation_card:hover .card_content { width: 100%; display: flex; justify-content: space-between; flex-direction: column; height: 100%; }
.donation_card:hover p { margin-top: auto; opacity: 0.9; max-height: 100px; color: #fff; }
.donation_card:hover h4 { color: #fff; }
.donation_card:hover i { background: #fff; color: #00408F; transform: rotate(-45deg); }

.donation_grid a:nth-child(1) { grid-column: 2 / span 1; }
.donation_grid a:nth-child(2) { grid-column: 3 / span 1; }
.donation_grid a:nth-child(3) { grid-column: 1 / span 1; }
.donation_grid a:nth-child(4) { grid-column: 2 / span 1; }
.donation_grid a:nth-child(5) { grid-column: 3 / span 1; }
.donation_grid a:nth-child(6) { grid-column: 1 / span 1; }
.donation_grid a:nth-child(7) { grid-column: 2 / span 1; }
.donation_grid a:nth-child(8) { grid-column: 3 / span 1; }





