/* ==========================================================================
   서대문햇살아래 v3 — 서브페이지 공용 스타일 (business·activity-support·support·404)
   style.css 토큰(:root)만 참조한다. style.css 본체는 건드리지 않는다.
   카드 그리드·아이콘·일러스트·그라데이션 없이 표·리스트·헤어라인으로만 구분한다.
   ========================================================================== */

/* ── 페이지 타이틀 타일 (브랜드 1구간) ─────────────────────────── */
.page-head{padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.25rem,5vw,3.5rem)}
.page-head--sky{background:var(--sky);color:var(--ink)}
.page-head--lime{background:var(--lime);color:var(--ink)}
.page-head--tangerine{background:var(--tangerine);color:var(--ink)}  /* ink on 귤색 7.8:1 */
.page-head--ink{background:var(--ink);color:var(--on-ink)}
.page-head__eyebrow{display:block;font-family:var(--font-head);font-weight:700;font-size:1rem;letter-spacing:.04em;margin-bottom:.6em}  /* opacity:.85 제거 — 주황 타일에서 4.36:1 미달이었다 */
.page-head__title{font-size:clamp(2.25rem,4.4vw,3.75rem);font-weight:900;letter-spacing:-0.025em}
/* 320px 폰: 띄어쓰기 없는 "장애인활동지원서비스"(keep-all)가 칸보다 43px 넓었다 — 좁은 화면만 제목 축소. 2026-10-01 */
@media (max-width:400px){.page-head__title{font-size:clamp(1.75rem,9vw,2.25rem)}}
.page-head__desc{margin-top:.7em;font-size:1.125rem;max-width:50ch}
.page-head--ink .page-head__desc{color:var(--on-ink-70)}
.page-head:not(.page-head--ink) .page-head__desc{color:var(--ink-70)}
/* 밝은 타일 위에서는 72% 알파가 대비를 깎는다 (하늘 3.74:1 · 주황 3.53:1) → 불투명 잉크 */
.page-head.page-head--sky .page-head__desc,
.page-head.page-head--lime .page-head__desc,
.page-head.page-head--tangerine .page-head__desc,
.page-head.page-head--orange .page-head__desc{color:var(--ink)}

/* ── 브레드크럼 ───────────────────────────────────────────────── */
.breadcrumb{margin-top:1.4em;font-size:.9375rem}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.4em;list-style:none}
.breadcrumb li:not(:last-child)::after{content:"/";margin-left:.5em;opacity:.6}
.breadcrumb a{text-decoration:underline;text-underline-offset:.2em}
.breadcrumb a:hover{opacity:.8}

/* ── 페이지 내 앵커 내비 ──────────────────────────────────────── */
/* 바로가기 메뉴·게시판 탭 고정 규칙은 style.css 로 옮김(about.html 은 pages.css 를 쓰지 않는다) 2026-10-02 */

/* ── 서브 섹션 공통 리듬 ──────────────────────────────────────── */
.sub-section{padding:clamp(2.75rem,6vw,4.5rem) 0}
.sub-section+.sub-section{border-top:0.0625rem solid var(--ink-12)}
.eyebrow{display:block;font-family:var(--font-head);font-weight:700;font-size:.9375rem;letter-spacing:.04em;color:var(--orange-deep);margin-bottom:.55em}
.sub-section__title{font-size:clamp(1.625rem,2.6vw,2.25rem);font-weight:800;letter-spacing:-0.02em}
.sub-section__head{margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.biz-lead,.support-lead,.as-guide__lead{color:var(--ink-70);max-width:62ch;font-size:1.0625rem}

/* ── split: 좌측 타이틀 열 + 우측 본문 열 ─────────────────────── */
.split{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem)}
.split__title-col .eyebrow{margin-bottom:.5em}
.split__title-col .contact-info{margin-top:1em}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* ── footer 후원 안내 버튼 (index.html 원본의 인라인 style 대체, README §8) ── */
.footer__grid .btn{margin-top:.6em}

