/* =========================================================
   러브플러스원 공통 디자인 시스템
   ========================================================= */

/* ---------- Paperozi Font ---------- */
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-3Light.woff2') format('woff2'); font-weight:300; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-5Medium.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-6SemiBold.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2') format('woff2'); font-weight:800; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-9Black.woff2') format('woff2'); font-weight:900; font-display:swap; }

/* ---------- Tokens ---------- */
:root{
  --navy:#1A2B4D;
  --navy-dark:#11203c;
  --yellow:#F5B82E;
  --yellow-dark:#e0a517;
  --burgundy:#7A1F2B; /* 로고 전용 — UI 악센트로 사용 금지 */
  --beige:#F5EFE0;
  --white:#FFFFFF;
  --gray:#6B7280;
  --line:rgba(26,43,77,.10);
  --shadow:0 6px 28px rgba(26,43,77,.07);
  --radius:10px;
  --maxw:1200px;
  --util-h:36px;
}

/* ---------- Reset ---------- */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:160px;}
body{font-family:'Paperozi',sans-serif;color:var(--navy);background:var(--white);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;}

/* ---------- Layout ---------- */
.container{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
section{padding:108px 0;}
.bg-beige{background:var(--beige);}
.bg-navy{background:var(--navy);color:#fff;}

/* ---------- Typography ---------- */
h1,h2,h3,h4{line-height:1.25;letter-spacing:-.02em;font-weight:800;}
.eyebrow{display:inline-block;font-size:.9rem;font-weight:600;letter-spacing:.12em;color:var(--yellow-dark);text-transform:uppercase;margin-bottom:18px;}
.bg-navy .eyebrow{color:var(--yellow);}
.sec-title{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800;margin-bottom:22px;}
.sec-sub{font-size:clamp(1.05rem,2vw,1.4rem);font-weight:500;color:var(--gray);max-width:780px;}
.bg-navy .sec-sub{color:rgba(255,255,255,.82);}
.lead{font-size:1.05rem;font-weight:400;color:#3a4258;}
.bg-navy .lead{color:rgba(255,255,255,.88);}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;padding:15px 30px;border-radius:var(--radius);font-weight:600;font-size:1rem;border:none;transition:transform .15s,background .2s,color .2s;white-space:nowrap;}
.btn:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;}
.btn-primary{background:var(--yellow);color:var(--navy);}
.btn-primary:hover{background:var(--yellow-dark);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy-dark);}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6);}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-outline-navy{background:transparent;color:var(--navy);border:1.5px solid var(--navy);}
.btn-outline-navy:hover{background:var(--navy);color:#fff;}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}

/* ---------- Header (2층: 유틸바 + 메인바) ----------
   sticky top:-36px 트릭: 스크롤 시 유틸바는 올라가 숨고 메인바(80px)만 고정 */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:background .3s,border-color .3s;}
