/* ============================================================
 * 23-typography.css — 프리미엄 타이포그래피 시스템 (Phase D2)
 * 강한 위계 · 디스플레이 헤드라인 · 오버라인 라벨 · tabular 숫자
 * ============================================================ */

:root {
	/* 행간 */
	--gab-leading-display: 1.04;
	--gab-leading-tight: 1.1;
	--gab-leading-snug: 1.24;
	--gab-leading-normal: 1.5;
	--gab-leading-relaxed: 1.68;
	/* 자간 */
	--gab-track-display: -0.032em;
	--gab-track-tight: -0.02em;
	--gab-track-snug: -0.012em;
	--gab-track-normal: -0.003em;
	--gab-track-wide: 0.02em;
	--gab-track-overline: 0.1em;
	/* 디스플레이 크기 */
	--gab-text-display: clamp(40px, 7vw, 64px);
}

/* ===== 본문 가독성 ===== */
body {
	font-size: 15px;
	line-height: var(--gab-leading-relaxed);
	letter-spacing: var(--gab-track-normal);
	color: var(--gab-gray-800);
	font-feature-settings: "tnum" 0, "kern" 1, "liga" 1;
	text-rendering: optimizeLegibility;
}

/* ===== 헤드라인 위계 (강한 대비) ===== */
h1 {
	font-weight: 800;
	line-height: var(--gab-leading-tight);
	letter-spacing: var(--gab-track-display);
	color: var(--gab-gray-900);
}
h2 {
	font-weight: 800;
	line-height: var(--gab-leading-snug);
	letter-spacing: var(--gab-track-tight);
	color: var(--gab-gray-900);
}
h3 {
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: var(--gab-track-tight);
	color: var(--gab-gray-900);
}
h4 {
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: var(--gab-track-snug);
	color: var(--gab-gray-900);
}
h5, h6 { font-weight: 700; letter-spacing: var(--gab-track-snug); color: var(--gab-gray-900); }

/* ===== 디스플레이 (히어로 대형 제목) ===== */
.gab-display {
	font-size: var(--gab-text-display);
	font-weight: 800;
	line-height: var(--gab-leading-display);
	letter-spacing: var(--gab-track-display);
	color: var(--gab-gray-900);
}

/* ===== 오버라인 / 아이브로우 (프리미엄 시그니처 라벨) ===== */
.gab-overline {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: var(--gab-track-overline);
	text-transform: uppercase;
	color: var(--gab-bronze-600);
	line-height: 1;
}
.gab-eyebrow {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--gab-gray-400);
	line-height: 1;
}
/* 브론즈 구분 라인 + 오버라인 조합 */
.gab-overline--rule { position: relative; padding-left: 34px; }
.gab-overline--rule::before {
	content: ''; position: absolute; left: 0; top: 50%; width: 26px; height: 1.5px;
	background: var(--gab-bronze-500); transform: translateY(-50%);
}
[dir="rtl"] .gab-overline--rule { padding-left: 0; padding-right: 34px; }
[dir="rtl"] .gab-overline--rule::before { left: auto; right: 0; }

/* ===== 리드 / 서브 텍스트 ===== */
.gab-lead {
	font-size: clamp(16px, 2vw, 19px);
	line-height: 1.55;
	color: var(--gab-gray-600);
	font-weight: 400;
	letter-spacing: -0.008em;
}

/* ===== 캡션 / 메타 ===== */
.gab-caption { font-size: 12px; line-height: 1.45; color: var(--gab-gray-500); letter-spacing: 0; }

/* ===== 숫자 — tabular (가격/스펙/통계 정렬) ===== */
.gab-num,
.gab-car-card-price, .gab-car-card-price-now, .gab-detail-price, .gab-price,
.gab-stat-value, .gab-astat-value, .gab-kpi-value, .gab-dms-stat-value,
.gab-mbar-price, .gab-list-count strong, .gab-rslider-vmin, .gab-rslider-vmax,
.gab-car-card-specs, .gab-detail-spec-value {
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum" 1, "lnum" 1;
}

/* 가격 강조 (타이트 + 무겁게) */
.gab-car-card-price-now, .gab-price-now, .gab-detail-price {
	font-weight: 800;
	letter-spacing: -0.02em;
}