/* ── 프로그램 리스트 (구 detail-grid/detail-card 대체) ─────────── */
/* 카드 대신 헤어라인 표: services 컴포넌트 문법을 재사용하되 열 수만 조정 */
.program-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:0.125rem solid currentColor;margin-top:clamp(1.5rem,3vw,2.25rem)}
.program-list li{padding:1.5rem clamp(1rem,2vw,1.75rem) 1.75rem 0;border-right:0.0625rem solid var(--ink-12);border-bottom:0.0625rem solid var(--ink-12);margin-right:clamp(1rem,2vw,1.75rem)}
.program-list li.span-2{grid-column:span 2}
.program-list h3{font-size:1.1875rem;font-weight:700;letter-spacing:-0.01em;margin-bottom:.5em}
.program-list p{color:var(--ink-70);font-size:1.0625rem;line-height:1.6}
.program-list .meta{margin-top:.6em;font-weight:600;color:var(--orange-deep);font-size:.9375rem}
.program-list .more{display:inline-block;margin-top:1em;font-weight:700;font-size:1.0625rem;border-bottom:0.125rem solid var(--orange);padding-bottom:.0625rem}
.program-list .more:hover{border-bottom-width:0.1875rem;color:var(--orange-deep)}
@media (max-width:860px){.program-list{grid-template-columns:1fr 1fr}.program-list li.span-2{grid-column:span 2}}
@media (max-width:640px){.program-list{grid-template-columns:1fr}.program-list li,.program-list li.span-2{grid-column:span 1;border-right:0}}

/* ── 절차 스텝 (as-steps · steps 공용) ─────────────────────────── */
.steps,.as-steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);border-top:0.125rem solid currentColor;margin-top:1.5rem}
.as-steps{grid-template-columns:1fr}
.steps li,.as-steps li{counter-increment:step;padding:1.5rem clamp(.75rem,1.6vw,1.5rem) 1.5rem 0;border-right:0.0625rem solid var(--ink-12);position:relative}
.as-steps li{border-right:0;border-bottom:0.0625rem solid var(--ink-12);display:flex;gap:1.25rem;align-items:baseline;padding-left:0}
.steps li::before,.as-steps li>span::before{content:counter(step,decimal-leading-zero);font-family:var(--font-head);font-weight:900;color:var(--orange-deep);font-size:1.5rem;display:block;margin-bottom:.4em}
.as-steps li>span{display:flex;flex-direction:column;gap:.3em;flex:1}
.as-steps li>span::before{margin-bottom:0;flex:0 0 auto;min-width:2.2em}
.as-steps li>span{flex-direction:row;align-items:baseline;gap:1rem}
.steps li strong,.as-steps strong{font-weight:700;font-size:1.0625rem}
.steps li span,.as-steps small{display:block;color:var(--ink-70);font-size:1.0625rem;margin-top:.3em}
.as-steps small{margin-top:0}
.steps li:last-child,.as-steps li:last-child{border-right:0}
.steps li .steps__note{margin-top:.6em;padding-left:1.15em;text-indent:-1.15em;color:var(--ink-70)}
/* 2026-10-02: 칸 구분선이 오른쪽에만 있고 왼쪽 여백이 0이라 2~4번 글자가 앞 칸 선에 붙어 보였다 → 둘째 칸부터 왼쪽 여백 */
.steps li+li{padding-left:clamp(.75rem,1.6vw,1.5rem)}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}.steps li:nth-child(2n){border-right:0}.steps li:nth-child(2n+1){padding-left:0}.steps li:nth-child(n+3){border-top:0.0625rem solid var(--ink-12)}}
@media (max-width:640px){.steps{grid-template-columns:1fr}.steps li,.steps li+li{border-right:0;border-top:0;border-bottom:0.0625rem solid var(--ink-12);padding-left:0}.as-steps li{flex-direction:column;gap:.3em}}

/* ── 활동지원 상담 CTA 바 ─────────────────────────────────────── */
.as-cta{display:flex;flex-wrap:wrap;gap:.75rem;padding:1.5rem 0}
.as-cta--bottom{border-top:0.0625rem solid var(--ink-12)}

