/* p74 — 카마스터 주말 상담 안내 : 시간대+비교표형 / F10 Oswald+IBM Plex Sans KR / HD4 / HR(상단텍스트+하단와이드배너, 프로필 좌하단 고정) / CT7 / FT3 */
:root {
  --accent: #334155;
  --accent-text: #1E2A3B;
  --bg: #F5F7FA;
  --ink: #1A2431;
  --font-display: "Oswald", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: "IBM Plex Sans KR", -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;
  --footer-bg: #131A24;
  --footer-text: #C7D0DC;
}

/* HD4 : 좌 로고타입 + 우 CTA링크 1개(메뉴는 햄버거) */
.site-header { border-bottom: 1px solid #DEE3EA; background: #fff; }
.hd4-inner { display: flex; align-items: center; justify-content: space-between; height: 72px; position: relative; }
.logotype { font-family: var(--font-display); font-weight: 700; letter-spacing: .02em; font-size: 17px; text-decoration: none; color: var(--accent-text); }
.hd4-right { display: flex; align-items: center; gap: 14px; }
.hd4-cta { text-decoration: none; font-size: 14px; font-weight: 700; color: #fff; background: var(--accent); padding: 9px 16px; border-radius: 6px; }
.hamburger summary { list-style: none; cursor: pointer; display: flex; flex-direction: column; gap: 4px; width: 22px; }
.hamburger summary::-webkit-details-marker { display: none; }
.hamburger summary span { display: block; height: 2px; background: var(--accent-text); border-radius: 2px; }
.hamburger nav { position: absolute; right: 0; top: 100%; background: #fff; border: 1px solid #DEE3EA; border-radius: 8px; padding: 10px; box-shadow: 0 14px 30px -18px rgba(26,36,49,.3); min-width: 190px; }
.hamburger nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.hamburger nav a { text-decoration: none; font-size: 14px; font-weight: 600; display: block; padding: 6px 8px; }
.hamburger nav a:hover { color: var(--accent-text); }

/* 히어로 : 상단 텍스트 + 하단 와이드 배너 이미지(장식), 프로필 좌측하단 고정 */
.hero { padding-block: clamp(44px, 8vw, 80px) 0; background: #fff; }
.hero-copy { text-align: center; max-width: 70ch; margin: 0 auto 28px; }
.hero-copy h1 { font-family: var(--font-display); letter-spacing: .01em; font-size: clamp(26px, 4.2vw, 40px); color: var(--accent-text); }
.hero-lede { font-size: 16.5px; color: #384456; }
.hero-banner { position: relative; }
.hero-banner-img { width: 100%; aspect-ratio: 16/6; object-fit: cover; display: block; }
.hero-visual { position: absolute; left: clamp(12px, 4vw, 32px); bottom: -46px; }
.hero-visual img { width: 92px; height: 92px; border-radius: 50%; object-fit: cover; border: 4px solid #fff; box-shadow: 0 10px 24px -12px rgba(26,36,49,.4); }
.hero-spacer { height: 62px; }

.body-table-wrap { overflow-x: auto; margin: 22px 0; }

/* 주말 시간대 카드 */
.hours-grid { display: grid; gap: 14px; grid-template-columns: 1fr; margin-top: 20px; }
@media (min-width: 640px) { .hours-grid { grid-template-columns: 1fr 1fr; } }
.hours-card { border: 1px solid #DEE3EA; border-radius: 10px; padding: 18px 20px; background: #fff; }
.hours-card h3 { margin: 0 0 6px; font-size: 16px; color: var(--accent-text); }
.hours-card p { margin: 0; font-size: 14.5px; color: #384456; }

/* FAQ 아코디언 */
.faq-item { border: 1px solid #DEE3EA; border-radius: 10px; background: #fff; margin-bottom: 12px; }
.faq-item summary { list-style: none; cursor: pointer; padding: 16px 20px; font-weight: 700; font-size: 15.5px; color: var(--ink); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; float: right; color: var(--accent-text); font-weight: 700; }
.faq-item[open] summary::after { content: "−"; }
.faq-item p { padding: 0 20px 18px; margin: 0; font-size: 14.5px; color: #384456; }

/* CT7 : 아웃라인 보더박스 + 버튼 3개, 배경 투명 */
.cta.ct7 { padding-block: clamp(40px, 6vw, 64px); }
.ct7-box { max-width: 680px; margin: 0 auto; border: 2px solid var(--accent); border-radius: 16px; padding: clamp(28px, 5vw, 40px); text-align: center; }
.ct7-box h2 { font-size: clamp(20px, 2.6vw, 26px); color: var(--accent-text); }
.cta-buttons--center { justify-content: center; }

/* FT3 : 중앙정렬 1단 세로스택 */
.footer-grid { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; }
.footer-links { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.footer-links p { margin: 0; }
