/**
 * 교통사고 토탈케어 전용 부품. 제목·사진 모서리·예약 CTA는 diet.css의 공통 di 스타일 유지.
 */
.ac-page .di-split-photo { aspect-ratio: 1 / .9; }
.ac-intro .di-ch-1 .di-split-photo { aspect-ratio: 1 / 1; }   /* 후유증 클리닉 01 사진만 1:1, 다른 페이지 01 은 그룹 기본 1:0.9 */
.ac-page .di-split-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ac-page .hd-photo-pending { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 6px; width: 100%; padding: 28px; background: #EEF2F7; color: #526577; }
.ac-page .hd-lead { margin-bottom: 22px; font-size: 1.1rem; }
.ac-cause .di-h2 em { font-style: normal; color: var(--primary); }

/* 체크리스트 — 중앙 안내 아래 4열 × 2행 증상 목록 */
.ac-check-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
.ac-check-text { width: 100%; max-width: 800px; margin-inline: auto; text-align: center; }
.ac-check-text .di-h2 { margin-bottom: 20px; }
#ac-t2 { scroll-margin-top: 120px; }
.ac-check-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ac-check-list li { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 24px; border: 1px solid #DAE5ED; border-radius: 12px; background: #fff; font-size: 1.02rem; line-height: 1.65; font-weight: 500; color: #10233F; word-break: keep-all; }
.ac-check-box { --check-delay: calc(.35s + var(--check-order, 0) * .3s); flex: none; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1.5px solid #B8CBD9; border-radius: 8px; background: #fff; color: #fff; transition: background-color .3s ease var(--check-delay), border-color .3s ease var(--check-delay); }
.ac-check-box svg { width: 22px; height: 22px; }
.ac-check-box path { stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset .5s ease calc(var(--check-delay) + .1s); }
.ac-check-list li.is-in .ac-check-box { background-color: var(--primary); border-color: var(--primary); }
.ac-check-list li.is-in .ac-check-box path { stroke-dashoffset: 0; }
@media (prefers-reduced-motion: reduce) {
    .ac-check-box, .ac-check-box path { transition: none; }
}

/* 진료 과정 — 브랜드 컬러와 4단계 연결선, 모바일은 세로 순서 */
.ac-band { padding: 56px 48px; border-radius: 28px; color: #fff; background: linear-gradient(135deg, #102D49, #175C80); }
.ac-band-head { text-align: center; margin-bottom: 36px; }
.ac-band .di-no { color: #A5D7E5; }
.ac-band-title { margin: 0 0 16px; font-size: clamp(1.6rem, 2.4vw, 2.2rem); font-weight: 700; letter-spacing: -.03em; line-height: 1.4; word-break: keep-all; }
.ac-band-sub { max-width: 1100px; margin: 0 auto; font-size: 1.02rem; line-height: 1.8; color: #E0EAF0; word-break: keep-all; }
.ac-band-question { margin: 24px 0 0; font-size: 1rem; font-weight: 500; color: #BFE4EC; word-break: keep-all; }
.ac-timeline { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; text-align: center; }
.ac-timeline::before { content: ''; position: absolute; left: calc(12.5% - 10.5px); right: calc(12.5% - 10.5px); top: 22px; height: 1px; background: rgba(255,255,255,.3); }
.ac-timeline li { position: relative; }
.ac-timeline.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }   /* 후유증 이유 페이지: 3단계 */
.ac-timeline.is-3::before { left: calc(16.667% - 10.5px); right: calc(16.667% - 10.5px); }
.ac-step-no { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 22px; border-radius: 50%; background: #fff; color: #164B6C; font-family: 'Montserrat', sans-serif; font-size: .9rem; font-weight: 700; }
/* 번호는 고정하고 두 겹의 테두리만 바깥으로 확산 */
.ac-step-no::before, .ac-step-no::after { content: ''; position: absolute; inset: 0; border: 1px solid rgba(200, 235, 255, .8); border-radius: inherit; pointer-events: none; opacity: 0; animation: ac-step-ripple 3s ease-out infinite; animation-delay: var(--ac-ripple-delay, 0s); animation-play-state: paused; }
.ac-step-no::after { animation-delay: calc(var(--ac-ripple-delay, 0s) - 1.5s); }
.ac-timeline li:nth-child(2) { --ac-ripple-delay: .25s; }
.ac-timeline li:nth-child(3) { --ac-ripple-delay: .5s; }
.ac-timeline li:nth-child(4) { --ac-ripple-delay: .75s; }
.ac-band.is-in .ac-step-no::before, .ac-band.is-in .ac-step-no::after { animation-play-state: running; }
@keyframes ac-step-ripple {
    0% { transform: scale(1); opacity: 0; }
    12% { opacity: .65; }
    80%, 100% { transform: scale(var(--ac-ripple-scale, 1.9)); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .ac-step-no::before, .ac-step-no::after { animation: none; opacity: 0; }
}
.ac-timeline h3 { margin: 0 0 12px; font-size: 1.16rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.5; word-break: keep-all; }
.ac-timeline p { max-width: 26ch; margin: 0 auto; font-size: .98rem; line-height: 1.8; color: #E0EAF0; word-break: keep-all; }

/* 원인 — 기존 3단계 흐름 유지 */
.ac-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ac-flow li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 30px 24px; border-radius: 20px; background: #F5F7FA; text-align: center; }
.ac-flow li + li::before { content: ''; position: absolute; left: -18px; top: 50%; width: 10px; height: 10px; border-top: 2px solid #AEC4D4; border-right: 2px solid #AEC4D4; transform: translateY(-50%) rotate(45deg); }
.ac-flow-no { font-family: 'Montserrat', sans-serif; font-size: 1.1rem; color: var(--primary); font-weight: 700; }
.ac-flow p { margin: 0; font-size: 1.02rem; font-weight: 500; line-height: 1.7; color: #10233F; word-break: keep-all; }
.ac-cause-note { max-width: 860px; margin: 36px auto 0; text-align: center; font-size: 1.05rem; line-height: 1.8; color: var(--text-dark); word-break: keep-all; }
.ac-cause-note strong { color: var(--primary); font-weight: 700; }

/* 증상 — 4분류를 한눈에: 사진(분류명 오버레이) + 아래 체크 목록 카드 4장, 여백으로만 구분. 4열 → 2×2 → 1열 */
.ac-symptom-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
/* 사진 자리(4:3, images/accident/symptom-{id}) — 아래쪽 남색 그라데이션 위 흰 분류명(다이어트 사진 캡션과 같은 방식). 없으면 회색 준비 중 상자 */
.ac-symptom-photo { position: relative; margin: 0 0 18px; width: 100%; aspect-ratio: 16 / 7; border-radius: 20px; overflow: hidden; background: #D9E3EC; }
.ac-symptom-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ac-symptom-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16, 35, 63, .2) 42%, rgba(16, 35, 63, 1) 100%); pointer-events: none; }
.ac-symptom-title { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; margin: 0; padding: 0 22px 20px; text-align: center; font-size: 1.3rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.35; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .25); word-break: keep-all; }
.ac-symptom-photo small { position: absolute; left: 22px; top: 18px; z-index: 1; font-size: .74rem; color: #526577; }
.ac-symptom-list { list-style: none; margin: 0; padding: 0 8px; display: flex; flex-direction: column; gap: 10px; }
.ac-symptom-list li { display: flex; align-items: center; gap: 10px; font-size: 1.02rem; line-height: 1.7; color: var(--text-dark); word-break: keep-all; }
/* 체크박스 모양: 둥근 사각 테두리 안에 체크 (02 체크리스트의 .ac-check-box 와 같은 계열, 작게) */
.ac-symptom-list i { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; border: 1.5px solid var(--primary); border-radius: 4px; background: transparent; color: var(--primary); font-size: .8rem; }

/* 치료 — Point 패널 5개 세로 쌓기(레퍼런스: 연한 상자 안 라벨·제목·설명 + 사진). 1번부터 사진|글, 짝수 패널은 글|사진으로 번갈아 */
.ac-points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 24px; }
.ac-point { display: grid; grid-template-columns: minmax(0, 44%) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); align-items: center; padding: 40px 48px; border-radius: 28px; background: linear-gradient(135deg, #F7F9FC, #EEF3F8); }
.ac-point .ac-point-text { order: 2; }   /* 홀수(1·3·5): 사진|글 */
.ac-point:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(0, 44%); }
.ac-point:nth-child(even) .ac-point-text { order: 0; }   /* 짝수(2·4): 글|사진 */
.ac-point-text { padding: 8px 0; }
.ac-point-pill { display: inline-flex; align-items: center; margin-bottom: 26px; padding: 6px 14px; border-radius: 999px; background: #10233F; color: #fff; font-family: 'Montserrat', sans-serif; font-size: .78rem; font-weight: 600; letter-spacing: .04em; }
.ac-point-title { margin: 0 0 16px; font-size: clamp(1.4rem, 1.9vw, 1.8rem); font-weight: 700; letter-spacing: -.03em; line-height: 1.35; color: #10233F; word-break: keep-all; }
/* Point 제목에 본문 굵은 글자(.di-p strong)와 같은 굵은 펜 밑줄 띠 — 글자 폭만큼만 */
.ac-point-title span { display: inline; padding: 0 .08em; background-image: linear-gradient(transparent 58%, rgba(79, 179, 189, .32) 58%, rgba(79, 179, 189, .32) 94%, transparent 94%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.ac-point .di-p { margin: 0; max-width: 520px; }
.ac-point .di-split-photo { aspect-ratio: 16 / 9; border-radius: 20px; }
.ac-point .hd-photo-pending { background: #fff; border: 1px solid #E3EAF1; }   /* 연한 상자 위라 준비 중 자리는 흰색으로 구분 */

/* 후유증 이유 페이지 — 공통 톤 안에서 도입·시간 흐름·마무리의 위계 구분 */
.cs-page .di-h2 em { font-style: normal; color: var(--primary); }
.cs-intro-grid { grid-template-areas: 'heading photo' 'body photo'; row-gap: 24px; }
.cs-intro-head { grid-area: heading; align-self: end; }
.cs-intro-body { grid-area: body; align-self: start; }
.cs-intro-grid > .di-split-photo { grid-area: photo; }
.cs-intro-head .hd-lead { margin-bottom: 0; }
.cs-why .ac-timeline h3 { min-height: 44px; display: flex; align-items: center; justify-content: center; }
.cs-why .cs-step-key h3 { font-size: clamp(1.65rem, 2.5vw, 2.15rem); font-weight: 700; color: #BFEAF1; letter-spacing: -.04em; }
.cs-why .cs-step-key .ac-step-no { background: #BFEAF1; }
.cs-why .cs-step-care h3 { color: #BFEAF1; }
.cs-why .cs-step-care p { padding-top: 14px; border-top: 1px solid rgba(191, 234, 241, .35); }
.cs-chronic .di-card { padding: 28px 26px 32px; }
.cs-chronic .di-card-no { margin-bottom: 18px; font-size: 1.15rem; letter-spacing: .02em; }
.cs-chronic .di-card h3 { font-size: 1.3rem; }
/* 연결 상자의 버튼 2개(체크리스트·치료 방법) */
.cs-line-btns { flex: none; display: flex; flex-direction: column; gap: 10px; }
.cs-line-btns .di-btn { justify-content: space-between; }

/* 치료 방법 페이지(.tm-*) */
.tm-page .di-h2 em { font-style: normal; color: var(--primary); }
/* 01 도입·사진 아래 치료별 상세 설명 */
.tm-rows { margin: 40px 0 0; padding: 36px 8px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #F2F6F8; border-radius: 24px; }
.tm-rows > div { min-width: 0; padding: 0 28px; }
.tm-rows > div + div { border-left: 1px solid #D4E0E8; }
.tm-rows dt { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; font-size: 1.75rem; font-weight: 700; letter-spacing: -.03em; color: #10233F; }
.tm-treatment-icon { flex: none; width: 46px; height: 46px; stroke: #356785; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.tm-rows dd { margin: 0; word-break: keep-all; }
.tm-treatment-summary { min-height: 3.3em; margin: 0 0 14px; font-size: 1.05rem; line-height: 1.65; font-weight: 600; color: var(--primary); }
.tm-treatment-desc { margin: 0; font-size: .98rem; line-height: 1.85; color: var(--text-mid); }
.tm-treatment-desc + .tm-treatment-desc { margin-top: 12px; }
/* 02 제목은 흰 바탕, 치료별 남색 헤더와 밝은 상세 영역 */
.tm-physio .di-ch-head { max-width: 760px; }
.tm-duo { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.tm-duo > li { min-width: 0; display: flex; flex-direction: column; border: 1px solid #D9E3EB; border-radius: 24px; overflow: hidden; background: #F8FAFC; }
.tm-duo-head { padding: 28px 32px; background: #133650; color: #fff; }
.tm-duo h3 { margin: 0 0 8px; font-size: 1.6rem; font-weight: 700; letter-spacing: -.02em; color: #fff; }
.tm-duo-name { margin: 0; font-size: 1.05rem; font-weight: 500; color: #D8E8F1; }
.tm-duo-name small { display: block; margin-top: 4px; font-size: .78rem; font-weight: 400; line-height: 1.5; color: #B9CCD9; }
.tm-duo-body { flex: 1; display: flex; flex-direction: column; padding: 28px 32px; }
.tm-detail-label { margin: 0 0 10px; font-size: .85rem; font-weight: 600; color: #526D82; }
.tm-duo-desc { margin: 0 0 28px; min-height: 3.5em; font-size: 1rem; line-height: 1.75; color: #35495B; word-break: keep-all; }
.tm-effects { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.tm-effects li { display: flex; align-items: flex-start; gap: 10px; font-size: .98rem; line-height: 1.7; color: #526577; word-break: keep-all; }
.tm-effects i { flex: none; margin-top: .35em; font-size: .85rem; color: var(--primary); }
.tm-effects strong { display: block; color: #10233F; font-weight: 600; }
.tm-duo-for { margin: auto 0 0; padding-top: 20px; border-top: 1px solid #D9E3EB; font-size: .95rem; line-height: 1.7; color: #35495B; word-break: keep-all; }
.tm-duo-for strong { display: block; margin-bottom: 6px; font-size: .85rem; color: #526D82; font-weight: 600; }
.tm-band-note { max-width: 760px; margin: 28px auto 0; text-align: center; font-size: .98rem; line-height: 1.8; color: #526577; word-break: keep-all; }
.tm-pharm .bs-features { gap: 12px; margin-top: 24px; }
.tm-pharm .bs-features i { display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; border: 1.5px solid var(--primary); border-radius: 4px; color: var(--primary); font-size: .8rem; }
/* 04 보조 흐름은 낮은 높이로 정리 */
.tm-herb .ac-flow { margin-top: 32px; }
.tm-herb .ac-flow li { flex-direction: row; gap: 16px; padding: 22px 24px; border-radius: 12px; text-align: left; }
.tm-herb .ac-flow-no { flex: none; font-size: .95rem; }
.tm-herb .ac-flow p { font-size: .98rem; }

/* 야간진료 — 운영시간을 먼저 읽을 수 있도록 구성 */
.ac-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 42%); gap: clamp(32px, 4vw, 56px); align-items: center; padding: 48px; border-radius: 28px; background: #F5F7FA; }
.ac-panel .di-h2 { margin-bottom: 24px; }
.ac-panel .di-split-photo { border-radius: 20px; }
.ac-hours { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 0 0 28px; padding: 22px 0; border-top: 1px solid #CCDCE6; border-bottom: 1px solid #CCDCE6; }
.ac-hours dt { margin-bottom: 8px; color: #526577; font-size: .9rem; }
.ac-hours dd { margin: 0; color: var(--primary); font-size: 1rem; white-space: nowrap; }
.ac-hours dd strong { margin: 0 3px; font-family: 'Montserrat', sans-serif; font-size: 2.8rem; font-weight: 600; line-height: 1.1; }
.ac-quote { margin: 24px 0 0; padding-left: 18px; border-left: 2px solid var(--primary); font-size: 1.05rem; font-weight: 600; line-height: 1.7; color: var(--primary); word-break: keep-all; }

@media (max-width: 1199px) {
    .ac-check-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ac-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
    .ac-timeline.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ac-timeline::before { display: none; }
    .ac-symptom-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
    .ac-point, .ac-point:nth-child(even) { grid-template-columns: 1fr; }
    .ac-point .ac-point-text, .ac-point:nth-child(even) .ac-point-text { order: 0; }   /* 한 열이면 글 먼저 */
    .ac-point .di-split-photo { width: 100%; max-width: 560px; }
    .ac-panel { grid-template-columns: 1fr; }
    .ac-panel .di-split-photo { width: 100%; max-width: 560px; margin-inline: auto; }
}
@media (max-width: 1023px) {
    .tm-rows { grid-template-columns: 1fr; padding: 8px 28px; }
    .tm-rows > div { padding: 28px 0; }
    .tm-rows > div + div { border-left: 0; border-top: 1px solid #D4E0E8; }
    .tm-treatment-summary { min-height: 0; margin-bottom: 18px; }
    .cs-intro-grid { grid-template-areas: 'heading' 'photo' 'body'; gap: 28px; }
    .ac-check-grid { gap: 28px; }
    .ac-band { padding: 44px 32px; }
    .ac-flow { gap: 20px; }
    .ac-point { padding: 32px; gap: 28px; }
    .ac-panel { padding: 40px 32px; }
}
@media (max-width: 767px) {
    #ac-t2 { scroll-margin-top: 90px; }
    .cs-page .hd-factor-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cs-page .hd-factor-list li { justify-content: center; }
    .cs-why .ac-timeline h3 { min-height: 0; justify-content: flex-start; }
    .cs-why .cs-step-key h3 { font-size: 1.5rem; margin-top: 0; }
    .cs-chronic .di-card { padding: 24px 0; grid-template-columns: 28px minmax(0, 1fr); gap: 0 14px; }
    .cs-chronic .di-card-no { font-size: 1rem; margin: 4px 0 0; }
    .cs-chronic .di-card h3 { font-size: 1.15rem; }
    .ac-page .hd-photo-pending { padding: 20px; }
    .ac-check-list { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .ac-check-list li { flex-direction: row; align-items: center; gap: 12px; padding: 14px; font-size: .98rem; }
    .ac-check-box { width: 30px; height: 30px; }
    .ac-band { padding: 32px 24px; border-radius: 20px; }
    .ac-band-head { text-align: left; margin-bottom: 28px; }
    .ac-band-sub { font-size: .97rem; }
    .ac-band-sub br { display: none; }
    .ac-band-question { font-size: .95rem; }
    .ac-timeline, .ac-timeline.is-3 { grid-template-columns: 1fr; gap: 24px; text-align: left; }
    .tm-rows { margin-top: 28px; padding: 4px 24px; border-radius: 20px; }
    .tm-rows dt { margin-bottom: 14px; font-size: 1.5rem; }
    .tm-treatment-icon { width: 40px; height: 40px; }
    .tm-treatment-summary { font-size: 1rem; }
    .tm-duo { grid-template-columns: 1fr; gap: 24px; }
    .tm-duo > li { border-radius: 20px; }
    .tm-duo-head { padding: 24px; }
    .tm-duo-body { padding: 24px; }
    .tm-duo-desc { min-height: 0; margin-bottom: 24px; }
    .tm-effects { gap: 12px; }
    .tm-band-note { margin-top: 24px; text-align: left; }
    .tm-herb .ac-flow li { padding: 18px 20px; }
    .tm-herb .ac-flow { margin-top: 28px; }
    .cs-line-btns { width: 100%; }
    .ac-timeline li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 6px 14px; }
    .ac-timeline li:not(:last-child)::before { content: ''; position: absolute; left: 17px; top: 40px; bottom: -18px; width: 1px; background: rgba(255,255,255,.25); }
    .ac-step-no { --ac-ripple-scale: 1.65; grid-column: 1; grid-row: 1 / 3; width: 34px; height: 34px; margin: 0; font-size: .76rem; }
    .ac-timeline h3 { grid-column: 2; margin: 3px 0 0; font-size: 1.05rem; }
    .ac-timeline p { grid-column: 2; max-width: none; margin: 0; font-size: .95rem; line-height: 1.75; }
    .ac-flow { grid-template-columns: 1fr; gap: 18px; }
    .ac-flow li { flex-direction: row; text-align: left; padding: 24px; gap: 20px; }
    .ac-flow li + li::before { left: 50%; top: -15px; transform: translateX(-50%) rotate(135deg); }
    .ac-flow-no { flex: none; }
    /* 모바일: 사진(2:1) 위 분류명, 항목은 가로로 흘러 감싸기(세로로 22줄 늘어지지 않게) */
    .ac-symptom-cards { grid-template-columns: 1fr; gap: 28px; }
    .ac-symptom-photo { aspect-ratio: 16 / 7; margin-bottom: 14px; border-radius: 16px; }
    .ac-symptom-title { padding: 0 18px 16px; font-size: 1.15rem; }
    .ac-symptom-photo small { left: 18px; top: 14px; }
    .ac-symptom-list { padding: 0 4px; flex-direction: row; flex-wrap: wrap; gap: 8px 18px; }
    .ac-symptom-list li { gap: 8px; font-size: .98rem; line-height: 1.5; }
    .ac-symptom-list i { width: 17px; height: 17px; font-size: .72rem; }
    .ac-points { gap: 16px; }
    .ac-point { padding: 24px 20px; border-radius: 20px; gap: 20px; }
    .ac-point-pill { margin-bottom: 16px; }
    .ac-point-title { font-size: 1.3rem; margin-bottom: 10px; }
    .ac-panel { padding: 28px 24px; border-radius: 20px; }
    .ac-hours { gap: 16px; }
    .ac-hours dd { font-size: .9rem; }
    .ac-hours dd strong { font-size: 2.2rem; }
    .ac-quote { padding-left: 14px; font-size: 1rem; }
}
@media (max-width: 359px) {
    .ac-hours { grid-template-columns: 1fr; }
}