/* ── 탭 UI (activity-support) — module 10 셀렉터 유지 ──────────── */
.tabs__list{display:flex;flex-wrap:wrap;gap:0 clamp(1rem,2.5vw,2rem);border-bottom:0.125rem solid currentColor;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.tabs__btn{padding:.9em .1em;font-weight:700;font-size:1.0625rem;border-bottom:0.1875rem solid transparent;margin-bottom:-0.125rem}
.tabs__btn:hover{color:var(--orange-deep)}
.tabs__btn[aria-selected="true"]{border-bottom-color:var(--orange);font-weight:800}
.tabs__panel[hidden]{display:none}

/* ── 게시판형 표 (board-table) ──────────────────────────────── */
.board-tools{display:flex;justify-content:flex-end;margin-bottom:.75rem;font-size:1.0625rem;color:var(--ink-70)}
.board-table{width:100%;border-collapse:collapse;font-size:1.0625rem}
.board-table caption{position:absolute;width:.0625rem;height:.0625rem;overflow:hidden;clip:rect(0 0 0 0)}
/* 2026-10-01 사용자 요청: 목록은 가운데 정렬 — 번호·분류·작성일·조회는 가운데, 제목만 왼쪽 (소식마당·활동지원 공용) */
.board-table th,.board-table td{padding:.85em .5em;border-bottom:0.0625rem solid var(--ink-12);text-align:center}
.board-table th.board-table__subject,.board-table td.board-table__subject,.board-table th:nth-child(3),.board-table td:nth-child(3){text-align:left}
.board-table thead th{border-top:0.125rem solid currentColor;border-bottom:0.0625rem solid var(--ink-12);font-weight:700}
.board-table .num{width:3em;color:var(--ink-70)}
.board-table .date{color:var(--ink-70);white-space:nowrap}
.board-table .views{color:var(--ink-70);text-align:center}
.board-table__subject a{font-weight:600}
/* 320px 폰에서 띄어쓰기 없는 긴 제목이 표를 342px로 밀어냈다 — 제목 칸은 어디서든 줄바꿈, 좁은 화면은 칸 여백을 줄인다. 2026-10-01 */
.board-table td:nth-child(3){overflow-wrap:anywhere}
@media (max-width:480px){.board-table th,.board-table td{padding:.85em .3em}}
.board-table__subject a:hover{text-decoration:underline;text-underline-offset:.2em}
.hide-m{}
@media (max-width:640px){.hide-m{display:none}}
.pagination{display:flex;justify-content:center;padding:1.25rem 0 0;font-weight:700}
.pagination [aria-current="page"]{border-bottom:0.1875rem solid var(--orange);padding-bottom:.2em}

/* ── 분류 태그 (cat) ────────────────────────────────────────── */
.cat{display:inline-block;font-size:.9375rem;font-weight:700;padding:.25em .65em;border:0.0625rem solid var(--ink-12);border-radius:0.125rem;color:var(--ink-70)}
.cat--recruit{border-color:var(--orange);color:var(--orange-deep)}
.cat--event{border-color:var(--sky);color:#0E5E74}
.cat--edu{border-color:var(--lime);color:#4C7A1B}
.cat--info{color:var(--ink-70)}

/* ── 정보 표 (info-table) ──────────────────────────────────── */
.info-table{width:100%;border-collapse:collapse;margin-top:1.25rem;font-size:1.0625rem} /* 2026-10-01: 15px→17px (M8 하한), 글씨 흐릿함 수정 */
.info-table th,.info-table td{padding:.9em 1em .9em 0;border-bottom:0.0625rem solid var(--ink-12);text-align:left;vertical-align:top}
.info-table th{width:9.5em;font-weight:700}
.info-table td{color:var(--ink);line-height:1.65}
.as-org__status-table th{width:auto}
@media (max-width:640px){.info-table,.info-table tbody,.info-table tr,.info-table th,.info-table td{display:block;width:auto}.info-table th{border-bottom:0;padding-bottom:.2em;color:var(--orange-deep)}.info-table td{padding-top:0}}

/* ── 활동지원사 모집·안내 상세 블록 ────────────────────────── */
.as-guide__title{font-size:1.25rem;font-weight:700;letter-spacing:-0.01em;margin:2rem 0 .75em}
.as-guide__title:first-child{margin-top:0}
.as-benefit{border-top:0.0625rem solid var(--ink-12);padding-top:1.25rem;margin-top:1.25rem}
.as-benefit h4{font-size:1.0625rem;font-weight:700;margin:1em 0 .35em}
.as-benefit h4:first-child{margin-top:0}
.as-benefit p{color:var(--ink-70);font-size:1.0625rem}
.as-benefit__ref{margin-top:1em;font-size:1.0625rem;color:var(--ink-70)}
.as-org__block+.as-org__block{margin-top:2.5rem;border-top:0.0625rem solid var(--ink-12);padding-top:2.5rem}
.as-org__note{margin-top:.75em;font-size:1.0625rem;color:var(--ink)}
.as-org__caution p{color:var(--ink-70)}
.as-org__photos{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.75rem,1.5vw,1.25rem);margin-top:1.25rem}
.as-org__photos img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);display:block} /* 2026-10-01: 4:3→3:2, 16:9 사진이 덜 잘리게 */
.as-org__photos figcaption{margin-top:.5em;font-size:1.0625rem;color:var(--ink)}
.map-actions{margin-top:1.25rem}
@media (max-width:860px){.as-org__photos{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.as-org__photos{grid-template-columns:1fr}}

/* ── 참여·후원: 후원 방법 리스트 (구 donate-card 대체) ───────── */
.offer-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:0.125rem solid currentColor;margin-top:clamp(1.5rem,3vw,2.25rem)}
.offer-list>li{padding:1.75rem clamp(1rem,2vw,1.75rem) 2rem 0;border-right:0.0625rem solid var(--ink-12);margin-right:clamp(1rem,2vw,1.75rem)}
.offer-list>li:last-child{border-right:0;margin-right:0}
.offer-list h3{font-size:1.1875rem;font-weight:700;margin-bottom:.5em}
.offer-list p{color:var(--ink-70);font-size:1.0625rem;margin-bottom:1em}
@media (max-width:860px){.offer-list{grid-template-columns:1fr}.offer-list>li{border-right:0;border-bottom:0.0625rem solid var(--ink-12);margin-right:0}}

