:root{--navy:#0a3150;--blue:#1769aa;--sky:#eef5f9;--gold:#d9a62e;--ink:#18232c;--muted:#647580;--line:#d7e1e7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Noto Sans KR",sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{color:inherit}
.wrap{max-width:1180px;margin:auto;padding:0 24px}.narrow{max-width:600px}header{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);z-index:30}.nav{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;color:var(--navy);font-size:19px;white-space:nowrap}.brand a{color:inherit;text-decoration:none}.admin-letter{cursor:pointer}.admin-letter:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.navlinks{display:flex;gap:24px;align-items:center}.navlinks a{text-decoration:none;font-size:14px;font-weight:600}.join{background:var(--navy);color:#fff;padding:11px 15px;border-radius:6px}
.notice-strip{padding:0;background:#fff7dc;border-bottom:1px solid #ead28a}.notice-strip[hidden]{display:none}.notice-strip-inner{min-height:46px;display:flex;align-items:center;gap:16px}.notice-strip strong{flex:0 0 auto;background:#0a3150;color:#fff;border-radius:16px;padding:4px 10px;font-size:12px}.notice-strip a{min-width:0;display:flex;justify-content:space-between;gap:16px;flex:1;color:#17212b;text-decoration:none;font-weight:800}.notice-strip a span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero{background:linear-gradient(120deg,#092d49,#164f7c);color:#fff;padding:74px 0}.hero-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center}.hero-copy,.hero-visual{min-width:0}.eyebrow{color:#f2cf79;font-weight:800}.hero h1{font-size:48px;line-height:1.2;margin:12px 0 20px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.48)}.hero p{font-size:18px;color:#e6eff5}.buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.btn{border:0;border-radius:6px;padding:12px 17px;font-weight:800;text-decoration:none;cursor:pointer}.primary{background:#e6b84a;color:#17212b}.ghost{background:#fff;color:var(--navy)}
.hero-visual,.activity-panel{position:relative;overflow:hidden;border-radius:14px;background:#0b2f4d;box-shadow:0 18px 48px rgba(0,0,0,.18)}a.hero-visual{display:block;width:100%;height:auto;color:#fff;text-decoration:none;cursor:pointer;aspect-ratio:16 / 9}.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;background:#0b2f4d}.activity-panel img{width:100%;height:390px;object-fit:cover;display:block}.visual-caption,.activity-overlay{position:absolute;left:0;right:0;bottom:0;padding:24px;color:#fff;background:linear-gradient(transparent,rgba(4,23,38,.94))}.campaign-meta{display:none}.hero-visual.campaign-banner .visual-caption{left:18px;right:18px;bottom:16px;padding:12px 14px;border:1px solid rgba(255,255,255,.34);border-radius:12px;background:rgba(4,23,38,.86);backdrop-filter:blur(7px)}.hero-visual.campaign-banner #slide-title,.hero-visual.campaign-banner #slide-text{display:none}.hero-visual.campaign-banner .campaign-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.campaign-meta span,.campaign-meta b{padding:7px 10px;border-radius:8px;background:rgba(255,255,255,.16);font-size:14px}.campaign-meta b{margin-left:auto;background:#f0bd42;color:#10283a}
section{padding:66px 0}.soft{background:var(--sky)}h1,h2{color:var(--navy)}h1{font-size:40px}h2{font-size:31px}.lead,.page-head p{color:var(--muted)}.page-head span{font-size:12px;letter-spacing:.15em;font-weight:800;color:var(--blue)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:23px;box-shadow:0 5px 18px rgba(13,53,82,.05)}.pill{display:inline-block;background:#e5f0f6;color:var(--navy);border-radius:20px;padding:5px 9px;font-size:12px;font-weight:800}
.association-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:center}.activity-panel img{height:360px}.text-link{color:var(--blue);font-weight:800;text-decoration:none}.member{background:#0c3555;color:#fff}.member h2{color:#fff}.memberlayout{display:grid;grid-template-columns:.8fr 1.2fr;gap:38px}.form{background:#fff;color:var(--ink);padding:25px;border-radius:10px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wide{grid-column:1/-1}label{font-size:13px;font-weight:800;display:block;margin:5px 0}input,select,textarea{width:100%;padding:11px;border:1px solid #b9c8d0;border-radius:6px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tab{padding:9px 13px;border:1px solid var(--line);background:#fff;border-radius:20px}.tab.active{background:var(--navy);color:#fff}.toolbar{display:flex;gap:9px;margin-bottom:22px}.member-grid{grid-template-columns:repeat(3,1fr)}.admin-title{display:flex;justify-content:space-between}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.review,.slide-admin{border-top:1px solid var(--line);padding:14px 0}.slide-admin input,.slide-admin textarea{margin:5px 0}footer{background:#071f31;color:#cfdce4;padding:36px 0;font-size:13px}
@media(max-width:900px){.hero-layout,.association-layout,.memberlayout,.admin-grid{grid-template-columns:1fr}.grid,.newsgrid,.member-grid{grid-template-columns:repeat(2,1fr)}.navlinks a:not(.join){display:none}.hero h1{font-size:38px}}@media(max-width:600px){.grid,.newsgrid,.member-grid,.formgrid{grid-template-columns:1fr}.wide{grid-column:auto}.hero h1{font-size:32px}.activity-panel img{height:290px}.hero-visual.campaign-banner .visual-caption{left:8px;right:8px;bottom:8px;padding:8px}.campaign-meta span,.campaign-meta b{font-size:12px;padding:5px 7px}}

/* STEP 09 회원가입 구분 체크리스트 */
.category-fieldset{border:1px solid #d8e2ea;border-radius:14px;padding:16px;margin:0;min-width:0}
.category-fieldset legend{font-weight:800;color:var(--navy);padding:0 8px}
.category-fieldset legend small{font-weight:500;color:#627383}
.category-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.category-checks label,.consent-label{display:flex;align-items:flex-start;gap:8px;line-height:1.45}
.category-checks input,.consent-label input{width:auto;margin-top:3px;flex:0 0 auto}
.other-detail{margin-top:14px}.other-detail[hidden]{display:none}
.content-detail{max-width:920px;margin:auto;padding:32px}.content-hero-frame{width:100%;aspect-ratio:16 / 9;background:#0b2f4d;border-radius:12px;overflow:hidden}.content-hero{width:100%;height:100%;object-fit:contain;display:block}.event-facts{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.event-facts span{background:#eef5f9;border-radius:8px;padding:10px 14px}.content-body{white-space:pre-line;line-height:1.9}.event-apply-form{margin-top:30px;padding:24px;border-radius:12px;background:#f4f8fb;border:1px solid #d5e2eb}.event-apply-form h2{margin-top:0}.campaign-list{display:grid;gap:10px;margin-top:22px}.campaign-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px;border:1px solid #e2e8f1;border-radius:10px}.campaign-row form{margin:0}
@media(max-width:700px){.category-checks{grid-template-columns:1fr}}

.news-thumb{display:block;margin:-4px -4px 16px;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#eef3f6}.news-thumb img{width:100%;height:100%;object-fit:cover}.content-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.content-gallery figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#eef3f6}.content-gallery img{width:100%;height:100%;object-fit:cover}.cost-policy-card{border-left:5px solid #245cdb}.traffic-contact{padding:12px 14px;background:#eef5ff;border-radius:10px}.image-upload-panel,.event-fields{margin:18px 0;padding:16px;border:1px solid #d7e1e7;border-radius:12px;background:#f8fbfd}.event-fields legend{padding:0 8px;font-weight:800}.image-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.image-preview-grid img,.edit-cover-preview{width:100%;max-height:160px;object-fit:cover;border-radius:10px;border:1px solid #d7e1e7}.admin-content-thumb{width:72px;height:48px;object-fit:cover;border-radius:7px}.no-thumb{color:#81919b;font-size:12px}.form-help{font-size:13px;color:#647580}
@media(max-width:760px){.content-gallery,.image-preview-grid{grid-template-columns:1fr 1fr}.admin-content-thumb{width:56px;height:40px}}
