/* 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; }

/* ── DESIGN.md 적용 (2026-10-08): 하위 페이지까지 같은 규칙으로 ─────────────────────────
 * 보라는 Track 03 전용 · eyebrow 는 코럴 대문자 영어 · 보조 글씨 대비 4.5:1 이상 · 테두리는 line 토큰 · 표 대신 카드(모바일) */
.u-subhero .u-pill { background: var(--u-coral); }
.u-eyebrow { text-transform: uppercase; }
.u-cond-item small, .u-stats-src { color: var(--u-slate); }
.u-stat, .u-bg-lav .u-chips li, .u-sched-item, .u-gt li, .u-system-group, .u-stack-layer, .u-pf, .u-net-proof, .u-persona,
.u-layers li, .u-track, .u-bg-lav .u-track, .u-sec:not(.u-sos) .u-sr, .u-sec:not(.u-sos) .u-pr-flow li, .u-sec:not(.u-sos) .u-pr-shot .u-visual { border-color: var(--u-line); }
.u-stack-chips a, .u-sr-gpa i, .u-sr-bar i { background: var(--u-lav); }
.u-layers li:nth-child(4) .dot { background: var(--u-slate); }
.u-tier.t-safe { border-left-color: var(--u-slate); }
.u-table td.is-special { background: var(--u-gray); }

/* 비교표: 모바일은 행마다 카드 한 장(항목 → 일반전형 → 특별전형). 가로 스크롤로 잘려 보이지 않게 */
@media (max-width: 767px) {
  .u-table-wrap:has(.u-table.is-stack) { overflow: visible; border: 0; border-radius: 0; }
  .u-table.is-stack { min-width: 0; background: none; }
  .u-table.is-stack thead { display: none; }
  .u-table.is-stack tbody { display: grid; gap: 10px; }
  .u-table.is-stack tr { display: grid; border: 1px solid var(--u-line); border-radius: var(--u-radius); overflow: hidden; background: var(--u-white); }
  .u-table.is-stack th, .u-table.is-stack td { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 10px; padding: 10px 16px; border-bottom: 1px solid var(--u-line); white-space: normal; }
  .u-table.is-stack tbody th { display: block; padding: 12px 16px 10px; background: var(--u-navy); color: var(--u-white); font-size: 15px; }
  .u-table.is-stack td::before { content: attr(data-label); color: var(--u-slate); font-size: 12.5px; font-weight: 700; }
  .u-table.is-stack td.is-special::before { color: var(--u-coral-deep); }
  .u-table.is-stack tr > :last-child { border-bottom: 0; }
}

/* ══ 디자인 시스템 v2 (오너 확정 2026-10-08): A Ivy Editorial 뼈대 + PhysicianSOS 만 B Admission Control ══
 * 제목은 명조, 주 버튼은 크림슨(흰 글씨 7.5:1), 모서리 0, 구분은 선. 첫 화면은 영상. 학교는 사진 캐러셀. */
:root {
  --u-navy: #0a1a3a; --u-navy-2: #26324f; --u-coral: #a6192e; --u-coral-deep: #7e1222;
  --u-ink: #0a1a3a; --u-text: #1f2a44; --u-lav: #f3f4f7; --u-line: #d9dce3; --u-radius: 0px;
  --u-scrim: rgba(10, 26, 58, 0.82); --u-scrim-0: rgba(10, 26, 58, 0);
  --u-bronze: #8b5e2b; --u-gold: #d9b77e;
  --u-serif: "Noto Serif KR", "Nanum Myeongjo", "AppleMyungjo", serif;
  --u-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  --u-void: #040a1c; --u-panel: #0c1633; --u-signal: #ff5c70;
}