/* ===== 링크 ===== */
a { text-underline-offset: 0.18em; text-decoration-thickness: 1.5px; }

/* ===== 아랍어: 자간 0 (가독성) ===== */
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, [dir="rtl"] h4,
[dir="rtl"] .gab-display, [dir="rtl"] .gab-lead, [dir="rtl"] body { letter-spacing: 0; }
[dir="rtl"] .gab-overline, [dir="rtl"] .gab-eyebrow { letter-spacing: 0.04em; }

/* ===== 기존 컴포넌트 타이포 강화 ===== */
/* 차량 카드 브랜드 → 아이브로우 라벨 (프리미엄) */
.gab-car-card-brand {
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	color: var(--gab-gray-400) !important;
}
/* 차량 카드 제목 → 타이트 위계 */
.gab-car-card-title { letter-spacing: -0.015em; }
/* 섹션 부제 → 리드 톤 */
.gab-reco-sub, .gab-section-sub { color: var(--gab-gray-500); letter-spacing: -0.005em; }

/* ============================================================
 * Phase D3: 간격·레이아웃 — 넉넉한 화이트스페이스 (고급의 핵심)
 * ============================================================ */
:root {
	--gab-space-14: 56px;
	--gab-space-16: 64px;
	--gab-space-20: 80px;
	--gab-space-24: 96px;
	--gab-space-28: 112px;
	--gab-space-32: 128px;
	/* 섹션 리듬 (반응형) */
	--gab-section-y: clamp(52px, 8.5vw, 112px);
	--gab-section-y-tight: clamp(40px, 6vw, 76px);
}

/* ===== 섹션 리듬 — 더 넉넉하게 ===== */
.gab-section { padding-top: var(--gab-section-y); padding-bottom: var(--gab-section-y); }
.gab-section-tight { padding-top: var(--gab-section-y-tight); padding-bottom: var(--gab-section-y-tight); }
.gab-section-header { margin-bottom: clamp(30px, 4vw, 52px); }
.gab-section-header h2, .gab-section-title { margin-bottom: 12px; line-height: 1.18; }
.gab-section-sub, .gab-reco-sub, .gab-section-desc { margin-top: 4px; max-width: 58ch; line-height: 1.6; }

/* ===== 컨테이너 — 콘텐츠 집중 폭(1320) + 여유 패딩 ===== */
.gab-container { max-width: 1320px; padding-left: clamp(20px, 5vw, 44px); padding-right: clamp(20px, 5vw, 44px); }
.gab-container-narrow { max-width: 1080px; margin-left: auto; margin-right: auto; }
.gab-container-wide { max-width: 1440px; }

/* ===== 데스크탑: 컴포넌트 화이트스페이스 확대 (모바일 튜닝 유지) ===== */
@media (min-width: 769px) {
	.gab-cars-grid, .gab-cars-grid-3 { gap: clamp(20px, 2vw, 30px); }
	.gab-car-card-body { padding: clamp(18px, 1.6vw, 24px); }
	.gab-reco-grid { gap: clamp(20px, 2vw, 30px); }
	/* 추천 섹션 상단 여백 */
	.gab-reco-section { margin-bottom: clamp(40px, 5vw, 72px); }
	/* 상세 페이지 2열 간격 */
	.gab-detail-layout { gap: clamp(32px, 4vw, 56px); }
}

/* ===== 리스트 결과 상단 여백 ===== */
.gab-list-toolbar { margin-bottom: clamp(16px, 2vw, 24px); }

/* ============================================================
 * Phase D4: 버튼 · 폼 프리미엄 정제
 * ============================================================ */
/* ----- 버튼 베이스 (자간 타이트 + 라운딩 정제 + 포커스 링 + 상태) ----- */
.gab-btn { font-weight: 700; letter-spacing: -0.01em; border-radius: 11px; }
.gab-btn:focus-visible { outline: 2px solid var(--gab-primary-500); outline-offset: 2px; }
.gab-btn:active { transform: translateY(0) scale(.985); }
.gab-btn:disabled, .gab-btn[disabled], .gab-btn.is-disabled { opacity: .5; cursor: not-allowed; transform: none !important; box-shadow: none !important; filter: none !important; }

