.hub-nav { display:flex; flex-wrap:wrap; gap:10px 26px; justify-content:center; padding:16px; background:#fff; border-bottom:1px solid var(--line); font-weight:700; }
.hub-nav a { text-decoration:none; padding:5px 2px; border-bottom:2px solid transparent; }
.hub-nav a:hover,.hub-nav a:focus-visible { border-color:var(--forest-800); }
.content-brand { color:#fff; font-size:24px; font-weight:800; text-decoration:none; }
.content-main { width:min(980px,calc(100% - 32px)); margin:32px auto 64px; }
.hub-intro { margin:0 0 30px; }
.hub-intro h1 { font-size:clamp(27px,4vw,40px); line-height:1.35; margin:12px 0; }
.hub-intro p { max-width:740px; }
.content-meta { color:var(--muted); font-size:16px; }
.hub-panel,.hub-card,.guide-toc { padding:26px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); }
.hub-panel { margin:28px 0; }
.hub-panel h2 { margin-top:0; font-size:24px; }
.hub-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.hub-card h3 { font-size:22px; line-height:1.4; margin:8px 0 14px; }
.hub-card h3 a { text-decoration:none; }
.hub-card h3 a:hover { text-decoration:underline; }
.hub-card p { margin:0; color:var(--muted); font-size:17px; }
.hub-card .section-kicker { color:var(--forest-800); margin-bottom:10px; }
.hub-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.hub-button { display:inline-block; padding:12px 20px; border:1px solid var(--forest-800); border-radius:10px; background:var(--forest-800); color:#fff; text-decoration:none; font:inherit; font-weight:700; cursor:pointer; }
.hub-button.secondary { background:#fff; color:var(--forest-900); }
.home-hub { width:min(1000px,calc(100% - 32px)); margin:28px auto; }
.home-hub-intro { margin:20px auto; }
.home-hub-intro p { margin:0; color:var(--muted); }
.home-hub h2 { font-size:25px; margin-bottom:8px; }
.region-quicklinks { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.region-quicklinks a { padding:9px 15px; background:#fff; border:1px solid var(--line); border-radius:10px; text-decoration:none; }
.region-quickselect { margin:14px 0 4px; }
.region-quickselect summary { cursor:pointer; font-weight:700; color:var(--forest-900); }
.hub-section-head { display:flex; justify-content:space-between; gap:20px; align-items:baseline; }
.guide-article { max-width:820px; margin:auto; }
.guide-section { scroll-margin-top:24px; margin:34px 0; }
.guide-section h2 { font-size:25px; line-height:1.45; }
.guide-section p { line-height:1.9; }
.guide-checklist { padding-left:25px; }
.guide-checklist li { margin:14px 0; line-height:1.75; }
.guide-toc ol { margin-bottom:0; padding-left:25px; }
.guide-toc li { margin:10px 0; }
.source-panel { font-size:16px; overflow-wrap:anywhere; }
.source-panel li { margin:12px 0; }
.content-footer { padding:25px 16px 60px; text-align:center; color:var(--muted); border-top:1px solid var(--line); font-size:16px; }
.content-footer nav,.operation-links { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; }
.community-form { display:grid; gap:18px; }
.community-form label { display:grid; gap:8px; font-weight:700; }
.community-form input,.community-form select,.community-form textarea { width:100%; min-width:0; padding:13px; border:1px solid #9eb3a7; border-radius:8px; background:#fff; color:var(--ink); font:inherit; }
.community-form textarea { resize:vertical; min-height:180px; }
.community-form .consent-line { display:flex; gap:12px; align-items:flex-start; font-size:16px; font-weight:400; }
.community-form .consent-line input { width:20px; flex-shrink:0; margin-top:3px; }
.community-form .honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.notice-success,.notice-error { padding:18px; border-radius:10px; margin:20px 0; }
.notice-success { background:var(--mint-100); border:1px solid var(--forest-700); }
.notice-error { background:#fff0ed; border:1px solid var(--danger); }
.community-entry { margin:20px 0; overflow-wrap:anywhere; }
.community-entry h2 { font-size:22px; }
.community-entry .entry-body { white-space:pre-wrap; }
.community-response { border-left:3px solid var(--forest-800); padding:4px 18px; background:var(--mint-50); }
.community-pagination { display:flex; gap:24px; margin:24px 0; }
.ad-slot[aria-label="광고"] { margin-top:28px; margin-bottom:28px; }
@media(max-width:700px) { .hub-card-grid { grid-template-columns:1fr; } .hub-nav { gap:8px 18px; font-size:16px; } .hub-panel,.hub-card,.guide-toc { padding:20px; } .content-main { margin-top:24px; } .hub-section-head { display:block; } .content-brand { font-size:22px; } }
