/* Hallmark · macrostructure: existing-site extension (no redesign) · tone: 기존 usmd.ac 톤 유지 · anchor: navy #061230 + coral #eb5667
 * pre-emit critique: P4 H4 E4 S5 R4 V4
 * usmd.css : IEEA 미국의대 특별입학전형 (2026-10-07). 모바일 기본, min-width 로 데스크톱.
 * 원본 룩(common/main/sub.css)의 색·폰트·카드 모양을 토큰으로 옮겨 새 섹션에 쓴다. 원본 CSS 는 건드리지 않는다.
 */
:root {
  --u-navy: #061230;
  --u-navy-2: #303b58;
  --u-coral: #eb5667;
  --u-coral-deep: #cd2c3f;
  --u-violet: #584fd8;
  --u-slate: #4a5268;
  --u-lav: #f2f3f7;
  --u-gray: #f6f7f9;
  --u-line: #e2e5eb;
  --u-ink: #0e1630;
  --u-text: #262d40;
  --u-white: #fff;
  --u-scrim: rgba(6, 18, 48, 0.82);
  --u-scrim-0: rgba(6, 18, 48, 0);
  --u-font: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --u-gutter: 20px;
  --u-sec: 72px;
  --u-radius: 15px;
  --u-header: 64px;
  --u-bar: 58px;
  --u-ease: cubic-bezier(.2, .7, .2, 1);
}
@media (min-width: 992px) {
  :root { --u-sec: 140px; --u-header: 80px; }
}

/* ── 공통 ─────────────────────────────────────────────────────────────── */
html, body { overflow-x: clip; }
body { font-family: var(--u-font); padding-bottom: calc(var(--u-bar) + env(safe-area-inset-bottom, 0px)); }
@media (min-width: 992px) { body { padding-bottom: 0; } }
.u-page h1, .u-page h2, .u-page h3, .u-page h4, .u-page p, .u-page li { word-break: keep-all; overflow-wrap: anywhere; }
.u-page h1, .u-page h2, .u-page h3 { font-style: normal; letter-spacing: -1px; }
.u-page a:focus-visible, .usmd-header a:focus-visible, .usmd-cta-bar a:focus-visible, .u-page button:focus-visible { outline: 3px solid var(--u-coral); outline-offset: 2px; }
section.u-sec { padding: var(--u-sec) 0; overflow: visible; }
.u-sec .container { padding-left: var(--u-gutter); padding-right: var(--u-gutter); }
.u-eyebrow { display: block; color: #afafaf; font-size: 13px; font-weight: 500; letter-spacing: 0.04em; margin: 0 0 12px; }
.u-h2 { color: var(--u-navy); font-size: 28px; font-weight: 700; line-height: 1.3; margin: 0; }
.u-lead { color: var(--u-slate); font-size: 16px; line-height: 1.75; margin: 18px 0 0; }
.u-lead + .u-lead { margin-top: 10px; }
@media (min-width: 992px) {
  .u-h2 { font-size: 42px; letter-spacing: -2.5px; line-height: 1.2; }
  .u-lead { font-size: 18px; }
}

/* 버튼: 원본 홈 "자세히보기"(사각 외곽선)와 "+MORE"(코럴) 를 잇는다 */
.u-btns { display: grid; gap: 10px; margin-top: 28px; }
.u-btn { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 22px; font-size: 16px; font-weight: 500; text-align: center; white-space: nowrap; border: 1px solid transparent; border-radius: 4px; transition: background .2s var(--u-ease), color .2s var(--u-ease), border-color .2s var(--u-ease); }
.u-btn, .u-btn:hover, .u-btn:focus { text-decoration: none; }
.u-btn-coral { background: var(--u-coral); color: var(--u-white); }
.u-btn-coral:hover { background: var(--u-coral-deep); color: var(--u-white); }
.u-btn-line { border-color: var(--u-white); color: var(--u-white); }
.u-btn-line:hover { background: var(--u-white); color: var(--u-navy); }
.u-btn-navy { border-color: var(--u-navy); color: var(--u-navy); }
.u-btn-navy:hover { background: var(--u-navy); color: var(--u-white); }
.u-btn-kakao { background: #fee500; color: #191919; }
.u-btn .lnr { font-size: 18px; }
@media (min-width: 576px) { .u-btns { grid-auto-flow: column; justify-content: start; } }
.u-more { display: inline-block; margin-top: 22px; color: var(--u-coral); font-size: 15px; font-weight: 700; border-bottom: 1px solid var(--u-coral); padding-bottom: 2px; }
.u-more:hover, .u-more:focus { color: var(--u-coral-deep); text-decoration: none; }
.u-more::after { content: " →"; }

/* 번호 알약 (원본 조건 카드의 01/02/03) */
.u-pill { display: inline-block; color: var(--u-white); background: var(--u-navy-2); font-size: 12px; font-weight: 700; line-height: 1; padding: 6px 14px; border-radius: 30px; letter-spacing: 0.02em; }
.u-pill-coral { background: var(--u-coral); }

/* ── 헤더 ─────────────────────────────────────────────────────────────── */
.usmd-header { background: var(--u-white); border-bottom: 1px solid var(--u-line); }
.usmd-header-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: var(--u-header); }
.header .usmd-logo { display: flex; align-items: center; gap: 8px; min-width: 0; }
.header .usmd-logo:hover, .header .usmd-logo:focus { text-decoration: none; }
.header .usmd-logo img { display: block; width: auto; height: 20px; margin: 0; }
.usmd-logo .m-light { display: none; }
.usmd-logo-text { color: var(--u-navy); font-size: 15px; font-weight: 500; letter-spacing: -0.5px; white-space: nowrap; }
.usmd-logo-text strong { font-weight: 700; }
.usmd-nav-box { display: flex; align-items: center; }
.header .usmd-nav-box .mobile-nav-show { position: static; display: block; margin: 0; color: var(--u-navy); font-size: 26px; line-height: 1; }
.header.sticked .usmd-nav-box .mobile-nav-show { color: var(--u-navy); }
.usmd-header-call { display: none; }
.navbar .mo_logo { font-size: 16px; font-weight: 700; }
.navbar .usmd-nav-call a { color: var(--u-coral) !important; font-weight: 700 !important; }
@media (max-width: 991px) {
  .header.usmd-header { padding: 0; }
  .navbar .mo_logo { top: 22px; left: 20px; color: var(--u-navy); }
  .mobile-nav-hide { top: 32px; right: 20px; }
}
@media (min-width: 992px) {
  .usmd-header .container { width: auto; max-width: 1200px; }
  .usmd-nav-box { flex: 1; justify-content: flex-end; }
  .header .usmd-logo img { height: 24px; }
  .usmd-logo-text { font-size: 17px; }
  .header .usmd-nav-box .mobile-nav-show { display: none; }
  .usmd-header .navbar > ul > li { margin-left: 26px; padding: 0; }
  .usmd-header .navbar > ul > li > a { color: var(--u-ink); font-size: 15px; }
  .usmd-header .navbar .usmd-nav-call { display: none; }
  .usmd-header-call { display: inline-flex; align-items: center; gap: 6px; margin-left: 24px; padding: 9px 16px; border-radius: 30px; background: var(--u-coral); color: var(--u-white); font-size: 15px; font-weight: 700; white-space: nowrap; }
  .usmd-header-call:hover, .usmd-header-call:focus { background: var(--u-coral-deep); color: var(--u-white); text-decoration: none; }
  /* 홈 첫 화면에서만 투명 헤더 (스크롤하면 원본처럼 흰 배경으로) */
  .usmd-header.is-home:not(.sticked) { background: transparent; border-bottom-color: transparent; }
  .usmd-header.is-home:not(.sticked) .usmd-logo .m-light { display: block; }
  .usmd-header.is-home:not(.sticked) .usmd-logo .m-dark { display: none; }
  .usmd-header.is-home:not(.sticked) .usmd-logo-text,
  .usmd-header.is-home:not(.sticked) .navbar > ul > li > a { color: var(--u-white); }
}
@media (min-width: 1200px) {
  .usmd-header .navbar > ul > li { margin-left: 34px; }
  .usmd-header .navbar > ul > li > a { font-size: 16px; }
}

/* ── 모바일 하단 고정 상담 바 ───────────────────────────────────────────── */
.usmd-cta-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1020; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); padding-bottom: env(safe-area-inset-bottom, 0px); background: var(--u-white); border-top: 1px solid var(--u-line); box-shadow: 0 -4px 16px rgba(6, 18, 48, 0.08); }
.usmd-cta-bar a { display: flex; align-items: center; justify-content: center; gap: 6px; height: var(--u-bar); font-size: 15px; font-weight: 700; white-space: nowrap; }
.usmd-cta-bar a:hover, .usmd-cta-bar a:focus { text-decoration: none; }
.usmd-cta-call { background: var(--u-coral); color: var(--u-white); }
.usmd-cta-call:hover, .usmd-cta-call:focus { color: var(--u-white); background: var(--u-coral-deep); }
.usmd-cta-kakao { background: #fee500; color: #191919; }
.usmd-cta-leave { color: var(--u-navy); }
@media (min-width: 992px) { .usmd-cta-bar { display: none; } }

/* ── 푸터 ─────────────────────────────────────────────────────────────── */
#footer.usmd-footer { padding: 48px 0 40px; }
.usmd-footer .container { position: relative; padding-left: var(--u-gutter); padding-right: var(--u-gutter); }
.usmd-footer-grid { display: grid; gap: 24px; }
.usmd-footer p { color: rgba(255, 255, 255, 0.72); font-size: 13px; line-height: 1.7; margin: 0; letter-spacing: 0; }
.usmd-footer .usmd-footer-name { color: var(--u-white); font-size: 17px; }
.usmd-footer-call { margin-top: 8px !important; }
.usmd-footer-call a { color: var(--u-white); font-size: 22px; font-weight: 700; margin-right: 10px; }
.usmd-footer-links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; list-style: none; }
.usmd-footer-links a { color: var(--u-white); font-size: 14px; }
.usmd-footer .footer_up_icon_box { position: absolute; right: var(--u-gutter); top: 0; height: auto; }
@media (min-width: 992px) {
  .usmd-footer-grid { grid-template-columns: 1.1fr 0.9fr 1.6fr; align-items: start; }
  #footer.usmd-footer { padding: 72px 0; }
  .usmd-footer .footer_up_icon_box { top: auto; bottom: 0; }
}

/* ── 이미지 슬롯 (owner-images) ─────────────────────────────────────────── */
.u-visual { position: relative; margin: 0; overflow: hidden; background: var(--u-navy); }
.u-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.u-visual--empty { background: linear-gradient(135deg, var(--u-navy) 0%, var(--u-navy-2) 100%); }
.u-visual--empty::after { content: ""; position: absolute; top: 18%; bottom: 0; left: 62%; width: 22%; border: 1px solid rgba(255, 255, 255, 0.25); border-bottom: 0; }

