/* Homepage: shared alignment, clear reading hierarchy, and cooperative identity. */
:root { --navy:#173b5e; --blue:#245f8f; --teal:#087f80; --bg:#f3f7f7; --border:#dde6e8; --text:#253744; --muted:#60717c; --container:1180px; }
body { font-family:Pretendard,'Noto Sans KR',Arial,sans-serif; color:var(--text); font-size:16px; line-height:1.65; letter-spacing:-.02em; }
h1,h2,h3,p,dd { word-break:keep-all; overflow-wrap:break-word; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:3px solid #087f80; outline-offset:4px; }
#main-content section[id],#membersTrack { scroll-margin-top:100px; }
.header-inner,.section-inner,.union-intro-inner,.home-programs-inner,.participation-inner,.footer-inner { width:calc(100% - 64px); max-width:var(--container); margin-inline:auto; padding-inline:0; }
#siteHeader { border-bottom:1px solid var(--border); box-shadow:none; }
#siteHeader.scrolled { box-shadow:0 3px 14px rgba(23,59,94,.05); }
.header-inner { height:76px; }
.header-logo { flex-shrink:0; }
.header-logo img { height:60px; }
.nav-item { height:76px; padding-inline:1.1rem; font-size:1rem; font-weight:600; }
.nav-item::after { height:2px; background:var(--teal); }
.nav-cta { height:40px; margin-left:.5rem; padding-inline:1rem; border-radius:6px; background:var(--navy); color:#fff; }
.nav-cta:hover { background:#102d48; color:#fff; }
#mobileDrawer { top:76px; visibility:hidden; }
#mobileDrawer.open { visibility:visible; }
@media(min-width:1024px) { #mobileDrawer,#drawerOverlay { display:none; } }
#heroSection { margin-top:76px; height:510px; min-height:0; }
.hero-slide { filter:saturate(.72) contrast(1.02); }
.hero-overlay { background:rgba(10,32,50,.56); }
.hero-blob,.hero-dots { display:none; }
.hero-content { max-width:700px; left:max(32px,calc((100% - 1180px)/2)); }
.hero-kicker { padding:0; border-radius:0; background:none; color:rgba(255,255,255,.84); font-size:.86rem; letter-spacing:0; }
.hero-title { max-width:700px; font-size:clamp(2.5rem,4.65vw,4rem); font-weight:700; line-height:1.15; letter-spacing:-.04em; }
.hero-subtitle { max-width:620px; margin-top:1rem; font-size:1.04rem; line-height:1.75; color:rgba(255,255,255,.86); }
.hero-actions { display:flex; align-items:center; gap:1.25rem; }
.hero-cta { padding:.8rem 1.25rem; border-radius:6px; box-shadow:none; }
.hero-link { color:#fff; font-size:1rem; font-weight:700; text-underline-offset:5px; }
.hero-link:hover { text-decoration:underline; }
.union-intro { padding:72px 0; background:var(--bg); }
.union-intro-inner { display:grid; grid-template-columns:.95fr 1.05fr; gap:72px; align-items:center; }
.union-intro-image { margin:0; aspect-ratio:16/9; overflow:hidden; border-radius:12px; background:#075ba6; }
.union-intro-image img { width:100%; height:100%; object-fit:contain; display:block; }
.section-label,.section-eyebrow { display:block; margin:0 0 10px; color:var(--teal); font-size:.82rem; font-weight:700; letter-spacing:0; }
.union-intro-copy h2,.home-programs-head h2,.section-title { color:var(--navy); font-size:clamp(1.75rem,2.65vw,2.25rem); font-weight:700; line-height:1.3; letter-spacing:-.04em; }
.union-intro-copy>p:not(.section-label) { margin-top:16px; color:var(--muted); font-size:1rem; }
.union-role-list { margin:22px 0; }
.union-role-list>div { display:grid; grid-template-columns:86px 1fr; gap:16px; padding:10px 0; }
.union-role-list dt { color:var(--navy); font-weight:700; font-size:.9375rem; }
.union-role-list dd { color:var(--muted); font-size:.9375rem; }
.text-link,.more-link { color:var(--navy); font-size:.9375rem; font-weight:700; text-decoration:none; text-underline-offset:5px; flex-shrink:0; }
.text-link:hover,.more-link:hover { text-decoration:underline; }
.home-programs { padding:80px 0; background:#fff; border:0; }
.home-programs-head,.section-head,.members-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.home-program-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.home-program-item { border:0; padding:0; }
.home-program-image { display:block; aspect-ratio:16/9; overflow:hidden; border-radius:12px; background:var(--bg); }
.home-program-image img { width:100%; height:100%; object-fit:cover; display:block; transition:opacity .2s ease; }
.home-program-image .home-program-event-photo { object-position:center bottom; transform:scale(1.12); transform-origin:center bottom; }
.home-program-image:hover img { opacity:.9; }
.home-program-copy { padding:20px 0 0; }
.program-status { color:var(--teal); font-size:.8rem; font-weight:700; }
.home-program-copy h3 { margin-top:8px; max-width:510px; font-size:1.3125rem; line-height:1.4; font-weight:700; }
.home-program-copy h3 a { color:var(--navy); text-decoration:none; }
.home-program-copy h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.home-program-copy>p:last-child { margin-top:10px; color:var(--muted); font-size:1rem; }
.section { padding:76px 0; }
.section-sub { font-size:1rem; font-weight:400; line-height:1.75; color:var(--muted); margin-top:8px; }
.home-news-section { background:var(--bg); }
.nv-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:start; }
.nv-grid>div { min-width:0; }
.news-panel { border:0; border-radius:0; background:transparent; overflow:visible; }
.news-header,.video-head { min-height:48px; padding:0 0 14px; margin:0; border-bottom:1px solid #b8cbd0; display:flex; align-items:center; justify-content:space-between; }
.news-tab,.news-tab.active { padding:0; color:var(--navy); background:none; border-radius:0; font-size:1.05rem; font-weight:700; }
.news-more { border:0; background:transparent; color:var(--navy); width:32px; height:32px; font-size:1.3rem; }
.news-more:hover { background:#e5eeef; }
.news-body { display:block; padding:0; }
.news-card-box { border:0; border-radius:0; background:transparent; padding:0; }
.featured-notice-copy { padding:20px 0; }
.featured-notice-copy>span { color:var(--teal); font-size:.78rem; font-weight:700; }
.featured-notice-copy>a { display:block; margin-top:6px; color:var(--navy); font-size:1.05rem; font-weight:700; line-height:1.65; text-decoration:none; }
.featured-notice-copy>a:hover { text-decoration:underline; text-underline-offset:4px; }
.featured-notice-copy time { display:block; margin-top:8px; color:var(--muted); font-size:.8rem; }
.news-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--border); }
.news-list li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:12px 0; border-bottom:1px solid var(--border); }
.news-list a { overflow:hidden; color:var(--text); font-size:1rem; font-weight:500; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.news-list a:hover { text-decoration:underline; }
.news-list time { color:var(--muted); font-size:.78rem; align-self:center; }
.news-empty { padding:20px 0; color:var(--muted); font-size:1rem; }
.video-title { color:var(--navy); font-size:1.05rem; font-weight:700; }
.video-wrap { margin-top:20px; border-radius:12px; box-shadow:none; }
.home-gallery-section { background:#fff; }
.gallery-card { padding:0 10px 0 0; }
.gallery-item { border:0; border-radius:0; background:transparent; box-shadow:none; }
.gallery-item:hover { transform:none; box-shadow:none; }
.gallery-item img { height:220px; border-radius:10px; }
.gallery-item .meta { padding:14px 0; line-height:1.7; }
.gallery-item .meta .truncate { white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:3.4em; }
.gallery-ctrl button { border:1px solid var(--border); box-shadow:none; }
.gallery-ctrl button:hover { box-shadow:none; }
.gallery-dots { margin-top:20px; }
#members { background:#fff; padding-block:56px; border-top:1px solid #edf1f3; }
.members-box { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.members-head .btn-primary { width:auto; flex-shrink:0; }
.members-viewport { overflow:visible; }
.members-viewport::before,.members-viewport::after { display:none; }
.members-track { display:flex; width:100%; padding:4px; gap:16px; overflow-x:auto; scroll-snap-type:none; scroll-behavior:auto; scroll-padding-inline:4px; scrollbar-width:none; background:transparent; animation:none!important; transform:none!important; }
.members-track::-webkit-scrollbar { display:none; }
.members-track:focus-visible { outline:2px solid var(--teal); outline-offset:4px; }
.member-card { flex:0 0 calc((100% - 48px)/4); scroll-snap-align:start; min-width:0; width:auto; min-height:120px; padding:20px; justify-content:center; border:0; border-radius:0; background:transparent; white-space:normal; text-align:center; box-shadow:none; }
.member-card:hover { transform:none; box-shadow:none; background:transparent; opacity:.78; }
.member-logo-wrap { width:100%; height:64px; border:0; border-radius:0; background:transparent; }
.member-logo-wrap img { width:100%; height:100%; max-width:200px; max-height:64px; object-fit:contain; }
.member-name { max-width:none; overflow:visible; text-overflow:clip; font-size:1rem; line-height:1.65; word-break:keep-all; overflow-wrap:anywhere; color:var(--navy); }
.member-card.has-logo .member-name { display:none; }
.btn-primary { min-height:44px; padding:10px 18px; border-radius:7px; background:var(--navy); box-shadow:none; font-size:.9375rem; }
.home-archive-section { display:none; }
.reveal,.reveal.show { opacity:1!important; transform:none!important; transition:none!important; }
.participation-section { padding:64px 0; background:var(--navy); color:#fff; }
.participation-inner { display:flex; align-items:center; justify-content:space-between; gap:48px; }
.participation-label { color:#a8d9d7; }
.participation-inner h2 { max-width:650px; font-size:clamp(1.65rem,2.7vw,2.2rem); font-weight:700; line-height:1.5; letter-spacing:-.04em; }
.participation-inner p:not(.section-label) { max-width:620px; margin-top:16px; color:#d2dfe8; font-size:1rem; }
.participation-actions { display:flex; align-items:center; gap:22px; flex-shrink:0; }
.participation-primary { padding:12px 20px; border-radius:7px; background:#fff; color:var(--navy); font-size:1rem; font-weight:700; text-decoration:none; }
.participation-secondary { color:#fff; font-size:1rem; font-weight:500; text-underline-offset:5px; }
footer { background:#102c43; padding:40px 0; }
.footer-inner { align-items:flex-start; gap:28px; }
.footer-info { font-size:.8rem; }
.footer-info address { margin:10px 0; color:#c2d0da; font-style:normal; }
.footer-info a { color:#d6e2ea; text-decoration:none; }
.footer-info a:hover { text-decoration:underline; }
.footer-info p { margin:5px 0; }
.footer-links { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:16px; }
.copyright { color:#9bafbe; }
.footer-logos img { opacity:.8; filter:grayscale(1) brightness(0) invert(1); }
.footer-logos a:hover img { opacity:1; }
@media(max-width:1023px) {
 .header-auth.desktop-nav { display:none; }
 .union-intro-inner { gap:36px; }
 .nv-grid { grid-template-columns:1fr; gap:40px; }
 .participation-inner { align-items:flex-start; flex-direction:column; gap:28px; }
}
@media(max-width:760px) {
 .header-inner,.section-inner,.union-intro-inner,.home-programs-inner,.participation-inner,.footer-inner { width:calc(100% - 40px); }
 #heroSection { margin-top:64px; height:470px; }
 .hero-content { left:20px; right:20px; }
 .hero-title { font-size:clamp(2rem,7vw,2.65rem); }
 .hero-subtitle br { display:none; }
 .hero-actions { align-items:flex-start; flex-direction:column; gap:16px; }
 .header-inner { height:64px; }
 .header-logo img { height:48px; }
 #mobileDrawer { top:64px; }
 .union-intro,.home-programs,.section { padding:48px 0; }
 .union-intro-inner { grid-template-columns:1fr; gap:28px; }
 .union-intro-copy { grid-row:1; }
 .union-intro-copy h2,.home-programs-head h2,.section-title { font-size:1.65rem; }
 .union-role-list>div { grid-template-columns:76px 1fr; gap:12px; }
 .home-programs-head,.section-head,.members-head { align-items:flex-start; flex-wrap:wrap; gap:16px; margin-bottom:24px; }
 .home-program-list { grid-template-columns:1fr; gap:32px; }
 .home-program-copy { padding-top:16px; }
 .home-program-copy h3 { font-size:1.1rem; }
 .nv-grid { gap:36px; }
 .news-list li { gap:10px; }
 .news-list a { white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
 .gallery-item img { height:210px; }
 .members-track { gap:12px; }
 .member-card { flex-basis:calc((100% - 12px)/2); min-height:110px; padding:14px; }
 .member-name { font-size:.9375rem; }
 .members-head .btn-primary { width:auto; }
 .participation-section { padding:44px 0; }
 .participation-actions { flex-wrap:wrap; gap:20px; }
 .footer-inner { flex-direction:column; }
 .footer-logos { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