.site-header.scrolled{background:rgba(26,43,77,.96);border-bottom-color:rgba(255,255,255,.12);}
.site-header.scrolled .logo-text,.site-header.scrolled .nav-item>a{color:#fff;}
.site-header.scrolled .nav-toggle{color:#fff;}
.util-bar{height:var(--util-h);background:var(--navy);}
.util-inner{display:flex;align-items:center;justify-content:flex-end;height:100%;gap:16px;}
.util-bar a{color:rgba(255,255,255,.75);font-size:1rem;transition:color .2s;}
.util-bar a:hover,.util-bar a:focus-visible{color:var(--yellow);}
/* 헤더 내부: 로고 왼쪽 고정, 나머지(nav+SNS+검색) 오른쪽 정렬 */
.header-inner{display:flex;align-items:center;justify-content:space-between;height:80px;gap:0;}
.logo{display:flex;align-items:center;gap:11px;flex-shrink:0;}
.logo-img{width:48px;height:48px;border-radius:8px;display:block;flex-shrink:0;}
.logo .logo-img.brand{width:auto;height:46px;border-radius:8px;}
/* 스크롤 시 로고 배경: 반투명 네이비 → 로고 PNG가 자연스럽게 보임 */
.site-header.scrolled .logo .logo-img.brand{background:rgba(26,43,77,.55);padding:3px 8px;height:46px;border:1px solid rgba(255,255,255,.22);border-radius:8px;}
.logo .logo-img.white,.site-header.scrolled .logo .logo-img.navy{display:none;}
.site-header.scrolled .logo .logo-img.white{display:block;}
.logo-mark{width:48px;height:48px;border-radius:8px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.72rem;line-height:1.05;text-align:center;flex-shrink:0;}
.logo-text{font-weight:800;font-size:1.22rem;color:var(--navy);transition:color .3s;}
.logo-name{font-weight:800;font-size:1.08rem;color:var(--navy);transition:color .3s;letter-spacing:-.01em;white-space:nowrap;}
.site-header.scrolled .logo-name{color:#fff;}
/* nav + 우측 아이콘을 하나로 묶어 오른쪽 정렬 (margin-right로 끝에서 살짝 안쪽) */
.header-nav-group{display:flex;align-items:center;gap:0;margin-left:auto;margin-right:40px;}
@media(max-width:1199px){.header-nav-group{margin-right:16px;}}
@media(max-width:860px){.header-nav-group{margin-right:0;}}
.main-nav{display:flex;}
.main-nav>.nav-item{position:relative;}
.nav-item>a{display:block;padding:14px 16px;font-weight:500;font-size:1rem;color:var(--navy);transition:color .3s;}
@media(min-width:1200px){.nav-item>a{padding:14px 18px;}}
.nav-item>a:hover,.nav-item>a:focus-visible,.nav-item.current>a{color:var(--yellow-dark);}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border-radius:10px;box-shadow:0 14px 36px rgba(26,43,77,.16);min-width:230px;padding:10px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.dropdown a{display:block;padding:10px 14px;border-radius:7px;font-size:.94rem;font-weight:400;color:var(--navy);}
.dropdown a:hover,.dropdown a:focus-visible{background:var(--beige);color:var(--yellow-dark);}
.header-right{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:24px;}
.header-cta{padding:11px 20px;border-radius:50px;font-size:.92rem;}
.header-search{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--navy);font-size:1.05rem;transition:background .2s,color .2s;border:none;background:transparent;cursor:pointer;}
.header-search:hover,.header-search:focus-visible{background:var(--beige);color:var(--yellow-dark);}
/* 소식과 SNS 사이 간격 */
.header-sns{display:flex;align-items:center;gap:2px;margin-left:20px;}
.header-sns a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:1.18rem;transition:background .2s,color .2s;}
/* 인스타그램 그라디언트 아이콘 (실제 Instagram 브랜드 색상) */
.header-sns .sns-instagram{background:none;}
.header-sns .sns-instagram i{
  background:linear-gradient(45deg,#feda75 0%,#fa7e1e 25%,#d62976 55%,#962fbf 80%,#4f5bd5 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.header-sns .sns-facebook{color:var(--navy);}
.site-header.scrolled .header-sns .sns-facebook{color:#fff;}
.site-header.scrolled .header-sns .sns-instagram i{background:linear-gradient(45deg,#feda75 0%,#fa7e1e 25%,#d62976 55%,#962fbf 80%,#4f5bd5 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.header-sns a:hover,.header-sns a:focus-visible{background:rgba(26,43,77,.06);border-radius:50%;}
.site-header.scrolled .header-sns .sns-facebook:hover,.site-header.scrolled .header-sns .sns-instagram:hover{background:rgba(255,255,255,.12);}
.site-header.scrolled .header-search{color:#fff;}
.site-header.scrolled .header-search:hover{background:rgba(255,255,255,.12);}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--navy);}

/* ---------- 헤더 검색 패널 ---------- */
.search-panel{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(26,43,77,.12);padding:18px 0;display:none;}
.search-panel.open{display:block;}
.site-header.scrolled .search-panel{background:var(--navy);border-bottom-color:rgba(255,255,255,.14);}
.search-form{max-width:560px;margin:0 auto;display:flex;align-items:center;gap:10px;background:var(--beige);border-radius:50px;padding:6px 8px 6px 22px;}
.search-form input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:1rem;color:var(--navy);min-width:0;}
.search-form input::placeholder{color:var(--gray);}
.search-form button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:none;background:var(--navy);color:var(--yellow);font-size:1.02rem;flex-shrink:0;transition:background .2s;}
.search-form button:hover{background:var(--navy-dark);}
@media(max-width:768px){.search-panel{padding:14px 16px;}}

/* Mobile nav — 분기점: 768px까지 가로 메뉴 유지 (기획서 2-2) */
.mobile-nav{display:none;}
@media(max-width:1079px){
  .nav-item>a{padding:14px 8px;font-size:.9rem;}
  .util-bar{display:none;}
  .site-header{top:0;}
  .header-cta{display:none;}
  .header-sns{margin-left:10px;}
}
@media(max-width:860px){
  .header-nav-group{gap:0;}
}
@media(max-width:768px){
  .main-nav{display:none;}
  .nav-toggle{display:block;}
  .header-right{gap:4px;}
  .header-sns{margin-left:0;margin-right:10px;gap:0;}
  .header-sns a{width:32px;height:32px;font-size:1rem;}
  .header-search{width:34px;height:34px;font-size:.94rem;}
  .mobile-nav{display:block;position:fixed;inset:80px 0 0 0;background:#fff;z-index:999;overflow-y:auto;padding:18px 24px 120px;transform:translateX(100%);transition:transform .3s;}
  .mobile-nav.open{transform:translateX(0);}
  .m-group{border-bottom:1px solid var(--line);}
  .m-group>button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:17px 4px;background:none;border:none;font-size:1.08rem;font-weight:600;color:var(--navy);}
  .m-group>button .chev{transition:transform .25s;}
  .m-group.open>button .chev{transform:rotate(180deg);}
  .m-sub{max-height:0;overflow:hidden;transition:max-height .3s;}
  .m-sub.open{max-height:420px;}
  .m-sub a{display:block;padding:11px 16px;font-size:.98rem;font-weight:400;color:#3a4258;}
  .m-social{display:flex;justify-content:center;gap:22px;font-size:1.6rem;color:var(--navy);margin-top:26px;}
}
@media(max-width:360px){
  .header-sns a{width:30px;height:30px;font-size:.94rem;}
  .header-sns{margin-right:6px;}
}

/* Mobile sticky bottom CTA */
.mobile-cta{display:none;}
@media(max-width:768px){
  .mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:998;background:#fff;border-top:1px solid var(--line);padding:10px 16px;gap:10px;box-shadow:0 -4px 20px rgba(26,43,77,.08);}
  .mobile-cta .btn{flex:1;justify-content:center;padding:14px;}
}

/* ---------- Page Hero (subpages) ---------- */
.page-hero{background:var(--navy);color:#fff;padding:64px 0 56px;}
.page-hero .eyebrow{color:var(--yellow);}
.page-hero h1{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:800;margin-bottom:14px;}
.page-hero p{font-size:1.15rem;font-weight:300;color:rgba(255,255,255,.86);max-width:720px;}
.breadcrumb{font-size:.9rem;font-weight:300;color:rgba(255,255,255,.6);margin-bottom:16px;}
.breadcrumb a:hover{color:var(--yellow);}

/* ---------- Sub Tabs ---------- */
.subtabs-wrap{position:sticky;top:80px;z-index:900;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);}
.subtabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;}
.subtabs::-webkit-scrollbar{display:none;}
.subtab{flex-shrink:0;padding:18px 20px;font-weight:500;font-size:1rem;color:var(--gray);border:none;border-bottom:3px solid transparent;background:none;white-space:nowrap;transition:color .2s,border-color .2s;}
.subtab:hover{color:var(--navy);}
.subtab.active{color:var(--navy);font-weight:700;border-bottom-color:var(--yellow);}
.panel{display:none;}
.panel.active{display:block;}

/* ---------- Editorial 2-col ---------- */
.editorial{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.editorial.flip .ed-media{order:2;}
.ed-media{border-radius:12px;overflow:hidden;min-height:360px;box-shadow:var(--shadow);}
.ed-text h2,.ed-text h3{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:16px;}
.ed-text p{color:#3a4258;margin-bottom:14px;}
.bg-navy .ed-text p{color:rgba(255,255,255,.88);}
.ed-list{display:flex;flex-direction:column;gap:11px;margin:18px 0 26px;}
.ed-list li{display:flex;gap:11px;align-items:flex-start;font-size:1.04rem;}
.ed-list li i{color:var(--yellow-dark);margin-top:7px;font-size:.7rem;}
.bg-navy .ed-list li i{color:var(--yellow);}

/* ---------- Image placeholder ---------- */
.imgph{position:relative;border-radius:12px;min-height:300px;background:var(--beige);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--gray);font-weight:400;font-size:.92rem;border:1px dashed rgba(26,43,77,.18);padding:24px;line-height:1.5;}
.imgph.photo{background-size:cover;background-position:center;border:none;color:transparent;}
.imgph::after{content:'';}

/* ---------- Stats ---------- */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:56px 0 36px;}
.stat{text-align:center;}
.stat .num{font-size:clamp(2.8rem,7vw,5.2rem);font-weight:800;line-height:1;letter-spacing:-.03em;}
.stat .num small{font-size:1.4rem;font-weight:600;color:var(--yellow);margin-left:6px;}
.stat .label{font-size:1.12rem;font-weight:500;margin-top:14px;}
.stat .src{font-size:.8rem;font-weight:300;color:rgba(255,255,255,.6);margin-top:8px;}
.stats-grid.cols4{grid-template-columns:repeat(4,1fr);gap:32px;}
@media(max-width:980px){.stats-grid.cols4{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.stats-grid.cols4{grid-template-columns:1fr;}}

/* ---------- 햇빛후원자 진행률 게이지 ---------- */
.gauge-box{max-width:680px;margin:0 auto;text-align:center;}
.gauge-title{font-size:1.05rem;font-weight:600;margin-bottom:14px;}
.bg-navy .gauge-title{color:#fff;}
.gauge{position:relative;height:22px;border-radius:50px;background:rgba(26,43,77,.12);overflow:hidden;}
.bg-navy .gauge{background:rgba(255,255,255,.16);}
.gauge-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:50px;background:var(--yellow);transition:width 1.2s ease;}
.gauge-label{display:flex;justify-content:space-between;margin-top:10px;font-size:.95rem;font-weight:500;}
.gauge-label .gnow{font-weight:800;color:var(--yellow-dark);}
.bg-navy .gauge-label{color:rgba(255,255,255,.85);}
.bg-navy .gauge-label .gnow{color:var(--yellow);}
.gauge-note{margin-top:12px;font-size:.95rem;font-weight:500;}
.bg-navy .gauge-note{color:rgba(255,255,255,.85);}

/* 준비 중 비활성 버튼 */
.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none;}
.prep-wrap{display:inline-flex;align-items:center;gap:8px;}

/* ---------- 후원 절차 3단계 ---------- */
.steps{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:22px 0 6px;}
.step{flex:1;min-width:180px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 18px;box-shadow:var(--shadow);}
.step .sn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--yellow);color:var(--navy);font-weight:800;font-size:.85rem;margin-bottom:8px;}
.step h4{font-size:.98rem;font-weight:700;margin-bottom:4px;}
.step p{font-size:.88rem;color:#3a4258;font-weight:300;line-height:1.55;}
.steps-note{font-size:.9rem;color:var(--gray);margin-top:10px;}

/* ---------- 재정공개 공개 예정 박스 ---------- */
.finance-promise{background:#fff;border-left:5px solid var(--yellow);border-radius:10px;padding:24px 26px;box-shadow:var(--shadow);max-width:720px;}
.finance-promise .fp-date{font-size:1.3rem;font-weight:800;color:var(--navy);}
.finance-promise p{font-size:.98rem;color:#3a4258;margin-top:6px;}

/* ---------- 문틴루파 배경 통계 (classroom 이동본, 소형) ---------- */
.bg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0 8px;}
.bg-stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;}
.bg-stat .bn{font-size:1.5rem;font-weight:800;}
.bg-stat .bl{font-size:.9rem;font-weight:500;margin-top:2px;}
.bg-stat .bs{font-size:.74rem;color:var(--gray);font-weight:300;margin-top:6px;}
@media(max-width:760px){.bg-stats{grid-template-columns:1fr;}}

/* ---------- Cards ---------- */
.card-grid{display:grid;gap:28px;}
.cols-2{grid-template-columns:repeat(2,1fr);}
.cols-3{grid-template-columns:repeat(3,1fr);}
.cols-4{grid-template-columns:repeat(4,1fr);}
.value-card{background:#fff;border-radius:12px;padding:36px 30px;box-shadow:var(--shadow);}
.bg-beige .value-card{background:#fff;}
.value-card .vc-num{font-size:1.6rem;font-weight:800;color:var(--yellow-dark);}
.value-card h3{font-size:1.3rem;margin:8px 0 10px;}
.value-card p{color:#3a4258;font-size:.97rem;}
/* 핵심가치 아이콘 카드 */
.value-card.vc-icon{border-top:4px solid var(--yellow);transition:transform .18s,box-shadow .18s;}
.value-card.vc-icon:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(26,43,77,.13);}
.value-card .vc-ic{width:58px;height:58px;border-radius:50%;background:var(--beige);color:var(--yellow-dark);display:flex;align-items:center;justify-content:center;font-size:1.45rem;margin-bottom:16px;}

/* ---------- 연락처 아이콘 카드 ---------- */
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:780px;margin-top:30px;}
.ccard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 28px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:transform .18s,box-shadow .18s;}
.ccard:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(26,43,77,.14);}
.ccard .cic{width:58px;height:58px;border-radius:50%;background:var(--navy);color:var(--yellow);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:6px;}
.ccard .clbl{font-size:.88rem;font-weight:700;color:var(--gray);letter-spacing:.08em;}
.ccard .cval{font-size:clamp(1rem,1.6vw,1.18rem);font-weight:800;color:var(--navy);word-break:break-all;line-height:1.4;}
a.cval:hover{color:var(--yellow-dark);}
.ccard .cnote{font-size:.85rem;color:var(--gray);font-weight:300;}
.copy-mail{margin-top:4px;background:var(--beige);border:1px solid var(--line);border-radius:50px;padding:6px 14px;font-size:.8rem;font-weight:600;color:var(--navy);transition:background .2s;}
.copy-mail:hover{background:var(--yellow);}
@media(max-width:680px){.contact-cards{grid-template-columns:1fr;}}

/* ---------- Flow diagram ---------- */
.flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:44px 0;}
.flow-step{background:#fff;color:var(--navy);border:1px solid var(--line);padding:14px 20px;border-radius:10px;font-weight:500;font-size:.96rem;text-align:center;}
.flow-step.alt{background:var(--yellow);border-color:var(--yellow);color:var(--navy);font-weight:600;}
.bg-navy .flow-step{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff;}
.flow-arrow{color:var(--yellow-dark);font-size:1.1rem;}
.bg-navy .flow-arrow{color:var(--yellow);}

/* ---------- Trust badges ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.trust{display:flex;gap:16px;align-items:center;background:#fff;border-radius:12px;padding:28px 26px;box-shadow:var(--shadow);}
.trust .ic{font-size:1.8rem;color:var(--yellow-dark);flex-shrink:0;}
.trust h3{font-size:1.08rem;font-weight:600;}

/* ---------- Milestone (공용) ---------- */
.milestone{background:#fff;border:1px solid var(--line);border-left:5px solid var(--yellow);border-radius:10px;padding:20px 24px;box-shadow:var(--shadow);margin-top:14px;}
.milestone .md{font-size:.88rem;font-weight:700;color:var(--yellow-dark);letter-spacing:.03em;}
.milestone .mt{font-size:1.05rem;font-weight:600;margin-top:3px;}

/* ---------- Footer ---------- */
.footer-cta{background:var(--beige);padding:72px 0;text-align:center;}
.footer-cta h2{font-size:clamp(1.6rem,3.4vw,2.4rem);margin-bottom:26px;}
.footer-cta .btn-row{justify-content:center;}
.site-footer{background:var(--navy);color:rgba(255,255,255,.78);padding:64px 0 40px;font-weight:300;}
.footer-grid{display:grid;grid-template-columns:1.7fr .75fr 1.05fr;gap:40px;margin-bottom:40px;}
.footer-col.quick{padding-left:46px;}
@media(max-width:860px){.footer-col.quick{padding-left:0;}}
.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.footer-logo .logo-img{width:52px;height:52px;border-radius:8px;}
.footer-logo .logo-mark{background:#fff;color:var(--navy);}
.footer-logo .fname{font-weight:800;font-size:1.25rem;color:#fff;}
.site-footer p{font-size:.93rem;line-height:1.85;margin-bottom:6px;}
.f-org{font-size:1.18rem;font-weight:700;color:#fff;margin-bottom:14px;}
.f-org .f-rep{font-weight:400;font-size:.92rem;color:rgba(255,255,255,.7);margin-left:12px;}
.f-creds{margin:0 0 26px;}
.f-creds li{font-size:.87rem;color:rgba(255,255,255,.62);line-height:2.1;}
.f-info{margin:0;}
.f-info li{display:flex;align-items:baseline;gap:11px;font-size:.92rem;color:rgba(255,255,255,.92);line-height:1.7;margin-bottom:12px;}
.f-lbl{display:inline-block;font-weight:700;color:#fff;margin-right:14px;white-space:nowrap;}
@media(min-width:1080px){.f-info li.f-oneline{white-space:nowrap;}}

/* 와이드 이미지 + 캡션 */
.wide-photo{margin-top:46px;}
.wide-photo .wp-img{border-radius:12px;overflow:hidden;box-shadow:var(--shadow);min-height:300px;max-height:460px;background-size:cover;background-position:center;}
.wide-photo .wp-cap{font-size:.88rem;color:var(--gray);font-weight:300;margin-top:10px;text-align:center;}
.f-info i{color:var(--yellow);font-size:.82rem;width:16px;flex-shrink:0;text-align:center;position:relative;top:-1px;}
.f-info a{color:#fff;font-weight:500;}
.f-info a:hover{color:var(--yellow);}
.footer-col h4{font-size:1rem;font-weight:600;color:#fff;margin-bottom:14px;}
.footer-col a{display:block;font-size:.92rem;padding:5px 0;}
.footer-col a:hover{color:var(--yellow);}
.footer-social{display:flex;gap:16px;font-size:1.35rem;margin-top:14px;}
.footer-social a:hover{color:var(--yellow);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.85rem;color:rgba(255,255,255,.55);}
.footer-bottom a:hover{color:var(--yellow);}

/* ---------- News Archive ---------- */
.news-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start;}
.news-side{position:sticky;top:100px;}
.side-block{margin-bottom:26px;}
.side-block h4{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--line);}
.side-block a{display:block;padding:7px 10px;border-radius:7px;font-size:.92rem;font-weight:400;color:#3a4258;}
.side-block a:hover,.side-block a.active{background:var(--beige);color:var(--yellow-dark);font-weight:600;}
.side-tags{display:flex;flex-wrap:wrap;gap:8px;}
.side-tags button{background:#fff;border:1px solid var(--line);border-radius:50px;padding:6px 13px;font-size:.82rem;font-weight:400;color:var(--navy);transition:background .15s,color .15s;}
.side-tags button:hover{background:var(--navy);color:#fff;}
.news-top{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin-bottom:18px;}
.cat-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;}
.cat-tabs::-webkit-scrollbar{display:none;}
.cat-tab{flex-shrink:0;background:#fff;border:1.5px solid var(--navy);color:var(--navy);border-radius:50px;padding:9px 18px;font-size:.92rem;font-weight:500;white-space:nowrap;transition:background .15s,color .15s;}
.cat-tab:hover{background:rgba(26,43,77,.06);}
.cat-tab.active{background:var(--navy);color:#fff;}
.news-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:50px;padding:8px 16px;min-width:240px;}
.news-search i{color:var(--gray);}
.news-search input{border:none;outline:none;font-family:inherit;font-size:.92rem;width:100%;background:transparent;color:var(--navy);}
.news-divider{height:2px;background:var(--navy);margin-bottom:26px;opacity:.85;}
.news-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.news-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .18s;}
.news-card:hover{transform:translateY(-3px);}
.news-card .thumb{height:170px;background:var(--beige);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:var(--navy);font-weight:800;font-size:1.4rem;letter-spacing:.04em;}
.news-card .nbody{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1;}
.news-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.badge{font-size:.74rem;font-weight:600;padding:4px 10px;border-radius:50px;background:var(--navy);color:#fff;}
.badge.letter{background:var(--yellow);color:var(--navy);}
.badge.notice{background:#3a4258;color:#fff;}
.badge.press{background:#7a5a12;color:#fff;}
.badge.prep{background:var(--beige);color:var(--yellow-dark);border:1px solid var(--yellow);}
.news-date{font-size:.82rem;color:var(--gray);font-weight:300;}
.news-card h3{font-size:1.12rem;font-weight:700;line-height:1.4;}
.news-card .nsum{font-size:.92rem;color:#3a4258;font-weight:300;line-height:1.6;}
.news-tags{display:flex;flex-wrap:wrap;gap:6px;font-size:.8rem;color:var(--yellow-dark);font-weight:500;}
.news-card .nbtn{margin-top:auto;padding-top:6px;}
.news-card .nbtn .btn{padding:10px 18px;font-size:.88rem;}
.news-empty{display:none;text-align:center;padding:60px 20px;color:var(--gray);font-size:1.05rem;}
.news-more{text-align:center;margin-top:40px;}
.pager{display:flex;justify-content:center;gap:6px;margin-top:30px;}
.pager a,.pager span{padding:8px 14px;border-radius:8px;border:1px solid var(--line);font-size:.9rem;color:var(--navy);}
.pager .cur{background:var(--navy);color:#fff;border-color:var(--navy);}
@media(max-width:980px){
  .news-layout{grid-template-columns:1fr;gap:24px;}
  .news-side{position:static;}
  .news-search{min-width:0;width:100%;}
}
@media(max-width:680px){.news-grid2{grid-template-columns:1fr;}}

/* ---------- Motion ---------- */
.fade-in{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.fade-in.visible{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .fade-in{opacity:1;transform:none;transition:none;}
  .btn{transition:none;}
}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .stats-grid,.trust-grid,.cols-3,.cols-4{grid-template-columns:1fr;}
  .cols-4{grid-template-columns:1fr 1fr;}
}
@media(max-width:860px){
  section{padding:72px 0;}
  .editorial{grid-template-columns:1fr;gap:30px;}
  .editorial.flip .ed-media{order:0;}
  .cols-2,.cols-4{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .subtabs-wrap{top:80px;}
}

/* 아동 사진 동의 고지 */
.photo-consent{font-size:.84rem;color:rgba(255,255,255,.68);margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);}