/* Primary — 절제된 hover (밝기 필터 제거, 의도적 lift) */
.gab-btn--primary { box-shadow: 0 6px 18px -8px rgba(26, 26, 26, .5); }
.gab-btn--primary:hover { filter: none; transform: translateY(-2px); box-shadow: 0 14px 34px -10px rgba(26, 26, 26, .58); }

/* Accent (브론즈) — 메탈릭 프리미엄 */
.gab-btn--accent { background: var(--gab-bronze-500); box-shadow: 0 6px 18px -8px rgba(156, 122, 69, .45); }
.gab-btn--accent:hover { background: var(--gab-bronze-600); transform: translateY(-2px); box-shadow: 0 14px 32px -10px rgba(156, 122, 69, .52); }

/* Outline — 뉴트럴 보더 + 네이비 hover */
.gab-btn--outline { background: #fff; color: var(--gab-primary-700); border-color: var(--gab-gray-300); }
.gab-btn--outline:hover { background: var(--gab-gray-50); border-color: var(--gab-primary-600); color: var(--gab-primary-700); }

/* Ghost / Text */
.gab-btn--ghost { color: var(--gab-gray-700); }
.gab-btn--ghost:hover { background: var(--gab-gray-100); }
.gab-btn--text { background: none; border-color: transparent; color: var(--gab-primary-600); }
.gab-btn--text:hover { color: var(--gab-primary-700); text-decoration: underline; text-underline-offset: 4px; background: none; }

/* ----- 폼 필드 정제 ----- */
.gab-field__input, .gab-input,
input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], input[type="number"], input[type="search"],
input[type="url"], input[type="date"], textarea, select {
	border-radius: 11px;
}
.gab-field__input { background: #fff; border-color: var(--gab-gray-200); }
.gab-field__input:hover:not(:focus) { border-color: var(--gab-gray-300); }
.gab-field__input:focus { border-color: var(--gab-primary-500); box-shadow: 0 0 0 4px color-mix(in srgb, var(--gab-primary-500) 13%, transparent); }
textarea { padding: 12px 14px; line-height: 1.6; resize: vertical; }

/* 셀렉트 — 커스텀 화살표 */
select.gab-field__input, select.gab-input {
	appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B6A62' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px;
}
[dir="rtl"] select.gab-field__input, [dir="rtl"] select.gab-input { background-position: left 14px center; padding-right: 14px; padding-left: 38px; }

/* ----- 커스텀 체크박스 / 라디오 ----- */
.gab-check, .gab-radio { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.gab-check > input, .gab-radio > input { position: absolute; opacity: 0; width: 0; height: 0; }
.gab-check-mark { width: 22px; height: 22px; border: 2px solid var(--gab-gray-300); border-radius: 7px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 13px; transition: all .18s; }
.gab-check-mark::after { content: '\2713'; font-weight: 900; opacity: 0; transform: scale(.5); transition: all .18s; }
.gab-check > input:checked + .gab-check-mark { background: var(--gab-primary-600); border-color: var(--gab-primary-600); }
.gab-check > input:checked + .gab-check-mark::after { opacity: 1; transform: scale(1); }
.gab-check > input:focus-visible + .gab-check-mark { outline: 2px solid var(--gab-primary-500); outline-offset: 2px; }
.gab-radio-mark { width: 22px; height: 22px; border: 2px solid var(--gab-gray-300); border-radius: 50%; flex-shrink: 0; position: relative; transition: all .18s; }
.gab-radio-mark::after { content: ''; position: absolute; inset: 4px; border-radius: 50%; background: #fff; opacity: 0; transform: scale(.5); transition: all .18s; }
.gab-radio > input:checked + .gab-radio-mark { background: var(--gab-primary-600); border-color: var(--gab-primary-600); }
.gab-radio > input:checked + .gab-radio-mark::after { opacity: 1; transform: scale(1); }

/* ============================================================
 * Phase D5: 카드 · 서피스 프리미엄 (매물 카드 = 주인공)
 * ============================================================ */
/* 엘리베이션 시스템 (네이비 틴트 — 슬레이트 대비 고급) */
:root {
	--gab-elev-1: 0 1px 2px rgba(26, 26, 26, .05), 0 1px 3px rgba(26, 26, 26, .06);
	--gab-elev-2: 0 4px 12px -2px rgba(26, 26, 26, .09), 0 2px 6px -2px rgba(26, 26, 26, .06);
	--gab-elev-3: 0 12px 28px -8px rgba(26, 26, 26, .14), 0 6px 12px -6px rgba(26, 26, 26, .08);
	--gab-elev-4: 0 26px 50px -14px rgba(26, 26, 26, .2), 0 10px 18px -10px rgba(26, 26, 26, .1);
}

/* ----- 차량 카드 재설계 ----- */
.gab-car-card {
	border-radius: 14px;
	border-color: var(--gab-gray-200);
	box-shadow: var(--gab-elev-1);
	transition: transform .32s cubic-bezier(.2, .7, .2, 1), box-shadow .32s cubic-bezier(.2, .7, .2, 1), border-color .2s;
}
.gab-car-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--gab-elev-4);
	border-color: color-mix(in srgb, var(--gab-primary-300) 60%, transparent);
}
.gab-car-card:hover .gab-car-card-image img { transform: scale(1.06); }
.gab-car-card-image img { transition: transform .65s cubic-bezier(.2, .7, .2, 1); }

/* ----- 배지 — 프리미엄 (브론즈 인증) ----- */
.gab-car-badge {
	border-radius: 7px; padding: 5px 11px; font-size: 10.5px; font-weight: 800;
	letter-spacing: .03em; text-transform: uppercase; line-height: 1;
	box-shadow: 0 2px 8px rgba(26, 26, 26, .18);
}
/* GUARANTEE/인증 = 브론즈 그라데이션 */
.gab-car-badge--guarantee, .gab-car-badge[data-type="guarantee"] {
	background: linear-gradient(135deg, var(--gab-bronze-400), var(--gab-bronze-600)) !important;
	color: #fff !important;
}
.gab-car-badge--new { background: var(--gab-primary-600) !important; color: #fff !important; }
.gab-car-badge--hot { background: var(--gab-danger) !important; color: #fff !important; }

/* 찜 버튼 정제 */
.gab-car-card-fav {
	width: 40px; height: 40px; border-radius: 50%;
	background: rgba(255, 255, 255, .9); backdrop-filter: blur(6px);
	box-shadow: 0 2px 10px rgba(26, 26, 26, .14); transition: all .2s;
}
.gab-car-card-fav:hover { background: #fff; transform: scale(1.08); }

/* ----- 가격 강조 ----- */
.gab-car-card-price-row { border-top-color: var(--gab-gray-100); padding-top: 14px; }
.gab-car-card-price-label { letter-spacing: .06em; color: var(--gab-bronze-600); }
.gab-car-card-price-value { letter-spacing: -.025em; font-variant-numeric: tabular-nums; color: var(--gab-gray-900); }

/* ----- 스펙 구분 ----- */
.gab-car-card-specs { color: var(--gab-gray-500); }
.gab-car-card-spec-divider { background: var(--gab-gray-300); }

/* ----- 일반 서피스 카드 (브랜드/통계 등) 정제 ----- */
.gab-brand-card, .gab-stat-card, .gab-surface-card {
	border-radius: 14px; border: 1px solid var(--gab-gray-200); box-shadow: var(--gab-elev-1);
	transition: transform .28s, box-shadow .28s, border-color .2s;
}
.gab-brand-card:hover { transform: translateY(-4px); box-shadow: var(--gab-elev-3); border-color: var(--gab-primary-200); }

/* ============================================================
 * Phase D6: 네비게이션 — 헤더 · 네비 · 푸터 프리미엄
 * ============================================================ */
/* ----- 헤더 ----- */
.gab-site-header { background: rgba(247, 247, 244, .82); backdrop-filter: saturate(180%) blur(14px); -webkit-backdrop-filter: saturate(180%) blur(14px); border-bottom: 1px solid var(--gab-gray-200); transition: box-shadow .25s, background .25s; }
.gab-site-header.is-scrolled, body.gab-scrolled .gab-site-header { box-shadow: 0 4px 20px -8px rgba(26, 26, 26, .12); background: rgba(247, 247, 244, .94); }
/* 로고 아이콘 — 라운딩/그림자 정제 */
.gab-logo-icon { border-radius: 12px; box-shadow: 0 6px 16px -6px rgba(26, 26, 26, .4); }
.gab-logo-name { letter-spacing: -.02em; }
.gab-logo-name .accent { color: var(--gab-bronze-500); }
.gab-logo-tagline { letter-spacing: .12em; color: var(--gab-gray-400); }

/* ----- 네비 아이템 — hover/active (브론즈 언더라인) ----- */
.gab-nav-item { position: relative; font-weight: 700; letter-spacing: -.01em; color: var(--gab-gray-700); transition: color .18s; }
.gab-nav-item::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: -2px; height: 2px; background: var(--gab-bronze-500); border-radius: 2px; transform: scaleX(0); transform-origin: center; transition: transform .22s cubic-bezier(.2, .7, .2, 1); }
.gab-nav-item:hover { color: var(--gab-primary-700); }
.gab-nav-item:hover::after { transform: scaleX(.6); }
.gab-nav-item.is-active { color: var(--gab-primary-700); }
.gab-nav-item.is-active::after { transform: scaleX(1); }
.gab-nav-badge { background: var(--gab-danger); color: #fff; font-size: 9px; font-weight: 800; padding: 2px 6px; border-radius: 999px; letter-spacing: .04em; vertical-align: middle; }

/* ----- 상단 띠 ----- */
.gab-top-bar { background: var(--gab-navy-900); }

/* ----- 푸터 — 딥 네이비 + 브론즈 액센트 ----- */
.gab-site-footer, .gab-footer { background: linear-gradient(160deg, var(--gab-navy-800), var(--gab-navy-950)) !important; }
.gab-footer a:hover, .gab-site-footer a:hover { color: var(--gab-bronze-300) !important; }
.gab-footer-heading, .gab-footer h4 { color: #fff; letter-spacing: -.01em; }
.gab-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .08); }

/* ----- 모바일 탭바 활성 — 브론즈 강조 ----- */
.gab-tabbar-item.is-active .gab-tabbar-ico, .gab-tabbar-item.is-active { color: var(--gab-primary-600); }

/* ============================================================
 * Phase D7: SVG · 아이콘 · 로고
 * ============================================================ */
/* 로고 SVG 마크 */
.gab-logo-svg { width: 27px; height: 27px; display: block; }
.gab-logo-icon { overflow: hidden; }

/* 빈 상태 일러스트 */
.gab-empty-illust { margin: 0 auto 10px; width: 140px; max-width: 60%; }
.gab-empty-illust svg { width: 100%; height: auto; display: block; }
.gab-empty { text-align: center; padding: clamp(40px, 7vw, 72px) 20px; }
.gab-empty-title { margin: 4px 0 8px; }
.gab-empty-desc { color: var(--gab-gray-500); max-width: 36ch; margin-left: auto; margin-right: auto; }

/* 아이콘 정렬 일관성 */
.bi { vertical-align: -0.075em; }

/* 브랜드 패턴 (장식용 — 미묘한 도트 그리드) */
.gab-brand-pattern { background-image: radial-gradient(circle, rgba(26, 39, 73, .05) 1px, transparent 1px); background-size: 22px 22px; }
/* 브론즈 헤어라인 (섹션 구분 장식) */
.gab-hairline { height: 1px; background: linear-gradient(90deg, transparent, var(--gab-bronze-400), transparent); border: 0; opacity: .5; }

/* ============================================================
 * Phase D8: 이미지 · 히어로
 * ============================================================ */
/* ----- 히어로 타이포/배지 정제 ----- */
.gab-hero-title { letter-spacing: -.032em; font-weight: 800; }
.gab-hero-title .accent { background: linear-gradient(110deg, var(--gab-bronze-300), var(--gab-bronze-500)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.gab-hero-badge { color: var(--gab-bronze-300); border-color: rgba(203, 170, 120, .3); background: rgba(203, 170, 120, .1); }
.gab-hero-badge i { color: var(--gab-bronze-400); }
.gab-hero-subtitle { color: rgba(255, 255, 255, .82); letter-spacing: -.008em; }

/* ----- 이미지 오버레이 (텍스트 가독성 + 무드) ----- */
.gab-img-overlay { position: relative; }
.gab-img-overlay::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(10, 18, 32, .55) 100%); pointer-events: none; }
/* 차량 카드 이미지 하단 미세 그라데이션(배지 가독성) */
.gab-car-card-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 18, 32, .12) 0%, transparent 22%); pointer-events: none; z-index: 1; }