/* ── 홈 1: HERO ───────────────────────────────────────────────────────── */
.u-hero { padding-top: var(--u-header); background: var(--u-navy); }
.u-hero .u-visual { aspect-ratio: 1 / 1; }
.u-hero-copy { padding: 30px var(--u-gutter) 40px; }
.u-hero h1 { color: var(--u-white); font-size: 34px; font-weight: 700; line-height: 1.25; letter-spacing: -1.5px; margin: 0; }
.u-hero .u-hero-sub { color: var(--u-white); font-size: 18px; font-weight: 500; margin: 14px 0 0; }
.u-hero .u-hero-sub b { color: var(--u-coral); font-weight: 700; }
.u-hero .u-hero-note { color: rgba(255, 255, 255, 0.62); font-size: 13px; line-height: 1.6; margin: 10px 0 0; }
@media (min-width: 768px) {
  .u-hero .u-visual { aspect-ratio: 16 / 9; }
}
@media (min-width: 992px) {
  .u-hero { position: relative; padding-top: 0; min-height: 640px; height: min(56.25vw, 100vh); }
  .u-hero .u-visual { position: absolute; inset: 0; aspect-ratio: auto; }
  .u-hero .u-visual::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--u-scrim) 0%, rgba(6, 18, 48, 0.55) 38%, var(--u-scrim-0) 62%); }
  .u-hero-copy { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; max-width: 1200px; margin: 0 auto; padding: var(--u-header) var(--u-gutter) 40px; }
  .u-hero-copy > * { max-width: 560px; }
  .u-hero h1 { font-size: 58px; line-height: 1.18; letter-spacing: -3px; }
  .u-hero .u-hero-sub { font-size: 24px; margin-top: 18px; }
  .u-hero .u-hero-note { font-size: 14px; }
}

/* ── 홈 2: WHY ───────────────────────────────────────────────────────── */
.u-why-cards { display: grid; gap: 12px; margin-top: 32px; }
.u-why-card { padding: 22px 20px; border: 1px solid var(--u-line); border-radius: var(--u-radius); background: var(--u-gray); }
.u-why-card h3 { color: var(--u-ink); font-size: 18px; font-weight: 700; margin: 12px 0 8px; }
.u-why-card p { color: var(--u-slate); font-size: 15px; line-height: 1.7; margin: 0; }
.u-why-card.is-special { background: var(--u-navy-2); border-color: var(--u-navy-2); }
.u-why-card.is-special h3, .u-why-card.is-special p { color: var(--u-white); }
.u-why-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px; font-size: 14px; font-weight: 500; }
.u-why-flow span { padding: 4px 10px; border-radius: 30px; background: var(--u-white); color: var(--u-navy-2); }
.u-why-card.is-special .u-why-flow span { background: rgba(255, 255, 255, 0.14); color: var(--u-white); }
.u-why-flow i { font-style: normal; color: var(--u-coral); }
@media (min-width: 992px) {
  .u-why-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 64px; align-items: start; }
  .u-why-cards { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-top: 0; }
  .u-why-card { padding: 30px; }
  .u-why-card h3 { font-size: 22px; }
}

/* ── 홈 3 · /tracks/: 3개 Track 카드 (원본 PROCESS 카드의 색 블록) ──────── */
.u-bg-lav { background: var(--u-lav); }
.u-tracks-grid { display: grid; gap: 14px; margin-top: 32px; }
.u-track { display: flex; flex-direction: column; padding: 24px 22px 26px; border-radius: var(--u-radius); color: var(--u-white); background: var(--u-navy-2); }
.u-track.t1 { background: var(--u-coral); }
.u-track.t3 { background: var(--u-violet); }
.u-track-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 12px; border-bottom: 2px solid rgba(255, 255, 255, 0.9); font-size: 14px; font-weight: 700; }
.u-track-top span:last-child { font-weight: 500; opacity: 0.9; }
.u-track-label { display: block; margin-top: 22px; font-size: 12px; letter-spacing: 0.04em; opacity: 0.8; }
.u-track-school { margin: 6px 0 0; color: var(--u-white); font-size: 22px; font-weight: 700; line-height: 1.3; letter-spacing: -0.5px; }
.u-track-link { display: flex; align-items: center; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.45); }
.u-track-link b { font-size: 18px; line-height: 1; }
.u-track-via { margin: 4px 0 0; color: var(--u-white); font-size: 17px; font-weight: 500; }
.u-track-place { margin: 4px 0 0; color: var(--u-white); font-size: 13px; opacity: 0.8; }
.u-note { color: var(--u-slate); font-size: 15px; line-height: 1.7; margin: 22px 0 0; }
@media (min-width: 768px) { .u-tracks-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 992px) {
  .u-track { padding: 30px 28px 32px; min-height: 340px; }
  .u-track-school { font-size: 25px; }
}

/* ── 홈 4: ROADMAP ───────────────────────────────────────────────────── */
.u-road { margin-top: 30px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin-left: calc(-1 * var(--u-gutter)); margin-right: calc(-1 * var(--u-gutter)); padding: 0 var(--u-gutter); }
.u-road::-webkit-scrollbar { display: none; }
.u-road-track { display: grid; grid-template-columns: repeat(4, 78vw); }
.u-road .u-visual { grid-column: 1 / -1; aspect-ratio: 21 / 9; border-radius: var(--u-radius); background: var(--u-lav); }
.u-step { scroll-snap-align: start; padding: 18px 14px 0 0; }
.u-step h3 { color: var(--u-navy); font-size: 18px; font-weight: 700; margin: 12px 0 6px; }
.u-step p { color: var(--u-slate); font-size: 14px; line-height: 1.65; margin: 0; }
.u-step:nth-child(2) .u-pill { background: var(--u-coral); }
.u-step:nth-child(5) .u-pill { background: var(--u-violet); }
.u-road-hint { display: block; margin-top: 10px; color: #afafaf; font-size: 12px; }
@media (min-width: 992px) {
  .u-road { overflow: visible; margin-left: 0; margin-right: 0; padding: 0; }
  .u-road-track { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; }
  .u-step { padding-right: 0; }
  .u-step h3 { font-size: 21px; }
  .u-step p { font-size: 15px; }
  .u-road-hint { display: none; }
}

/* ── 홈 5 · /physiciansos/: 관리 엔진 (원본 통계 띠의 큰 숫자) ─────────── */
.u-sos { background: var(--u-navy); }
.u-sos .u-eyebrow { color: var(--u-coral); }
.u-sos .u-h2 { color: var(--u-white); }
.u-sos .u-lead { color: rgba(255, 255, 255, 0.78); }
.u-sos .u-visual { aspect-ratio: 4 / 3; border-radius: var(--u-radius); margin-bottom: 28px; }
.u-metrics { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: 26px; }
.u-metric { padding: 18px 16px; border-radius: 12px; background: var(--u-white); }
.u-metric dt { color: var(--u-slate); font-size: 13px; font-weight: 500; }
.u-metric dd { margin: 4px 0 0; }
.u-metric .v { display: block; color: var(--u-navy); font-size: 30px; font-weight: 900; letter-spacing: -1px; line-height: 1.15; }
.u-metric .v small { color: var(--u-coral); font-size: 14px; font-weight: 700; letter-spacing: 0; margin-left: 2px; }
.u-metric .d { display: block; color: var(--u-slate); font-size: 13px; line-height: 1.5; margin-top: 6px; }
.u-proof { margin: 26px 0 0; }
.u-proof .u-visual { aspect-ratio: 16 / 10; margin: 0; border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); }
.u-proof figcaption { color: var(--u-white); font-size: 15px; font-weight: 700; margin-top: 12px; }
.u-proof figcaption span { display: block; color: rgba(255, 255, 255, 0.7); font-size: 13px; font-weight: 400; margin-top: 2px; }
.u-sos-after { color: rgba(255, 255, 255, 0.78); font-size: 15px; margin: 22px 0 0; }
.u-sos-after b { color: var(--u-white); }
@media (min-width: 992px) {
  .u-sos-grid { display: grid; grid-template-columns: 11fr 9fr; gap: 56px; align-items: center; }
  .u-sos .u-visual { aspect-ratio: 3 / 2; margin-bottom: 0; }
  .u-metric { padding: 22px 20px; }
  .u-metric .v { font-size: 38px; }
}

/* ── 홈 6: 신분 전략 띠 (작게) ──────────────────────────────────────────── */
.u-strip { padding: 22px 0; background: var(--u-gray); border-top: 1px solid var(--u-line); border-bottom: 1px solid var(--u-line); }
.u-strip .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding-left: var(--u-gutter); padding-right: var(--u-gutter); }
.u-strip p { color: var(--u-text); font-size: 15px; line-height: 1.6; margin: 0; }
.u-strip p b { color: var(--u-navy); }
.u-strip a { color: var(--u-coral); font-size: 14px; font-weight: 700; white-space: nowrap; }

/* ── 홈 7 · /safety-net/: 4중 안전망 (동심원) ───────────────────────────── */
.u-net { display: grid; gap: 28px; margin-top: 32px; align-items: center; }
.u-rings { position: relative; width: min(100%, 300px); aspect-ratio: 1; margin: 0 auto; }
.u-rings span { position: absolute; border-radius: 50%; display: flex; align-items: flex-start; justify-content: center; font-size: 12px; font-weight: 700; padding-top: 6%; }
.u-rings .r4 { inset: 0; background: var(--u-lav); color: var(--u-slate); }
.u-rings .r3 { inset: 12%; background: #d6daea; color: var(--u-navy-2); }
.u-rings .r2 { inset: 24%; background: var(--u-navy-2); color: var(--u-white); }
.u-rings .r1 { inset: 36%; background: var(--u-coral); color: var(--u-white); align-items: center; padding-top: 0; text-align: center; line-height: 1.3; }
.u-layers { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.u-layers li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; align-items: start; padding: 16px 18px; border: 1px solid var(--u-line); border-radius: 12px; background: var(--u-white); }
.u-layers .dot { grid-row: span 2; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--u-white); font-size: 13px; font-weight: 700; background: var(--u-navy-2); }
.u-layers li:nth-child(1) .dot { background: var(--u-coral); }
.u-layers li:nth-child(3) .dot { background: #8e96b3; }
.u-layers li:nth-child(4) .dot { background: #b8bed4; }
.u-layers b { color: var(--u-ink); font-size: 16px; }
.u-layers small { display: block; color: var(--u-slate); font-size: 14px; line-height: 1.6; }
@media (min-width: 992px) {
  .u-net { grid-template-columns: 5fr 7fr; gap: 64px; }
  .u-rings { width: 400px; }
  .u-rings span { font-size: 14px; }
}

/* ── 홈 8: 상담 (히어로와 같은 구도로 서사를 닫는다) ─────────────────────── */
.u-close { background: var(--u-navy); }
.u-close .u-visual { aspect-ratio: 4 / 5; }
.u-close-copy { padding: 32px var(--u-gutter) 44px; }
.u-close h2 { color: var(--u-white); font-size: 28px; font-weight: 700; line-height: 1.3; margin: 0; }
.u-close p { color: rgba(255, 255, 255, 0.78); font-size: 16px; line-height: 1.7; margin: 14px 0 0; }
@media (min-width: 768px) { .u-close .u-visual { aspect-ratio: 16 / 9; } }
@media (min-width: 992px) {
  .u-close { position: relative; min-height: 600px; height: min(56.25vw, 860px); }
  .u-close .u-visual { position: absolute; inset: 0; aspect-ratio: auto; }
  .u-close .u-visual::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--u-scrim) 0%, rgba(6, 18, 48, 0.5) 40%, var(--u-scrim-0) 62%); }
  .u-close-copy { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; max-width: 1200px; margin: 0 auto; }
  .u-close-copy > * { max-width: 520px; }
  .u-close h2 { font-size: 44px; letter-spacing: -2.5px; line-height: 1.22; }
  .u-close p { font-size: 18px; }
}