.account-list{display:grid;gap:.65rem;margin-top:.25rem}
.account-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.65rem 0;border-bottom:0.0625rem solid var(--ink-12)}
.account-item span{font-size:1.0625rem}
.copy-btn{font-weight:700;font-size:.9375rem;min-height:2.75rem;padding:.5em 1em;border:0.0625rem solid currentColor;border-radius:var(--radius)}
.copy-btn:hover{background:currentColor;color:var(--white)}
.copy-btn.is-copied{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.account-holder{margin-top:.75rem;font-size:1.0625rem;color:var(--ink-70)}

/* ── 후원금 사용처 (구 usage-card 대체) ──────────────────────── */
.usage-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:0.0625rem solid var(--ink-12);margin-top:clamp(1.5rem,3vw,2.25rem)}
.usage-list li{padding:1.5rem clamp(.75rem,1.6vw,1.5rem) 1.5rem 0;border-right:0.0625rem solid var(--ink-12)}
.usage-list li:last-child{border-right:0}
/* 2026-10-02: 칸 구분선 오른쪽·왼쪽 여백 0 → 2~4번 글자가 앞 칸 선에 붙었다(사용자 지적). 단계 목록(.steps)과 같은 처리 */
.usage-list li+li{padding-left:clamp(.75rem,1.6vw,1.5rem)}
.usage-list strong{display:block;font-weight:700;font-size:1.0625rem;margin-bottom:.4em}
.usage-list span{display:block;color:var(--ink);font-size:1.0625rem}
@media (max-width:860px){.usage-list{grid-template-columns:1fr 1fr}.usage-list li:nth-child(2n){border-right:0}.usage-list li:nth-child(2n+1){padding-left:0}.usage-list li:nth-child(n+3){border-top:0.0625rem solid var(--ink-12)}}
@media (max-width:480px){.usage-list{grid-template-columns:1fr}.usage-list li,.usage-list li+li{border-right:0;border-top:0;border-bottom:0.0625rem solid var(--ink-12);padding-left:0}}