/* ----- 이미지 플레이스홀더 정제 (네이비 그라데이션 + 로고 무드) ----- */
.gab-car-card-image-placeholder, .gab-img-placeholder {
	background: linear-gradient(135deg, var(--gab-navy-700), var(--gab-navy-900)) !important;
	color: rgba(255, 255, 255, .22) !important;
	position: relative;
}
.gab-car-card-image-placeholder i, .gab-img-placeholder i { font-size: 2.6em; }

/* ----- 이미지 비율 일관 + 라운딩 ----- */
.gab-img-16-9 { aspect-ratio: 16 / 9; object-fit: cover; }
.gab-img-4-3 { aspect-ratio: 4 / 3; object-fit: cover; }
.gab-img-rounded { border-radius: 14px; overflow: hidden; }

/* ----- 갤러리 썸네일 정제 ----- */
.gab-gallery-thumb { border-radius: 9px; overflow: hidden; border: 2px solid transparent; transition: border-color .18s, transform .18s; }
.gab-gallery-thumb.is-active { border-color: var(--gab-primary-600); }
.gab-gallery-thumb:hover { transform: translateY(-2px); }

/* ============================================================
 * Phase D9: 마이크로 인터랙션 (트랜지션 통일 · 모션 절제)
 * ============================================================ */