/* ── 하위 페이지 머리 (원본 서브 비주얼의 보라 알약 + 큰 흰 제목) ────────── */
.u-subhero { padding: calc(var(--u-header) + 44px) 0 48px; background: linear-gradient(120deg, var(--u-navy) 0%, var(--u-navy-2) 62%, #4a4790 100%); }
.u-subhero .container { padding-left: var(--u-gutter); padding-right: var(--u-gutter); }
.u-subhero .u-pill { background: var(--u-violet); font-size: 13px; padding: 8px 16px; }
.u-subhero h1 { color: var(--u-white); font-size: 32px; font-weight: 700; line-height: 1.25; letter-spacing: -1.5px; margin: 14px 0 0; }
.u-subhero p { color: rgba(255, 255, 255, 0.82); font-size: 16px; line-height: 1.7; margin: 12px 0 0; max-width: 640px; }
.u-subhero .u-subhero-note { color: rgba(255, 255, 255, 0.6); font-size: 13px; }
.u-subhero.has-visual { position: relative; overflow: hidden; }
@media (min-width: 992px) {
  .u-subhero { padding: calc(var(--u-header) + 80px) 0 90px; }
  .u-subhero h1 { font-size: 50px; letter-spacing: -2px; }
  .u-subhero p { font-size: 18px; }
}

/* 조건 카드 (원본 track_condition_box) */
.u-cards { display: grid; gap: 12px; margin-top: 28px; }
.u-card { padding: 20px; border: 1px solid var(--u-line); border-radius: var(--u-radius); background: var(--u-gray); }
.u-card h3 { color: var(--u-ink); font-size: 19px; font-weight: 700; margin: 12px 0 8px; }
.u-card p, .u-card li { color: var(--u-slate); font-size: 15px; line-height: 1.7; margin: 0; }
.u-card ul { margin: 0; padding-left: 18px; }
.u-card.is-dark { background: var(--u-navy-2); border-color: var(--u-navy-2); }
.u-card.is-dark h3, .u-card.is-dark p, .u-card.is-dark li { color: var(--u-white); }
.u-card.is-dark .u-pill { background: var(--u-coral); }
@media (min-width: 768px) { .u-cards.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .u-cards.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 992px) { .u-card { padding: 28px; } .u-card h3 { font-size: 22px; } }

/* POINT 목록 (원본 "1 POINT | ...") */
.u-points { display: grid; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; }
.u-points li { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 12px; background: var(--u-white); color: var(--u-text); font-size: 15px; line-height: 1.6; }
.u-points li b { flex: none; display: inline-flex; align-items: center; gap: 6px; color: var(--u-ink); font-size: 14px; padding-right: 14px; border-right: 1px solid var(--u-line); }
.u-points li b i { font-style: normal; width: 22px; height: 22px; border-radius: 50%; background: var(--u-coral); color: var(--u-white); font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
@media (min-width: 768px) { .u-points.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 비교표 */
.u-table-wrap { margin-top: 28px; overflow-x: auto; border-radius: var(--u-radius); border: 1px solid var(--u-line); }
.u-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; background: var(--u-white); }
.u-table th, .u-table td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--u-line); line-height: 1.6; word-break: keep-all; }
.u-table thead th { background: var(--u-gray); color: var(--u-slate); font-size: 13px; font-weight: 700; }
.u-table thead th.is-special { background: var(--u-navy-2); color: var(--u-white); }
.u-table tbody th { color: var(--u-ink); font-weight: 700; white-space: nowrap; }
.u-table td.is-special { color: var(--u-navy); font-weight: 500; background: #f7f8fc; }
.u-table tr:last-child th, .u-table tr:last-child td { border-bottom: 0; }

/* 모집요강 */
.u-def { display: grid; gap: 0; margin: 28px 0 0; border-top: 2px solid var(--u-navy); }
.u-def > div { display: grid; gap: 6px; padding: 18px 0; border-bottom: 1px solid var(--u-line); }
.u-def dt { color: var(--u-navy); font-size: 15px; font-weight: 700; }
.u-def dd { margin: 0; color: var(--u-text); font-size: 15px; line-height: 1.75; }
.u-def dd ol { margin: 0; padding-left: 20px; }
@media (min-width: 768px) { .u-def > div { grid-template-columns: 180px minmax(0, 1fr); gap: 24px; padding: 22px 0; } }
.u-docs { display: grid; gap: 12px; }
.u-docs h4 { color: var(--u-ink); font-size: 15px; font-weight: 700; margin: 0 0 4px; }
.u-docs ul { margin: 0; padding-left: 18px; color: var(--u-slate); font-size: 14px; line-height: 1.7; }
@media (min-width: 768px) { .u-docs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* 상담 폼 (원본 counsel 표 대신 카드형, 모바일 한 줄씩) */
.u-contact-ways { display: grid; gap: 10px; margin-top: 26px; }
.u-way { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: var(--u-radius); color: var(--u-white); background: var(--u-navy-2); }
.u-way:hover, .u-way:focus { color: var(--u-white); text-decoration: none; background: var(--u-navy); }
.u-way .lnr { font-size: 26px; }
.u-way b { display: block; font-size: 18px; }
.u-way small { display: block; font-size: 13px; opacity: 0.8; }
.u-way.is-call { background: var(--u-coral); }
.u-way.is-call:hover { background: var(--u-coral-deep); }
.u-way.is-kakao { background: #fee500; color: #191919; }
@media (min-width: 768px) { .u-contact-ways { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); } }
.u-form { margin-top: 30px; padding: 22px 18px; border: 1px solid var(--u-line); border-radius: var(--u-radius); background: var(--u-white); }
.u-field { display: grid; gap: 8px; padding: 14px 0; border-bottom: 1px solid var(--u-line); }
.u-field:first-child { padding-top: 0; }
.u-field > label, .u-field > .u-field-label { color: var(--u-ink); font-size: 15px; font-weight: 700; }
.u-field small.req { color: var(--u-coral); font-weight: 700; }
.u-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.u-choices label { position: relative; margin: 0; cursor: pointer; }
.u-choices input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.u-choices span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--u-line); border-radius: 30px; background: var(--u-gray); color: var(--u-text); font-size: 15px; font-weight: 400; line-height: 1.3; }
.u-choices input:checked + span { border-color: var(--u-navy-2); background: var(--u-navy-2); color: var(--u-white); font-weight: 500; }
.u-choices input:focus-visible + span { outline: 3px solid var(--u-coral); outline-offset: 2px; }
.u-form input[type="text"], .u-form input[type="tel"], .u-form input[type="email"], .u-form select, .u-form textarea { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #cfd6dc; border-radius: 8px; background: var(--u-white); color: var(--u-ink); font-size: 16px; font-family: var(--u-font); }
.u-form textarea { min-height: 110px; resize: vertical; }
.u-form input:focus, .u-form select:focus, .u-form textarea:focus { border-color: var(--u-navy-2); outline: 2px solid rgba(48, 59, 88, 0.2); }
.u-form .lead-consent { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 14px; font-weight: 400; line-height: 1.6; color: var(--u-text); cursor: pointer; }
.u-form .lead-consent input { width: 20px; height: 20px; margin-top: 2px; flex: none; }
.u-form .u-btn { width: 100%; margin-top: 22px; border: 0; cursor: pointer; }
.u-form .lead-form-msg { margin-top: 14px; }
@media (min-width: 768px) {
  .u-form { padding: 34px 36px; }
  .u-field { grid-template-columns: 170px minmax(0, 1fr); align-items: center; gap: 18px; }
  .u-form .u-btn { width: auto; min-width: 260px; }
}

@media (prefers-reduced-motion: reduce) {
  .u-btn, .u-way { transition: none; }
  .u-road { scroll-behavior: auto; }
}
.u-table-wrap.is-flush { margin-top: 0; }
.u-table.is-compact { min-width: 0; }
.u-note.is-tight { margin-top: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
/* 운영기관 연혁 */
.u-history { margin: 28px 0 0; padding: 0; list-style: none; border-top: 2px solid var(--u-navy); }
.u-history > li { display: grid; gap: 6px; padding: 16px 0; border-bottom: 1px solid var(--u-line); }
.u-history .y { color: var(--u-navy); font-size: 20px; font-weight: 700; }
.u-history ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.u-history ul li { color: var(--u-text); font-size: 15px; line-height: 1.6; }
.u-history ul li span { color: var(--u-slate); font-size: 13px; margin-right: 8px; font-variant-numeric: tabular-nums; }
.u-history ul li.is-track { color: var(--u-navy); font-weight: 700; }
.u-history ul li.is-track em { font-style: normal; margin-left: 6px; color: var(--u-white); background: var(--u-coral); font-size: 11px; padding: 2px 8px; border-radius: 20px; vertical-align: 1px; }
@media (min-width: 768px) { .u-history > li { grid-template-columns: 120px minmax(0, 1fr); gap: 24px; } }
.u-greeting p { color: var(--u-text); font-size: 16px; line-height: 1.9; margin: 0 0 16px; }
.u-greeting .sign { color: var(--u-navy); font-weight: 700; margin-top: 24px; }
@media (min-width: 992px) { .u-greeting p { font-size: 17px; } }
.u-greeting.is-spaced { margin-top: 28px; }
.u-track-label[data-flush] { margin-top: 0; }
.u-visual img { object-position: var(--pos-m, 50% 50%); }
@media (min-width: 768px) { .u-visual img { object-position: var(--pos-d, 50% 50%); } }
/* 원본 main.css 의 section { padding:160px 0 } 이 히어로·상담 섹션에 걸리지 않게 */
section.u-hero { padding: var(--u-header) 0 0; }
section.u-close { padding: 0; }
@media (min-width: 992px) { section.u-hero { padding: 0; } }
/* 로드맵 가로 띠: 스냅이 화면 끝이 아니라 여백 기준으로 멈추게 */
.u-road { scroll-padding-left: var(--u-gutter); }
/* 모바일은 하단 상담 바가 있어 맨 위로 버튼을 숨긴다 */
@media (max-width: 991px) { .usmd-footer .footer_up_icon_box { display: none; } }
/* 원본 sub.css 가 모바일에서 .header.sticked { background:none } 을 준다. 새 헤더는 항상 흰 바탕 (홈 데스크톱 첫 화면만 투명) */
.header.usmd-header, .header.usmd-header.sticked { background: var(--u-white); border: 0; border-bottom: 1px solid var(--u-line); }
@media (max-width: 991px) { #footer.usmd-footer .footer_up_icon_box { display: none; } }
/* 원본 common.css 가 목록 기호를 지운다. 순서가 정보인 곳(지원 절차)은 번호, 나머지는 점을 되살린다 */
.u-def dd ol { list-style: decimal; padding-left: 22px; }
.u-def dd ol li { padding-left: 2px; }
.u-docs ul, .u-card ul { list-style: disc; }
/* 한 기준선: 헤더 · 본문 · 히어로 글 · 푸터를 같은 폭과 여백에 맞춘다 */
@media (min-width: 992px) { :root { --u-gutter: 40px; } }
.u-page .container, .usmd-header .container, .usmd-footer .container, .u-strip .container { width: 100%; max-width: 1280px; margin-left: auto; margin-right: auto; padding-left: var(--u-gutter); padding-right: var(--u-gutter); }
@media (min-width: 992px) {
  .u-hero-copy, .u-close-copy { max-width: 1280px; padding-left: var(--u-gutter); padding-right: var(--u-gutter); }
}
.usmd-footer-mail a { color: rgba(255, 255, 255, 0.85); font-size: 14px; }
.u-way.is-mail { background: var(--u-white); color: var(--u-navy); border: 1px solid var(--u-line); }
.u-way.is-mail:hover, .u-way.is-mail:focus { background: var(--u-gray); color: var(--u-navy); }
.u-track-mou { display: inline-block; margin: 12px 0 0; padding: 4px 10px; border-radius: 30px; background: rgba(255, 255, 255, 0.18); color: var(--u-white); font-size: 12px; font-weight: 700; }

/* ── 2026-10-07 보강: 합격 조건 · 실적 · 영상 · FAQ · 칩 ─────────────────── */
.u-h3 { color: var(--u-navy); font-size: 20px; font-weight: 700; margin: 36px 0 0; }
.u-cond { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: 26px; }
.u-cond-item { padding: 16px 14px; border: 1px solid var(--u-line); border-radius: 12px; background: var(--u-gray); }
.u-cond-item h3 { color: var(--u-ink); font-size: 16px; font-weight: 700; line-height: 1.35; margin: 10px 0 6px; }
.u-cond-item p { color: var(--u-slate); font-size: 13px; line-height: 1.55; margin: 0; }
.u-cond-item small { color: #8a91a3; font-size: 12px; }
.u-cond-item.is-dark { background: var(--u-navy-2); border-color: var(--u-navy-2); }
.u-cond-item.is-dark h3, .u-cond-item.is-dark p, .u-cond-item.is-dark small { color: var(--u-white); }
@media (min-width: 768px) { .u-cond { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } .u-cond-item { padding: 22px; } .u-cond-item h3 { font-size: 19px; } .u-cond-item p { font-size: 15px; } }
.u-stats { display: grid; gap: 10px; margin-top: 28px; padding: 22px 20px; border-radius: var(--u-radius); background: var(--u-lav); }
.u-stat { display: grid; gap: 2px; padding: 8px 0; border-bottom: 1px solid #dde1ee; }
.u-stat:last-child { border-bottom: 0; }
.u-stat b { color: var(--u-navy); font-size: 40px; font-weight: 900; letter-spacing: -1.5px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.u-stat b small { color: var(--u-coral); font-size: 18px; font-weight: 700; letter-spacing: 0; margin-left: 2px; }
.u-stat span { color: var(--u-slate); font-size: 14px; line-height: 1.5; }
.u-stats-src { color: #8a91a3; font-size: 12px; margin: 10px 0 0; }
.u-stats-src a { color: var(--u-slate); text-decoration: underline; }
@media (min-width: 768px) { .u-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 36px 40px; } .u-stat { border-bottom: 0; } .u-stat b { font-size: 56px; } }
.u-videos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 10px; margin-top: 26px; }
.u-video { display: grid; gap: 8px; color: var(--u-ink); }
.u-video:hover, .u-video:focus { color: var(--u-navy); text-decoration: none; }
.u-video-thumb { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: var(--u-navy-2); }
.u-video-thumb img { width: 100%; height: 100%; object-fit: cover; }
.u-video-play { position: absolute; left: 50%; top: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 50%; background: rgba(235, 86, 103, 0.92); }
.u-video-play::after { content: ""; position: absolute; left: 16px; top: 12px; border-style: solid; border-width: 8px 0 8px 12px; border-color: transparent transparent transparent var(--u-white); }
.u-video-title { font-size: 14px; font-weight: 500; line-height: 1.45; }
@media (min-width: 992px) { .u-videos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } .u-video-title { font-size: 15px; } }
.u-faq { display: grid; gap: 8px; margin-top: 26px; }
.u-faq-item { border: 1px solid var(--u-line); border-radius: 12px; background: var(--u-white); }
.u-faq-item summary { position: relative; display: block; padding: 18px 48px 18px 18px; color: var(--u-ink); font-size: 16px; font-weight: 700; line-height: 1.45; cursor: pointer; list-style: none; }
.u-faq-item summary::-webkit-details-marker { display: none; }
.u-faq-item summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); color: var(--u-coral); font-size: 22px; font-weight: 400; }
.u-faq-item[open] summary::after { content: "−"; }
.u-faq-item summary:focus-visible { outline: 3px solid var(--u-coral); outline-offset: 2px; border-radius: 12px; }
.u-faq-item > p { margin: 0; padding: 0 18px 18px; color: var(--u-slate); font-size: 15px; line-height: 1.75; }
.u-faq-item > .u-chips { padding: 0 18px 18px; margin-top: 0; }
.u-page .u-faq-item.is-open-able { margin-top: 24px; }
.u-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.u-chips li { padding: 8px 14px; border-radius: 30px; background: var(--u-white); border: 1px solid var(--u-line); color: var(--u-text); font-size: 14px; line-height: 1.3; }
.u-bg-lav .u-chips li { border-color: #dde1ee; }
.u-card h3 { overflow-wrap: anywhere; }
/* PEAP 학사 스케줄 · 진학 사례 */
.u-sched { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: 26px; }
.u-sched-item { padding: 16px 14px; border-radius: 12px; background: var(--u-white); border: 1px solid #dde1ee; }
.u-sched-item dl { display: grid; gap: 8px; margin: 12px 0 0; }
.u-sched-item dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.u-sched-item dt { color: var(--u-slate); font-size: 13px; font-weight: 500; }
.u-sched-item dd { margin: 0; color: var(--u-navy); font-size: 17px; font-weight: 700; }
@media (min-width: 768px) { .u-sched { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .u-sched-item { padding: 22px; } .u-sched-item dd { font-size: 20px; } }
.u-lead a { color: var(--u-coral); font-weight: 700; text-decoration: underline; }
.u-proof-list { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.u-proof-list li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 14px 16px; border-radius: 10px; background: var(--u-white); border: 1px solid var(--u-line); }
.u-proof-list b { color: var(--u-ink); font-size: 15px; font-weight: 700; line-height: 1.45; }
.u-proof-list span { flex: none; color: var(--u-slate); font-size: 13px; }
.u-proof-list li:first-child, .u-proof-list li:nth-child(2) { border-color: var(--u-coral); }
.u-proof-list li:first-child b, .u-proof-list li:nth-child(2) b { color: var(--u-coral-deep); }
@media (min-width: 768px) { .u-proof-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.u-bg-lav .u-stats { background: var(--u-white); }
.u-sec:not(.u-bg-lav) .u-points li { background: var(--u-gray); }
.u-card.is-wide { margin-top: 12px; }
.u-card p a { color: var(--u-coral); font-weight: 700; text-decoration: underline; }
/* 국내→미국 이어서 · Georgia Tech 편입 */
.u-cont { display: grid; gap: 12px; margin-top: 26px; }
.u-cont-item { padding: 20px 18px; border-radius: var(--u-radius); background: var(--u-gray); border: 1px solid var(--u-line); }
.u-cont-item h3 { color: var(--u-navy); font-size: 20px; font-weight: 700; margin: 0; }
.u-cont-item h3 small { display: block; color: var(--u-slate); font-size: 13px; font-weight: 500; margin-top: 2px; }
.u-cont-item dl { display: grid; gap: 12px; margin: 14px 0 0; }
.u-cont-item dt { display: inline-block; color: var(--u-white); background: var(--u-navy-2); font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 30px; }
.u-cont-item dl > div:last-child dt { background: var(--u-coral); }
.u-cont-item dd { margin: 8px 0 0; color: var(--u-text); font-size: 15px; line-height: 1.75; }
@media (min-width: 992px) { .u-cont { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } .u-cont-item { padding: 26px; } }
.u-gt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.u-gt li { display: grid; gap: 2px; padding: 12px 14px; border-radius: 10px; background: var(--u-white); border: 1px solid #dde1ee; }
.u-gt b { color: var(--u-coral-deep); font-size: 13px; font-weight: 700; }
.u-gt span { color: var(--u-ink); font-size: 14px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.u-gt small { color: var(--u-slate); font-size: 12px; }
@media (min-width: 768px) { .u-gt { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .u-gt { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 768px) { .u-stats:has(.u-stat:nth-child(4)) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767px) { .u-stats:has(.u-stat:nth-child(4)) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 14px; } .u-stats:has(.u-stat:nth-child(4)) .u-stat b { font-size: 34px; } }
/* MCAT · PhysicianSOS 방식 */
.u-mcat .u-h3 { color: var(--u-white); }
.u-method { display: grid; gap: 10px; margin-top: 26px; }
.u-method-item { padding: 20px 18px; border-radius: var(--u-radius); background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.14); }
.u-method-num { display: block; color: var(--u-coral); font-size: 26px; font-weight: 900; letter-spacing: -0.5px; line-height: 1.1; }
.u-method-item h3 { color: var(--u-white); font-size: 18px; font-weight: 700; margin: 8px 0 6px; }
.u-method-item p { color: rgba(255, 255, 255, 0.78); font-size: 14.5px; line-height: 1.7; margin: 0; }
@media (min-width: 768px) { .u-method { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }
@media (min-width: 1200px) { .u-method { grid-template-columns: repeat(3, minmax(0, 1fr)); } .u-method-item { padding: 26px; } }
.u-flow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; counter-reset: flow; }
.u-flow li { counter-increment: flow; padding: 14px; border-radius: 12px; background: var(--u-white); }
.u-flow li::before { content: "0" counter(flow); display: block; color: var(--u-coral); font-size: 12px; font-weight: 700; }
.u-flow b { display: block; color: var(--u-navy); font-size: 16px; margin-top: 2px; }
.u-flow span { display: block; color: var(--u-slate); font-size: 13px; line-height: 1.45; margin-top: 2px; }
@media (min-width: 992px) { .u-flow { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.u-mcat .u-faq-item { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.14); }
.u-mcat .u-faq-item summary { color: var(--u-white); }
.u-cards.is-inset { margin: 0; padding: 0 14px 14px; }
.u-mcat-note { color: rgba(255, 255, 255, 0.55); font-size: 12.5px; }

/* ── v4 (계획 v4 · 카피 덱 v2.1) ───────────────────────────────────────── */
.u-form-anchor { scroll-margin-top: calc(var(--u-header) + 12px); }
.u-track-hook { margin: 16px 0 0; padding-top: 14px; border-top: 1px dashed rgba(255, 255, 255, 0.45); color: var(--u-white); font-size: 14px; font-weight: 500; line-height: 1.55; }
.u-tracks-grid + .u-road { margin-top: 26px; }

/* 지표 3장: 모바일은 한 줄씩 (라벨 · 값 · 설명) */
.u-metrics.is-three { grid-template-columns: minmax(0, 1fr); }
.u-metrics.is-three .u-metric { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 4px 14px; align-items: baseline; }
.u-metrics.is-three .u-metric dd { margin: 0; }
.u-metrics.is-three .u-metric .v { font-size: 28px; }
@media (min-width: 768px) { .u-metrics.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); } .u-metrics.is-three .u-metric { display: block; } .u-metrics.is-three .u-metric .v { font-size: 34px; } }

/* U.S. MD Admission System: 세 묶음 카드 + READY 띠 */
.u-system { display: grid; gap: 12px; margin-top: 26px; }
.u-system-group { padding: 18px 16px 8px; border-radius: var(--u-radius); background: var(--u-white); border: 1px solid #dde1ee; }
.u-system-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.u-system-head b { color: var(--u-navy); font-size: 17px; font-weight: 700; }
.u-system-group ul { margin: 0; padding: 0; list-style: none; }
.u-system-group li + li { border-top: 1px solid var(--u-line); }
.u-system-group a { display: grid; grid-template-columns: 10px minmax(0, 1fr); gap: 2px 12px; padding: 12px 0; min-height: 44px; color: inherit; }
.u-system-group a::before { content: ""; grid-row: span 2; width: 8px; height: 8px; margin-top: 7px; border-radius: 50%; background: var(--u-navy-2); }
.u-system-group a:hover, .u-system-group a:focus { text-decoration: none; }
.u-system-group a:hover b, .u-system-group a:focus b { color: var(--u-coral-deep); }
.u-system-group a b { color: var(--u-ink); font-size: 15.5px; font-weight: 700; }
.u-system-group a span { color: var(--u-slate); font-size: 14px; line-height: 1.55; }
.u-system-ready { display: grid; gap: 4px; padding: 18px; border-radius: var(--u-radius); background: var(--u-navy); text-align: center; }
.u-system-ready b { color: var(--u-white); font-size: 20px; font-weight: 900; letter-spacing: 1px; }
.u-system-ready span { color: rgba(255, 255, 255, 0.78); font-size: 14px; }
@media (min-width: 992px) {
  .u-system { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
  .u-system-ready { grid-column: 1 / -1; border: 2px solid var(--u-coral); }
  .u-system-group { padding: 22px 22px 10px; }
}
.u-sec:not(.u-bg-lav) .u-system-group { background: var(--u-gray); }
.u-core { margin: 26px 0 0; padding: 20px 18px; border-left: 4px solid var(--u-coral); background: var(--u-white); color: var(--u-navy); font-size: 17px; font-weight: 700; line-height: 1.6; border-radius: 0 12px 12px 0; }
@media (min-width: 992px) { .u-core { font-size: 20px; padding: 26px 30px; } }

/* Proven Experience: 모바일 가로 스냅 (한 장 + 다음 카드 끝) */
.u-proven { display: grid; grid-auto-flow: column; grid-auto-columns: 86%; gap: 12px; margin: 26px calc(-1 * var(--u-gutter)) 0; padding: 0 var(--u-gutter) 6px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: var(--u-gutter); scrollbar-width: none; }
.u-proven::-webkit-scrollbar { display: none; }
.u-case { scroll-snap-align: start; display: flex; flex-direction: column; gap: 10px; padding: 22px 20px; border-radius: var(--u-radius); background: var(--u-navy); }
.u-case-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.u-case h3 { color: var(--u-white); font-size: 21px; font-weight: 700; line-height: 1.35; margin: 4px 0 0; overflow-wrap: anywhere; }
.u-case-result { color: var(--u-coral); font-size: 16px; font-weight: 700; line-height: 1.55; margin: 0; }
.u-case-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: auto 0 0; padding: 12px 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, 0.18); }
.u-case-chips li { padding: 4px 10px; border-radius: 30px; background: rgba(255, 255, 255, 0.12); color: var(--u-white); font-size: 13px; }
.u-proven-line { margin: 16px 0 0; color: var(--u-slate); font-size: 14px; line-height: 1.6; }
@media (min-width: 768px) { .u-proven { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 26px 0 0; padding: 0; overflow: visible; } .u-case { padding: 30px; } .u-case h3 { font-size: 24px; } }

/* 약 30곳 Portfolio: 세 층 띠 + Track 띠 */
.u-portfolio { display: grid; gap: 8px; margin-top: 26px; }
.u-tier { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; align-items: baseline; padding: 16px 18px; border-radius: 12px; background: var(--u-white); border-left: 6px solid var(--u-navy-2); }
.u-tier-name { color: var(--u-ink); font-size: 16px; font-weight: 700; }
.u-tier b { color: var(--u-navy); font-size: 17px; font-weight: 900; white-space: nowrap; }
.u-tier p { grid-column: 1 / -1; margin: 2px 0 0; color: var(--u-slate); font-size: 14px; line-height: 1.55; }
.u-tier.t-reach { border-left-color: var(--u-violet); }
.u-tier.t-match { border-left-color: var(--u-navy-2); }
.u-tier.t-safe { border-left-color: #8e96b3; }
.u-tier.t-core { background: var(--u-navy); border-left-color: var(--u-coral); }
.u-tier.t-core .u-tier-name, .u-tier.t-core b { color: var(--u-white); }
.u-tier.t-core p { color: rgba(255, 255, 255, 0.75); }
@media (min-width: 992px) { .u-portfolio { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .u-tier { grid-template-columns: minmax(0, 1fr); padding: 22px; border-left: 0; border-top: 6px solid var(--u-navy-2); } .u-tier.t-reach { border-top-color: var(--u-violet); } .u-tier.t-safe { border-top-color: #8e96b3; } .u-tier.t-core { border-top-color: var(--u-coral); } }

/* Status: 짧은 타이포 섹션 */
.u-status .u-h2 { max-width: 640px; }

/* MCAT WHY 장면 · 지원 5단계: 모바일 가로 스냅 */
.u-scenes { display: grid; grid-auto-flow: column; grid-auto-columns: 82%; gap: 12px; margin: 26px calc(-1 * var(--u-gutter)) 0; padding: 0 var(--u-gutter) 6px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: var(--u-gutter); scrollbar-width: none; }
.u-scenes::-webkit-scrollbar { display: none; }
.u-scene { scroll-snap-align: start; padding: 22px 20px; border-radius: var(--u-radius); background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.14); }
.u-scene-no { display: block; color: var(--u-coral); font-size: 12.5px; font-weight: 700; letter-spacing: 0.02em; }
.u-scene h3 { color: var(--u-white); font-size: 19px; font-weight: 700; line-height: 1.4; margin: 10px 0 8px; }
.u-scene p { color: rgba(255, 255, 255, 0.78); font-size: 14.5px; line-height: 1.7; margin: 0; }
.u-scenes.is-light .u-scene { background: var(--u-gray); border-color: var(--u-line); }
.u-scenes.is-light .u-scene h3 { color: var(--u-ink); }
.u-scenes.is-light .u-scene p { color: var(--u-slate); }
.u-road-hint.is-light { color: rgba(255, 255, 255, 0.5); }
@media (min-width: 992px) { .u-scenes { grid-auto-columns: calc((100% - 36px) / 4); margin: 26px 0 0; padding: 0 0 8px; } .u-road-hint.is-light { display: none; } }
.u-years { display: grid; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.u-years li { display: grid; gap: 4px; padding: 16px 18px; border-radius: 12px; background: var(--u-white); }
.u-years b { color: var(--u-navy); font-size: 16px; }
.u-years span { color: var(--u-slate); font-size: 14px; line-height: 1.6; }
@media (min-width: 992px) { .u-years { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.u-mcat .u-chips li { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.16); color: var(--u-white); }
.u-chips.is-inset { margin: 0; padding: 0 18px 18px; }

/* 3단 구조 요약 (/special-admission/) */
.u-layers3 { display: grid; gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.u-layers3 li { display: grid; gap: 6px; padding: 18px; border-radius: var(--u-radius); background: var(--u-white); }
.u-layers3 span { color: var(--u-coral-deep); font-size: 12.5px; font-weight: 700; letter-spacing: 0.04em; }
.u-layers3 b { color: var(--u-navy); font-size: 17px; line-height: 1.45; }
.u-layers3 small { color: var(--u-slate); font-size: 14px; line-height: 1.55; }
@media (min-width: 992px) { .u-layers3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .u-layers3 li { padding: 26px; } }

/* Progress Management 사이클 · REAL MANAGEMENT PROOF */
.u-cycle { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; counter-reset: cyc; }
.u-cycle li { counter-increment: cyc; display: grid; gap: 4px; padding: 14px 12px; border-radius: 12px; background: var(--u-gray); text-align: center; }
.u-cycle li::before { content: "0" counter(cyc); color: var(--u-coral); font-size: 12px; font-weight: 700; }
.u-cycle b { color: var(--u-navy); font-size: 15px; }
.u-cycle span { color: var(--u-slate); font-size: 12.5px; line-height: 1.45; }
.u-real-proof { display: grid; gap: 12px; margin-top: 22px; }
.u-real-proof-head { margin: 0; font-weight: 700; }
.u-gt.is-inset { margin: 0; padding: 0 14px 14px; }
details .u-cont { padding: 0 14px 14px; margin-top: 0; }
@media (max-width: 400px) { .u-h2 { font-size: 26px; } }

/* ── V3.1 (카피 덱 V3.1, 오너 승인 2026-10-07) ───────────────────────────── */
/* 홈 1 HERO: eyebrow → 도입 → h1 → 상품명 → 리드 → 버튼 → 고정 한 줄 */
.u-hero-eyebrow { display: inline-block; color: var(--u-coral); font-size: 13px; font-weight: 700; letter-spacing: 0.02em; margin: 0 0 12px; }
.u-hero .u-hero-intro { color: rgba(255, 255, 255, 0.78); font-size: 16px; line-height: 1.6; margin: 0 0 10px; }
.u-hero .u-hero-lead { color: rgba(255, 255, 255, 0.82); font-size: 15px; line-height: 1.65; margin: 8px 0 0; }
.u-hero .u-btns { margin-top: 22px; }
.u-hero .u-hero-note { margin-top: 14px; font-size: 12.5px; }
@media (min-width: 992px) {
  .u-hero-eyebrow { font-size: 15px; }
  .u-hero .u-hero-intro { font-size: 19px; }
  .u-hero .u-hero-lead { font-size: 17px; }
}

/* 홈 2 System: Layer 머리 아래 한 줄 */
.u-system-lead { margin: 0 0 4px; color: var(--u-navy); font-size: 14.5px; font-weight: 500; line-height: 1.55; }

/* 홈 3 Proven: 근거 3줄 */
.u-proof3 { display: grid; gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.u-proof3 li { display: grid; gap: 4px; padding: 18px 18px; border-radius: var(--u-radius); background: var(--u-gray); }
.u-proof3 li > b { color: var(--u-navy); font-size: 26px; font-weight: 900; line-height: 1.2; letter-spacing: -0.5px; overflow-wrap: anywhere; }
.u-proof3 li > b span { font-size: 15px; font-weight: 700; letter-spacing: 0; }
.u-proof3 small { color: var(--u-slate); font-size: 14px; line-height: 1.5; }
.u-proof3 .is-lead { background: var(--u-navy); }
.u-proof3 .is-lead .u-pill { justify-self: start; }
.u-proof3 .is-lead > b { color: var(--u-white); font-size: 21px; font-weight: 700; margin-top: 6px; }
.u-proof3 .is-lead small { color: var(--u-coral); font-size: 16px; font-weight: 700; }
@media (min-width: 768px) {
  .u-proof3 { grid-template-columns: 2fr 1fr 1fr; }
  .u-proof3 li { padding: 26px; align-content: start; }
  .u-proof3 .is-lead > b { font-size: 24px; }
}

/* 홈 5 PhysicianSOS: CHECK → MONITOR → NEXT ACTION (네이비 면) */
.u-cycle.is-sos li { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.16); }
.u-cycle.is-sos b { color: var(--u-white); font-size: 13.5px; letter-spacing: 0.02em; overflow-wrap: anywhere; }
.u-cycle.is-sos span { color: rgba(255, 255, 255, 0.72); }
.u-cycle.is-sos + .u-lead { margin-top: 18px; }
.u-more.is-light { color: rgba(255, 255, 255, 0.8); border-bottom-color: rgba(255, 255, 255, 0.5); }

/* /physiciansos/: 항목별 CHECK · MONITOR · NEXT ACTION 카드 */
.u-cma { display: grid; gap: 10px; margin: 12px 0 0; }
.u-cma div { display: grid; gap: 2px; }
.u-cma dt { color: var(--u-slate); font-size: 11.5px; font-weight: 700; letter-spacing: 0.06em; }
.u-cma dd { margin: 0; color: var(--u-ink); font-size: 15px; line-height: 1.5; }
.u-sos-cards .u-scene-no { font-size: 15px; }
@media (min-width: 992px) { .u-sos-cards { grid-auto-columns: calc((100% - 48px) / 5); } }

/* 홈 6 예시 시나리오: 사진 + 말 한마디 카드, 가로 넘김 */
.u-personas { display: grid; grid-auto-flow: column; grid-auto-columns: 86%; gap: 12px; margin: 22px calc(-1 * var(--u-gutter)) 0; padding: 0 var(--u-gutter) 6px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: var(--u-gutter); scrollbar-width: none; }
.u-personas::-webkit-scrollbar { display: none; }
.u-persona { scroll-snap-align: start; display: flex; flex-direction: column; border-radius: var(--u-radius); overflow: hidden; background: var(--u-white); border: 1px solid var(--u-line); }
.u-persona .u-visual { aspect-ratio: 16 / 10; }
.u-persona-body { display: flex; flex-direction: column; gap: 8px; padding: 18px 18px 22px; }
.u-persona-tag { align-self: flex-start; padding: 2px 9px; border-radius: 30px; background: var(--u-lav); color: var(--u-navy-2); font-size: 12px; font-weight: 700; }
.u-persona-q { margin: 4px 0 0; color: var(--u-navy); font-size: 19px; font-weight: 700; line-height: 1.45; }
.u-persona-sit { margin: 0; color: var(--u-slate); font-size: 14px; }
.u-persona-msg { margin: auto 0 0; padding-top: 12px; border-top: 1px solid var(--u-line); color: var(--u-coral-deep); font-size: 15.5px; font-weight: 700; line-height: 1.55; }
@media (min-width: 768px) { .u-personas { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 26px 0 0; padding: 0; overflow: visible; } }
@media (min-width: 768px) { .u-personas + .u-road-hint { display: none; } }

/* 홈 7 Portfolio: CORE 3 + REACH + MATCH + STRATEGIC OPTIONS = 약 30개 */
.u-tier-op { justify-self: center; color: var(--u-slate); font-size: 18px; font-weight: 700; line-height: 1; }
.u-portfolio .u-system-ready { margin-top: 6px; }
@media (min-width: 992px) {
  .u-portfolio { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); align-items: stretch; gap: 10px; }
  .u-tier-op { align-self: center; }
  .u-portfolio .u-system-ready { grid-column: 1 / -1; border: 2px solid var(--u-coral); }
}

/* 홈 8 Status: Q + S + A 띠 */
.u-qsa { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 22px 0 0; }
.u-qsa span { padding: 8px 14px; border-radius: 30px; background: var(--u-navy); color: var(--u-white); font-size: 14px; font-weight: 700; }
.u-qsa span:nth-of-type(2) { background: var(--u-coral); }
.u-qsa i { font-style: normal; color: var(--u-slate); font-weight: 700; }

/* 홈 9 Safety Net: 3층 + Additional Pathways + 호주 카드 */
.u-net.is-home { display: block; }
.u-net-more { margin: 10px 0 0; color: var(--u-slate); font-size: 14px; font-weight: 700; text-align: center; }
.u-proven.is-one { grid-auto-columns: 100%; margin: 18px 0 0; padding: 0; overflow: visible; }
@media (min-width: 768px) { .u-net.is-home { display: grid; grid-template-columns: 7fr 5fr; gap: 0 28px; align-items: start; } .u-net.is-home .u-net-more { grid-column: 1; grid-row: 2; } .u-net.is-home .u-proven.is-one { grid-column: 2; grid-row: 1 / span 2; margin: 0; grid-template-columns: minmax(0, 1fr); } }

/* ── V3.1 모바일 정리 (오너 "모바일 디자인이 엉망" 2026-10-07): 카드 종류를 줄이고, 목록을 칩으로, 첫 화면에 헤드라인+CTA ── */
.u-desk-only { display: none; }
@media (min-width: 992px) { .u-desk-only { display: inline-flex; } }

/* 히어로: 모바일은 사진 위에 카피를 얹는 전면형. 첫 화면에 헤드라인과 버튼이 같이 보인다 */
@media (max-width: 991px) {
  .u-hero { position: relative; overflow: hidden; }
  .u-hero .u-visual { position: absolute; top: var(--u-header); left: 0; right: 0; bottom: 0; aspect-ratio: auto; }
  .u-hero .u-visual::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(6, 18, 48, 0) 18%, rgba(6, 18, 48, 0.7) 46%, var(--u-navy) 72%); }
  .u-hero-copy { position: relative; z-index: 2; min-height: calc(100svh - var(--u-header) - var(--u-bar)); display: flex; flex-direction: column; justify-content: flex-end; padding: 32px var(--u-gutter) 26px; }
  .u-hero-eyebrow { margin-bottom: 8px; }
  .u-hero .u-hero-intro { font-size: 15px; margin-bottom: 8px; }
  .u-hero h1 { font-size: 36px; }
  .u-hero .u-hero-sub { margin-top: 10px; font-size: 17px; }
  .u-hero .u-hero-lead { font-size: 14.5px; }
  .u-hero .u-btns { margin-top: 18px; }
  .u-hero .u-btns .u-btn { width: 100%; }
  .u-hero .u-hero-note { margin-top: 10px; font-size: 12px; }
}

/* 강조 문장: 상자 없이 글씨로만 */
.u-core { margin: 30px 0 0; padding: 0; border: 0; background: none; border-radius: 0; color: var(--u-navy); font-size: 20px; font-weight: 700; line-height: 1.5; letter-spacing: -0.5px; }
.u-core::before { content: ""; display: block; width: 32px; height: 3px; margin-bottom: 14px; background: var(--u-coral); }
@media (min-width: 992px) { .u-core { font-size: 26px; padding: 0; } }

/* 홈 2 Admission System 압축판: Layer 3장 + READY, 항목은 칩 */
.u-stack { display: grid; gap: 0; margin: 26px 0 0; padding: 0; list-style: none; }
.u-stack-layer { position: relative; padding: 18px 18px 16px; border-radius: var(--u-radius); background: var(--u-white); border: 1px solid #dde1ee; }
.u-stack > li + li { margin-top: 22px; }
.u-stack > li + li::before { content: "+"; position: absolute; top: -21px; left: 0; right: 0; text-align: center; color: var(--u-slate); font-size: 16px; font-weight: 700; line-height: 20px; }
.u-stack > .u-stack-ready::before { content: "="; }
.u-stack-head { display: flex; align-items: baseline; gap: 10px; }
.u-stack-head span { color: var(--u-coral); font-size: 12px; font-weight: 700; letter-spacing: 0.04em; }
.u-stack-head b { color: var(--u-navy); font-size: 18px; font-weight: 900; letter-spacing: 0.02em; }
.u-stack-layer > p { margin: 6px 0 12px; color: var(--u-ink); font-size: 15px; line-height: 1.55; }
.u-stack-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.u-stack-chips a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border-radius: 30px; background: var(--u-lav); color: var(--u-navy); font-size: 13.5px; font-weight: 700; }
.u-stack-chips a:hover, .u-stack-chips a:focus { background: var(--u-navy); color: var(--u-white); text-decoration: none; }
.u-stack-ready { position: relative; padding: 16px; border-radius: var(--u-radius); background: var(--u-navy); text-align: center; }
.u-stack-ready b { color: var(--u-white); font-size: 19px; font-weight: 900; letter-spacing: 1px; }
@media (min-width: 992px) {
  .u-stack { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .u-stack > li + li { margin-top: 0; }
  .u-stack > li + li::before { display: none; }
  .u-stack-ready { grid-column: 1 / -1; border: 2px solid var(--u-coral); }
}

/* 홈 3 Proven: 네이비 카드 1장 + 수치 2칸 */
.u-proof2 { margin-top: 26px; border-radius: var(--u-radius); overflow: hidden; background: var(--u-navy); }
.u-proof2-lead { display: grid; gap: 6px; padding: 22px 20px 18px; }
.u-proof2-lead .u-pill { justify-self: start; }
.u-proof2-lead b { margin-top: 4px; color: var(--u-white); font-size: 21px; font-weight: 700; line-height: 1.3; }
.u-proof2-lead small { color: var(--u-coral); font-size: 16px; font-weight: 700; }
.u-proof2-stats { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 0; border-top: 1px solid rgba(255, 255, 255, 0.16); }
.u-proof2-stats div { padding: 16px 20px 18px; }
.u-proof2-stats div + div { border-left: 1px solid rgba(255, 255, 255, 0.16); }
.u-proof2-stats dt { color: var(--u-white); font-size: 26px; font-weight: 900; line-height: 1.1; }
.u-proof2-stats dd { margin: 4px 0 0; color: rgba(255, 255, 255, 0.85); font-size: 12.5px; font-weight: 700; line-height: 1.4; }
.u-proof2-stats small { display: block; color: rgba(255, 255, 255, 0.6); font-size: 12px; font-weight: 400; }
@media (min-width: 768px) { .u-proof2 { display: grid; grid-template-columns: 3fr 2fr; } .u-proof2-lead { padding: 30px; } .u-proof2-lead b { font-size: 26px; } .u-proof2-stats { border-top: 0; border-left: 1px solid rgba(255, 255, 255, 0.16); } .u-proof2-stats div { padding: 30px 24px; } .u-proof2-stats dt { font-size: 34px; } }

/* 홈 4 Track 카드: 조금 더 촘촘하게 */
@media (max-width: 767px) {
  .u-tracks-grid { gap: 10px; margin-top: 24px; }
  .u-track { padding: 18px 18px 20px; }
  .u-track-label { margin-top: 14px; }
  .u-track-school { font-size: 20px; }
  .u-track-link { margin-top: 12px; padding-top: 12px; }
  .u-track-via { font-size: 15.5px; }
}
.u-road-figure { margin: 22px 0 0; border-radius: var(--u-radius); overflow: hidden; }
.u-road-figure .u-visual { aspect-ratio: 21 / 9; }

/* 홈 5 CHECK → MONITOR → NEXT ACTION: 모바일은 세로 단계 */
@media (max-width: 767px) {
  .u-cycle.is-sos { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .u-cycle.is-sos li { grid-template-columns: 28px 120px minmax(0, 1fr); align-items: center; text-align: left; padding: 12px 14px; }
  .u-cycle.is-sos b { font-size: 14px; }
  .u-cycle.is-sos span { font-size: 13.5px; }
}

/* 홈 7 Portfolio: 표 하나 */
.u-pf { margin-top: 24px; border-radius: var(--u-radius); overflow: hidden; background: var(--u-white); border: 1px solid #dde1ee; }
.u-pf-row, .u-pf-total { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 2px 8px; padding: 14px 18px; }
.u-pf-row + .u-pf-row { border-top: 1px solid var(--u-line); }
.u-pf-row i, .u-pf-total i { grid-row: span 2; color: var(--u-slate); font-style: normal; font-weight: 700; }
.u-pf-row b { color: var(--u-navy); font-size: 15px; font-weight: 900; letter-spacing: 0.02em; }
.u-pf-row span { color: var(--u-slate); font-size: 14px; line-height: 1.5; }
.u-pf-row.is-core { background: var(--u-lav); }
.u-pf-row.is-core b, .u-pf-row.is-core span { grid-column: 2; }
.u-pf-row.is-core b { color: var(--u-coral-deep); }
.u-pf-total { align-items: baseline; background: var(--u-navy); }
.u-pf-total i { color: rgba(255, 255, 255, 0.6); }
.u-pf-total b { color: var(--u-white); font-size: 22px; font-weight: 900; }
.u-pf-total span { color: rgba(255, 255, 255, 0.78); font-size: 13.5px; }

/* 홈 9 Safety Net: 호주 근거는 한 덩어리 문단으로 */
.u-net-proof { display: grid; gap: 4px; margin: 12px 0 0; padding: 16px 18px; border-radius: 12px; background: var(--u-white); border: 1px solid var(--u-line); }
.u-net-proof .u-pill { justify-self: start; margin-bottom: 4px; }
.u-net-proof b { color: var(--u-coral-deep); font-size: 16px; }
.u-net-proof small { color: var(--u-slate); font-size: 13px; line-height: 1.55; }
@media (min-width: 768px) { .u-net.is-home { display: grid; grid-template-columns: 7fr 5fr; gap: 0 28px; } .u-net.is-home .u-net-proof { grid-column: 2; grid-row: 1; margin: 0; align-self: start; } .u-net.is-home .u-net-more { grid-column: 1; } }

/* 홈 10 상담: 모바일 사진을 낮게 */
@media (max-width: 767px) { .u-close .u-visual { aspect-ratio: 5 / 4; } }

/* ── 가독성 v2 (오너 "바탕과 글씨 가독성이 후짐" 2026-10-07) ──────────────────────
 * 원본 common.css 가 body 를 Light(300)로 둔다. 새 화면은 Regular(400) 이상, 본문 대비 7:1 이상, 보조 글씨 4.5:1 이상. */
/* 상속만 400 으로 올린다(구체 클래스의 굵기는 그대로 이긴다) */
.u-page { font-weight: 400; }
.u-page b, .u-page strong { font-weight: 700; }
.u-eyebrow { color: var(--u-coral-deep); font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; margin-bottom: 14px; }
.u-sos .u-eyebrow, .u-subhero .u-eyebrow { color: var(--u-coral); }
.u-h2 { color: var(--u-ink); font-weight: 700; letter-spacing: -1.2px; line-height: 1.32; }
.u-lead { color: var(--u-text); font-size: 16.5px; line-height: 1.72; }
.u-lead b { color: var(--u-ink); }
.u-sos .u-lead { color: rgba(255, 255, 255, 0.88); }
.u-sos .u-lead b { color: var(--u-white); }
.u-note { color: var(--u-slate); font-size: 14.5px; }
.u-road-hint { color: var(--u-slate); font-size: 12.5px; }
.u-road-hint.is-light, .u-sos .u-road-hint { color: rgba(255, 255, 255, 0.72); }
.u-more { font-weight: 700; }
.u-more.is-light { color: var(--u-white); border-bottom-color: rgba(255, 255, 255, 0.7); }

/* 버튼: 섹션 CTA 는 외곽선 대신 꽉 찬 네이비. 글씨는 굵게 */
.u-btn { font-weight: 700; border-radius: 6px; }
.u-btn-navy { background: var(--u-navy); border-color: var(--u-navy); color: var(--u-white); }
.u-btn-navy:hover, .u-btn-navy:focus { background: var(--u-navy-2); border-color: var(--u-navy-2); color: var(--u-white); }

/* 카드·바탕: 회청색 바탕 위 흰 카드는 테두리를 또렷하게, 그림자는 아주 약하게 */
.u-bg-lav { background: var(--u-lav); }
.u-stack-layer, .u-pf, .u-net-proof, .u-persona, .u-layers li { border-color: #dcdfe7; box-shadow: 0 1px 2px rgba(14, 22, 48, 0.04); }
.u-stack-layer > p { color: var(--u-text); font-weight: 500; }
.u-stack-chips a { background: #eceef4; color: var(--u-ink); }
.u-pf-row span, .u-layers small, .u-net-proof small, .u-persona-sit { color: var(--u-slate); }
.u-layers b { color: var(--u-ink); font-weight: 700; }
.u-layers li:nth-child(3) .dot { background: #5d6788; }
.u-card p, .u-card li { color: var(--u-text); }
.u-system-group a span { color: var(--u-slate); }
.u-system-group a b { color: var(--u-ink); }
.u-system-lead { color: var(--u-ink); font-weight: 500; }

/* 네이비 면 위 보조 글씨 대비 올림 */
.u-proof2-stats small, .u-pf-total i { color: rgba(255, 255, 255, 0.72); }
.u-proof2-stats dd { color: var(--u-white); }
.u-cycle.is-sos span { color: rgba(255, 255, 255, 0.82); }
.u-hero .u-hero-intro { color: rgba(255, 255, 255, 0.9); }
.u-hero .u-hero-lead { color: rgba(255, 255, 255, 0.9); }
.u-hero .u-hero-note { color: rgba(255, 255, 255, 0.72); }
.u-close p { color: rgba(255, 255, 255, 0.88); }
.u-subhero .u-subhero-note { color: rgba(255, 255, 255, 0.75); }

/* 시나리오 카드: 따옴표 문장을 주인공으로 */
.u-persona-q { color: var(--u-ink); }
.u-persona-tag { background: #fde9eb; color: var(--u-coral-deep); }

/* 히어로(모바일): 사진은 위 절반, 카피는 그 아래. 얼굴을 글씨로 덮지 않는다 */
@media (max-width: 991px) {
  .u-hero .u-visual { bottom: auto; height: max(300px, calc(100svh - var(--u-header) - var(--u-bar) - 330px)); }
  .u-hero .u-visual::before { background: linear-gradient(180deg, rgba(6, 18, 48, 0) 62%, var(--u-navy) 100%); }
  .u-hero .u-visual img { object-position: 76% 30%; }
}

/* ── V3.3 Premium Route (카피 덱 V3.3, 오너 2026-10-08) ─────────────────────── */
/* 1b Aspiration: 히어로의 네이비를 이어 받는 기회의 화면 */
.u-aspire { background: linear-gradient(180deg, var(--u-navy) 0%, #0d1c45 100%); }
.u-aspire .u-eyebrow { color: var(--u-coral); }
.u-aspire .u-h2 { color: var(--u-white); }
.u-aspire .u-lead { color: rgba(255, 255, 255, 0.86); }
.u-aspire .u-lead b { color: var(--u-white); }
.u-aspire .u-road .u-visual { background: var(--u-navy-2); }
.u-aspire .u-step h3 { color: var(--u-white); }
.u-aspire .u-step p { color: rgba(255, 255, 255, 0.78); }
.u-aspire .u-step .u-pill { background: rgba(255, 255, 255, 0.16); }
.u-aspire .u-step:nth-child(5) .u-pill { background: var(--u-coral); }
.u-aspire .u-road-hint { color: rgba(255, 255, 255, 0.72); }

/* Track 정의 줄 */
.u-define { margin: 22px 0 0; padding: 14px 16px; border-radius: 12px; background: var(--u-lav); color: var(--u-ink); font-size: 15px; font-weight: 500; line-height: 1.55; }
.u-define span { display: block; margin-bottom: 4px; color: var(--u-coral-deep); font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; }

/* Track 카드: 전면 색 → 흰 카드 + 위 색 띠 (차분한 Premium) */
.u-track { background: var(--u-white); color: var(--u-ink); border: 1px solid #dcdfe7; border-top: 6px solid var(--u-navy-2); box-shadow: 0 1px 2px rgba(14, 22, 48, 0.05); }
.u-track.t1 { background: var(--u-white); border-top-color: var(--u-coral); }
.u-track.t3 { background: var(--u-white); border-top-color: var(--u-violet); }
.u-track-top { border-bottom: 1px solid var(--u-line); color: var(--u-navy); }
.u-track.t1 .u-track-top span:first-child { color: var(--u-coral-deep); }
.u-track.t3 .u-track-top span:first-child { color: var(--u-violet); }
.u-track-top span:last-child { color: var(--u-slate); opacity: 1; }
.u-track-label { color: var(--u-slate); opacity: 1; }
.u-track-school { color: var(--u-ink); }
.u-track-link { border-top-color: var(--u-line); }
.u-track-link b { color: var(--u-coral); }
.u-track-via { color: var(--u-ink); font-weight: 700; }
.u-track-place { color: var(--u-slate); opacity: 1; }
.u-track-mou { background: var(--u-lav); color: var(--u-navy); }
.u-track-hook { border-top-color: var(--u-line); color: var(--u-text); }
.u-bg-lav .u-track { border-color: #dcdfe7; }

/* 4 PhysicianSOS: 큰 타이포 + Control Tower 패널 + 숫자 */
.u-sos .u-visual { margin: 26px 0 0; }
.u-bigtype { margin: 24px 0 0; color: rgba(255, 255, 255, 0.82); font-size: 22px; font-weight: 700; line-height: 1.5; letter-spacing: -0.6px; }
.u-bigtype b { display: inline-block; margin-top: 6px; color: var(--u-coral); }
.u-ctrl-title { margin: 30px 0 10px; color: var(--u-white); font-size: 17px; font-weight: 700; }
.u-ctrl { border-radius: var(--u-radius); overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.04); }
.u-ctrl-head { display: grid; gap: 4px; padding: 12px 14px; background: rgba(255, 255, 255, 0.08); }
.u-ctrl-head > span:first-child { color: var(--u-coral); font-size: 11.5px; font-weight: 700; letter-spacing: 0.1em; }
.u-ctrl-legend { color: rgba(255, 255, 255, 0.8); font-size: 12.5px; }
.u-ctrl-legend b { color: var(--u-white); }
.u-ctrl-row { padding: 12px 14px; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.u-ctrl-name { display: block; margin-bottom: 6px; color: var(--u-white); font-size: 15px; font-weight: 900; letter-spacing: 0.04em; }
.u-ctrl-row dl { display: grid; gap: 3px; margin: 0; }
.u-ctrl-row dl div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 8px; }
.u-ctrl-row dt { color: rgba(255, 255, 255, 0.6); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; padding-top: 2px; }
.u-ctrl-row dd { margin: 0; color: rgba(255, 255, 255, 0.92); font-size: 14px; line-height: 1.45; }
.u-ctrl-row dl div:last-child dd { color: var(--u-white); font-weight: 700; }
@media (min-width: 992px) {
  .u-ctrl-head { grid-template-columns: 220px minmax(0, 1fr); align-items: center; }
  .u-ctrl-row { display: grid; grid-template-columns: 160px minmax(0, 1fr); align-items: center; }
  .u-ctrl-name { margin: 0; }
  .u-ctrl-row dl { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .u-ctrl-row dl div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .u-bigtype { font-size: 30px; }
}
.u-nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 14px 0 0; }
.u-nums div { padding: 14px 10px; border-radius: 12px; background: var(--u-white); text-align: center; }
.u-nums dt { color: var(--u-navy); font-size: 24px; font-weight: 900; line-height: 1.1; letter-spacing: -0.5px; }
.u-nums dd { margin: 4px 0 0; color: var(--u-slate); font-size: 12px; font-weight: 700; line-height: 1.35; }
@media (min-width: 992px) { .u-nums dt { font-size: 36px; } .u-nums dd { font-size: 14px; } .u-nums div { padding: 22px; } }
.u-nums + .u-lead { margin-top: 22px; }

/* 시나리오 태그: 예시 표기가 빠졌으니 학년 라벨만 */
.u-persona-tag { background: var(--u-navy); color: var(--u-white); }
/* 1b 여정 띠: 모바일도 가로 넘김 없이 전체 여정을 한 장으로 (첫 장면이 한국 교실에 머물지 않게) */
.u-road.is-journey { overflow: visible; margin-left: 0; margin-right: 0; padding: 0; scroll-snap-type: none; }
.u-road.is-journey .u-road-track { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 8px; }
.u-road.is-journey .u-visual { aspect-ratio: 21 / 9; }
.u-road.is-journey .u-step { padding: 12px 0 0; }
.u-road.is-journey .u-step h3 { font-size: 13.5px; margin: 8px 0 0; letter-spacing: -0.3px; }
.u-road.is-journey .u-step p { display: none; }
.u-road.is-journey .u-pill { padding: 4px 8px; font-size: 11px; }
@media (min-width: 768px) { .u-road.is-journey .u-step h3 { font-size: 19px; } .u-road.is-journey .u-step p { display: block; margin-top: 6px; } .u-road.is-journey .u-pill { padding: 6px 14px; font-size: 12px; } }
/* 홈 PhysicianSOS 사진: 데스크톱은 띠로 (그리드 밖에 단독으로 놓일 때만) */
@media (min-width: 768px) { .u-sos > .container > .u-visual { aspect-ratio: 21 / 9; } }

/* ── Sample PhysicianSOS Student Report (오너 2026-10-08): 흰 리포트 카드, SAMPLE 표기 머리·바닥 ── */
.u-sr { margin: 0; border-radius: var(--u-radius); overflow: hidden; background: var(--u-white); color: var(--u-ink); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22); }
.u-sr-head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--u-line); background: var(--u-gray); }
.u-sr-head b { display: block; font-size: 15px; color: var(--u-ink); }
.u-sr-head small { display: block; color: var(--u-slate); font-size: 12px; line-height: 1.45; }
.u-sr-badge { flex: none; padding: 4px 8px; border: 1.5px dashed var(--u-coral-deep); border-radius: 6px; color: var(--u-coral-deep); font-size: 11px; font-weight: 900; letter-spacing: 0.12em; }
.u-sr-grid { display: grid; }
.u-sr-mod { padding: 14px 16px; border-top: 1px solid var(--u-line); }
.u-sr-mod:first-child { border-top: 0; }
.u-sr-mod h4 { margin: 0 0 10px; color: var(--u-slate); font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.u-sr-gpa { display: grid; grid-template-columns: 96px auto minmax(0, 1fr); align-items: center; gap: 10px; margin-top: 6px; }
.u-sr-gpa span { font-size: 13.5px; color: var(--u-text); }
.u-sr-gpa b { font-size: 20px; font-weight: 900; color: var(--u-navy); }
.u-sr-gpa i, .u-sr-bar i { position: relative; height: 6px; border-radius: 6px; background: #eceef4; overflow: hidden; }
.u-sr-gpa i::after, .u-sr-bar i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: 6px; background: var(--u-navy-2); }
.u-sr-target { margin: 8px 0 0; color: var(--u-slate); font-size: 12px; }
.u-sr-bar { display: grid; grid-template-columns: 44px minmax(0, 1fr) 40px; align-items: center; gap: 10px; margin-top: 6px; font-size: 13px; }
.u-sr-bar b { text-align: right; font-weight: 700; color: var(--u-ink); }
.u-sr-bar.is-low i::after { background: var(--u-coral); }
.u-sr-bar.is-low b { color: var(--u-coral-deep); }
.u-sr-wa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.u-sr-wa div { padding: 8px 10px; border-radius: 8px; background: var(--u-gray); }
.u-sr-wa dt { color: var(--u-slate); font-size: 11.5px; font-weight: 700; }
.u-sr-wa dd { margin: 2px 0 0; color: var(--u-ink); font-size: 15px; font-weight: 700; }
.u-sr-mod ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.u-sr-mod li { position: relative; padding-left: 20px; font-size: 14px; line-height: 1.45; color: var(--u-text); }
.u-sr-mod.is-risk { background: #fff4f5; }
.u-sr-mod.is-risk h4 { color: var(--u-coral-deep); }
.u-sr-mod.is-risk li::before { content: "!"; position: absolute; left: 0; top: 1px; width: 14px; height: 14px; border-radius: 50%; background: var(--u-coral-deep); color: #fff; font-size: 10px; font-weight: 900; line-height: 14px; text-align: center; }
.u-sr-mod.is-next li::before { content: ""; position: absolute; left: 0; top: 3px; width: 12px; height: 12px; border: 1.5px solid var(--u-navy-2); border-radius: 3px; }
.u-sr-tl { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; }
.u-sr-tl li { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; align-items: baseline; gap: 8px; padding: 6px 0 6px 14px; border-left: 2px solid #dcdfe7; position: relative; }
.u-sr-tl li::before { content: ""; position: absolute; left: -5px; top: 12px; width: 8px; height: 8px; border-radius: 50%; background: #c3c8d6; }
.u-sr-tl li.is-now::before { background: var(--u-coral); box-shadow: 0 0 0 3px #fde0e3; }
.u-sr-tl span { color: var(--u-slate); font-size: 12.5px; }
.u-sr-tl b { color: var(--u-ink); font-size: 14px; }
.u-sr-tl em { font-style: normal; padding: 1px 7px; border-radius: 20px; background: var(--u-coral); color: #fff; font-size: 11px; font-weight: 700; }
.u-sr-foot { padding: 12px 16px; border-top: 1px dashed #d6d9e2; background: var(--u-gray); color: var(--u-slate); font-size: 12px; line-height: 1.5; }
@media (min-width: 992px) {
  .u-sr-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .u-sr-mod { border-left: 1px solid var(--u-line); }
  .u-sr-mod:nth-child(3n + 1) { border-left: 0; }
  .u-sr-mod:nth-child(-n + 3) { border-top: 0; }
}
.u-sos .u-sr + .u-nums { margin-top: 16px; }
.u-sec:not(.u-sos) .u-sr { box-shadow: 0 1px 2px rgba(14, 22, 48, 0.06); border: 1px solid #dcdfe7; margin-top: 18px; }

/* ── Proven 4단 케이스 (Starting Point → Management → Qualification Built → Admission) ── */
.u-case4 { margin-top: 24px; border-radius: var(--u-radius); overflow: hidden; background: var(--u-navy); color: var(--u-white); }
.u-case4-head { display: flex; flex-wrap: wrap; gap: 6px; padding: 20px 20px 0; }
.u-case4 h3 { margin: 10px 0 0; padding: 0 20px; color: var(--u-white); font-size: 21px; font-weight: 700; line-height: 1.3; }
.u-case4-steps { margin: 16px 0 0; padding: 0 20px 18px; list-style: none; display: grid; gap: 0; }
.u-case4-steps li { position: relative; padding: 10px 0 12px 22px; border-left: 2px solid rgba(255, 255, 255, 0.22); margin-left: 6px; }
.u-case4-steps li::before { content: ""; position: absolute; left: -7px; top: 14px; width: 12px; height: 12px; border-radius: 50%; background: var(--u-navy); border: 2px solid rgba(255, 255, 255, 0.6); }
.u-case4-steps li.is-final { border-left-color: transparent; }
.u-case4-steps li.is-final::before { background: var(--u-coral); border-color: var(--u-coral); }
.u-case4-steps span { display: block; color: rgba(255, 255, 255, 0.7); font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; }
.u-case4-steps b { display: block; margin-top: 4px; color: var(--u-white); font-size: 15.5px; line-height: 1.45; }
.u-case4-steps li.is-final b { color: var(--u-coral); font-size: 17px; }
.u-case4-ph { margin: 6px 0 0; padding: 8px 10px; border: 1px dashed rgba(255, 255, 255, 0.4); border-radius: 8px; color: rgba(255, 255, 255, 0.72); font-size: 13px; }
.u-proof2-stats.is-light { border-top: 1px solid rgba(255, 255, 255, 0.16); }
@media (min-width: 992px) {
  .u-case4-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding-bottom: 24px; }
  .u-case4-steps li { margin: 0; padding: 22px 16px 0 0; border-left: 0; border-top: 2px solid rgba(255, 255, 255, 0.22); }
  .u-case4-steps li::before { left: 0; top: -7px; }
  .u-case4-steps li.is-final { border-top-color: var(--u-coral); }
  .u-case4 h3 { font-size: 26px; }
}
/* Sample Report 모바일 압축: 한 화면 안에 6개 모듈 (GPA | W&A 2열, 나머지 한 줄씩) */
@media (max-width: 991px) {
  .u-sr-head { padding: 10px 12px; gap: 10px; }
  .u-sr-head b { font-size: 14px; }
  .u-sr-head small { font-size: 11.5px; }
  .u-sr-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .u-sr-mod { grid-column: 1 / -1; padding: 10px 12px; }
  .u-sr-mod h4 { margin-bottom: 6px; font-size: 10.5px; }
  .u-sr-mod.is-gpa { grid-column: 1; order: 1; border-top: 0; }
  .u-sr-mod.is-wa { grid-column: 2; order: 2; border-top: 0; border-left: 1px solid var(--u-line); }
  .u-sr-mod.is-mcat { order: 3; }
  .u-sr-mod.is-risk { order: 4; }
  .u-sr-mod.is-next { order: 5; }
  .u-sr-mod.is-tl { order: 6; }
  .u-sr-gpa { grid-template-columns: minmax(0, 1fr) auto; gap: 6px; margin-top: 2px; }
  .u-sr-gpa span { font-size: 12px; }
  .u-sr-gpa b { font-size: 17px; }
  .u-sr-gpa i { display: none; }
  .u-sr-target { margin-top: 4px; font-size: 11px; }
  .u-sr-wa { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .u-sr-wa div { display: flex; justify-content: space-between; gap: 6px; padding: 1px 0; background: none; }
  .u-sr-wa dt { font-size: 12px; font-weight: 400; color: var(--u-text); }
  .u-sr-wa dd { margin: 0; font-size: 12.5px; }
  .u-sr-bar { grid-template-columns: 40px minmax(0, 1fr) 34px; gap: 8px; margin-top: 3px; font-size: 12px; }
  .u-sr-mod ul { gap: 3px; }
  .u-sr-mod li { font-size: 13px; padding-left: 18px; }
  .u-sr-tl li { grid-template-columns: 64px minmax(0, 1fr) auto; padding: 2px 0 2px 12px; }
  .u-sr-tl li::before { top: 8px; }
  .u-sr-tl span { font-size: 11.5px; }
  .u-sr-tl b { font-size: 13px; }
  .u-sr-foot { padding: 8px 12px; font-size: 11px; }
}

/* ── 실제 PhysicianSOS 학부모 리포트 화면 (요약 흐름 + 화면 캡처 3장) ── */
.u-pr { margin-top: 14px; }
.u-pr-label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; color: rgba(255, 255, 255, 0.78); font-size: 12.5px; }
.u-pr-label span { padding: 3px 9px; border-radius: 20px; background: var(--u-coral); color: var(--u-white); font-weight: 700; }
.u-pr-flow { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; counter-reset: prf; }
.u-pr-flow li { counter-increment: prf; padding: 5px 10px; border-radius: 20px; border: 1px solid rgba(255, 255, 255, 0.28); color: var(--u-white); font-size: 13px; font-weight: 700; }
.u-pr-flow li::before { content: counter(prf) " "; color: var(--u-coral); }
.u-pr-shots { display: grid; grid-auto-flow: column; grid-auto-columns: 84%; gap: 12px; margin: 14px calc(-1 * var(--u-gutter)) 0; padding: 0 var(--u-gutter) 6px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: var(--u-gutter); scrollbar-width: none; align-items: start; }
.u-pr-shots::-webkit-scrollbar { display: none; }
.u-pr-shot { scroll-snap-align: start; display: grid; gap: 8px; color: var(--u-white); text-decoration: none; }
.u-pr-shot:hover, .u-pr-shot:focus { text-decoration: none; color: var(--u-white); }
.u-pr-shot .u-visual { border-radius: 12px; background: #f4f3ef; box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28); }
.u-pr-shot .u-visual img { height: auto; }
.u-pr-shot > span { font-size: 13px; font-weight: 700; }
.u-sec:not(.u-sos) .u-pr-label { color: var(--u-slate); }
.u-sec:not(.u-sos) .u-pr-flow li { border-color: #dcdfe7; color: var(--u-ink); }
.u-sec:not(.u-sos) .u-pr-shot, .u-sec:not(.u-sos) .u-pr-shot:hover { color: var(--u-ink); }
.u-sec:not(.u-sos) .u-pr-shot .u-visual { box-shadow: 0 1px 2px rgba(14, 22, 48, 0.08); border: 1px solid #dcdfe7; }
@media (min-width: 992px) { .u-pr-shots { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 16px 0 0; padding: 0; overflow: visible; } .u-pr + .u-road-hint, .u-pr .u-road-hint { display: none; } }
/* 리포트 캡처는 자르지 않는다: PhysicianSOS 섹션의 사진 비율(4:3 · 21:9) 규칙을 끊는다 */
.u-sos .u-pr-shot .u-visual, .u-pr-shot .u-visual { aspect-ratio: auto; margin: 0; }