/* 제목: 명조 */
.u-h2, .u-hero h1, .u-subhero h1, .u-close h2, .u-core, .u-h3, .u-track-school, .u-case h3, .u-case4 h3,
.u-proof2-lead b, .u-persona-q, .u-bigtype, .u-ctrl-title, .u-card h3 { font-family: var(--u-serif); }
.u-h2 { font-weight: 700; letter-spacing: -0.6px; }
.u-hero h1, .u-subhero h1 { font-weight: 900; letter-spacing: -1px; }
.u-close h2 { font-weight: 700; letter-spacing: -0.6px; }
.u-core { font-weight: 700; letter-spacing: -0.3px; }
.u-core::before { background: var(--u-bronze); }

/* 어두운 면 위의 강조색: 금색(편집 톤) · PhysicianSOS 만 시그널 */
.u-hero-eyebrow, .u-hero .u-hero-sub b, .u-aspire .u-eyebrow, .u-subhero .u-eyebrow, .u-proof2-lead small, .u-case4-steps li.is-final b { color: var(--u-gold); }
.u-sos .u-eyebrow, .u-bigtype b, .u-ctrl-head > span:first-child { color: var(--u-signal); }

/* 모양: 모서리 0, 알약은 거의 각진 태그 */
.u-btn { border-radius: 0; min-height: 54px; }
.u-pill, .u-persona-tag, .u-qsa span, .u-stack-chips a, .u-sr-badge, .u-track-mou { border-radius: 2px; }
.u-nums div, .u-define, .u-net-proof, .u-layers li, .u-cycle li, .u-sched-item, .u-gt li, .u-pr-shot .u-visual, .u-sr-wa div, .u-chips li { border-radius: 0; }
.u-subhero { background: linear-gradient(120deg, var(--u-navy) 0%, #14244d 100%); border-bottom: 2px solid var(--u-bronze); }

/* 히어로 영상 */
.u-hero-video { display: block; object-fit: cover; background: var(--u-navy); }
.u-hero-film { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 6px; color: var(--u-white); font-size: 14px; font-weight: 500; }
.u-hero-film:hover, .u-hero-film:focus { color: var(--u-gold); text-decoration: none; }
.u-hero-film span { font-size: 11px; }
@media (max-width: 991px) {
  .u-hero .u-visual, .u-hero-video { position: absolute; top: var(--u-header); left: 0; right: 0; bottom: 0; width: 100%; height: auto; }
  .u-hero .u-visual::before { display: none; }
  .u-hero-video { z-index: 1; height: calc(100% - var(--u-header)); }
  .u-hero-copy { padding-top: 45vh; background: linear-gradient(180deg, rgba(10, 26, 58, 0) 0%, rgba(10, 26, 58, 0.86) 34%, var(--u-navy) 72%); }
  .u-hero h1 { font-size: 38px; }
}
@media (min-width: 992px) {
  .u-hero:has(.u-hero-video) .u-visual { display: none; }
  .u-hero-video { position: absolute; z-index: 1; right: max(40px, calc((100vw - 1200px) / 2)); top: calc(var(--u-header) + 40px); height: calc(100% - var(--u-header) - 80px); aspect-ratio: 720 / 1140; border: 1px solid rgba(255, 255, 255, 0.28); }
  .u-hero h1 { font-size: 60px; }
}
@media (prefers-reduced-motion: reduce) {
  .u-hero-video { display: none; }
  .u-hero:has(.u-hero-video) .u-visual { display: block; }
}

/* Opportunity 영상 */
.u-film { margin: 24px auto 0; max-width: 420px; aspect-ratio: 720 / 1140; background: var(--u-navy) url("/assets/media/usmd/opportunity-poster-v1.jpg") center / cover; border: 1px solid rgba(255, 255, 255, 0.2); }
.u-film video { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (prefers-reduced-motion: reduce) { .u-film video { display: none; } }
.u-film-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 420px; margin: 0 auto; padding: 0; list-style: none; border-top: 2px solid var(--u-gold); }
.u-film-steps li { padding: 10px 0 0; color: var(--u-white); font-size: 12.5px; font-weight: 700; }
.u-film-steps li.is-end { color: var(--u-gold); }

/* 세 요소의 합. 번호 칸을 만들지 않고 제목 아래로 전체 폭 설명을 펼친다. */
.u-admission-system { margin-top: 32px; }
.u-admission-stages { display: grid; gap: 38px; }
.u-admission-stage { position: relative; min-width: 0; border: 1px solid var(--u-line); border-top: 3px solid var(--u-navy); background: var(--u-white); box-sizing: border-box; }
.u-admission-stage + .u-admission-stage::before { content: "+"; position: absolute; left: 50%; top: -39px; transform: translateX(-50%); color: var(--u-bronze); font-size: 24px; font-weight: 500; line-height: 36px; }
.u-admission-stage[open] { border-top-color: var(--u-coral); }
.u-admission-stage summary { position: relative; list-style: none; padding: 18px 46px 18px 20px; cursor: pointer; }
.u-admission-stage summary::-webkit-details-marker { display: none; }
.u-admission-stage summary:focus-visible { outline: 3px solid var(--u-coral); outline-offset: -3px; }
.u-admission-kicker { display: block; color: var(--u-bronze); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.u-admission-stage summary > b { display: block; margin-top: 6px; color: var(--u-ink); font-family: var(--u-serif); font-size: 24px; font-weight: 700; line-height: 1.4; letter-spacing: -.5px; }
.u-admission-lead { display: block; margin-top: 6px; color: var(--u-slate); font-size: 14px; line-height: 1.6; word-break: keep-all; }
.u-admission-toggle { position: absolute; right: 20px; top: 42px; color: var(--u-coral); font-size: 24px; line-height: 1; transition: transform 280ms ease; }
.u-admission-stage[open] .u-admission-toggle { transform: rotate(180deg); }
.u-admission-body { padding: 0 20px; overflow: hidden; box-sizing: border-box; }
.u-admission-body ul { padding: 0 0 8px; margin: 0; list-style: none; }
.u-admission-body li { border-top: 1px solid var(--u-line); }
.u-admission-body a { position: relative; display: block; padding: 16px 24px 16px 0; min-height: 44px; color: var(--u-text); word-break: keep-all; overflow-wrap: break-word; }
.u-admission-body a > b { display: block; color: var(--u-ink); font-size: 16px; font-weight: 700; line-height: 1.5; }
.u-admission-body a > span { display: block; margin-top: 5px; color: var(--u-slate); font-size: 15px; line-height: 1.65; }
.u-admission-body a > i { position: absolute; right: 0; top: 18px; color: var(--u-bronze); font-size: 14px; font-style: normal; }
.u-admission-body a:hover, .u-admission-body a:focus { text-decoration: none; }
.u-admission-body a:hover > b { color: var(--u-coral); }
.u-admission-result { display: grid; justify-items: center; padding-top: 20px; }
.u-admission-connector { display: block; width: 1px; height: 28px; margin-bottom: 16px; background: var(--u-bronze); transform-origin: top; }
.u-admission-connector::after { content: ""; position: relative; display: block; left: -3px; top: 20px; width: 7px; height: 7px; border-right: 1px solid var(--u-bronze); border-bottom: 1px solid var(--u-bronze); transform: rotate(45deg); }
.u-admission-result p { width: 100%; margin: 0; padding: 18px 12px; background: var(--u-navy); color: var(--u-white); font-family: var(--u-serif); font-size: 24px; font-weight: 700; line-height: 1.4; text-align: center; letter-spacing: -.5px; }
@media (max-width: 991px) {
  #system { scroll-margin-top: 12px; }
  .u-admission-stages { gap: 32px; }
  .u-admission-stage + .u-admission-stage::before { top: -33px; line-height: 30px; }
  .u-admission-stage summary { padding-top: 16px; padding-bottom: 16px; }
  .u-admission-result { padding-top: 16px; }
  .u-admission-connector { height: 20px; margin-bottom: 12px; }
  .u-admission-connector::after { top: 12px; }
  .u-admission-result p { padding-top: 14px; padding-bottom: 14px; }
}
@media (min-width: 992px) {
  .u-admission-stages { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 40px; }
  .u-admission-stage + .u-admission-stage::before { left: -28px; top: 42px; transform: none; }
  .u-admission-stage summary { min-height: 136px; padding-top: 22px; padding-bottom: 22px; }
  .u-admission-result p { max-width: 520px; font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) { .u-admission-toggle { transition: none; } }

/* 3 Core Track: 학교 사진 카드 (홈은 옆으로 넘기기) */
.u-track { padding: 0; border: 1px solid var(--u-navy); border-top-width: 6px; background: var(--u-white); color: var(--u-ink); box-shadow: none; }
.u-track.t1 { border-top-color: var(--u-coral); }
.u-track.t2 { border-top-color: var(--u-navy-2); }
.u-track.t3 { border-top-color: var(--u-bronze); }
.u-track-photo { position: relative; aspect-ratio: 3 / 2; background: var(--u-navy); }
.u-track-photo .u-visual { position: absolute; inset: 0; height: 100%; }
.u-track-tag { position: absolute; z-index: 2; left: 12px; top: 12px; padding: 4px 8px; background: var(--u-navy); color: var(--u-white); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; }
.u-track-body { display: flex; flex-direction: column; gap: 8px; padding: 16px 16px 6px; flex: 1; }
.u-track-body .u-track-label { margin: 0; color: var(--u-slate); }
.u-track-school { margin: 0; font-size: 20px; line-height: 1.3; letter-spacing: -0.3px; }
.u-track-link { display: flex; gap: 10px; align-items: center; margin: 6px 0 0; padding: 12px 0 0; border-top: 1px solid var(--u-line); }
.u-track-pre { flex: none; width: 48px; height: 48px; }
.u-track-pre .u-visual { width: 48px; height: 48px; }
.u-track-via { margin: 2px 0 0; font-size: 14.5px; }
.u-track-mou { align-self: flex-start; margin: 0; padding: 0; background: none; color: var(--u-bronze); font-size: 12px; font-weight: 700; }
.u-track-hook { margin: 0; padding: 0; border: 0; color: var(--u-text); font-size: 13.5px; font-weight: 400; }
.u-track .u-more { margin-top: auto; padding-top: 8px; }
.u-tracks-grid.u-rail { display: grid; grid-auto-flow: column; grid-auto-columns: 82%; gap: 12px; margin: 24px calc(-1 * var(--u-gutter)) 0; padding: 0 var(--u-gutter) 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: var(--u-gutter); scrollbar-width: none; }
.u-tracks-grid.u-rail::-webkit-scrollbar { display: none; }
.u-tracks-grid.u-rail .u-track { scroll-snap-align: start; }
@media (min-width: 768px) {
  .u-tracks-grid.u-rail { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 32px 0 0; padding: 0; overflow: visible; }
  .u-tracks-grid.u-rail + .u-road-hint { display: none; }
  .u-track { min-height: 0; }
}

/* Proven: 로마린다 캠퍼스 사진 */
.u-proof2-photo .u-visual { aspect-ratio: 16 / 9; }
@media (min-width: 768px) { .u-proof2 { grid-template-columns: 1.1fr 1.4fr 1fr; } .u-proof2-photo .u-visual { aspect-ratio: auto; height: 100%; } }

/* PhysicianSOS: 운영 화면 (B) */
.u-sos { background: var(--u-void); }
.u-ctrl { background: var(--u-panel); }
.u-ctrl-name, .u-ctrl-row dt, .u-ctrl-head > span:first-child { font-family: var(--u-mono); }
.u-sos .u-nums div { background: transparent; border: 1px solid rgba(255, 255, 255, 0.2); }
.u-sos .u-nums dt { font-family: var(--u-mono); color: var(--u-white); font-weight: 600; }
.u-sos .u-nums dd { color: rgba(255, 255, 255, 0.74); }
.u-sos .u-pr-label span { background: var(--u-signal); color: var(--u-void); }
.u-sos .u-pr-flow li::before { color: var(--u-signal); }

/* 사진 출처 */
.u-credits { margin: 28px 0 0; color: var(--u-slate); font-size: 11.5px; line-height: 1.6; }

/* ── 첫 화면 정리 (오너 2026-10-08 "하단 바가 첫 화면에 너무 크다 · 글이 너무 많다") ──
   하단 고정 바는 히어로를 지나면 올라온다(스크립트 없으면 늘 보임). 높이도 58 → 50.
   첫 화면은 바 자리를 비우지 않고 영상이 화면을 다 쓴다. */
:root { --u-bar: 50px; }
.usmd-cta-bar { transition: transform 0.25s ease; }
.usmd-cta-bar.is-off { transform: translateY(110%); }
.usmd-cta-bar a { font-size: 14.5px; }
@media (prefers-reduced-motion: reduce) { .usmd-cta-bar { transition: none; } }
@media (max-width: 991px) {
  .u-hero-copy { min-height: calc(100svh - var(--u-header)); }
}
.u-ctrl.is-compact .u-ctrl-row { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; align-items: baseline; }
.u-ctrl.is-compact .u-ctrl-row span { color: rgba(255, 255, 255, 0.86); font-size: 14px; line-height: 1.5; }

/* 학생 · 학부모의 고민은 설명을 섞지 않고, 인용문과 선으로 보여 준다. */
.u-voices { display: grid; grid-auto-flow: column; grid-auto-columns: 86%; gap: 20px; margin: 24px calc(-1 * var(--u-gutter)) 0; padding: 0 var(--u-gutter) 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: var(--u-gutter); scrollbar-width: none; }
.u-voices::-webkit-scrollbar { display: none; }
.u-voice { min-width: 0; padding: 20px 0 8px; border-top: 2px solid var(--u-bronze); scroll-snap-align: start; }
.u-voice-who { display: block; color: var(--u-slate); font-size: 13px; font-weight: 700; }
.u-voice blockquote, .u-voice-quote { margin: 14px 0 0; padding: 0; border: 0; color: var(--u-ink); font-family: var(--u-serif); font-size: 21px; font-weight: 700; line-height: 1.65; word-break: keep-all; overflow-wrap: break-word; }
.u-parent-concern { max-width: 860px; margin: 28px 0 32px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.3); }
.u-parent-concern .u-voice-quote { font-size: 24px; }
.u-sos .u-voice-who { color: rgba(255,255,255,.74); }
.u-sos .u-voice blockquote, .u-sos .u-voice-quote { color: var(--u-white); }
.u-sos .u-voice { border-top-color: var(--u-signal); }
.u-mcat-proof { margin: 24px 0 30px; }
.u-mcat-proof .u-road-hint { display: block; }
.u-mcat .u-h3 { margin-top: 36px; }
#concerns, #system, #parent-report, #mcat { scroll-margin-top: 88px; }
@media (min-width: 768px) {
  .u-voices { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 30px 0 0; padding: 0; overflow: visible; gap: 32px; }
  .u-voices + .u-road-hint { display: none; }
  .u-voice blockquote { font-size: 24px; }
  .u-parent-concern .u-voice-quote { font-size: 32px; }
}
@media (min-width: 992px) { .u-mcat-proof .u-road-hint { display: none; } }

/* 움직임은 내용의 진입과 좌우 탐색에만 쓴다. 스와이프는 브라우저의 기본 스크롤이다. */
.u-hero-line { display: block; }

/* 첫 카피는 두 줄로 크게, 전형명은 아래에. 짧은 설명은 첫 화면 다음에 둔다. */
.u-hero-breakthrough .u-hero-line { white-space: nowrap; }
.u-hero-breakthrough .u-hero-program { margin: 18px 0 0; color: var(--u-gold); font-size: 18px; font-weight: 700; line-height: 1.5; }
.u-hero-breakthrough .u-btns { margin-top: 30px; }
.u-hero-breakthrough .u-btn { gap: 16px; }
.u-hero-followup { padding: 32px 0 40px; background: var(--u-navy); color: var(--u-white); border-top: 1px solid rgba(217,183,126,.25); }
.u-hero-followup p { margin: 0; font-size: 15px; line-height: 1.75; word-break: keep-all; }
.u-hero-followup p > span { display: block; color: rgba(255,255,255,.78); }
.u-hero-followup strong { display: block; margin-top: 8px; color: var(--u-white); font-family: var(--u-serif); font-size: 24px; font-weight: 700; line-height: 1.5; letter-spacing: -.5px; }
#premed-tracks { scroll-margin-top: calc(var(--u-header) + 20px); }
@media (max-width: 991px) {
  .u-hero-breakthrough h1 { font-size: clamp(32px, 9.8vw, 44px); line-height: 1.3; }
  .u-hero-breakthrough .u-hero-copy { padding-bottom: 40px; }
  .u-hero-breakthrough .u-hero-program { font-size: 16px; margin-top: 16px; }
  .u-hero-breakthrough .u-btns { margin-top: 26px; }
}
@media (min-width: 992px) {
  .u-hero-breakthrough h1 { font-size: clamp(52px, 4.8vw, 68px); line-height: 1.25; }
  .u-hero-followup { padding: 40px 0 48px; }
  .u-hero-followup p { font-size: 18px; }
  .u-hero-followup strong { font-size: 30px; }
}
.is-carousel { scroll-behavior: smooth; overscroll-behavior-x: contain; }
.u-rail-controls { display: flex; align-items: center; gap: 10px; margin-top: 18px; color: var(--u-ink); }
.u-rail-controls[hidden] { display: none; }
.u-rail-progress { height: 2px; flex: 1; max-width: 160px; margin-right: auto; overflow: hidden; background: var(--u-line); }
.u-rail-progress span { display: block; width: 100%; height: 100%; background: var(--u-coral); transform-origin: left; transition: transform 400ms cubic-bezier(.22,1,.36,1); }
.u-rail-count { min-width: 42px; color: var(--u-slate); font-family: var(--u-mono); font-size: 12px; }
.u-rail-controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--u-line); background: transparent; color: inherit; font-size: 21px; line-height: 1; cursor: pointer; transition: color .2s, border-color .2s, background .2s; }
.u-rail-controls button:hover:not(:disabled) { background: var(--u-navy); border-color: var(--u-navy); color: var(--u-white); }
.u-rail-controls button:disabled { opacity: .32; cursor: default; }
.u-sos .u-rail-controls { color: var(--u-white); }
.u-sos .u-rail-count { color: rgba(255,255,255,.74); }
.u-sos .u-rail-controls button { border-color: rgba(255,255,255,.3); }
.u-sos .u-rail-controls button:hover:not(:disabled) { background: var(--u-white); color: var(--u-void); border-color: var(--u-white); }
.u-sos .u-rail-progress { background: rgba(255,255,255,.2); }
.u-sos .u-rail-progress span { background: var(--u-signal); }
.has-controls + .u-rail-controls + .u-road-hint { display: none; }
.u-pr-shots.has-controls ~ .u-road-hint { margin-top: 10px; }
@media (min-width: 768px) {
  .u-voices.is-carousel { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 78%; overflow-x: auto; padding-bottom: 8px; }
  .u-voices.is-carousel blockquote { max-width: 840px; font-size: 32px; line-height: 1.6; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .u-pr-shot { transition: transform 240ms ease; }
  .u-pr-shot:hover { transform: translateY(-4px); }
}
@media (prefers-reduced-motion:reduce) {
  .is-carousel { scroll-behavior: auto; }
  .u-rail-progress span, .u-rail-controls button { transition: none; }
}

/* 고민은 한 문장씩 전체 폭으로. 짧은 고민 뒤에 긴 카드의 빈 높이를 남기지 않는다. */
.u-voices.is-carousel { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 100%; grid-auto-rows: minmax(0, 1fr); align-items: start; gap: 24px; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; scroll-padding-left: 0; overflow-y: hidden; transition: height 340ms cubic-bezier(.22,1,.36,1); }
.u-voices.is-carousel .u-voice { padding-top: 18px; }
@media (prefers-reduced-motion:reduce) { .u-voices.is-carousel { transition: none; } }