:root {
	--gab-ease-out: cubic-bezier(.2, .7, .2, 1);
	--gab-ease-in-out: cubic-bezier(.6, 0, .2, 1);
	--gab-ease-spring: cubic-bezier(.32, .72, 0, 1);
}
/* 스크롤 리빌 곡선 정제 */
.gab-reveal, .gab-reveal-stagger > * { transition: opacity .72s var(--gab-ease-out), transform .72s var(--gab-ease-out); }

/* 토스트 프리미엄 정제 */
.gab-toast { border-radius: 13px; box-shadow: 0 16px 36px -12px rgba(26, 26, 26, .26), 0 4px 12px -6px rgba(26, 26, 26, .12); border-color: var(--gab-gray-200); }
.gab-toast-info i { color: var(--gab-primary-600); }
.gab-toast-info .gab-toast-icon-wrap { background: var(--gab-primary-50); }

/* 부드러운 앵커 스크롤 */
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* 전역 모션 절제 (접근성) */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.gab-reveal, .gab-reveal-stagger > * { opacity: 1 !important; transform: none !important; }
}

/* ============================================================
 * Phase D10: 페이지 폴리시 · 일관성 마감
 * ============================================================ */
/* 선택 영역 색상 (브랜드) */
::selection { background: color-mix(in srgb, var(--gab-primary-500) 22%, transparent); color: var(--gab-gray-900); }
/* 포커스 링 전역 일관성 (키보드 내비) */
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--gab-primary-500); outline-offset: 2px; border-radius: 4px; }
/* 스크롤바 (웹킷) — 절제된 네이비 */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--gab-gray-100); }
::-webkit-scrollbar-thumb { background: var(--gab-gray-300); border-radius: 999px; border: 3px solid var(--gab-gray-100); }
::-webkit-scrollbar-thumb:hover { background: var(--gab-gray-400); }
/* 이미지 끊김 방지 + 텍스트 가독성 */
img { max-width: 100%; height: auto; }
/* 링크 기본 — 브랜드 네이비 + 부드러운 전환 */
a { transition: color .15s var(--gab-ease-out, ease); }
/* 모바일 가로 스크롤 차단 (안전망) */
@media (max-width: 768px) { body { overflow-x: hidden; } }
/* 빈 문단/과도 여백 정리 */
.gab-section:last-child { margin-bottom: 0; }
