:root { --community-pink:#df8f96; --community-ink:#292727; --community-line:#e7e0dc; --community-cream:#fbf7f3; }
.community-page { margin:0; background:#fff; color:var(--community-ink); font-family:'Pretendard Variable','Pretendard','Apple SD Gothic Neo',sans-serif; }
.community-page *, .community-page *::before, .community-page *::after { box-sizing:border-box; }
.community-page button, .community-page input, .community-page select, .community-page textarea { font:inherit; }
.community-main { min-height:70vh; padding-top:84px; }
.community-hero { padding:clamp(92px,10vw,150px) 24px 66px; text-align:center; background:linear-gradient(180deg,#fff 0%,#fdfaf7 100%); }
.community-hero .eyebrow { display:block; margin-bottom:18px; color:var(--community-pink); font-size:18px; font-weight:700; letter-spacing:.1em; }
.community-hero h1 { margin:0; font-size:clamp(42px,4.3vw,68px); line-height:1.08; letter-spacing:-.045em; }
.community-tabs { display:flex; justify-content:center; flex-wrap:wrap; gap:10px 44px; margin-top:50px; }
.community-tabs a { color:#777; font-size:18px; font-weight:600; padding:10px 2px; border-bottom:2px solid transparent; text-decoration:none; }
.community-tabs a.active, .community-tabs a:hover { color:var(--community-pink); border-color:var(--community-pink); }
.community-section { width:min(1340px,calc(100% - 64px)); margin:0 auto; padding:72px 0 150px; }
.community-notice { min-height:24px; margin:0 0 22px; color:var(--community-pink); text-align:center; }
.board-tools { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:26px; }
.board-filters { display:flex; gap:10px; }
.board-tools input, .board-tools select { min-height:48px; padding:0 16px; border:1px solid #ddd5d1; background:#fff; color:#333; font-size:17px; border-radius:4px; }
.board-count { color:#766f6b; font-size:17px; }
.event-grid, .case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:72px 36px; }
.event-card, .case-card { position:relative; }
.board-image-button { display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.board-title-button { padding:0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.event-card h2 a,.case-card h2 a { color:inherit; text-decoration:none; }
.event-card h2 a:hover,.case-card h2 a:hover,.event-card h2 a:focus-visible,.case-card h2 a:focus-visible { color:var(--community-pink); text-decoration:underline; text-underline-offset:5px; }
.event-card img { width:100%; aspect-ratio:465/470; object-fit:cover; border:1px solid #f1c6cc; display:block; }
.event-card h2 { margin:22px 0 8px; font-size:24px; letter-spacing:-.025em; }
.event-card p { margin:0; color:var(--community-pink); font-size:18px; }
.case-card img { width:100%; aspect-ratio:1250/758; object-fit:cover; border-radius:12px; display:block; }
.case-card h2 { margin:18px 0 0; text-align:center; font-size:20px; }
.card-badge { position:absolute; top:14px; left:14px; z-index:1; padding:7px 12px; border-radius:999px; color:var(--community-pink); background:rgba(255,255,255,.93); font-size:15px; font-weight:700; }
.board-wrap { overflow:auto; border-top:3px solid #333; }
.board-table { width:100%; min-width:720px; border-collapse:collapse; font-size:18px; }
.board-table th, .board-table td { padding:22px 16px; border-bottom:1px solid var(--community-line); text-align:center; }
.board-table td.left { text-align:left; cursor:pointer; }
.board-table strong { color:var(--community-pink); }
.lock { display:inline-flex; width:19px; height:19px; margin-right:8px; align-items:center; justify-content:center; color:#777; font-size:12px; }
.answer-badge { display:inline-block; margin-right:8px; padding:4px 8px; color:#fff; background:var(--community-pink); border-radius:999px; font-size:13px; }
.board-actions { display:flex; justify-content:flex-end; margin-top:26px; }
.primary-btn, .secondary-btn { min-width:130px; padding:15px 26px; border-radius:999px; font-weight:700; cursor:pointer; }
.primary-btn { border:0; color:#fff; background:var(--community-pink); }
.secondary-btn { border:1px solid #d9d1cd; color:#333; background:#fff; }
.consult-form { display:none; max-width:920px; margin:44px auto 0; padding:44px; border-radius:24px; background:var(--community-cream); gap:14px; }
.consult-form.on { display:grid; }
.consult-form h2 { margin:0 0 12px; text-align:center; font-size:30px; }
.consult-form .row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.consult-form input, .consult-form select, .consult-form textarea { width:100%; padding:15px 16px; border:1px solid #ded7d3; background:#fff; font-size:18px; }
.consult-form textarea { min-height:170px; resize:vertical; }
.form-actions { display:flex; justify-content:center; gap:10px; margin-top:8px; }
.faq-list { border-top:3px solid #444; }
.faq-item { border-bottom:1px solid var(--community-line); }
.faq-question { width:100%; display:flex; align-items:center; gap:22px; padding:24px 8px; border:0; background:#fff; color:#222; text-align:left; font-size:21px; font-weight:700; cursor:pointer; }
.faq-question span { flex:0 0 44px; height:44px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#4b4948; }
.faq-answer { display:none; margin:0 0 24px 74px; padding:28px 32px; color:#45403e; background:#f7f5f3; font-size:18px; line-height:1.8; }
.faq-item.open .faq-answer { display:block; }
.pager { display:flex; justify-content:center; gap:8px; margin-top:42px; }
.pager button { width:40px; height:40px; border:1px solid #ddd5d1; background:#fff; cursor:pointer; }
.pager button.active { color:#fff; border-color:var(--community-pink); background:var(--community-pink); }
.community-modal { position:fixed; inset:0; z-index:1200; display:none; place-items:center; padding:24px; background:rgba(22,18,17,.55); }
.community-modal.on { display:grid; }
.community-modal-card { position:relative; width:min(880px,100%); max-height:86vh; overflow:auto; padding:40px; border-radius:22px; background:#fff; }
.community-modal-card img { width:100%; max-height:560px; margin:22px 0; object-fit:contain; }
.community-modal-card h2 { margin:0 48px 8px 0; font-size:34px; }
.community-modal-card p { font-size:18px; line-height:1.8; }
.community-modal-close { position:absolute; top:16px; right:20px; border:0; background:none; font-size:34px; cursor:pointer; }
@media(max-width:900px){.community-main{padding-top:68px}.community-section{width:min(100% - 40px,760px);padding:56px 0 110px}.event-grid,.case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 20px}.community-tabs{gap:8px 22px}.board-tools{align-items:stretch;flex-direction:column-reverse}.board-filters{display:grid;grid-template-columns:1fr 1.5fr}.board-tools input,.board-tools select{width:100%}}
@media(max-width:560px){.community-hero{padding:74px 20px 44px}.community-hero .eyebrow{font-size:15px}.community-tabs{margin-top:34px}.community-tabs a{font-size:16px}.community-section{width:calc(100% - 32px);padding-top:44px}.event-grid,.case-grid{grid-template-columns:1fr;gap:42px}.event-card h2{font-size:21px}.consult-form{padding:28px 18px}.consult-form .row{grid-template-columns:1fr}.faq-question{gap:14px;font-size:18px}.faq-question span{flex-basis:38px;height:38px}.faq-answer{margin-left:0;padding:22px 20px}.community-modal-card{padding:30px 20px}.community-modal-card h2{font-size:27px}}
@media(prefers-reduced-motion:no-preference){.event-card,.case-card,.faq-item,.board-table tbody tr{transition:transform .25s ease,box-shadow .25s ease}.event-card:hover,.case-card:hover{transform:translateY(-7px)}.case-card:hover img,.event-card:hover img{box-shadow:0 18px 44px rgba(68,48,43,.12)}}