/* ── 자원봉사 배너(연두 위 아님, 흰 바탕 헤어라인 박스) ───────── */
.volunteer-box{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;border-top:0.125rem solid currentColor;border-bottom:0.125rem solid currentColor;padding:1.75rem 0;margin-top:1.5rem}
.volunteer-box__title{font-size:1.25rem;font-weight:700;margin-bottom:.4em}
.volunteer-box p{color:var(--ink-70);max-width:52ch}

/* ── 문의 폼 (contact-form) ───────────────────────────────────── */
.contact-form{display:grid;gap:1.1rem}
.form-row{display:grid;gap:.4rem}
.form-row label{font-weight:700;font-size:1.0625rem}
.form-row .req{color:var(--orange-deep)}
.form-row input,.form-row select,.form-row textarea{font:inherit;font-size:1.0625rem;padding:.75em .9em;border:0.0625rem solid var(--ink-70);border-radius:var(--radius);background:transparent;color:inherit}
.form-row textarea{min-height:8rem;resize:vertical}
.form-agree{display:flex;align-items:flex-start;gap:.6em;font-size:1.0625rem;color:var(--ink-70)}
.form-agree input{margin-top:.3em}
.contact-form .btn{justify-self:start}
.form-msg{font-size:1.0625rem;font-weight:700;min-height:1.4em}
.form-msg.is-error{color:#B3261E}
.form-msg:not(.is-error):not(:empty){color:#3B7A1D}

/* ── 404 ─────────────────────────────────────────────────────── */
.error-page{min-height:60vh;display:flex;align-items:center}
.error-page .container{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.error-page__code{font-family:var(--font-head);font-weight:900;font-size:clamp(4rem,10vw,7rem);line-height:1}
.error-page__title{font-size:1.5rem;font-weight:700}
.error-page__desc{color:var(--on-ink-70);max-width:38ch}
.error-page .btn{margin-top:1rem}

/* ── 고대비 방어 규칙 (README §9): 브랜드 타일 위 텍스트는 잉크로 고정 ── */
body.high-contrast .page-head--sky,body.high-contrast .page-head--sky *,
body.high-contrast .page-head--tangerine,body.high-contrast .page-head--tangerine *,
body.high-contrast .page-head--lime,body.high-contrast .page-head--lime *{color:#000}

/* ==========================================================================
   B묶음(news·webzine·admin) 추가분 — 아래부터는 append. 위 규칙은 그대로 둔다.
   ========================================================================== */

/* ── 페이지 타이틀 타일: 주황 1구간 (news·webzine) ─────────────── */
.page-head--orange{background:var(--orange);color:var(--ink)}
body.high-contrast .page-head--orange,body.high-contrast .page-head--orange *{color:#000}

/* ── 분류·상태 필터 버튼 (news 공지분류 · admin 문의필터 공용) ─── */
.board-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.25rem}
.board-filter__btn{font-weight:700;font-size:1.0625rem;min-height:2.75rem;padding:.45em 1em;border:0.0625rem solid var(--ink-70);border-radius:var(--radius)}
.board-filter__btn[aria-pressed="true"]{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.board-filter__btn:hover{border-color:currentColor}
.board-filter__num{opacity:.7;font-weight:600}
body.high-contrast .board-filter__btn[aria-pressed="true"]{background:#fff;color:#000;border-color:#fff}

/* ── 상태 배지 (news 공지 뱃지 · admin 게시/문의 상태) ─────────── */
.badge{display:inline-block;font-size:.9375rem;font-weight:700;padding:.2em .6em;border-radius:0.125rem;border:0.0625rem solid currentColor}
.badge--live{color:var(--orange-deep);border-color:var(--orange)}
.badge--wait{color:var(--ink-70);border-color:var(--ink-12)}
.badge--new{color:#0E5E74;border-color:var(--sky)}
.badge--hidden{color:var(--ink-70);border-color:var(--ink-12)}
/* ── 활동지원 기관정보 · 약도 펼침 (2026-09-28) ── */
.as-map__toggle{display:flex;align-items:center;gap:.6em;width:min(100%,22rem);font-family:var(--font-head);font-weight:800;font-size:1.25rem;letter-spacing:-0.01em;cursor:pointer;list-style:none;background:var(--ink);color:var(--on-ink);border:.125rem solid var(--ink);border-radius:var(--radius);padding:.85em 1.4em;min-height:3.75rem}
.as-map__toggle > span{flex:1}
.as-map__pin{flex:none;color:var(--orange)}
.as-map__toggle::-webkit-details-marker{display:none}
.as-map__toggle::after{content:"";width:.5em;height:.5em;border-right:.125rem solid currentColor;border-bottom:.125rem solid currentColor;transform:translateY(-.15em) rotate(45deg)}
.as-map[open] .as-map__toggle::after{transform:translateY(.1em) rotate(-135deg)}
.as-map__toggle:hover{background:#000}
.as-map__body{margin-top:1.25rem;display:grid;gap:1.25rem}
.as-map__route{margin:0;display:grid;gap:.75rem}
.as-map__route div{display:grid;grid-template-columns:8rem 1fr;gap:1rem}
.as-map__route dt{font-weight:700}
.as-map__route dd{margin:0}
.as-map__frame{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;aspect-ratio:16/9;max-height:26rem;padding:1.5rem;text-align:center;background:var(--paper);border:.125rem dashed var(--ink-12);border-radius:var(--radius);color:var(--ink);text-decoration:none}
.as-map__frame:hover{border-color:var(--ink)}
.as-map__label{font-family:var(--font-head);font-weight:700;font-size:1.125rem}
.as-map__addr{color:var(--ink-70);font-size:1.0625rem}
.as-map__actions{display:flex;flex-wrap:wrap;gap:.75rem}
@media (max-width:640px){.as-map__route div{grid-template-columns:1fr;gap:.2rem}}
.as-map__t-close{display:none}.as-map[open] .as-map__t-open{display:none}.as-map[open] .as-map__t-close{display:inline}

/* ── 개인정보 처리방침 (privacy.html, 2026-10-01) ── */
.policy>*{max-width:54rem}
.policy section{margin-top:2.75rem;scroll-margin-top:6rem}
.policy h2{font-size:1.375rem;font-weight:800;margin-bottom:.75em;padding-bottom:.4em;border-bottom:0.125rem solid var(--ink)}
.policy p,.policy li{font-size:1.0625rem;line-height:1.75;color:var(--ink)}
.policy p+p{margin-top:.75em}
.policy-list{padding-left:1.4em;display:grid;gap:.6em}
ol.policy-list{list-style:decimal}ul.policy-list{list-style:disc}
.policy-table{margin:1rem 0}
.policy-table th[scope=row]{width:auto;min-width:8em}
.policy-toc{border:0.125rem solid var(--ink);border-radius:var(--radius);padding:1.25rem 1.5rem}
.policy-toc__title{font-size:1.125rem;font-weight:800;border:0;padding:0;margin:0 0 .5em}
.policy-toc ol{list-style:decimal;padding-left:1.4em;columns:2;column-gap:2rem}
.policy-toc a{text-decoration:underline;text-underline-offset:.2em}
.policy-meta{margin-top:.75em;font-size:1.0625rem}
.policy-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.75rem}
.policy-consent-state{flex-basis:100%;font-weight:700}
.table-wrap{overflow-x:auto}
@media (max-width:640px){.policy-toc ol{columns:1}}

/* ── 이동기기 수리지원(repair.html) — 2026-10-02 신설. 기존 토큰·컴포넌트(info-table·steps·lead·btn)만 사용 ── */
.repair-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.repair-text{margin-top:1rem;font-size:1.0625rem}
.repair-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.repair-cta__ghost{background:transparent;color:var(--ink);border:0.125rem solid var(--ink)}
.repair-cta__ghost:hover{background:var(--ink);color:var(--on-ink)}
.repair-photo{margin:0}
.repair-photo img{display:block;width:100%;height:auto;border-radius:var(--radius)}
.repair-photo figcaption{margin-top:.6rem;font-size:1.0625rem}
.repair-source{margin:0 0 1rem;font-size:1.0625rem}
.repair-loc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.repair-loc__notice{margin:0 0 1rem;padding:.85rem 1rem;border-left:0.375rem solid var(--orange);background:var(--paper);font-size:1.0625rem}
@media (max-width:860px){.repair-intro,.repair-loc{grid-template-columns:1fr}.repair-photo--door{max-width:24rem}.repair-cta .btn{flex:1 1 auto;justify-content:center}}
body.high-contrast .repair-loc__notice{background:#000;border-left-color:#FFD400}
body.high-contrast .repair-cta__ghost{color:#fff;border-color:#fff}
.repair-kmap{margin-top:clamp(1.5rem,3vw,2.5rem)}
/* 상단 고정 공지 (2026-10-02) */
.badge--pin{color:#fff;background:var(--ink);border-color:var(--ink)}
.board-table tr.is-pinned{background:var(--paper)}  /* 기존 토큰만 사용(새 색 금지) */
.board-table tr.is-pinned .board-table__subject a{font-weight:700}
.num .pin-label{display:inline-block;font-size:.9375rem;font-weight:700;color:#fff;background:var(--orange-deep);border-radius:var(--radius);padding:.15rem .5rem;line-height:1.4}
body.high-contrast .board-table tr.is-pinned{background:#000;outline:0.125rem solid #FFD400;outline-offset:-0.125rem}
body.high-contrast .badge--pin,body.high-contrast .num .pin-label{background:#FFD400;color:#000;border-color:#FFD400}
.badge.hide-d{display:none}
@media (max-width:640px){.badge.hide-d{display:inline-block}}
/* 현재 위치(홈 / 소식마당 / 공지사항) — 사용자: "다른 글보다 현격히 작아 누르기 번거롭다" (2026-10-02)
   15px → 17px(본문과 같게), 링크 누름 영역 높이 44px */
.breadcrumb{font-size:1.0625rem}
.breadcrumb ol{align-items:center;gap:0 .4em}
.breadcrumb a,.breadcrumb [aria-current]{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 .2em;font-weight:600}
/* 활동지원사 모집 탭 (2026-10-02 활동지원팀 자료 4종으로 재구성) */
.as-list{list-style:disc;padding-left:1.25em;margin:.5em 0 0;font-size:1.0625rem;color:var(--ink);max-width:70ch}
.as-list li+li{margin-top:.4em}
.as-list li::marker{color:var(--orange-deep)}
.as-benefit .as-list{color:var(--ink-70)}
.as-list--note{margin-top:1.25rem;list-style:none;padding:1rem 1.25rem;background:var(--paper);border-radius:var(--radius);max-width:none}
.as-list--note li{padding-left:1.1em;text-indent:-1.1em}
.as-list--note li::before{content:"※ ";color:var(--orange-deep);font-weight:700}
.as-duty{counter-reset:duty;list-style:none;margin:.75rem 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:0;border-top:0.0625rem solid var(--ink-12)}
.as-duty li{counter-increment:duty;display:grid;grid-template-columns:2.4em minmax(0,1fr);gap:.5rem;padding:.8rem 0;border-bottom:0.0625rem solid var(--ink-12);font-size:1.0625rem}
.as-duty li::before{content:counter(duty);font-family:var(--font-head);font-weight:700;color:var(--orange-deep)}
@media (min-width:1000px){.as-duty{grid-template-columns:1fr 1fr;column-gap:2.5rem}}
body.high-contrast .as-list--note{background:#000;outline:0.125rem solid #fff}
body.high-contrast .as-list li::marker,body.high-contrast .as-list--note li::before,body.high-contrast .as-duty li::before{color:#FFD400}
.as-duty__note{display:block;margin-top:.3em;padding-left:1.15em;text-indent:-1.15em;color:var(--ink-70)}  /* 의무 항목 보충 설명 — 사용자 2026-10-02 "※ 줄바꿈으로" */
body.high-contrast .as-duty__note{color:#fff}
.as-steps strong{white-space:nowrap}  /* 「교육 / 이수」처럼 단계 이름이 두 줄로 쪼개지지 않게 2026-10-02 */
@media (max-width:640px){.as-steps li>span{flex-direction:column;gap:.2em}}
