@charset "utf-8";

/* =========================================================
   배움결 디자인 시스템 (Design Tokens)
   따뜻함 · 전문성 · 신뢰 / 시그니처: 결(grain) 라인
   ========================================================= */
:root {
  /* Color */
  --ink: #16211e;
  --ink-2: #3b4a45;
  --muted: #6c7a75;
  --primary: #1c5a4c;
  --primary-dark: #14453b;
  --primary-soft: #e6f0eb;
  --accent: #5f8278;
  --accent-soft: #edf4f1;
  --bg: #f6f7f4;
  --surface: #ffffff;
  --surface-2: #fbfbf9;
  --line: #e1e7e2;
  --line-strong: #c9d4ce;
  --danger: #a4432f;

  /* Typography */
  --font-body: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont,
    "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", system-ui, sans-serif;
  --font-display: "Gowun Batang", "Nanum Myeongjo", "Apple SD Gothic Neo", "Batang",
    serif;
  --fs-xs: 0.8125rem;
  --fs-sm: 0.9063rem;
  --fs-base: 1rem;
  --fs-md: 1.0625rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 1.875rem;
  --fs-3xl: 2.375rem;
  --lh-tight: 1.35;
  --lh-body: 1.75;

  /* Layout */
  --wrap: 1120px;
  --measure: 860px; /* 본문 가독 폭 */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 88px;

  /* Shape */
  --radius-sm: 6px;
  --radius: 12px;
  --radius-lg: 18px;
  --shadow-sm: 0 1px 2px rgba(22, 33, 30, 0.05);
  --shadow: 0 6px 20px -8px rgba(22, 33, 30, 0.16);
  --header-h: 60px;
}

/* =========================================================
   Base
   ========================================================= */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink-2);
  font-family: var(--font-body);
  font-size: var(--fs-md);
  line-height: var(--lh-body);
  overflow-x: hidden;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

img, svg { max-width: 100%; }
img { height: auto; display: block; }

a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }

h1, h2, h3, h4 {
  color: var(--ink);
  font-family: var(--font-display);
  font-weight: 700;
  line-height: var(--lh-tight);
  letter-spacing: -0.01em;
  margin: 0;
}

p { margin: 0 0 var(--sp-4); }
ul, ol { margin: 0; padding: 0; }
li { list-style: none; }

:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
  border-radius: 3px;
}

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--primary); color: #fff; padding: 10px 16px;
}
.skip-link:focus { left: 8px; top: 8px; }

.wrap {
  width: 100%;
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 0 20px;
}

/* =========================================================
   시그니처: 결 라인
   ========================================================= */
.grain { display: block; width: 100%; height: 64px; }
.grain path { fill: none; stroke: currentColor; stroke-width: 1; }
.grain path:nth-child(1) { opacity: 0.5; }
.grain path:nth-child(2) { opacity: 0.32; }
.grain path:nth-child(3) { opacity: 0.18; }

/* =========================================================
   Header
   ========================================================= */
.site-header {
  position: sticky; top: 0; z-index: 40;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: saturate(1.2) blur(8px);
  border-bottom: 1px solid var(--line);
}
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-4); min-height: var(--header-h);
}
.brand { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); }
.brand:hover { text-decoration: none; }
.brand-mark { width: 30px; height: 30px; color: var(--primary); }
.brand-mark svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.brand-text {
  font-family: var(--font-display); font-weight: 700;
  font-size: 1.3rem; letter-spacing: 0.02em;
}

.nav-toggle {
  display: none; width: 42px; height: 42px; border: 1px solid var(--line);
  background: var(--surface); border-radius: var(--radius-sm); position: relative;
}
.nav-toggle-bar,
.nav-toggle-bar::before,
.nav-toggle-bar::after {
  position: absolute; left: 50%; width: 18px; height: 1.5px;
  background: var(--ink); transform: translateX(-50%); transition: 0.2s;
}
.nav-toggle-bar { top: 50%; margin-top: -0.75px; }
.nav-toggle-bar::before { content: ""; top: -6px; left: 0; transform: none; }
.nav-toggle-bar::after { content: ""; top: 6px; left: 0; transform: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar::before { top: 0; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar::after { top: 0; transform: rotate(-45deg); }

.site-nav ul { display: flex; align-items: center; gap: var(--sp-5); }
.site-nav a { color: var(--ink-2); font-size: var(--fs-sm); font-weight: 500; }
.site-nav a[aria-current="page"] { color: var(--primary); font-weight: 600; }

/* =========================================================
   Buttons
   ========================================================= */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; min-height: 50px; padding: 0 24px;
  border: 1px solid transparent; border-radius: 999px;
  font-family: var(--font-body); font-size: var(--fs-sm); font-weight: 600;
  cursor: pointer; transition: background 0.16s, color 0.16s, border-color 0.16s;
  text-align: center;
}
.btn:hover { text-decoration: none; }
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-dark); }
.btn-ghost { background: var(--surface); color: var(--primary); border-color: var(--line-strong); }
.btn-ghost:hover { border-color: var(--primary); }
.btn-line { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.6); }
.btn-line:hover { background: rgba(255, 255, 255, 0.12); }
.btn-phone {
  background: var(--accent-soft); color: var(--primary-dark);
  border-color: #e6d2a8;
}
.btn-phone:hover { background: #eedfbd; border-color: #d4b877; }
.btn-sm { min-height: 38px; padding: 0 16px; font-size: var(--fs-xs); }
.btn-block { width: 100%; }

/* =========================================================
   Breadcrumb
   ========================================================= */
.breadcrumb { background: var(--bg); border-bottom: 1px solid var(--line); }
.breadcrumb ol {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
  padding: 10px 0; font-size: var(--fs-xs); color: var(--muted);
}
.breadcrumb li + li::before { content: "›"; margin-right: 6px; color: var(--line-strong); }
.breadcrumb a { color: var(--muted); }
.breadcrumb li[aria-current="page"] { color: var(--ink); font-weight: 600; }

/* =========================================================
   Hero
   ========================================================= */
.hero { position: relative; background: var(--surface); border-bottom: 1px solid var(--line); overflow: hidden; }
.hero-inner { padding: var(--sp-8) 20px var(--sp-7); max-width: 940px; }
.hero h1 { font-size: var(--fs-2xl); margin-bottom: var(--sp-4); }
.hero .eyebrow {
  font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.14em;
  color: var(--accent); text-transform: none; margin-bottom: var(--sp-3);
}
.hero-sub { font-size: var(--fs-base); color: var(--ink-2); max-width: 62ch; margin-bottom: var(--sp-5); }
.hero-ctas { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
.hero-grain { position: absolute; left: 0; right: 0; bottom: -14px; color: var(--primary); opacity: 0.5; pointer-events: none; }

.hero-home { background: linear-gradient(180deg, var(--primary-soft) 0%, var(--surface) 78%); }
.hero-home .hero-inner { padding-top: var(--sp-9); padding-bottom: var(--sp-8); }
.hero-home h1 { font-size: var(--fs-3xl); }
.hero-home h1 .line-accent { display: block; color: var(--primary); }
.hero h1 .line-accent { display: block; margin-top: 6px; color: var(--primary); }

/* =========================================================
   Section
   ========================================================= */
.section { padding: var(--sp-8) 0; }
.section.tone-soft { background: var(--surface); border-block: 1px solid var(--line); }
.section.tone-tint { background: var(--primary-soft); }
.section-title { font-size: var(--fs-xl); margin-bottom: var(--sp-3); }
.section-lead { color: var(--muted); max-width: var(--measure); margin-bottom: var(--sp-5); }

.prose { max-width: var(--measure); }
.prose h2 { font-size: var(--fs-lg); margin: var(--sp-7) 0 var(--sp-3); }
.prose h2:first-child { margin-top: 0; }
.prose h3 { font-size: var(--fs-base); margin: var(--sp-5) 0 var(--sp-2); color: var(--primary-dark); }
.prose p { max-width: 74ch; }
.prose ul.bullets { margin: 0 0 var(--sp-4); }
.prose ul.bullets li {
  position: relative; padding-left: 18px; margin-bottom: 6px;
}
.prose ul.bullets li::before {
  content: ""; position: absolute; left: 0; top: 0.72em;
  width: 7px; height: 1px; background: var(--accent);
}

/* =========================================================
   배움결 고유 컴포넌트 — Learning Map
   경쟁 페이지의 요약 박스가 아니라 '수업 설계 기준'을 시각화합니다.
   ========================================================= */
.learning-map {
  position: relative;
  max-width: var(--measure);
  margin: 0;
  padding: clamp(22px, 3vw, 32px);
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(230,240,235,.78), rgba(255,255,255,.96) 48%, rgba(247,239,221,.42));
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.learning-map::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -90px;
  top: -120px;
  border: 1px solid rgba(28,90,76,.11);
  border-radius: 48% 52% 55% 45%;
  transform: rotate(18deg);
  pointer-events: none;
}
.learning-map-head { position: relative; z-index: 1; max-width: 660px; margin-bottom: 20px; }
.learning-map-kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--accent);
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.learning-map-title {
  margin: 0 0 7px;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.42rem);
  font-weight: 700;
  line-height: 1.4;
}
.learning-map-lead {
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-sm);
  line-height: 1.65;
}
.learning-map-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.learning-map-grid li {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: start;
  gap: 10px;
  padding: 14px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(201,212,206,.7);
  border-radius: 12px;
}
.learning-map-grid li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.learning-map-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: var(--primary);
  color: #fff;
  font-family: var(--font-display);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.learning-map-grid p {
  margin: 1px 0 0;
  min-width: 0;
  color: var(--ink-2);
  font-size: var(--fs-sm);
  line-height: 1.58;
}

/* =========================================================
   Info table
   ========================================================= */
.info-table-wrap { max-width: var(--measure); overflow-x: auto; margin-bottom: var(--sp-5); }
.info-table { width: 100%; border-collapse: collapse; background: var(--surface); font-size: var(--fs-sm); }
.info-table caption { text-align: left; font-size: var(--fs-xs); color: var(--muted); padding-bottom: 8px; }
.info-table th, .info-table td { border: 1px solid var(--line); padding: 12px 14px; text-align: left; vertical-align: top; }
.info-table th { width: 30%; background: var(--surface-2); color: var(--ink); font-weight: 600; white-space: nowrap; }

/* =========================================================
   Cards
   ========================================================= */
.card-grid { display: grid; gap: var(--sp-4); }
.card-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.card-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.card-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.card {
  position: relative; background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); padding: var(--sp-5); transition: border-color 0.16s, transform 0.16s;
}
.card:has(.card-link):hover { border-color: var(--primary); transform: translateY(-2px); }
.card-link { display: block; color: inherit; }
.card-link:hover { text-decoration: none; }
.card-link::after { content: ""; position: absolute; inset: 0; }
.card-title { font-size: var(--fs-base); margin-bottom: 8px; }
.card:has(.card-link) .card-title::after { content: " →"; color: var(--primary); font-size: 0.9em; }
.card-body { font-size: var(--fs-sm); color: var(--muted); margin: 0; line-height: 1.65; }
.card-index {
  display: block; font-family: var(--font-display); font-size: var(--fs-xs);
  color: var(--accent); letter-spacing: 0.1em; margin-bottom: 6px;
}

/* =========================================================
   Process
   ========================================================= */
.process { display: grid; gap: 0; max-width: var(--measure); counter-reset: step; }
.process-step {
  display: grid; grid-template-columns: 40px 1fr; gap: var(--sp-4);
  padding: var(--sp-4) 0; border-bottom: 1px dashed var(--line);
}
.process-step:last-child { border-bottom: 0; }
.process-num {
  width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
  background: var(--primary-soft); color: var(--primary-dark);
  font-size: var(--fs-xs); font-weight: 700; font-family: var(--font-display);
}
.process-step h3 { font-size: var(--fs-base); margin-bottom: 4px; }
.process-step p { font-size: var(--fs-sm); color: var(--muted); margin: 0; }

/* =========================================================
   Link list (내부링크)
   ========================================================= */
.link-list { display: grid; gap: 8px; max-width: var(--measure); }
.link-list.cols-2 { grid-template-columns: repeat(2, 1fr); }
.link-list.cols-3 { grid-template-columns: repeat(3, 1fr); }
.link-list a {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  padding: 11px 14px; background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-sm); font-size: var(--fs-sm); color: var(--ink-2);
}
.link-list a:hover { border-color: var(--primary); color: var(--primary); text-decoration: none; }
.link-note { font-size: var(--fs-xs); color: var(--muted); flex: none; }

/* =========================================================
   FAQ
   ========================================================= */
.faq-section { background: var(--surface); border-block: 1px solid var(--line); }
.faq { max-width: var(--measure); border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary {
  list-style: none; cursor: pointer; padding: 18px 34px 18px 0; position: relative;
  font-weight: 600; color: var(--ink); font-size: var(--fs-base); line-height: 1.5;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: ""; position: absolute; right: 6px; top: 26px;
  width: 9px; height: 9px; border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted);
  transform: rotate(45deg); transition: transform 0.18s;
}
.faq-item[open] summary::after { transform: rotate(-135deg); }
.faq-answer { padding: 0 0 18px; }
.faq-answer p { font-size: var(--fs-sm); color: var(--ink-2); margin: 0; }

/* =========================================================
   CTA band
   ========================================================= */
.cta-band { position: relative; background: var(--primary); color: #fff; overflow: hidden; }
.cta-inner {
  position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-5); padding: var(--sp-7) 20px;
}
.cta-band h2 { color: #fff; font-size: var(--fs-lg); margin-bottom: 8px; }
.cta-band p { color: rgba(255, 255, 255, 0.82); font-size: var(--fs-sm); margin: 0; max-width: 52ch; }
.cta-actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); flex: none; }
.cta-band .btn-primary { background: var(--accent); color: #fff; border-color: var(--accent); }
.cta-band .btn-primary:hover { background: #4f7167; border-color: #4f7167; }
.cta-band .btn-phone { background: #fff; color: var(--primary-dark); border-color: rgba(255,255,255,.92); }
.cta-band .btn-phone:hover { background: var(--accent-soft); border-color: var(--accent-soft); }
.cta-grain { position: absolute; left: 0; bottom: 0; color: #fff; opacity: 0.16; height: 120px; }

/* =========================================================
   Form
   ========================================================= */
.consult-form {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: var(--sp-6); max-width: 720px; box-shadow: var(--shadow-sm);
}
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
.field { margin-bottom: var(--sp-4); }
.field label { display: block; font-size: var(--fs-sm); font-weight: 600; color: var(--ink); margin-bottom: 6px; }
.field .optional { color: var(--muted); font-weight: 400; }
.field input[type="text"],
.field input[type="tel"],
.field select,
.field textarea {
  width: 100%; padding: 13px 14px; font-family: inherit; font-size: var(--fs-base);
  color: var(--ink); background: var(--surface-2);
  border: 1px solid var(--line-strong); border-radius: var(--radius-sm);
}
.field textarea { resize: vertical; line-height: 1.6; }
.field-check { display: flex; align-items: flex-start; gap: 10px; }
.field-check input { width: 20px; height: 20px; margin-top: 2px; flex: none; accent-color: var(--primary); }
.field-check label { font-weight: 400; font-size: var(--fs-sm); color: var(--ink-2); }
.form-note { font-size: var(--fs-xs); color: var(--muted); margin: var(--sp-3) 0 0; text-align: center; }
.field.has-error input, .field.has-error select { border-color: var(--danger); }
.field-error { color: var(--danger); font-size: var(--fs-xs); margin: 6px 0 0; }
.form-success {
  background: var(--primary-soft); border: 1px solid var(--primary);
  border-radius: var(--radius); padding: var(--sp-5); color: var(--primary-dark);
}

/* =========================================================
   Floating contact — always visible, compact 2-action panel
   ========================================================= */
.floating-contact {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 45;
  width: 136px;
  padding: 6px;
  display: grid;
  gap: 6px;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(201,212,206,.9);
  border-radius: 15px;
  box-shadow: 0 10px 24px -18px rgba(20,69,59,.40);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.fc-item {
  width: 100%;
  min-width: 0;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid transparent;
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.015em;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.fc-item:hover { text-decoration: none; transform: translateY(-1px); }
.fc-item:focus-visible { outline: 3px solid rgba(95,130,120,.22); outline-offset: 2px; }
.fc-item svg { width: 15px; height: 15px; fill: currentColor; flex: none; }
.fc-phone { background: #fff; color: var(--primary-dark); border-color: #c7d6d0; }
.fc-phone:hover { background: var(--primary-soft); border-color: #abc2b9; }
.fc-consult { background: var(--accent); color: #fff; border-color: var(--accent); }
.fc-consult:hover { background: #4f7167; border-color: #4f7167; }
/* =========================================================
   Chooser (메인 맞춤 탐색)
   ========================================================= */
.chooser { display: grid; gap: var(--sp-5); }
.chooser-group h3 { font-size: var(--fs-base); margin-bottom: var(--sp-3); }
.chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px;
  background: var(--surface); border: 1px solid var(--line-strong); border-radius: 999px;
  font-size: var(--fs-sm); color: var(--ink-2);
}
.chip:hover { border-color: var(--primary); color: var(--primary); text-decoration: none; }
.chip-more { border-style: dashed; color: var(--muted); }

/* =========================================================
   Region index
   ========================================================= */
.region-block { margin-bottom: var(--sp-6); }
.region-block h3 { font-size: var(--fs-base); margin-bottom: var(--sp-3); }
.region-block h3 a { color: var(--ink); }
.region-city { margin-bottom: var(--sp-4); }
.region-city > p { font-size: var(--fs-sm); color: var(--muted); margin-bottom: 10px; max-width: 74ch; }
.pill-row { display: flex; flex-wrap: wrap; gap: 8px; }
.pill {
  display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm);
  font-size: var(--fs-sm); color: var(--ink-2);
}
.pill:hover { border-color: var(--primary); color: var(--primary); text-decoration: none; }
.pill.is-muted { color: var(--muted); background: transparent; border-style: dashed; }

/* =========================================================
   Guide list
   ========================================================= */
.guide-list { display: grid; gap: var(--sp-4); max-width: var(--measure); }
.guide-item { border-bottom: 1px solid var(--line); padding-bottom: var(--sp-4); }
.guide-item h3 { font-size: var(--fs-base); margin-bottom: 6px; }
.guide-item p { font-size: var(--fs-sm); color: var(--muted); margin: 0; }
.guide-meta { font-size: var(--fs-xs); color: var(--accent); margin-bottom: 6px; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 900px) {
  .card-grid.cols-3, .card-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
  .cta-inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 720px) {
  :root { --fs-2xl: 1.625rem; --fs-3xl: 1.875rem; --fs-xl: 1.35rem; }
  .nav-toggle { display: block; }
  .site-nav {
    position: absolute; left: 0; right: 0; top: 100%;
    background: var(--surface); border-bottom: 1px solid var(--line);
    display: none; box-shadow: var(--shadow);
  }
  .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 20px 16px; }
  .site-nav li { border-bottom: 1px solid var(--line); }
  .site-nav li:last-child { border-bottom: 0; }
  .site-nav a { display: block; padding: 14px 0; font-size: var(--fs-base); }
  .nav-cta { padding-top: 12px; }
  .nav-cta .btn { width: 100%; }

  .hero-inner { padding: var(--sp-7) 20px var(--sp-6); }
  .hero-home .hero-inner { padding-top: var(--sp-7); }
  .hero-ctas .btn { flex: 1 1 100%; }

  .section { padding: var(--sp-7) 0; }
  .card-grid.cols-2, .card-grid.cols-3, .card-grid.cols-4 { grid-template-columns: 1fr; }
  .link-list.cols-2, .link-list.cols-3 { grid-template-columns: 1fr; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .consult-form { padding: var(--sp-5); }
  .info-table th { width: 34%; white-space: normal; }

  .floating-contact { flex-direction: row; right: 12px; bottom: 12px; }
  .fc-item { width: 46px; height: 46px; }
  .cta-actions { width: 100%; }
  .cta-actions .btn { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media print {
  .site-header, .floating-contact, .cta-band, .site-footer { display: none; }
}

/* =========================================================
   Check list / Steps inline (허브 콘텐츠 압축 표현)
   ========================================================= */
.check-list {
  display: grid; gap: 0; max-width: var(--measure);
  margin: 0 0 var(--sp-4); border-top: 1px solid var(--line);
}
.check-list > div {
  display: grid; grid-template-columns: 180px 1fr; gap: var(--sp-4);
  padding: 14px 0; border-bottom: 1px solid var(--line);
}
.check-list dt { font-weight: 600; color: var(--ink); font-size: var(--fs-sm); }
.check-list dd { margin: 0; font-size: var(--fs-sm); color: var(--ink-2); }

.steps-inline {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  max-width: var(--measure); counter-reset: si;
}
.steps-inline li { display: inline-flex; align-items: center; gap: 8px; counter-increment: si; }
.steps-inline li span {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 15px; background: var(--surface); border: 1px solid var(--line);
  border-radius: 999px; font-size: var(--fs-sm); color: var(--ink-2);
}
.steps-inline li span::before {
  content: counter(si); font-family: var(--font-display); font-size: var(--fs-xs);
  color: var(--accent); font-weight: 700;
}
.steps-inline li:not(:last-child)::after { content: "›"; color: var(--line-strong); }

@media (max-width: 720px) {
  .check-list > div { grid-template-columns: 1fr; gap: 4px; }
}

/* ===== 2026-08 배움결 상담 채널 단순화 ===== */
.consult-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:820px;margin:0 auto}
.consult-choice-card{border:1px solid var(--line,#e5e7eb);border-radius:18px;background:#fff;padding:28px;text-align:center}
.consult-choice-card.is-primary{background:var(--soft,#f7f5ef)}
.consult-choice-icon{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:50%;background:#f4f1e8;font-size:22px;margin-bottom:10px}
.consult-choice-card h3{margin:0 0 8px}.consult-choice-card p{margin:0 0 18px;color:var(--muted,#667085)}
.empty-region-data{padding:24px;border:1px dashed var(--line,#d9dde5);border-radius:16px;background:#fafafa;color:var(--muted,#667085)}
@media(max-width:720px){
  body{padding-bottom:74px}
  .consult-choice{grid-template-columns:1fr}
  .floating-contact{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:9999!important;display:grid!important;grid-template-columns:1fr 1.35fr!important;gap:0!important;padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;background:rgba(255,255,255,.96)!important;border-top:1px solid var(--line,#e5e7eb)!important;box-shadow:0 -8px 28px rgba(15,23,42,.08)!important}
  .floating-contact .fc-item{position:static!important;width:auto!important;height:48px!important;border-radius:12px!important;margin:0 4px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;font-size:.9rem!important;padding:0 10px!important}
  .floating-contact .fc-item svg{width:18px!important;height:18px!important}
}

/* =========================================================
   Mobile-first lower page cleanup — 2026-08-08
   ========================================================= */
.related-nav-section {
  background: var(--surface-2);
  border-top: 1px solid var(--line);
  padding-top: var(--sp-7);
  padding-bottom: var(--sp-7);
}
.related-nav-head { max-width: var(--measure); margin-bottom: var(--sp-4); }
.related-nav-head .section-lead { margin-bottom: 0; }
.related-nav-grid {
  max-width: var(--measure);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.related-nav-group {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.related-nav-group summary {
  list-style: none;
  cursor: pointer;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  color: var(--ink);
  font-weight: 700;
  font-size: var(--fs-sm);
}
.related-nav-group summary::-webkit-details-marker { display: none; }
.related-nav-group summary span {
  flex: none;
  min-width: 25px;
  height: 25px;
  padding: 0 7px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-size: var(--fs-xs);
}
.related-nav-links {
  display: grid;
  padding: 0 12px 12px;
  gap: 6px;
}
.related-nav-links a {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 9px;
  background: var(--surface-2);
  color: var(--ink-2);
  font-size: var(--fs-sm);
}
.related-nav-links a::after { content: '›'; color: var(--line-strong); font-size: 1.1rem; }
.related-nav-links a:hover { text-decoration: none; color: var(--primary); background: var(--primary-soft); }
.related-nav-links small { color: var(--muted); font-size: var(--fs-xs); margin-left: auto; }

/* Compact footer */
.site-footer {
  background: #15231f;
  color: rgba(255,255,255,.72);
  border-top: 1px solid rgba(255,255,255,.06);
}
.footer-compact { padding-top: 38px; padding-bottom: 30px; }
.footer-brandline { max-width: 620px; margin-bottom: 22px; }
.footer-brandline .brand-text { color: #fff; display: block; margin-bottom: 8px; }
.footer-brandline p { margin: 0; font-size: var(--fs-sm); color: rgba(255,255,255,.66); }
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-links a { color: rgba(255,255,255,.78); font-size: var(--fs-sm); }
.footer-links a:hover { color: #fff; }
.footer-actions { display: flex; flex-wrap: wrap; gap: 10px; padding: 18px 0 10px; }
.footer-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  font-size: var(--fs-sm);
  font-weight: 600;
}
.footer-actions a:last-child { background: #fff; color: var(--primary-dark); border-color: #fff; }
.footer-actions a:hover { text-decoration: none; }
.footer-bottom { padding-top: 10px; font-size: var(--fs-xs); color: rgba(255,255,255,.46); }
.footer-bottom p { margin: 0 0 4px; }

@media (max-width: 720px) {
  /* 모바일에서는 한 화면에 한 메시지만 보이도록 밀도 조정 */
  .wrap { padding-left: 16px; padding-right: 16px; }
  .breadcrumb { overflow: hidden; }
  .breadcrumb ol {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .breadcrumb ol::-webkit-scrollbar { display: none; }
  .breadcrumb li { flex: none; }

  .hero-inner { padding: 32px 16px 28px; }
  .hero h1 { margin-bottom: 12px; line-height: 1.28; }
  .hero-sub { margin-bottom: 18px; font-size: .95rem; line-height: 1.65; }
  .hero-ctas { gap: 8px; }
  .hero-ctas .btn { min-height: 46px; }

  .section { padding: 40px 0; }
  .section-title { font-size: 1.27rem; margin-bottom: 9px; }
  .section-lead { font-size: .9rem; line-height: 1.6; margin-bottom: 18px; }
  .prose p, .prose li { font-size: .95rem; line-height: 1.7; }
  .prose h3 { margin-top: 22px; }

  .info-table-wrap { margin-bottom: 16px; overflow: visible; }
  .info-table, .info-table tbody { display: block; }
  .info-table tr {
    display: grid;
    grid-template-columns: 88px 1fr;
    border-bottom: 1px solid var(--line);
  }
  .info-table tr:first-child { border-top: 1px solid var(--line); }
  .info-table th, .info-table td { border: 0; padding: 11px 10px; width: auto; }
  .info-table th { background: var(--surface-2); font-size: .82rem; }
  .info-table td { font-size: .88rem; }
  .info-table caption { padding-bottom: 7px; }

  .card { padding: 18px; }
  .card-grid { gap: 10px; }
  .card-body { line-height: 1.58; }

  .process-step { grid-template-columns: 32px 1fr; gap: 12px; padding: 13px 0; }
  .process-num { width: 28px; height: 28px; }

  .faq-item summary { padding: 16px 30px 16px 0; font-size: .95rem; }
  .faq-item summary::after { top: 23px; }
  .faq-answer { padding-bottom: 16px; }

  .cta-inner { padding: 30px 16px; gap: 18px; }
  .cta-band h2 { font-size: 1.22rem; }
  .cta-band p { line-height: 1.6; }
  .cta-actions { gap: 8px; }
  .cta-actions .btn { min-height: 46px; }

  /* 하단 관련링크는 아코디언 1열 */
  .related-nav-section { padding: 34px 0; }
  .related-nav-head { margin-bottom: 14px; }
  .related-nav-grid { grid-template-columns: 1fr; gap: 8px; }
  .related-nav-group summary { min-height: 50px; padding: 13px 14px; }
  .related-nav-links { padding: 0 8px 8px; gap: 4px; }
  .related-nav-links a { min-height: 40px; padding: 9px 10px; background: transparent; border-top: 1px solid var(--line); border-radius: 0; }
  .related-nav-links a:first-child { border-top: 0; }
  .related-nav-links small { display: none; }

  /* Footer는 모바일에서 최소 정보만 */
  .footer-compact { padding: 28px 16px calc(92px + env(safe-area-inset-bottom)); }
  .footer-brandline { margin-bottom: 16px; }
  .footer-brandline p { font-size: .82rem; line-height: 1.55; }
  .footer-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; padding: 8px 0; }
  .footer-links a { padding: 10px 0; font-size: .84rem; }
  .footer-actions { display: none; } /* 하단 고정 CTA와 중복 제거 */
  .footer-bottom { padding-top: 14px; }

  /* 모바일 하단 고정 CTA를 화면 폭에 맞게 정돈 */
  .floating-contact {
    padding-top: 7px!important;
    padding-bottom: calc(7px + env(safe-area-inset-bottom))!important;
  }
  .floating-contact .fc-item { height: 46px!important; border-radius: 10px!important; }
  .floating-contact .fc-item span { white-space: nowrap; }
}


/* =========================================================
   Responsive hardening — PC / Tablet / Mobile
   긴 지역명·링크·버튼·카드가 어느 폭에서도 레이아웃을 밀지 않게 합니다.
   ========================================================= */
main, section, .wrap, .hero-inner, .card, .card-link, .prose,
.related-nav-grid, .related-nav-group, .cta-inner, .cta-actions,
.consult-choice, .consult-choice-card, .info-table-wrap,
.learning-map, .learning-map-grid, .learning-map-grid li { min-width: 0; }

h1, h2, h3, p, a, span, th, td, summary, .btn {
  overflow-wrap: anywhere;
}

.hero h1,
.section-title,
.card-title,
.cta-band h2 { text-wrap: balance; }

.hero-sub,
.section-lead,
.prose p { text-wrap: pretty; }

iframe, video, canvas, table { max-width: 100%; }

.card-grid,
.link-list,
.related-nav-grid,
.consult-choice { width: 100%; }

.card-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.link-list.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.link-list.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (min-width: 901px) and (max-width: 1180px) {
  .wrap { padding-left: 28px; padding-right: 28px; }
  .site-nav ul { gap: 16px; }
  .site-nav a { font-size: .86rem; }
  .hero-inner { padding-left: 28px; padding-right: 28px; }
  .cta-inner { padding-left: 28px; padding-right: 28px; }
}

@media (max-width: 900px) {
  .header-inner { gap: 12px; }
  .learning-map-grid { grid-template-columns: 1fr; }
  .learning-map-grid li:last-child:nth-child(odd) { grid-column: auto; }
  .card-grid.cols-3, .card-grid.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .learning-map { padding: 20px 16px; border-radius: 15px; }
  .learning-map-head { margin-bottom: 15px; }
  .learning-map-kicker { font-size: .64rem; letter-spacing: .09em; }
  .learning-map-title { font-size: 1.13rem; }
  .learning-map-lead { font-size: .84rem; line-height: 1.58; }
  .learning-map-grid { gap: 7px; }
  .learning-map-grid li {
    grid-template-columns: 30px minmax(0,1fr);
    gap: 9px;
    padding: 12px;
    border-radius: 10px;
  }
  .learning-map-index { width: 28px; height: 28px; border-radius: 8px; font-size: .67rem; }
  .learning-map-grid p { font-size: .86rem; line-height: 1.55; }

  .btn { width: 100%; max-width: 100%; padding-left: 16px; padding-right: 16px; }
  .hero-ctas { width: 100%; }
  .hero-ctas .btn { flex: 1 1 100%; }
  .card-grid.cols-2, .card-grid.cols-3, .card-grid.cols-4,
  .link-list.cols-2, .link-list.cols-3 { grid-template-columns: 1fr; }

  .steps-inline { display: grid; grid-template-columns: 1fr; gap: 7px; }
  .steps-inline li { display: grid; grid-template-columns: 1fr; }
  .steps-inline li span { width: 100%; justify-content: flex-start; border-radius: 10px; }
  .steps-inline li:not(:last-child)::after { display: none; }

  .site-nav { max-height: calc(100dvh - var(--header-h)); overflow-y: auto; overscroll-behavior: contain; }
  .related-nav-links a { align-items: flex-start; }
}

@media (max-width: 430px) {
  :root { --fs-base: .96875rem; --fs-md: 1rem; }
  .wrap { padding-left: 14px; padding-right: 14px; }
  .header-inner { min-height: 56px; }
  .brand-text { font-size: 1.2rem; }
  .brand-mark { width: 28px; height: 28px; }
  .hero-inner { padding: 28px 14px 25px; }
  .hero h1 { font-size: clamp(1.48rem, 8vw, 1.75rem); }
  .hero-sub { font-size: .91rem; }
  .section { padding: 34px 0; }
  .section-title { font-size: 1.2rem; }
  .card { padding: 16px; }
  .info-table tr { grid-template-columns: 82px minmax(0,1fr); }
  .info-table th, .info-table td { padding: 10px 8px; }
  .cta-inner { padding-left: 14px; padding-right: 14px; }
  .footer-compact { padding-left: 14px; padding-right: 14px; }
  .floating-contact { grid-template-columns: minmax(0,.9fr) minmax(0,1.25fr)!important; }
  .floating-contact .fc-item { min-width: 0!important; padding-left: 7px!important; padding-right: 7px!important; font-size: .83rem!important; }
}

@media (max-width: 350px) {
  .floating-contact .fc-item svg { display: none; }
  .footer-links { grid-template-columns: 1fr; }
  .info-table tr { grid-template-columns: 76px minmax(0,1fr); }
}

/* Generic teaching guidance is intentionally separated from local editorial copy. */
.method-intro {
  max-width: var(--measure);
  margin-bottom: 18px;
  padding-left: 16px;
  border-left: 2px solid var(--primary-soft);
}
.method-intro p { margin: 0 0 8px; color: var(--ink-2); font-size: var(--fs-sm); line-height: 1.7; }
.method-intro p:last-child { margin-bottom: 0; }
@media (max-width:720px) {
  .method-intro { padding-left: 12px; margin-bottom: 15px; }
  .method-intro p { font-size: .9rem; line-height: 1.65; }
}

/* Tablet navigation: collapse before the desktop menu becomes cramped. */
@media (max-width: 880px) {
  .nav-toggle { display: block; flex: none; }
  .site-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: none;
    max-height: calc(100dvh - var(--header-h));
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow);
  }
  .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 20px 16px; }
  .site-nav li { border-bottom: 1px solid var(--line); }
  .site-nav li:last-child { border-bottom: 0; }
  .site-nav a { display: block; padding: 14px 0; font-size: var(--fs-base); }
  .nav-cta { padding-top: 12px; }
  .nav-cta .btn { width: 100%; }
}

/* Reviews — real user stories only */
.reviews-section { background: linear-gradient(180deg, var(--surface) 0%, var(--surface-soft) 100%); }
.reviews-head { max-width: 760px; margin-bottom: 24px; }
.reviews-kicker { margin: 0 0 8px; font-size: .76rem; font-weight: 800; letter-spacing: .12em; color: var(--primary); }
.review-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.review-card { min-width: 0; padding: 22px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-sm); }
.review-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.review-meta span { display: inline-flex; max-width: 100%; padding: 5px 9px; border-radius: 999px; background: var(--primary-soft); color: var(--ink-2); font-size: .76rem; font-weight: 700; overflow-wrap: anywhere; }
.review-card h3 { margin: 0 0 12px; font-size: 1.02rem; line-height: 1.45; }
.review-card blockquote { margin: 0; padding: 0; border: 0; }
.review-card blockquote p { margin: 0; color: var(--ink); line-height: 1.75; overflow-wrap: anywhere; }
.review-detail { margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--line); color: var(--ink-2); font-size: .88rem; line-height: 1.65; }
@media (max-width: 880px) { .review-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 620px) { .review-grid { grid-template-columns: 1fr; gap: 12px; } .review-card { padding: 18px; border-radius: 15px; } }


/* =========================================================
   Contact UI final polish — mobile direct actions
   ========================================================= */
@media (max-width: 720px) {
  body { padding-bottom: 74px; }
  .floating-contact {
    position: fixed!important;
    left: 0!important;
    right: 0!important;
    bottom: 0!important;
    z-index: 9999!important;
    width: auto!important;
    padding: 8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;
    display: grid!important;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.25fr)!important;
    gap: 8px!important;
    background: rgba(255,255,255,.96)!important;
    border: 0!important;
    border-top: 1px solid var(--line)!important;
    border-radius: 0!important;
    box-shadow: 0 -8px 28px rgba(15,23,42,.08)!important;
    backdrop-filter: blur(14px)!important;
    -webkit-backdrop-filter: blur(14px)!important;
  }
  .floating-contact .fc-item {
    width: auto!important;
    min-width: 0!important;
    height: 46px!important;
    margin: 0!important;
    border-radius: 11px!important;
    justify-content: center!important;
    gap: 7px!important;
    padding: 0 9px!important;
    font-size: .86rem!important;
    transform: none!important;
    box-shadow: none!important;
  }
  .floating-contact .fc-item svg { width: 17px!important; height: 17px!important; }
  .floating-contact .fc-phone { background: #fff!important; color: var(--primary-dark)!important; border: 1px solid #b9ccc4!important; }
  .floating-contact .fc-consult { background: var(--accent)!important; color: #fff!important; border: 1px solid var(--accent)!important; }
}
@media (max-width: 380px) {
  .floating-contact .fc-item { font-size: .8rem!important; padding-left: 6px!important; padding-right: 6px!important; }
  .floating-contact .fc-item svg { display: none!important; }
}

/* =========================================================
   Header CTA contrast + responsive guardrails — 2026-08-10
   PC / Tablet / Mobile에서 상담 CTA가 항상 선명하게 보이도록 고정
   ========================================================= */
.site-nav .nav-cta .btn.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 18px;
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
}
.site-nav .nav-cta .btn.btn-primary:visited,
.site-nav .nav-cta .btn.btn-primary:hover,
.site-nav .nav-cta .btn.btn-primary:focus-visible {
  color: #fff;
}
.site-nav .nav-cta .btn.btn-primary:hover,
.site-nav .nav-cta .btn.btn-primary:focus-visible {
  background: var(--primary-dark);
  border-color: var(--primary-dark);
}
.site-nav .nav-cta .btn.btn-primary:focus-visible {
  outline: 3px solid rgba(28, 90, 76, .22);
  outline-offset: 3px;
}

/* Desktop middle widths: menu does not crowd the brand or CTA. */
@media (min-width: 881px) and (max-width: 1120px) {
  .header-inner { gap: 14px; }
  .site-nav ul { gap: 13px; }
  .site-nav a { font-size: .84rem; }
  .site-nav .nav-cta .btn.btn-primary {
    min-height: 36px;
    padding: 0 15px;
    font-size: .78rem;
  }
}

/* Tablet / mobile menu: CTA keeps button appearance instead of inheriting normal nav-link styles. */
@media (max-width: 880px) {
  .site-nav .nav-cta { padding: 12px 0 4px; }
  .site-nav .nav-cta .btn.btn-primary {
    display: flex;
    width: 100%;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 12px;
    font-size: .95rem;
  }
}

@media (max-width: 430px) {
  .nav-toggle { width: 40px; height: 40px; }
  .site-nav ul { padding-left: 14px; padding-right: 14px; }
  .site-nav .nav-cta .btn.btn-primary { min-height: 44px; font-size: .9rem; }
}


/* =========================================================
   School names — NEIS matched, name-only display
   ========================================================= */
.school-data-block { max-width: var(--measure); }
.school-level-group { margin-top: 16px; }
.school-level-group:first-child { margin-top: 0; }
.school-level-group > strong {
  display: block; margin-bottom: 9px; color: var(--ink); font-size: var(--fs-sm);
}
.school-name-list { display: flex; flex-wrap: wrap; gap: 8px; }
.school-name-list span {
  display: inline-flex; align-items: center; min-height: 36px; padding: 7px 12px;
  border: 1px solid var(--line); border-radius: 999px; background: var(--surface);
  color: var(--ink-2); font-size: var(--fs-sm); line-height: 1.25;
}
.school-data-note { margin: 12px 0 0; color: var(--muted); font-size: var(--fs-xs); }
@media (max-width: 720px) {
  .school-name-list { gap: 7px; }
  .school-name-list span { min-height: 34px; padding: 6px 10px; font-size: .8rem; }
}
@media (max-width: 360px) {
  .school-name-list span { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
}


/* =========================================================
   Home region finder — organized 17-region navigation
   ========================================================= */
.region-finder-shell { max-width: 1040px; margin: 0 auto; }
.region-finder-top { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:0 2px 20px; }
.region-finder-top p { margin:7px 0 0; color:var(--muted); font-size:var(--fs-sm); }
.region-finder-kicker { display:inline-flex; align-items:center; min-height:28px; padding:0 11px; border-radius:999px; background:var(--primary-soft); color:var(--primary-dark); font-size:var(--fs-xs); font-weight:700; letter-spacing:.02em; }
.region-finder-all { flex:none; }
.region-zone-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.region-zone-card { min-width:0; padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:0 8px 24px -22px rgba(20,69,59,.35); }
.region-zone-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-bottom:13px; margin-bottom:8px; border-bottom:1px solid var(--line); }
.region-zone-head h3 { margin:0; font-size:var(--fs-base); color:var(--ink); }
.region-zone-head span { flex:none; font-size:var(--fs-xs); color:var(--muted); }
.region-zone-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.region-zone-links a { min-width:0; min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 11px; border-radius:10px; color:var(--ink-2); font-size:var(--fs-sm); font-weight:650; background:var(--surface-2); border:1px solid transparent; }
.region-zone-links a:hover { text-decoration:none; color:var(--primary-dark); border-color:#bfd2ca; background:var(--primary-soft); }
.region-zone-links a span { min-width:0; overflow-wrap:anywhere; }
.region-zone-links a b { flex:none; font-weight:500; color:var(--accent); }

.region-zone-direct {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--ink);
  font-weight: 750;
  font-size: var(--fs-base);
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.region-zone-direct:hover {
  text-decoration: none;
  color: var(--primary-dark);
  border-color: #bfd2ca;
  background: var(--primary-soft);
  transform: translateY(-1px);
}

.region-zone-direct h3 {
  margin: 0;
  min-width: 0;
  font: inherit;
  color: inherit;
  overflow-wrap: anywhere;
}
.region-zone-direct b { color: var(--accent); font-weight: 500; }
@media (max-width:720px){
  .region-zone-direct{min-height:64px;padding:0 16px;font-size:.95rem;}
}
@media (max-width:980px){ .region-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:720px){ .region-finder-top{align-items:stretch;flex-direction:column;gap:14px;padding-bottom:16px}.region-finder-all{width:100%}.region-zone-grid{grid-template-columns:1fr;gap:10px}.region-zone-card{padding:16px;border-radius:15px}.region-zone-links{grid-template-columns:repeat(2,minmax(0,1fr))}.region-zone-links a{min-height:44px;padding-inline:12px} }
@media (max-width:390px){ .region-zone-links{grid-template-columns:1fr} }

.region-finder-top-simple{justify-content:flex-end;align-items:center;}
@media(max-width:720px){.region-finder-top-simple{align-items:stretch}.region-finder-top-simple .region-finder-all{width:100%}}

/* =========================================================
   Region finder — 17 flat province cards
   ========================================================= */
.region-zone-grid-flat {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.region-zone-grid-flat .region-zone-direct {
  min-height: 72px;
  padding: 0 18px;
  border-radius: 15px;
  font-size: .95rem;
  box-shadow: none;
}
@media (max-width: 1080px) {
  .region-zone-grid-flat { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .region-zone-grid-flat { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .region-zone-grid-flat .region-zone-direct { min-height: 54px; padding: 0 13px; font-size: .88rem; border-radius: 12px; }
}
@media (max-width: 360px) {
  .region-zone-grid-flat { grid-template-columns: 1fr; }
}


/* =========================================================
   Final responsive safety QA — 2026-08-10
   ========================================================= */
html, body { max-width: 100%; overflow-x: clip; }
img, svg, video, iframe { max-width: 100%; }
.wrap, .hero-inner, .section .wrap, .cta-inner { min-width: 0; }
.card, .region-zone-card, .related-nav-group, .consult-choice-card { min-width: 0; }
.card-title, .section-title, .hero h1, .prose, .link-list a, .region-zone-direct h3 { overflow-wrap: anywhere; word-break: keep-all; }

@media (min-width: 1181px) {
  .region-zone-grid-flat { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 721px) and (max-width: 1180px) {
  .region-zone-grid-flat { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .region-zone-grid-flat { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .region-zone-direct h3 { font-size: inherit; line-height: 1.35; }
}
@media (max-width: 360px) {
  .region-zone-grid-flat { grid-template-columns: 1fr; }
}

/* 전국 지역 허브: 많은 하위 행정지역은 접어서 가독성을 유지 */
.region-more{margin-top:18px;border:1px solid var(--line,#dfe7e2);border-radius:16px;background:#fff;overflow:hidden}
.region-more summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:750;display:flex;align-items:center;justify-content:space-between;gap:12px}
.region-more summary::-webkit-details-marker{display:none}
.region-more summary span{font-size:.82rem;font-weight:700;opacity:.62}
.region-more-body{padding:0 18px 18px}
@media (max-width:720px){.region-more summary{padding:14px 15px}.region-more-body{padding:0 14px 14px}}

/* 2026-08-10 conversion-first local SEO */
.conversion-intro { display:grid; gap:20px; }
.conversion-intro-copy { max-width:760px; padding:24px; border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:var(--shadow-sm); }
.conversion-intro-copy p { margin:0 0 12px; font-size:1.02rem; line-height:1.78; }
.conversion-intro-copy p:last-child { margin-bottom:0; }
.copy-kicker { display:inline-flex; align-items:center; min-height:28px; padding:5px 10px; margin-bottom:12px; border-radius:999px; background:var(--primary-soft); color:var(--primary-dark); font-size:.78rem; font-weight:800; letter-spacing:.01em; }
.conversion-copy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
.conversion-copy { min-width:0; padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.conversion-copy h3 { margin:0 0 9px; font-size:1rem; line-height:1.4; color:var(--ink); }
.conversion-copy p { margin:0; font-size:.94rem; line-height:1.7; color:var(--muted); }
.local-trust-strip { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.trust-chip { display:flex; align-items:center; gap:8px; padding:10px 13px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.trust-chip strong { font-size:.9rem; }
.trust-chip span { font-size:.82rem; color:var(--muted); }
.school-data-block { max-width:none !important; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.school-level-group { min-width:0; padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.school-level-group h3 { margin:0 0 12px; font-size:1rem; }
.school-name-list { display:flex; flex-wrap:wrap; gap:7px; }
.school-name-list span { padding:7px 9px; border-radius:10px; background:var(--surface-2); font-size:.84rem; line-height:1.35; }
.content-subsection { padding:22px; margin:14px 0; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.content-subsection > h3 { margin-top:0; }
@media (max-width: 900px) {
  .conversion-copy-grid, .school-data-block { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .conversion-intro { gap:14px; }
  .conversion-intro-copy { padding:18px; border-radius:18px; }
  .conversion-intro-copy p { font-size:.96rem; line-height:1.72; }
  .conversion-copy-grid, .school-data-block { grid-template-columns:1fr; gap:10px; }
  .conversion-copy, .school-level-group, .content-subsection { padding:16px; border-radius:16px; }
  .local-trust-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .trust-chip { display:block; text-align:center; padding:9px 5px; }
  .trust-chip strong, .trust-chip span { display:block; }
  .trust-chip span { margin-top:2px; font-size:.72rem; }
  .school-name-list span { font-size:.8rem; }
}

/* =========================================================
   2026-08-10 Naver/AI readable + conversion-first local pages
   핵심 정보는 실제 HTML 텍스트로 유지하고, 읽기 부담은 UI로 분산한다.
   ========================================================= */
:root{
  --reading-ink:#293833;
  --reading-muted:#53635d;
}
.section-lead,.card-body,.conversion-copy p,.learning-map-lead,.learning-map-grid p,
.school-name-list span,.section-note,.answer-text-block p,.visual-card p,.focus-banner p,.mid-cta p{
  color:var(--reading-muted);
}
.hero-sub{color:var(--reading-ink);font-size:1.04rem;line-height:1.72;}
.section-title{letter-spacing:-.018em;}
.section-lead{font-size:1rem;line-height:1.72;max-width:760px;}

.intent-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;}
.intent-chip-row li{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--primary-dark);font-size:.84rem;font-weight:700;line-height:1.25;}

.answer-panel{position:relative;margin-bottom:22px;padding:24px 26px;border:1px solid #cadbd3;border-radius:22px;background:linear-gradient(135deg,#eef6f2 0%,#fff 70%);box-shadow:var(--shadow-sm);overflow:hidden;}
.answer-panel::after{content:"";position:absolute;right:-45px;top:-50px;width:135px;height:135px;border:1px solid rgba(28,90,76,.10);border-radius:50%;}
.answer-label{display:inline-block;margin-bottom:8px;color:var(--primary);font-size:.75rem;font-weight:850;letter-spacing:.08em;}
.answer-panel h3{font-size:1.25rem;margin-bottom:9px;}
.answer-panel p{max-width:790px;margin:0;color:var(--reading-ink);font-size:1.01rem;line-height:1.76;}

.intro-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;align-items:start;margin-bottom:18px;}
.intro-split .conversion-intro-copy{max-width:none;height:100%;box-shadow:none;}
.intro-side{min-width:0;}
.intro-side .visual-card-grid{margin-top:0;}
.intro-side .visual-card{padding:15px;}
.intro-side .visual-card h3{font-size:.96rem;}
.intro-side .visual-card p{font-size:.86rem;}
.mini-title{margin:0 0 10px;color:var(--primary-dark);font-size:.82rem;font-weight:800;}

.visual-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;}
.visual-card-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.visual-card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.visual-card{min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:19px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 8px 22px -20px rgba(22,33,30,.35);}
.visual-card-no{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:var(--primary-soft);color:var(--primary-dark);font-size:.72rem;font-weight:850;}
.visual-card-kicker{display:block;margin-bottom:4px;color:var(--accent);font-size:.72rem;font-weight:850;letter-spacing:.04em;}
.visual-card h3{margin:0 0 7px;font-family:var(--font-body);font-size:1rem;line-height:1.45;letter-spacing:-.015em;}
.visual-card p{margin:0;font-size:.92rem;line-height:1.68;}

.answer-text-block{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;}
.answer-text-block p{margin:0;padding:18px 20px;border-left:3px solid var(--accent);border-radius:0 14px 14px 0;background:var(--surface-2);font-size:.96rem;line-height:1.72;}

.focus-banner{padding:22px 24px;margin-bottom:16px;border-radius:20px;background:var(--primary);color:#fff;}
.focus-banner span{display:block;margin-bottom:6px;font-size:.76rem;font-weight:850;letter-spacing:.08em;opacity:.8;}
.focus-banner h3{margin:0 0 8px;color:#fff;font-size:1.22rem;}
.focus-banner p{margin:0;color:rgba(255,255,255,.88);font-size:.95rem;line-height:1.65;}
.rich-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.rich-section-grid .content-subsection{margin:0;}
.rich-section-grid .content-subsection h3{font-size:1.03rem;margin-bottom:8px;}
.rich-section-grid .content-subsection h4{font-family:var(--font-body);font-size:.92rem;margin:16px 0 6px;color:var(--primary-dark);}
.rich-section-grid .content-subsection p{font-size:.9rem;line-height:1.67;margin-bottom:8px;color:var(--reading-muted);}

.problem-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 14px;}
.problem-chip-grid li{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:10px;align-items:start;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:.92rem;line-height:1.55;color:var(--reading-ink);}
.problem-chip-mark{display:grid;place-items:center;width:20px;height:1.55em;color:var(--primary);font-weight:900;line-height:1;}
.problem-chip-text{display:block;min-width:0;}
.section-note{max-width:760px;margin:0;font-size:.91rem;line-height:1.65;}

.mid-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:22px 0 0;padding:22px 24px;border:1px solid #cfddd6;border-radius:20px;background:linear-gradient(135deg,#f2f7f4,#fff);}
.mid-cta-kicker{display:block;margin-bottom:4px;color:var(--primary);font-size:.74rem;font-weight:850;letter-spacing:.06em;}
.mid-cta h3{margin:0 0 6px;font-size:1.1rem;}
.mid-cta p{margin:0;max-width:620px;font-size:.91rem;line-height:1.62;}
.mid-cta-actions{display:flex;flex:none;gap:8px;}
.mid-cta .btn{min-height:44px;padding:0 17px;}
.mid-cta .btn-ghost{color:var(--primary);border-color:var(--line-strong);}

.school-data-block{align-items:start;}
.school-level-group{box-shadow:0 8px 20px -22px rgba(22,33,30,.4);}
.school-level-group h3{font-family:var(--font-body);font-size:1rem;color:var(--primary-dark);}
.school-name-list span{background:#f5f8f6;border:1px solid #e8eeea;font-size:.86rem;}

@media (max-width:1000px){
  .visual-card-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .intro-split{grid-template-columns:1fr;}
  .mid-cta{align-items:flex-start;flex-direction:column;}
}
@media (max-width:760px){
  body{font-size:1rem;line-height:1.72;}
  .hero-inner{padding-top:42px;padding-bottom:36px;}
  .hero h1{font-size:clamp(1.8rem,8vw,2.2rem);line-height:1.3;}
  .hero-sub{font-size:1rem;line-height:1.68;}
  .section{padding:48px 0;}
  .section-title{font-size:1.42rem;line-height:1.4;}
  .section-lead{font-size:.96rem;line-height:1.68;}
  .answer-panel{padding:19px 17px;border-radius:17px;}
  .answer-panel h3{font-size:1.12rem;}
  .answer-panel p{font-size:.96rem;line-height:1.72;}
  .intent-chip-row{gap:6px;}
  .intent-chip-row li{font-size:.79rem;padding:6px 9px;}
  .visual-card-grid,.visual-card-grid.cols-4,.visual-card-grid.cols-2{grid-template-columns:1fr;gap:9px;}
  .visual-card{padding:16px;grid-template-columns:32px minmax(0,1fr);gap:10px;border-radius:15px;}
  .visual-card-no{width:30px;height:30px;border-radius:9px;}
  .visual-card h3{font-size:.98rem;}
  .visual-card p{font-size:.9rem;line-height:1.66;}
  .answer-text-block,.rich-section-grid,.problem-chip-grid{grid-template-columns:1fr;}
  .answer-text-block p{padding:15px 16px;font-size:.92rem;}
  .focus-banner{padding:18px;border-radius:16px;}
  .rich-section-grid .content-subsection{padding:16px;}
  .mid-cta{padding:18px;border-radius:17px;}
  .mid-cta-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;}
  .mid-cta .btn{width:100%;padding:0 12px;font-size:.84rem;}
  .school-name-list{gap:6px;}
  .school-name-list span{font-size:.82rem;padding:7px 8px;}
}
@media (max-width:390px){
  .wrap{padding-left:16px;padding-right:16px;}
  .mid-cta-actions{grid-template-columns:1fr;}
}


/* =========================================================
   2026-08-10 Lively conversion UI / readability refinement
   ========================================================= */
:root { --reading-ink:#27332e; --reading-muted:#5c6963; }
.section-lead, .prose p, .card p, .guide-card p, .home-guide-card p, .need-case-card p { color:var(--reading-muted); }
.prose p, .answer-text-block p, .conversion-intro-copy p, .content-subsection p { line-height:1.82; }

.need-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px;}
.need-case-card{position:relative;min-height:210px;padding:24px 22px 22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(155deg,#fff 0%,#fbfdfb 70%,#f1f7f3 100%);overflow:hidden;box-shadow:0 8px 28px rgba(37,64,50,.045);}
.need-case-card::after{content:"";position:absolute;width:94px;height:94px;border-radius:50%;right:-34px;top:-36px;background:rgba(102,139,118,.09);}
.need-case-index{font-family:var(--font-display);font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#8ba091;}
.need-case-tag{display:inline-flex;margin-left:9px;padding:4px 9px;border-radius:999px;background:#edf5ef;color:#3f6950;font-size:.72rem;font-weight:800;}
.need-case-card h3{font-size:1.08rem;line-height:1.48;margin:20px 0 10px;max-width:18em;}
.need-case-card p{font-size:.94rem;line-height:1.72;margin:0;}
.need-case-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:18px;padding:20px 22px;border-radius:18px;background:#263a31;color:#fff;}
.need-case-bottom p{margin:0;line-height:1.7;color:#eaf0ec;max-width:760px;}
.need-case-bottom strong{color:#fff;}

.home-guide-feature{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.55fr);gap:18px;align-items:stretch;margin-top:24px;}
.home-guide-main{padding:28px;border-radius:22px;background:linear-gradient(145deg,#294137,#38594a);color:#fff;box-shadow:0 14px 34px rgba(34,59,47,.12);}
.home-guide-main .guide-meta,.home-guide-main p{color:#dbe8df;}.home-guide-main h3{font-size:1.45rem;line-height:1.45;margin:14px 0 12px;}.home-guide-main h3 a,.home-guide-main .text-link{color:#fff;}
.guide-topic{display:inline-flex;padding:5px 10px;border-radius:999px;background:#edf5ef;color:#406b51;font-size:.72rem;font-weight:800;letter-spacing:.01em;}
.home-guide-main .guide-topic{background:rgba(255,255,255,.13);color:#fff;}
.home-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.home-guide-card,.guide-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.home-guide-card:hover,.guide-card:hover{transform:translateY(-2px);border-color:#a8bdae;box-shadow:0 10px 26px rgba(43,71,57,.07);}
.home-guide-card h3,.guide-card h3{font-size:1rem;line-height:1.48;margin:11px 0 8px;}.home-guide-card h3 a,.guide-card h3 a{color:var(--ink);}.home-guide-card p,.guide-card p{font-size:.88rem;line-height:1.68;margin:0;}
.guide-more-row{display:flex;justify-content:center;margin-top:20px;}
.guide-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;}
.guide-card{min-height:225px;display:flex;flex-direction:column;}.guide-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}.guide-card .text-link{margin-top:auto;padding-top:14px;font-size:.86rem;font-weight:750;color:var(--primary);}

@media (max-width:1024px){.need-case-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.home-guide-feature{grid-template-columns:1fr;}.guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:720px){
  body{font-size:16px;}.section-lead{font-size:.97rem;line-height:1.72;}.section-title{line-height:1.28;}
  .need-case-grid{grid-template-columns:1fr;gap:10px;margin-top:18px;}.need-case-card{min-height:auto;padding:19px 18px;}.need-case-card h3{font-size:1.02rem;margin-top:15px;}.need-case-card p{font-size:.94rem;}
  .need-case-bottom{align-items:stretch;flex-direction:column;padding:18px;}.need-case-bottom .btn{width:100%;}
  .home-guide-main{padding:22px 19px;}.home-guide-main h3{font-size:1.25rem;}.home-guide-grid,.guide-card-grid{grid-template-columns:1fr;}.home-guide-card,.guide-card{padding:18px;min-height:auto;}
}


/* 2026 consultant-first bento refinement */
:root{--page-ink:#23312b;--page-muted:#56645e;--soft-mint:#f2f7f4;--warm-paper:#fbfaf7;}
body{color:var(--page-ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
.section{content-visibility:auto;contain-intrinsic-size:1px 720px;}
.section-title{letter-spacing:-.035em;text-wrap:balance;}
.section-lead{max-width:760px;color:var(--page-muted);text-wrap:pretty;}
.conversion-intro-copy p,.answer-panel p,.visual-card p,.need-case-card p{max-width:68ch;text-wrap:pretty;}
.diagnostic-ribbon{display:grid;grid-template-columns:auto minmax(220px,.8fr) minmax(280px,1.2fr);align-items:center;gap:16px;margin:22px 0 14px;padding:18px 20px;border:1px solid #dce7e0;border-radius:18px;background:linear-gradient(110deg,#f4f8f5 0%,#fff 52%,#fbfaf7 100%);}
.diagnostic-ribbon span{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:#dfece4;color:#315d49;font-size:.74rem;font-weight:850;}
.diagnostic-ribbon strong{font-size:1.02rem;letter-spacing:-.02em;}
.diagnostic-ribbon p{margin:0;color:var(--page-muted);font-size:.9rem;line-height:1.6;}
.need-case-grid{grid-template-columns:repeat(12,minmax(0,1fr));}
.need-case-card{grid-column:span 4;min-height:218px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.need-case-card:nth-child(1),.need-case-card:nth-child(4){grid-column:span 5;}
.need-case-card:nth-child(2),.need-case-card:nth-child(5){grid-column:span 3;}
.need-case-card:nth-child(3),.need-case-card:nth-child(6){grid-column:span 4;}
@media (hover:hover){.need-case-card:hover{transform:translateY(-3px);border-color:#b7cbbd;box-shadow:0 18px 42px rgba(37,64,50,.08);}}
.home-guide-main{position:relative;overflow:hidden;}
.home-guide-main:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;bottom:-110px;background:rgba(255,255,255,.07);pointer-events:none;}
.btn{min-height:48px;}
@media(max-width:1024px){.diagnostic-ribbon{grid-template-columns:1fr 1fr}.diagnostic-ribbon p{grid-column:1/-1}.need-case-card,.need-case-card:nth-child(n){grid-column:span 6;}}
@media(max-width:720px){
 .section{padding:44px 0}.section-title{font-size:clamp(1.42rem,6.4vw,1.72rem)}
 .diagnostic-ribbon{grid-template-columns:1fr;gap:8px;padding:16px;border-radius:16px}.diagnostic-ribbon p{grid-column:auto;font-size:.91rem}
 .need-case-grid{display:grid;grid-template-columns:1fr}.need-case-card,.need-case-card:nth-child(n){grid-column:auto;min-height:auto;padding:19px 18px}
 .btn{min-height:50px}.hero-actions .btn,.mid-cta .btn{font-size:.94rem}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* 2026-08-10 brand consultant refinement */
.consultant-diagnosis{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.55fr);gap:18px;align-items:stretch;margin-top:24px}
.consultant-diagnosis-main{padding:30px;border-radius:26px;background:linear-gradient(145deg,#173e34 0%,#285649 100%);color:#fff;box-shadow:0 22px 55px rgba(28,70,58,.12)}
.consultant-diagnosis-main>span{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.72rem;font-weight:800;letter-spacing:.08em}
.consultant-diagnosis-main h3{margin:20px 0 12px;font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.35;letter-spacing:-.035em;color:#fff}
.consultant-diagnosis-main p{margin:0;color:#e6f0eb;font-size:1rem;line-height:1.82}
.consultant-diagnosis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.consultant-diagnosis-grid article{padding:22px;border:1px solid #dfe9e3;border-radius:20px;background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.consultant-diagnosis-grid b{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:#edf5ef;color:#3c6a55;font-size:.72rem}
.consultant-diagnosis-grid h3{margin:16px 0 8px;font-size:1.04rem;letter-spacing:-.02em}
.consultant-diagnosis-grid p{margin:0;color:var(--reading-muted);font-size:.93rem;line-height:1.72}
.consultant-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 2px}
.consultant-flow article{position:relative;padding:22px 20px;border-radius:20px;background:linear-gradient(160deg,#fff 0%,#f7faf8 100%);border:1px solid #dfe8e2;overflow:hidden}
.consultant-flow article:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#356c58,#9db6a7)}
.consultant-flow span{font-size:.72rem;font-weight:850;letter-spacing:.05em;color:#4a745f}
.consultant-flow h3{margin:12px 0 8px;font-size:1.02rem;line-height:1.48;letter-spacing:-.025em}
.consultant-flow p{margin:0;color:var(--reading-muted);font-size:.92rem;line-height:1.72}
.answer-panel{background:linear-gradient(120deg,#f2f7f4 0%,#fff 58%,#fbfaf7 100%)!important;border-color:#d6e4dc!important}
.answer-label{letter-spacing:.09em!important}
@media (hover:hover){.consultant-diagnosis-grid article:hover{transform:translateY(-3px);border-color:#b9cec2;box-shadow:0 16px 34px rgba(39,75,61,.07)}}
@media(max-width:900px){.consultant-diagnosis{grid-template-columns:1fr}.consultant-flow{grid-template-columns:1fr}.consultant-diagnosis-main{padding:25px}}
@media(max-width:640px){.consultant-diagnosis{gap:11px}.consultant-diagnosis-main{padding:22px 19px;border-radius:20px}.consultant-diagnosis-main h3{font-size:1.35rem;margin-top:16px}.consultant-diagnosis-main p{font-size:.96rem;line-height:1.74}.consultant-diagnosis-grid{grid-template-columns:1fr;gap:9px}.consultant-diagnosis-grid article,.consultant-flow article{padding:18px 17px;border-radius:16px}.consultant-flow{gap:9px}.section-title{letter-spacing:-.035em}}

/* =========================================================
   2026 Responsive Brand System — fluid / bento / calm motion
   ========================================================= */
:root {
  --wrap: 1240px;
  --measure: 760px;
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 30px;
  --shadow-soft: 0 18px 50px -38px rgba(20,69,59,.32);
  --fs-base: clamp(1rem, .97rem + .14vw, 1.08rem);
  --fs-md: clamp(1.04rem, 1rem + .18vw, 1.15rem);
  --fs-lg: clamp(1.22rem, 1.12rem + .45vw, 1.55rem);
  --fs-xl: clamp(1.55rem, 1.3rem + 1vw, 2.25rem);
  --fs-2xl: clamp(2rem, 1.6rem + 1.75vw, 3.25rem);
  --fs-3xl: clamp(2.6rem, 1.9rem + 3.2vw, 5.2rem);
}
body { background: #f8f8f5; }
.wrap { padding-inline: clamp(18px, 4vw, 40px); }
.section { padding-block: clamp(58px, 8vw, 112px); }
.section-title { font-size: clamp(1.75rem, 1.35rem + 1.55vw, 3rem); letter-spacing: -.035em; }
.section-lead { max-width: 690px; font-size: clamp(1rem,.95rem + .2vw,1.12rem); line-height: 1.8; }
.hero { background: radial-gradient(circle at 78% 20%, rgba(95,130,120,.11), transparent 36%), linear-gradient(180deg,#fff 0%,#fafbf8 100%); }
.hero-inner { max-width: 1180px; padding-top: clamp(72px, 10vw, 142px); padding-bottom: clamp(60px, 8vw, 112px); }
.hero h1 { max-width: 980px; font-size: var(--fs-3xl); letter-spacing: -.05em; line-height: 1.12; text-wrap: balance; }
.hero-sub { max-width: 690px; font-size: clamp(1.05rem, .98rem + .35vw, 1.28rem); line-height: 1.78; }
.hero-ctas { margin-top: clamp(24px, 3vw, 38px); }
.btn { min-height: 52px; padding-inline: 24px; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.card-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)) !important; gap: clamp(12px,1.5vw,20px); }
.card { border-radius: 22px; padding: clamp(20px,2vw,30px); box-shadow: 0 0 0 1px rgba(28,90,76,.02); }
.card:has(.card-link):hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); }

.brand-meaning-section { background: #162b25; color: #fff; position: relative; overflow: hidden; }
.brand-meaning-section::before { content:""; position:absolute; width:420px; aspect-ratio:1; border-radius:50%; right:-120px; top:-160px; background:rgba(255,255,255,.035); }
.brand-meaning-section .section-title { color:#fff; }
.brand-meaning-section .section-lead { color:rgba(255,255,255,.72); }
.brand-meaning-bento { display:grid; grid-template-columns:1.65fr repeat(2,1fr); grid-template-areas:"main a b" "main c c"; gap:14px; container-type:inline-size; }
.brand-meaning-bento article { border:1px solid rgba(255,255,255,.1); border-radius:28px; background:rgba(255,255,255,.055); padding:clamp(22px,3vw,38px); backdrop-filter:blur(8px); }
.brand-meaning-main { grid-area:main; min-height:370px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035)) !important; }
.brand-meaning-main h3 { color:#fff; font-size:clamp(1.8rem,1.3rem + 1.5vw,3rem); letter-spacing:-.035em; margin:16px 0; }
.brand-meaning-main p,.brand-meaning-tile p { color:rgba(255,255,255,.72); line-height:1.75; margin:0; }
.brand-meaning-word { width:max-content; padding:8px 13px; border-radius:999px; background:#e7efe9; color:#16473c; font-size:.84rem; font-weight:800; letter-spacing:.02em; }
.brand-meaning-tile:nth-child(2){grid-area:a}.brand-meaning-tile:nth-child(3){grid-area:b}.brand-meaning-tile:nth-child(4){grid-area:c}
.brand-meaning-tile span { font-size:.78rem; letter-spacing:.12em; color:#b9d0c8; }
.brand-meaning-tile h3 { color:#fff; font-size:clamp(1.15rem,1rem + .55vw,1.55rem); margin:10px 0 8px; }

.consultant-diagnosis { display:grid; grid-template-columns:1.2fr 1fr; gap:16px; align-items:stretch; }
.consultant-diagnosis-main { min-height:360px; border-radius:30px; padding:clamp(26px,4vw,48px); display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(145deg,#1b5a4b,#143f36); color:#fff; }
.consultant-diagnosis-main h3 { color:#fff; font-size:clamp(1.7rem,1.3rem + 1.3vw,2.7rem); margin:12px 0; }
.consultant-diagnosis-main p { color:rgba(255,255,255,.8); margin:0; }
.consultant-diagnosis-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.consultant-diagnosis-grid article { background:#fff; border:1px solid var(--line); border-radius:24px; padding:clamp(20px,2.4vw,30px); transition:transform .18s ease,box-shadow .18s ease; }
.consultant-diagnosis-grid article:hover { transform:translateY(-3px); box-shadow:var(--shadow-soft); }

.need-case-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:14px; }
.need-case-card { grid-column:span 4; min-height:210px; border-radius:24px; }
.need-case-card:nth-child(1),.need-case-card:nth-child(4){grid-column:span 6}.need-case-card:nth-child(2),.need-case-card:nth-child(3),.need-case-card:nth-child(5),.need-case-card:nth-child(6){grid-column:span 3}

.process { max-width:none; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.process-step { display:block; border:1px solid var(--line); border-radius:22px; padding:24px; background:#fff; }
.process-num { margin-bottom:18px; }

.school-data-block { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.school-level-group { background:#fff; border:1px solid var(--line); border-radius:22px; padding:22px; }
.school-name-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.school-name-list span { background:#f3f6f3; border:1px solid #e2e9e4; border-radius:999px; padding:7px 11px; font-size:.88rem; }

@container (max-width: 680px) {
  .brand-meaning-bento { grid-template-columns:1fr 1fr; grid-template-areas:"main main" "a b" "c c"; }
  .brand-meaning-main { min-height:300px; }
}
@media (max-width: 900px) {
  .consultant-diagnosis { grid-template-columns:1fr; }
  .consultant-diagnosis-main { min-height:300px; }
  .need-case-card,.need-case-card:nth-child(n){ grid-column:span 6; }
  .school-data-block { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .hero-inner { padding-top:58px; padding-bottom:58px; }
  .hero h1 { font-size:clamp(2.25rem,10.5vw,3.4rem); }
  .hero-ctas { display:grid; grid-template-columns:1fr; }
  .hero-ctas .btn { width:100%; }
  .brand-meaning-bento { display:grid; grid-template-columns:1fr; grid-template-areas:"main" "a" "b" "c"; }
  .brand-meaning-main { min-height:280px; }
  .consultant-diagnosis-grid { grid-template-columns:1fr 1fr; }
  .consultant-diagnosis-grid article { padding:18px; }
  .need-case-grid { grid-template-columns:1fr; }
  .need-case-card,.need-case-card:nth-child(n){ grid-column:auto; min-height:auto; }
  .floating-contact { right:10px; bottom:10px; width:132px; }
}
@media (max-width: 390px) {
  .consultant-diagnosis-grid { grid-template-columns:1fr; }
  .wrap { padding-inline:16px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}


/* =========================================================
   2026 Editorial Interface Redesign — varied rhythm, fewer cards
   ========================================================= */
/* principles: editorial rail instead of card grid */
.principle-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #cfdad4;border-bottom:1px solid #cfdad4;margin-top:32px}
.principle-item{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:clamp(26px,3vw,40px) clamp(18px,2.4vw,30px);border-right:1px solid #cfdad4;align-content:start;background:transparent}
.principle-item:last-child{border-right:0}.principle-no{font-family:var(--font-display);font-size:.76rem;letter-spacing:.1em;color:#779087;padding-top:4px}
.principle-item h3{margin:0 0 12px;font-size:clamp(1.08rem,1rem + .3vw,1.3rem);letter-spacing:-.03em}.principle-item p{margin:0;color:var(--reading-muted);line-height:1.78;font-size:.95rem}

/* diagnostic board: one stage + five signal rows */
.signal-board{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.5fr);gap:clamp(22px,3vw,44px);margin-top:34px;align-items:stretch}
.signal-core{position:relative;min-height:430px;padding:clamp(30px,4vw,54px);border-radius:38px 38px 120px 38px;background:linear-gradient(145deg,#164b3f 0%,#1d6252 70%,#285f50 100%);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;box-shadow:0 26px 70px -44px rgba(12,55,45,.55)}
.signal-core:before{content:"";position:absolute;left:11%;top:12%;width:58%;aspect-ratio:1;border:1px solid rgba(255,255,255,.12);border-radius:50%}.signal-core:after{content:"";position:absolute;left:27%;top:26%;width:30%;aspect-ratio:1;border:1px solid rgba(255,255,255,.18);border-radius:50%}
.signal-eyebrow{position:relative;z-index:1;font-size:.72rem;font-weight:800;letter-spacing:.13em;color:#c7dbd3}.signal-core strong{position:relative;z-index:1;font-size:clamp(2rem,1.55rem + 1.8vw,3.4rem);line-height:1.12;letter-spacing:-.05em;margin:12px 0 14px}.signal-core p{position:relative;z-index:1;margin:0;max-width:28em;line-height:1.75;color:#e4efeb}.signal-core-mark{position:absolute;right:34px;top:34px;display:flex;gap:7px}.signal-core-mark i{width:8px;height:8px;border-radius:50%;background:#a7c3b8}.signal-core-mark i:nth-child(2){opacity:.55}.signal-core-mark i:nth-child(3){opacity:.25}
.signal-list{list-style:none;margin:0;padding:0;border-top:1px solid #cfdad4}.signal-list li{display:grid;grid-template-columns:54px minmax(150px,.55fr) 1fr;gap:20px;align-items:center;padding:clamp(20px,2.2vw,30px) 4px;border-bottom:1px solid #cfdad4}.signal-list li>span{font-family:var(--font-display);font-size:.8rem;letter-spacing:.1em;color:#7d948a}.signal-list h3{margin:0;font-size:clamp(1.06rem,1rem + .3vw,1.28rem);letter-spacing:-.03em}.signal-list p{margin:0;color:var(--reading-muted);line-height:1.7;font-size:.95rem}

/* process is a real timeline, not six white cards */
.process{position:relative;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:0!important;margin-top:34px;padding-top:24px}
.process:before{content:"";position:absolute;top:42px;left:5%;right:5%;height:1px;background:#bfcfc6}.process-step{position:relative!important;border:0!important;border-radius:0!important;background:transparent!important;padding:0 clamp(12px,1.5vw,22px)!important;box-shadow:none!important;display:block!important}.process-num{position:relative;z-index:1;width:38px!important;height:38px!important;border-radius:50%!important;margin:0 0 22px!important;background:#f8f8f5!important;border:1px solid #9eb7aa!important;color:#245848!important;font-size:.75rem!important}.process-step h3{font-size:1.02rem;margin:0 0 9px}.process-step p{font-size:.91rem;line-height:1.68;color:var(--reading-muted);margin:0}

/* grade ledger: oversized rows */
.grade-ledger{border-top:1px solid #ccd8d2;margin-top:30px}.grade-ledger-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:22px;align-items:center;padding:clamp(22px,3vw,36px) 4px;border-bottom:1px solid #ccd8d2;color:var(--ink);text-decoration:none;transition:padding .18s ease,color .18s ease}.grade-ledger-index{font-family:var(--font-display);font-size:.8rem;letter-spacing:.1em;color:#789087}.grade-ledger-row h3{margin:0 0 7px;font-size:clamp(1.3rem,1.05rem + .8vw,1.9rem);letter-spacing:-.04em}.grade-ledger-row p{margin:0;color:var(--reading-muted);max-width:760px;line-height:1.7}.grade-ledger-row b{font-size:1.4rem;color:#68877b;font-weight:400}.grade-ledger-row:hover{padding-left:12px;color:var(--primary-dark);text-decoration:none}

/* subject index: typographic directory */
.subject-index{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(30px,5vw,80px);border-top:1px solid #ccd8d2;margin-top:30px}.subject-index-row{display:grid;grid-template-columns:36px minmax(120px,.46fr) 1fr auto;gap:14px;align-items:center;padding:24px 0;border-bottom:1px solid #ccd8d2;color:var(--ink);text-decoration:none}.subject-index-row>span{font-size:.72rem;letter-spacing:.08em;color:#81958d}.subject-index-row h3{margin:0;font-size:1.08rem}.subject-index-row p{margin:0;color:var(--reading-muted);font-size:.9rem;line-height:1.55}.subject-index-row b{font-weight:400;color:#779087}.subject-index-row:hover{text-decoration:none}.subject-index-row:hover h3{color:var(--primary)}

/* region index: no cards, only strong text lines */
.region-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid #cfdad4;border-left:1px solid #cfdad4;margin-top:28px}.region-index a{min-height:86px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:18px;border-right:1px solid #cfdad4;border-bottom:1px solid #cfdad4;color:var(--ink);background:rgba(255,255,255,.4);text-decoration:none;transition:background .18s ease}.region-index a:hover{background:#edf4ef;text-decoration:none}.region-index span{font-size:.68rem;color:#82968d}.region-index h3{margin:0;font-size:1rem;letter-spacing:-.02em}.region-index b{font-weight:400;color:#718b80}
.section-action{margin-top:22px}.section-action .text-link{font-weight:750}

/* student cases: editorial rows, no cards */
.case-editorial{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(30px,5vw,72px);border-top:1px solid #cbd7d1;margin-top:30px}.case-editorial article{display:grid;grid-template-columns:46px 1fr;gap:16px;padding:clamp(24px,3vw,36px) 0;border-bottom:1px solid #cbd7d1}.case-no{font-family:var(--font-display);font-size:.76rem;letter-spacing:.1em;color:#7d948a;padding-top:5px}.case-tag{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.08em;color:#3c6e59;text-transform:uppercase}.case-copy h3{margin:8px 0 9px;font-size:clamp(1.07rem,1rem + .3vw,1.28rem);letter-spacing:-.025em}.case-copy p{margin:0;color:var(--reading-muted);font-size:.94rem;line-height:1.72}.case-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:26px 30px;background:#1a3f35;color:#fff;border-radius:14px 42px 14px 14px}.case-cta div{display:grid;gap:5px}.case-cta span{font-size:.76rem;letter-spacing:.08em;color:#bdd2c9}.case-cta strong{font-size:clamp(1.05rem,.95rem + .45vw,1.35rem);letter-spacing:-.025em}

/* local detail diagnosis ledger */
.diagnosis-ledger{border-top:1px solid #cdd9d3;margin-top:18px}.diagnosis-ledger article{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:22px 4px;border-bottom:1px solid #cdd9d3}.diagnosis-ledger-no{font-family:var(--font-display);font-size:.74rem;letter-spacing:.1em;color:#81958d;padding-top:4px}.diagnosis-ledger-kicker{font-size:.7rem;font-weight:800;letter-spacing:.07em;color:#4b7562}.diagnosis-ledger h3{margin:6px 0 8px;font-size:1.04rem;letter-spacing:-.025em}.diagnosis-ledger p{margin:0;color:var(--reading-muted);font-size:.92rem;line-height:1.7}

/* local consultant timeline */
.consultant-timeline{list-style:none;margin:28px 0 4px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #bfd0c7;border-bottom:1px solid #bfd0c7}.consultant-timeline li{position:relative;padding:28px 22px 30px;border-right:1px solid #d2ded8}.consultant-timeline li:last-child{border-right:0}.consultant-timeline>li>span{display:block;font-family:var(--font-display);font-size:.74rem;letter-spacing:.1em;color:#789087;margin-bottom:32px}.consultant-timeline h3{margin:0 0 9px;font-size:1.04rem}.consultant-timeline p{margin:0;color:var(--reading-muted);font-size:.92rem;line-height:1.7}

/* school matrix: one unified surface */
.school-matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #cdd9d3;border-radius:30px;overflow:hidden;background:rgba(255,255,255,.65)}.school-matrix-col{padding:clamp(22px,2.8vw,34px);border-right:1px solid #d4dfd9}.school-matrix-col:last-child{border-right:0}.school-matrix-head{display:flex;align-items:baseline;gap:12px;padding-bottom:18px;border-bottom:1px solid #d8e2dd}.school-matrix-head span{font-size:.7rem;letter-spacing:.1em;color:#7d948a}.school-matrix-head h3{margin:0;font-size:1.05rem}.school-matrix .school-name-list{margin-top:18px;display:flex;flex-wrap:wrap;gap:7px}.school-matrix .school-name-list span{padding:6px 0;border:0;border-radius:0;background:transparent;font-size:.88rem;color:#45554f}.school-matrix .school-name-list span:not(:last-child):after{content:" ·";color:#9aa9a2}

/* answer panel: asymmetric rather than a generic card */
.answer-panel{border-radius:14px 48px 14px 14px!important;padding:clamp(24px,3vw,38px)!important;border-left:4px solid #4e7e69!important;background:linear-gradient(115deg,#eef5f1 0%,#fff 70%)!important;box-shadow:none!important}

@media(max-width:1080px){
 .principle-rail{grid-template-columns:1fr 1fr}.principle-item:nth-child(2){border-right:0}.principle-item:nth-child(-n+2){border-bottom:1px solid #cfdad4}
 .subject-index{grid-template-columns:1fr}.region-index{grid-template-columns:repeat(3,minmax(0,1fr))}.process{grid-template-columns:repeat(3,minmax(0,1fr))!important;row-gap:34px!important}.process:before{display:none}.process-step{border-top:1px solid #cbd8d1!important;padding-top:18px!important}.consultant-timeline{grid-template-columns:1fr 1fr}.consultant-timeline li:nth-child(2){border-right:0}.consultant-timeline li:nth-child(-n+2){border-bottom:1px solid #d2ded8}
}
@media(max-width:820px){
 .signal-board{grid-template-columns:1fr}.signal-core{min-height:320px;border-radius:30px 30px 90px 30px}.case-editorial{grid-template-columns:1fr}.region-index{grid-template-columns:repeat(2,minmax(0,1fr))}.school-matrix{grid-template-columns:1fr}.school-matrix-col{border-right:0;border-bottom:1px solid #d4dfd9}.school-matrix-col:last-child{border-bottom:0}
}
@media(max-width:640px){
 .principle-rail{grid-template-columns:1fr}.principle-item{border-right:0;border-bottom:1px solid #cfdad4!important;padding:22px 2px}.principle-item:last-child{border-bottom:0!important}
 .signal-core{min-height:290px;padding:26px 22px}.signal-list li{grid-template-columns:38px 1fr;gap:10px 14px;padding:20px 0}.signal-list h3{grid-column:2}.signal-list p{grid-column:2}
 .process{grid-template-columns:1fr!important;gap:0!important;padding-top:0}.process-step{display:grid!important;grid-template-columns:44px 1fr;gap:14px;padding:20px 0!important;border-top:0!important;border-bottom:1px solid #cbd8d1!important}.process-num{margin:0!important}.grade-ledger-row{grid-template-columns:42px 1fr auto;gap:12px;padding:22px 0}.grade-ledger-row p{font-size:.92rem}.subject-index-row{grid-template-columns:28px 1fr auto;gap:10px;padding:20px 0}.subject-index-row p{grid-column:2/4;margin-top:4px}.region-index{grid-template-columns:1fr 1fr}.region-index a{min-height:68px;padding:14px 12px}.region-index h3{font-size:.91rem}.case-editorial article{padding:22px 0}.case-cta{align-items:stretch;flex-direction:column;padding:22px 19px;border-radius:12px 32px 12px 12px}.case-cta .btn{width:100%}
 .consultant-timeline{grid-template-columns:1fr;border-top:1px solid #bfd0c7}.consultant-timeline li{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:21px 0;border-right:0!important;border-bottom:1px solid #d2ded8!important}.consultant-timeline li:last-child{border-bottom:0!important}.consultant-timeline>li>span{margin:3px 0 0}.school-matrix{border-radius:20px}.school-matrix-col{padding:20px 18px}
}
@media(max-width:390px){.region-index{grid-template-columns:1fr}.signal-core strong{font-size:2.1rem}}

/* local navigation ledger — replaces repeated white cards */
.local-nav-ledger{border-top:1px solid #cbd8d1;margin-top:24px}.local-nav-ledger>a{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px 4px;border-bottom:1px solid #cbd8d1;color:var(--ink);text-decoration:none;transition:padding .18s ease,background .18s ease}.local-nav-ledger>a>span{font-family:var(--font-display);font-size:.72rem;letter-spacing:.1em;color:#7e938a}.local-nav-ledger h3{margin:0 0 6px;font-size:clamp(1.05rem,.98rem + .35vw,1.3rem);letter-spacing:-.03em}.local-nav-ledger p{margin:0;max-width:820px;color:var(--reading-muted);font-size:.92rem;line-height:1.62}.local-nav-ledger b{font-weight:400;color:#748d82}.local-nav-ledger>a:hover{padding-left:12px;background:linear-gradient(90deg,rgba(230,240,235,.65),transparent 72%);text-decoration:none}.local-nav-ledger.compact{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(28px,4vw,64px)}.local-nav-ledger.compact>a{grid-template-columns:36px minmax(0,1fr) auto}.local-nav-ledger.compact h3{font-size:1rem}.local-nav-ledger.compact p{font-size:.87rem}
/* learning map becomes a structured band, not nested mini-cards */
.learning-map{border-radius:18px 54px 18px 18px!important;box-shadow:none!important;background:linear-gradient(135deg,#173f35,#1e5547)!important;padding:clamp(24px,3vw,38px)!important}.learning-map-grid{grid-template-columns:1fr!important;gap:0!important;border-top:1px solid rgba(255,255,255,.15)}.learning-map-grid li{display:grid!important;grid-template-columns:38px 1fr!important;gap:14px!important;align-items:center!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.13)!important;border-radius:0!important;background:transparent!important;padding:16px 0!important;min-height:0!important}.learning-map-grid li:last-child{border-bottom:0!important}.learning-map-index{width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;color:#b8d0c6!important;font-size:.7rem!important}.learning-map-grid p{color:#edf5f1!important;font-size:.91rem!important;line-height:1.58!important}.learning-map-title{color:#fff!important}.learning-map-lead{color:#c9dcd4!important}.learning-map-kicker{color:#a8c5ba!important}
@media(max-width:760px){.local-nav-ledger.compact{grid-template-columns:1fr}.local-nav-ledger>a{grid-template-columns:38px 1fr auto;gap:12px;padding:20px 0}.local-nav-ledger p{font-size:.9rem}.learning-map{border-radius:16px 38px 16px 16px!important}}

/* =========================================================
   BAEUMGYEOL REBORN 2026 — QUIET EDITORIAL LEARNING
   2026-08-11
   - card-first UI를 걷어내고 editorial rail / split / matrix 중심
   - container-query 기반 컴포넌트 반응형
   - PC와 mobile에서 정보 구조 자체가 재배열됨
   ========================================================= */
:root{
  --ink:#111915;
  --ink-2:#34413b;
  --muted:#69756f;
  --primary:#174c40;
  --primary-dark:#0f382f;
  --primary-soft:#dce7df;
  --accent:#67877a;
  --accent-soft:#e8eeea;
  --bg:#f3f0e8;
  --surface:#fbfaf6;
  --surface-2:#f7f4ed;
  --line:#d3d3c9;
  --line-strong:#afb8b1;
  --wrap:1240px;
  --measure:760px;
  --header-h:72px;
  --radius-sm:8px;
  --radius:12px;
  --radius-lg:18px;
  --fs-3xl:clamp(3.25rem,7.4vw,7rem);
}

html{background:var(--bg);scroll-padding-top:calc(var(--header-h) + 18px)}
body{background:var(--bg);color:var(--ink-2);font-size:clamp(1rem,.965rem + .14vw,1.08rem);line-height:1.76;letter-spacing:-.012em}
.wrap{max-width:var(--wrap);padding-inline:clamp(22px,4vw,54px)}
h1,h2,h3,h4{font-family:var(--font-body);letter-spacing:-.045em;color:var(--ink)}
p{letter-spacing:-.015em}

/* Header: 얇고 정교한 editorial navigation */
.site-header{height:var(--header-h);background:rgba(243,240,232,.9);border-bottom:1px solid rgba(17,25,21,.14);backdrop-filter:blur(16px) saturate(1.1)}
.header-inner{min-height:var(--header-h);max-width:1320px}
.brand{gap:11px}
.brand-mark{width:28px;height:28px}
.brand-mark svg{stroke-width:1.6}
.brand-text{font-family:var(--font-display);font-size:1.38rem;letter-spacing:.01em}
.site-nav ul{gap:clamp(18px,2.2vw,34px)}
.site-nav a{position:relative;font-size:.88rem;font-weight:650;letter-spacing:-.01em;color:#25322d}
.site-nav li:not(.nav-cta) a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--primary);transition:right .22s ease}
.site-nav li:not(.nav-cta) a:hover:after,.site-nav a[aria-current="page"]:after{right:0}
.site-nav a:hover{text-decoration:none}
.nav-cta .btn{min-height:40px;padding-inline:18px;border-radius:7px;background:var(--ink);border-color:var(--ink);color:#fff}

/* Buttons: pill 제거, 작은 방향성만 남김 */
.btn{min-height:52px;padding:0 22px;border-radius:8px;font-size:.93rem;font-weight:720;letter-spacing:-.015em;box-shadow:none;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.btn span{font-weight:400;margin-left:5px;transition:transform .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn:hover span{transform:translate(2px,-2px)}
.btn-primary{background:var(--primary);border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-dark)}
.btn-ghost{background:transparent;border-color:#87978f;color:var(--ink)}
.btn-ghost:hover{background:rgba(255,255,255,.38);border-color:var(--ink)}

/* Breadcrumb */
.breadcrumb{background:transparent;border-bottom:0}
.breadcrumb ol{padding-top:13px;padding-bottom:0;color:#77817c}
.breadcrumb li+li:before{color:#a7aca7}

/* Hero: asymmetric editorial stage */
.hero{position:relative;isolation:isolate;background:var(--bg);border-bottom:1px solid rgba(17,25,21,.18);overflow:hidden;container-type:inline-size}
.hero-stage{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:clamp(44px,7vw,112px);align-items:end;min-height:clamp(520px,67svh,760px);padding-top:clamp(72px,9vw,130px);padding-bottom:clamp(72px,8vw,116px)}
.hero:not(.hero-with-context) .hero-stage{grid-template-columns:minmax(0,850px);min-height:clamp(390px,52svh,570px);align-items:center}
.hero-copy{max-width:910px}
.hero .eyebrow{display:flex;align-items:center;gap:13px;margin:0 0 25px;font-family:var(--font-body);font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--primary);text-transform:uppercase}
.hero .eyebrow:before{content:"";width:42px;height:1px;background:currentColor}
.hero h1{max-width:960px;margin:0;font-size:clamp(3rem,6.5vw,6.6rem);line-height:.98;font-weight:760;letter-spacing:-.075em;text-wrap:balance}
.hero-home h1{font-size:clamp(4rem,8.3vw,8rem);line-height:.92;max-width:980px}
.hero h1 .line-accent{display:inline-block;margin:8px 0 0;font-family:var(--font-display);font-weight:700;letter-spacing:-.055em;color:var(--primary)}
.hero-sub{max-width:720px;margin:clamp(28px,3vw,40px) 0 0;font-size:clamp(1.05rem,1rem + .27vw,1.25rem);line-height:1.78;color:#34423c}
.hero-ctas{display:flex;gap:10px;margin-top:34px}
.hero-context{align-self:end;border-top:1px solid #74847c;border-bottom:1px solid #74847c;padding:14px 0 0;background:transparent}
.hero-context-label{margin:0 0 18px;font-size:.67rem;font-weight:800;letter-spacing:.17em;color:#6b7a73}
.hero-context dl{margin:0}
.hero-context dl>div{display:grid;grid-template-columns:68px 1fr;gap:14px;padding:14px 2px;border-top:1px solid rgba(55,70,63,.19)}
.hero-context dt{font-size:.73rem;color:#79837e;font-weight:650}
.hero-context dd{margin:0;font-size:.95rem;color:var(--ink);font-weight:720;line-height:1.45}
.hero-context-note{margin:20px 0 0;padding:18px 2px 19px;border-top:1px solid rgba(55,70,63,.19);font-size:.82rem;line-height:1.65;color:#5b6962}
.hero-orbit{position:absolute;z-index:0;right:-11vw;top:-22vw;width:min(70vw,940px);aspect-ratio:1;border:1px solid rgba(23,76,64,.095);border-radius:50%;pointer-events:none}
.hero-orbit:before,.hero-orbit:after,.hero-orbit span{content:"";position:absolute;inset:10%;border:1px solid rgba(23,76,64,.075);border-radius:48% 52% 46% 54%/55% 46% 54% 45%;transform:rotate(-9deg)}
.hero-orbit:after{inset:23%;transform:rotate(14deg);border-color:rgba(23,76,64,.09)}
.hero-orbit span:nth-child(1){inset:35%;transform:rotate(28deg)}
.hero-orbit span:nth-child(2){inset:47%;transform:rotate(-18deg)}
.hero-orbit span:nth-child(3){inset:59%;transform:rotate(7deg)}
.hero-rule{position:absolute;z-index:2;left:max(22px,calc((100vw - var(--wrap))/2 + 54px));right:max(22px,calc((100vw - var(--wrap))/2 + 54px));bottom:18px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;font-size:.58rem;letter-spacing:.18em;color:#7e8883}
.hero-rule i{height:1px;background:rgba(17,25,21,.2)}
.hero-rule b{font-weight:600}

/* Sections: 공간과 타이포가 중심 */
.section{padding:clamp(84px,9vw,132px) 0;background:var(--bg);content-visibility:auto;contain-intrinsic-size:800px}
.section.tone-soft{background:var(--surface);border:0}
.section.tone-dark{background:var(--ink);color:#d9e0dc;border:0}
.section-title{max-width:880px;margin:0;font-size:clamp(2.2rem,4.2vw,4.5rem);line-height:1.08;font-weight:720;letter-spacing:-.065em;text-wrap:balance}
.section-lead{max-width:690px;margin:22px 0 0;color:#5c6963;font-size:clamp(1rem,.96rem + .18vw,1.12rem);line-height:1.78}
.tone-dark .section-title{color:#f2f2ec}.tone-dark .section-lead{color:#aebbb5}
.section-action{margin-top:34px}
.text-link{display:inline-flex;gap:7px;align-items:center;padding-bottom:4px;border-bottom:1px solid currentColor;color:var(--primary);font-size:.92rem;font-weight:720}
.text-link:hover{text-decoration:none}.text-link.light{color:#dce9e3}

/* Home navigator: 카드 대신 세 개의 큰 행 */
.navigator-deck{margin-top:clamp(42px,5vw,68px);border-top:1px solid var(--ink)}
.navigator-line{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.55fr);gap:clamp(26px,5vw,72px);padding:30px 0;border-bottom:1px solid #bdc2bc}
.navigator-head{display:grid;grid-template-columns:35px 1fr;align-items:baseline;column-gap:14px}
.navigator-head>span{font-size:.66rem;letter-spacing:.1em;color:#7c8982}.navigator-head h3{margin:0;font-size:1.25rem}.navigator-head p{grid-column:2;margin:6px 0 0;color:#728078;font-size:.83rem}
.navigator-links{display:flex;flex-wrap:wrap;align-items:center;gap:0}
.navigator-links a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px 10px 0;margin-right:22px;color:#24322c;font-size:clamp(.93rem,.88rem + .16vw,1.02rem);font-weight:650;border-bottom:1px solid transparent}
.navigator-links a span{font-size:.72rem;color:#839089}.navigator-links a:hover{text-decoration:none;border-bottom-color:var(--primary);color:var(--primary)}
.navigator-region-links a{min-width:75px}

/* Role stage: 두 주체를 명확히 분리 */
.role-stage{background:var(--primary-dark);color:#eef2ef;padding:clamp(88px,10vw,148px) 0;content-visibility:auto;contain-intrinsic-size:780px}
.role-stage-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(46px,8vw,120px)}
.editorial-kicker{margin:0 0 20px;font-size:.68rem;font-weight:800;letter-spacing:.19em;color:#9cb7ac}
.role-stage-intro h2{font-size:clamp(2.4rem,4.6vw,5rem);line-height:1.07;color:#f4f1e9;letter-spacing:-.065em}
.role-stage-intro>p:last-child{max-width:500px;margin:28px 0 0;color:#b9c9c2;line-height:1.85}
.role-columns{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(236,242,238,.45);border-bottom:1px solid rgba(236,242,238,.45)}
.role-column{position:relative;padding:31px 28px 38px 0}
.role-column+ .role-column{padding-left:32px;border-left:1px solid rgba(236,242,238,.24)}
.role-index{display:block;margin-bottom:62px;font-family:var(--font-display);font-size:clamp(2.7rem,4vw,4.8rem);line-height:1;color:#789d8e}
.role-label{margin:0 0 10px;font-size:.69rem;font-weight:800;letter-spacing:.12em;color:#9cb7ac}
.role-column h3{margin:0;font-size:clamp(1.35rem,1.12rem + .8vw,2rem);line-height:1.34;color:#f5f3ec}
.role-column ul{margin-top:28px;border-top:1px solid rgba(236,242,238,.2)}
.role-column li{padding:13px 0;border-bottom:1px solid rgba(236,242,238,.13);font-size:.91rem;color:#c5d1cc}

/* 5 lenses: huge number + line list */
.lens-stage{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:clamp(40px,8vw,120px);margin-top:56px;align-items:start}
.lens-statement{position:sticky;top:calc(var(--header-h) + 36px);padding-top:6px}
.lens-statement>span{display:block;font-family:var(--font-display);font-size:clamp(5.7rem,10vw,10rem);line-height:.75;color:#cad6cf;letter-spacing:-.07em}
.lens-statement strong{display:block;margin-top:28px;font-size:clamp(1.7rem,2.6vw,2.8rem);line-height:1.15;color:var(--ink);letter-spacing:-.05em}
.lens-statement p{max-width:300px;margin:20px 0 0;color:#718078;font-size:.9rem}
.lens-list{border-top:1px solid var(--ink)}
.lens-list li{display:grid;grid-template-columns:54px minmax(150px,.55fr) minmax(0,1fr);gap:22px;align-items:baseline;padding:clamp(24px,3vw,37px) 0;border-bottom:1px solid #c4c8c2}
.lens-list li>span{font-size:.65rem;letter-spacing:.12em;color:#829088}
.lens-list h3{margin:0;font-size:clamp(1.2rem,1.04rem + .55vw,1.7rem)}
.lens-list p{margin:0;color:#67756e;font-size:.94rem;line-height:1.68}

/* Process flow: timeline without cards */
.flow-stage{background:#e7e2d7;padding:clamp(84px,9vw,132px) 0;content-visibility:auto;contain-intrinsic-size:700px}
.flow-head{display:grid;grid-template-columns:.75fr 1.25fr;column-gap:50px;align-items:end;padding-bottom:34px;border-bottom:1px solid var(--ink)}
.flow-head .editorial-kicker{align-self:start;color:#607269}.flow-head h2{font-size:clamp(2.2rem,4.2vw,4.4rem);line-height:1.05}.flow-head>p:last-child{grid-column:2;margin:16px 0 0;max-width:560px;color:#69746e}
.flow-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid #aeb5ae}
.flow-track li{min-height:270px;padding:27px 20px 30px 0;border-right:1px solid #b8bdb7}
.flow-track li+li{padding-left:20px}.flow-track li:last-child{border-right:0}.flow-no{display:block;margin-bottom:70px;font-family:var(--font-display);font-size:.75rem;letter-spacing:.11em;color:#65746d}.flow-track h3{margin:0 0 12px;font-size:1.05rem}.flow-track p{margin:0;font-size:.84rem;line-height:1.68;color:#5c6862}

/* Directories */
.editorial-directory,.local-nav-ledger{margin-top:42px;border-top:1px solid var(--ink)}
.editorial-directory>a,.local-nav-ledger>a{display:grid;grid-template-columns:52px minmax(0,1fr) 42px;gap:20px;align-items:center;padding:clamp(25px,3.2vw,40px) 0;border-bottom:1px solid #c5c9c2;color:var(--ink);text-decoration:none;background:transparent!important}
.editorial-directory>a>span,.local-nav-ledger>a>span{font-size:.65rem!important;letter-spacing:.12em;color:#839088!important}
.editorial-directory h3,.local-nav-ledger h3{margin:0 0 8px;font-size:clamp(1.3rem,1.05rem + .8vw,1.9rem)!important}
.editorial-directory p,.local-nav-ledger p{margin:0;max-width:800px;color:#67746e!important;font-size:.92rem!important;line-height:1.68}
.editorial-directory b,.local-nav-ledger b{justify-self:end;font-size:1.3rem;font-weight:400;color:#71857b}
.editorial-directory>a:hover,.local-nav-ledger>a:hover{padding-left:11px;text-decoration:none;color:var(--primary)}
.local-nav-ledger.compact{display:block;column-gap:0}
.local-nav-ledger.compact>a{grid-template-columns:52px minmax(0,1fr) 42px}
.local-nav-ledger.compact h3{font-size:clamp(1.16rem,1rem + .5vw,1.55rem)!important}

.type-directory{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(40px,7vw,104px);margin-top:50px;border-top:1px solid var(--ink)}
.type-directory a,.subject-index-row{display:grid;grid-template-columns:34px 115px minmax(0,1fr) 24px;gap:16px;align-items:start;padding:25px 0;border-bottom:1px solid #c4c9c2;color:var(--ink);text-decoration:none}
.type-directory a>span,.subject-index-row>span{font-size:.63rem;letter-spacing:.1em;color:#839088}.type-directory h3,.subject-index-row h3{margin:0;font-size:1.13rem}.type-directory p,.subject-index-row p{margin:0;color:#67746d;font-size:.88rem;line-height:1.62}.type-directory b,.subject-index-row b{font-weight:400;color:#768980}.type-directory a:hover{text-decoration:none;color:var(--primary)}
.subject-index{grid-template-columns:1fr 1fr;column-gap:clamp(40px,7vw,104px);border-top:1px solid var(--ink)}

/* Region constellation */
.region-constellation{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border-top:1px solid rgba(240,244,241,.5);border-left:1px solid rgba(240,244,241,.22)}
.region-constellation a,.region-index a{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;min-height:104px;padding:20px;border-right:1px solid rgba(240,244,241,.22);border-bottom:1px solid rgba(240,244,241,.22);color:#eef3f0;background:transparent!important;text-decoration:none}
.region-constellation span,.region-index span{font-size:.6rem;color:#779589}.region-constellation strong,.region-index h3{font-size:1rem;color:inherit}.region-constellation i,.region-index b{font-style:normal;font-weight:400;color:#7fa191}.region-constellation a:hover{background:#123d34!important;text-decoration:none}
.tone-dark .region-index{border-color:rgba(240,244,241,.4)}

/* Situations / journal */
.situation-journal,.case-editorial{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(36px,7vw,100px);margin-top:48px;border-top:1px solid var(--ink)}
.situation-journal article,.case-editorial article{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:31px 0;border-bottom:1px solid #c4c9c2}
.situation-no,.case-no{font-family:var(--font-body);font-size:.63rem;letter-spacing:.12em;color:#859088}.situation-journal em,.case-tag{font-style:normal;font-size:.67rem;font-weight:800;letter-spacing:.12em;color:var(--primary)}
.situation-journal h3,.case-copy h3{margin:8px 0 10px;font-size:clamp(1.08rem,1rem + .35vw,1.34rem);line-height:1.42}.situation-journal p,.case-copy p{margin:0;color:#66746d;font-size:.88rem;line-height:1.7}

/* Journal guides */
.journal-feature{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(42px,7vw,100px);margin-top:48px}
.journal-lead{min-height:470px;padding:0 30px 30px 0;border-right:1px solid #bfc5be;display:flex;flex-direction:column;align-items:flex-start}.journal-lead>span{font-size:.66rem;font-weight:800;letter-spacing:.16em;color:var(--primary)}.journal-lead>p:nth-child(2){margin:12px 0 56px;color:#7b8781;font-size:.76rem}.journal-lead h3{margin:0;font-size:clamp(1.8rem,3vw,3rem);line-height:1.18}.journal-lead h3 a{color:var(--ink)}.journal-lead>p{margin-top:20px;color:#65726b}.journal-lead>a{margin-top:auto;color:var(--primary);font-weight:700}
.journal-list{border-top:1px solid var(--ink)}.journal-list>a{display:grid;grid-template-columns:35px 1fr auto;gap:16px;padding:22px 0;border-bottom:1px solid #c4c9c2;color:var(--ink);text-decoration:none}.journal-list span{font-size:.62rem;color:#849089}.journal-list h3{margin:0 0 5px;font-size:1rem}.journal-list p{margin:0;color:#738078;font-size:.82rem;line-height:1.55}.journal-list b{font-weight:400;color:#788c82}

/* Local page core: card 느낌 제거 */
.answer-panel{display:grid;grid-template-columns:minmax(150px,.33fr) minmax(0,1.67fr);column-gap:clamp(32px,6vw,90px);margin:42px 0 52px;padding:28px 0 31px;border-top:1px solid var(--ink);border-bottom:1px solid #bfc5bf;background:transparent!important;border-radius:0!important;box-shadow:none!important}
.answer-label{grid-column:1;grid-row:1/4;font-size:.66rem!important;letter-spacing:.16em;color:#6c7b73!important;font-weight:800}.answer-panel h3{grid-column:2;margin:0 0 14px;font-size:clamp(1.45rem,2vw,2.2rem)!important}.answer-panel>p{grid-column:2;margin:0;max-width:760px;color:#596760!important;line-height:1.8}.answer-panel .intent-chip-row{grid-column:2;margin-top:24px}
.intent-chip-row{display:flex;flex-wrap:wrap;gap:7px}.intent-chip-row li{padding:7px 10px;border:1px solid #c0c8c2;border-radius:4px;background:transparent;color:#51615a;font-size:.75rem}
.intro-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:clamp(42px,7vw,96px);margin:0!important;align-items:start}
.conversion-intro-copy{padding:0!important;background:transparent!important;border:0!important}.copy-kicker,.mini-title{font-size:.66rem!important;font-weight:800!important;letter-spacing:.15em!important;color:var(--primary)!important}.conversion-intro-copy p{font-size:1rem!important;line-height:1.85!important;color:#596860!important}
.intro-side{padding-left:clamp(24px,3vw,42px)!important;border-left:1px solid #bdc5bf;background:transparent!important;border-radius:0!important}
.learning-map{margin:16px 0 0!important;border:0!important;border-top:1px solid var(--ink)!important;border-radius:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}.learning-map-head{padding:18px 0!important}.learning-map-kicker{font-size:.62rem!important;letter-spacing:.14em!important}.learning-map-title{font-size:1.1rem!important}.learning-map-lead{color:#69766f!important}.learning-map-grid{display:block!important;border-top:1px solid #c4c9c3!important}.learning-map-grid li{display:grid!important;grid-template-columns:38px 1fr!important;gap:12px!important;padding:13px 0!important;border:0!important;border-bottom:1px solid #d2d5d0!important;background:transparent!important}.learning-map-index{font-size:.6rem!important}.learning-map-grid p{margin:0!important;font-size:.86rem!important}

.diagnosis-ledger{margin-top:42px;border-top:1px solid var(--ink)}
.diagnosis-ledger article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:20px;padding:27px 0;border-bottom:1px solid #c4c9c2;background:transparent!important;border-radius:0!important}.diagnosis-ledger-no{font-size:.63rem!important;letter-spacing:.12em;color:#839088!important}.diagnosis-ledger-kicker{font-size:.62rem!important;letter-spacing:.12em;color:var(--primary)!important;font-weight:800}.diagnosis-ledger h3{margin:7px 0 8px;font-size:clamp(1.1rem,1rem + .35vw,1.35rem)!important}.diagnosis-ledger p{margin:0;color:#66736d!important;font-size:.9rem!important;line-height:1.68!important}

.consultant-timeline{display:grid;grid-template-columns:repeat(4,1fr);margin:54px 0 0;border-top:1px solid var(--ink);border-bottom:1px solid #bfc5bf}
.consultant-timeline li{min-height:265px;padding:25px 20px 30px 0;border-right:1px solid #c5cac4!important;border-bottom:0!important;background:transparent!important}.consultant-timeline li+li{padding-left:20px}.consultant-timeline li:last-child{border-right:0!important}.consultant-timeline>li>span{display:block;margin:0 0 65px!important;font-size:.63rem!important;letter-spacing:.12em!important;color:#839088!important}.consultant-timeline h3{margin:0 0 10px;font-size:1.02rem!important}.consultant-timeline p{font-size:.84rem!important;line-height:1.67!important;color:#647169!important}

.mid-cta{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin:58px 0 0!important;padding:34px 0!important;border:0!important;border-top:1px solid var(--ink)!important;border-bottom:1px solid var(--ink)!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;box-shadow:none!important}.mid-cta-kicker{font-size:.65rem!important;letter-spacing:.14em!important;color:var(--primary)!important}.mid-cta h3{margin:9px 0 9px!important;font-size:clamp(1.25rem,1.7vw,1.7rem)!important;color:var(--ink)!important}.mid-cta p{margin:0!important;max-width:720px;color:#65736c!important;font-size:.9rem!important}.mid-cta-actions{display:flex;gap:8px}

/* School matrix: tab 느낌 없는 editorial columns */
.school-matrix{display:grid;grid-template-columns:repeat(3,1fr);margin-top:44px;border:0!important;border-top:1px solid var(--ink)!important;border-bottom:1px solid #bcc3bd!important;border-radius:0!important;overflow:visible!important;background:transparent!important}
.school-matrix-col{padding:26px 26px 30px 0!important;border:0!important;border-right:1px solid #c5cac4!important}.school-matrix-col+ .school-matrix-col{padding-left:26px!important}.school-matrix-col:last-child{border-right:0!important}.school-matrix-head{padding-bottom:19px!important;border-bottom:1px solid #c7ccc6!important}.school-matrix-head span{font-size:.62rem!important}.school-matrix-head h3{font-size:1.05rem!important}.school-name-list{display:block!important;margin-top:14px!important}.school-name-list span{display:block!important;padding:7px 0!important;border-bottom:1px solid #e0e0d9!important;font-size:.86rem!important;color:#4b5b53!important}.school-name-list span:after{content:""!important}

/* rich detail areas */
.answer-text-block{max-width:850px;margin:0 0 48px;padding-left:clamp(24px,4vw,58px);border-left:2px solid var(--primary)}.answer-text-block p{font-size:1rem;line-height:1.86;color:#536159}.rich-section-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(40px,7vw,90px);border-top:1px solid var(--ink);margin-top:34px}.content-subsection{padding:28px 0;border-bottom:1px solid #c5cac4}.content-subsection h3{font-size:1.15rem}.content-subsection h4{margin:23px 0 6px;font-size:.94rem}.content-subsection p{color:#66736d;font-size:.9rem}.focus-banner{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:0 0 34px;border-bottom:1px solid var(--ink);background:transparent!important;border-radius:0!important}.focus-banner>span{font-size:.66rem;letter-spacing:.14em;color:var(--primary)}.focus-banner h3{margin:0;font-size:clamp(1.5rem,2.3vw,2.5rem)}.focus-banner p{grid-column:2;margin:0;color:#68756e}.problem-chip-grid{display:grid!important;grid-template-columns:1fr 1fr!important;border-top:1px solid var(--ink)!important;gap:0!important}.problem-chip-grid li{padding:19px 0!important;border:0!important;border-bottom:1px solid #c4c9c2!important;border-radius:0!important;background:transparent!important;color:#47564f!important}.problem-chip-grid li:nth-child(odd){padding-right:28px!important}.problem-chip-grid li:nth-child(even){padding-left:28px!important;border-left:1px solid #c4c9c2!important}

/* CTA band: one bold editorial ending */
.cta-band{position:relative;overflow:hidden;background:var(--primary-dark);border:0;padding:clamp(64px,7vw,92px) 0;color:#fff}
.cta-band .grain{display:none}.cta-inner{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:50px;align-items:end}.cta-band h2{max-width:760px;font-size:clamp(2rem,4vw,4rem);line-height:1.08;color:#f5f3ed}.cta-band p{max-width:650px;margin:18px 0 0;color:#b7c8c0}.cta-actions{display:flex;gap:8px}.cta-band .btn-primary{background:#f2efe6;border-color:#f2efe6;color:#14372f}.cta-band .btn-primary:hover{background:#fff}.cta-band .btn-phone,.cta-band .btn-line{background:transparent;border-color:#759088;color:#e9efec}

/* FAQ */
.faq{margin-top:40px;border-top:1px solid var(--ink)}.faq-item{border-bottom:1px solid #c1c7c1;background:transparent!important;border-radius:0!important}.faq-item summary{padding:23px 36px 23px 0!important;font-size:1rem!important;font-weight:700!important}.faq-item summary:after{right:2px!important}.faq-answer{padding:0 0 24px!important;max-width:800px}.faq-answer p{color:#647169!important}.faq-item[open],.faq-item:open{background:transparent!important}

/* Footer */
.site-footer{background:#101814!important;color:#b9c4bf!important;border:0!important;padding-top:58px!important}.footer-compact{display:grid!important;grid-template-columns:1.15fr .85fr;column-gap:60px!important}.footer-brandline{align-items:flex-start!important}.footer-brandline .brand-text{font-size:1.8rem!important;color:#f1f0ea!important}.footer-brandline p{max-width:520px;color:#8fa098!important;line-height:1.7}.footer-links{justify-content:flex-start!important;align-content:start;gap:9px 18px!important}.footer-links a,.footer-actions a{color:#c4cec9!important}.footer-actions{grid-column:2;justify-content:flex-start!important}.footer-bottom{grid-column:1/-1!important;border-top-color:#34423c!important}

/* Floating desktop contact */
.floating-contact{right:24px!important;bottom:26px!important;display:flex!important;flex-direction:column!important;gap:6px!important;padding:6px!important;background:rgba(17,25,21,.92)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:12px!important;box-shadow:0 14px 42px rgba(10,20,16,.18)!important;backdrop-filter:blur(12px)}
.fc-item{width:auto!important;min-width:116px!important;height:43px!important;padding:0 12px!important;border:0!important;border-radius:7px!important;gap:8px!important;justify-content:flex-start!important;font-size:.77rem!important}.fc-item svg{width:16px!important;height:16px!important}.fc-phone{background:transparent!important;color:#d4ddd9!important}.fc-consult{background:#f2efe6!important;color:#153b32!important}

/* Progressive component responsiveness with container queries */
@container (width < 860px){
  .hero-stage{grid-template-columns:1fr;gap:44px;align-items:start;min-height:auto}
  .hero-context{max-width:100%}
  .hero-orbit{right:-36vw;top:-8vw;width:110vw}
}

@media(max-width:1020px){
  :root{--header-h:64px}
  .site-header{height:var(--header-h)}.header-inner{min-height:var(--header-h)}
  .nav-toggle{display:block;border:0;border-radius:0;background:transparent}
  .site-nav{position:absolute;left:0;right:0;top:100%;display:none;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 22px 22px}
  .site-nav.is-open{display:block}.site-nav ul{display:grid;gap:0}.site-nav li{border-bottom:1px solid #d5d5cc}.site-nav li:last-child{border:0;padding-top:12px}.site-nav a{display:block;padding:14px 2px;font-size:.98rem}.site-nav li:not(.nav-cta) a:after{display:none}.nav-cta .btn{width:100%;text-align:center}
  .role-stage-grid{grid-template-columns:1fr;gap:54px}.role-stage-intro>p:last-child{max-width:720px}
  .flow-track{grid-template-columns:repeat(3,1fr)}.flow-track li{border-bottom:1px solid #b8bdb7}.flow-track li:nth-child(3){border-right:0}.flow-track li:nth-child(n+4){border-bottom:0}
  .region-constellation,.region-index{grid-template-columns:repeat(3,1fr)!important}
  .consultant-timeline{grid-template-columns:1fr 1fr}.consultant-timeline li:nth-child(2){border-right:0!important}.consultant-timeline li:nth-child(-n+2){border-bottom:1px solid #c5cac4!important}
  .cta-inner{grid-template-columns:1fr;gap:32px}.cta-actions{justify-content:flex-start}
}

@media(max-width:760px){
  body{font-size:1rem;line-height:1.73;padding-bottom:76px}
  .wrap{padding-inline:18px}
  .hero-stage{padding-top:58px;padding-bottom:82px;gap:38px}
  .hero-home .hero-stage{min-height:calc(100svh - var(--header-h));align-content:center}
  .hero h1{font-size:clamp(2.65rem,13vw,4.2rem);line-height:1.02;letter-spacing:-.068em}
  .hero-home h1{font-size:clamp(3.5rem,17vw,5.6rem);line-height:.94}
  .hero-sub{font-size:1rem;line-height:1.75;margin-top:25px}
  .hero-ctas{display:grid;grid-template-columns:1fr;gap:8px;margin-top:28px}.hero-ctas .btn{width:100%}
  .hero-context{padding-top:10px}.hero-context dl>div{grid-template-columns:58px 1fr;padding:12px 0}.hero-context-note{font-size:.8rem}
  .hero-rule{left:18px;right:18px;bottom:13px}.hero-rule span{display:none}
  .section{padding:72px 0}.section-title{font-size:clamp(2rem,10vw,3.1rem);line-height:1.1}.section-lead{margin-top:17px;font-size:.97rem}
  .navigator-line{grid-template-columns:1fr;gap:17px;padding:25px 0}.navigator-links a{padding:9px 16px 9px 0;margin-right:14px;font-size:.91rem}.navigator-head{grid-template-columns:32px 1fr}
  .role-stage{padding:76px 0}.role-stage-intro h2{font-size:clamp(2.2rem,10.8vw,3.5rem)}.role-columns{grid-template-columns:1fr}.role-column{padding:25px 0 28px}.role-column+ .role-column{padding:28px 0;border-left:0;border-top:1px solid rgba(236,242,238,.24)}.role-index{margin-bottom:35px;font-size:3.25rem}.role-column ul{margin-top:22px}
  .lens-stage{grid-template-columns:1fr;gap:34px;margin-top:40px}.lens-statement{position:static;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:end}.lens-statement>span{font-size:5rem}.lens-statement strong{margin:0;font-size:1.85rem}.lens-statement p{grid-column:1/-1;margin-top:0;max-width:100%}.lens-list li{grid-template-columns:38px 1fr;padding:23px 0;gap:11px 14px}.lens-list h3{font-size:1.15rem}.lens-list p{grid-column:2;font-size:.9rem}
  .flow-stage{padding:72px 0}.flow-head{grid-template-columns:1fr;padding-bottom:27px}.flow-head h2{font-size:2.5rem}.flow-head>p:last-child{grid-column:1}.flow-track{grid-template-columns:1fr}.flow-track li,.flow-track li+li{display:grid;grid-template-columns:42px 1fr;gap:12px;min-height:0;padding:21px 0;border-right:0!important;border-bottom:1px solid #b8bdb7!important}.flow-track li:last-child{border-bottom:0!important}.flow-no{margin:3px 0 0}.flow-track h3{font-size:1rem}.flow-track p{font-size:.86rem}
  .editorial-directory>a,.local-nav-ledger>a,.local-nav-ledger.compact>a{grid-template-columns:36px 1fr 24px;gap:12px;padding:22px 0}.editorial-directory h3,.local-nav-ledger h3,.local-nav-ledger.compact h3{font-size:1.17rem!important}.editorial-directory p,.local-nav-ledger p{font-size:.88rem!important}
  .type-directory,.subject-index{grid-template-columns:1fr}.type-directory a,.subject-index-row{grid-template-columns:28px 92px 1fr 20px;padding:21px 0;gap:10px}.type-directory p,.subject-index-row p{font-size:.82rem}
  .region-constellation,.region-index{grid-template-columns:1fr 1fr!important}.region-constellation a,.region-index a{min-height:78px;padding:13px 12px}.region-constellation strong,.region-index h3{font-size:.9rem}
  .situation-journal,.case-editorial{grid-template-columns:1fr;column-gap:0}.situation-journal article,.case-editorial article{padding:24px 0}
  .journal-feature{grid-template-columns:1fr;gap:38px}.journal-lead{min-height:360px;padding:0 0 34px;border-right:0;border-bottom:1px solid #bfc5be}.journal-lead>p:nth-child(2){margin-bottom:34px}.journal-lead h3{font-size:2rem}.journal-list>a{grid-template-columns:28px 1fr 18px;gap:10px}
  .answer-panel{grid-template-columns:1fr;gap:13px;padding:23px 0;margin:30px 0 40px}.answer-label{grid-column:1;grid-row:auto}.answer-panel h3,.answer-panel>p,.answer-panel .intent-chip-row{grid-column:1}.answer-panel h3{font-size:1.35rem!important}
  .intro-split{grid-template-columns:1fr;gap:38px}.intro-side{padding:26px 0 0!important;border-left:0;border-top:1px solid #bdc5bf}
  .diagnosis-ledger article{grid-template-columns:36px 1fr;gap:12px;padding:23px 0}
  .consultant-timeline{grid-template-columns:1fr}.consultant-timeline li,.consultant-timeline li+li{display:grid;grid-template-columns:36px 1fr;gap:12px;min-height:0;padding:22px 0;border-right:0!important;border-bottom:1px solid #c5cac4!important}.consultant-timeline li:last-child{border-bottom:0!important}.consultant-timeline>li>span{margin:3px 0 0!important}
  .mid-cta{grid-template-columns:1fr;gap:23px;padding:27px 0!important}.mid-cta-actions{display:grid;grid-template-columns:1fr 1fr}.mid-cta-actions .btn{width:100%;padding-inline:12px}
  .school-matrix{grid-template-columns:1fr}.school-matrix-col,.school-matrix-col+ .school-matrix-col{padding:22px 0!important;border-right:0!important;border-bottom:1px solid #c5cac4!important}.school-matrix-col:last-child{border-bottom:0!important}.school-name-list{columns:2;column-gap:20px}.school-name-list span{break-inside:avoid}
  .rich-section-grid{grid-template-columns:1fr}.focus-banner{grid-template-columns:1fr;gap:9px}.focus-banner p{grid-column:1}.problem-chip-grid{grid-template-columns:1fr!important}.problem-chip-grid li,.problem-chip-grid li:nth-child(odd),.problem-chip-grid li:nth-child(even){padding:16px 0!important;border-left:0!important}
  .cta-band{padding:58px 0}.cta-band h2{font-size:2.25rem}.cta-actions{display:grid;grid-template-columns:1fr}.cta-actions .btn{width:100%}
  .footer-compact{grid-template-columns:1fr!important}.footer-actions{grid-column:1}.footer-bottom{grid-column:1!important}
  .floating-contact{left:10px!important;right:10px!important;bottom:9px!important;display:grid!important;grid-template-columns:1fr 1.25fr!important;flex-direction:row!important;padding:5px!important;border-radius:11px!important}.fc-item{min-width:0!important;width:100%!important;height:50px!important;justify-content:center!important;font-size:.86rem!important}.fc-phone{background:#24302b!important}.fc-consult{background:#f5f1e8!important}
}

@media(max-width:420px){
  .hero-home h1{font-size:clamp(3.05rem,16.5vw,4.4rem)}
  .type-directory a,.subject-index-row{grid-template-columns:26px 78px 1fr 17px}.type-directory p,.subject-index-row p{font-size:.78rem}
  .region-constellation,.region-index{grid-template-columns:1fr!important}.region-constellation a,.region-index a{min-height:65px}
  .school-name-list{columns:1}
  .mid-cta-actions{grid-template-columns:1fr}
}

@media(hover:hover) and (pointer:fine){
  .lens-list li,.situation-journal article,.diagnosis-ledger article{transition:padding-left .2s ease,color .2s ease}
  .lens-list li:hover,.situation-journal article:hover,.diagnosis-ledger article:hover{padding-left:10px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.btn,.site-nav a:after,.editorial-directory>a,.local-nav-ledger>a,.lens-list li,.situation-journal article,.diagnosis-ledger article{transition:none!important}
}

/* =========================================================
   REBORN 2026 — FINAL ANTI-CARD LAYER
   남아 있는 범용 카드/링크 컴포넌트도 editorial rule system으로 통일
   ========================================================= */
.card-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:38px!important;
  border-top:1px solid var(--ink)!important;
  border-bottom:1px solid var(--line-strong)!important;
}
.card-grid .card{
  position:relative!important;
  min-height:0!important;
  padding:28px 26px 30px 0!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.card-grid .card:nth-child(odd){padding-right:34px!important;border-right:1px solid var(--line)!important}
.card-grid .card:nth-child(even){padding-left:34px!important}
.card-grid .card:nth-last-child(-n+2){border-bottom:0!important}
.card-grid .card-link{display:block;color:inherit;text-decoration:none}
.card-grid .card-index{display:block;margin-bottom:22px;font-family:var(--font-display);font-size:1.5rem;color:#789287}
.card-grid .card-title{margin:0 0 10px!important;font-size:clamp(1.08rem,1rem + .35vw,1.35rem)!important;line-height:1.38!important}
.card-grid .card-body{max-width:520px;margin:0!important;font-size:.92rem!important;line-height:1.72!important;color:#68746e!important}
.card-grid .card-link:after{content:"↗";position:absolute;right:18px;top:28px;color:#75857d;font-size:.85rem}

.visual-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  margin:28px 0!important;
  border-top:1px solid var(--ink)!important;
  border-bottom:1px solid var(--line-strong)!important;
}
.visual-card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.visual-card-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.visual-card{
  display:block!important;
  min-height:220px!important;
  padding:25px 24px!important;
  border:0!important;
  border-right:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.visual-card:last-child{border-right:0!important}
.visual-card-no{width:auto!important;height:auto!important;display:block!important;margin-bottom:38px!important;border-radius:0!important;background:transparent!important;color:#789287!important;font-family:var(--font-display);font-size:1.35rem!important;justify-content:initial!important}
.visual-card-kicker{margin-bottom:9px!important;font-size:.67rem!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.visual-card h3{font-size:1.08rem!important;line-height:1.42!important;margin-bottom:9px!important}
.visual-card p{font-size:.88rem!important;line-height:1.68!important;color:#68746e!important}

.link-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  max-width:none!important;
  margin-top:28px!important;
  border-top:1px solid var(--ink)!important;
}
.link-list li{border-bottom:1px solid var(--line)!important}
.link-list li:nth-child(odd){border-right:1px solid var(--line)!important}
.link-list a{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;min-height:64px!important;padding:15px 20px 15px 0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;font-size:.94rem!important;font-weight:680!important}
.link-list li:nth-child(even) a{padding-left:20px!important}
.link-list a:after{content:"↗";font-size:.76rem;color:#7b8982}
.link-list a:hover{text-decoration:none!important;color:var(--primary)!important}
.link-note{display:block!important;margin-top:3px!important;font-weight:450!important;color:#79857f!important;font-size:.78rem!important}

.guide-card-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:34px!important;
  border-top:1px solid var(--ink)!important;
}
.guide-card{
  min-height:190px!important;
  padding:28px 28px 30px 0!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.guide-card:nth-child(odd){padding-right:34px!important;border-right:1px solid var(--line)!important}
.guide-card:nth-child(even){padding-left:34px!important}
.guide-card h3{font-size:1.12rem!important;line-height:1.42!important}
.guide-card p{color:#68746e!important}

.check-list{border-top:1px solid var(--ink)!important;margin-top:28px!important}
.check-list>div{padding:18px 0!important;border-bottom:1px solid var(--line)!important;background:transparent!important}
.process{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  border-top:1px solid var(--ink)!important;
  border-bottom:1px solid var(--line-strong)!important;
}
.process-step{
  min-height:220px!important;
  padding:26px!important;
  border:0!important;
  border-right:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
}
.process-step:nth-child(3n){border-right:0!important}
.process-step:nth-child(-n+3){border-bottom:1px solid var(--line)!important}
.process-num{display:grid!important;place-items:center!important;text-align:center!important;line-height:1!important;margin:0 0 42px!important;color:#789287!important;font-family:var(--font-display)!important;font-size:1.4rem!important}
.process-step h3{font-size:1.04rem!important}
.process-step p{font-size:.87rem!important;color:#68746e!important}

/* 학교: 카드/칩이 아니라 하나의 텍스트 매트릭스 */
.school-data-block,.school-matrix{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:32px!important;
  border-top:1px solid var(--ink)!important;
  border-bottom:1px solid var(--line-strong)!important;
}
.school-level-group,.school-matrix-col{
  min-width:0!important;
  padding:26px 26px 28px!important;
  border:0!important;
  border-right:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
}
.school-level-group:first-child,.school-matrix-col:first-child{padding-left:0!important}
.school-level-group:last-child,.school-matrix-col:last-child{padding-right:0!important;border-right:0!important}
.school-level-group h3,.school-matrix-col h3{margin:0 0 20px!important;font-size:1rem!important}
.school-name-list{display:block!important;columns:1!important;margin:0!important}
.school-name-list span{display:block!important;padding:7px 0!important;border:0!important;border-bottom:1px dotted #d4d7d1!important;border-radius:0!important;background:transparent!important;font-size:.86rem!important;line-height:1.48!important;color:#57655e!important}

@media(max-width:1020px){
  .visual-card-grid,.visual-card-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .visual-card{border-bottom:1px solid var(--line)!important}.visual-card:nth-child(even){border-right:0!important}
  .process{grid-template-columns:repeat(2,minmax(0,1fr))!important}.process-step:nth-child(n){border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}.process-step:nth-child(even){border-right:0!important}.process-step:nth-last-child(-n+2){border-bottom:0!important}
}
@media(max-width:760px){
  .card-grid,.guide-card-grid,.link-list{grid-template-columns:1fr!important}
  .card-grid .card,.card-grid .card:nth-child(odd),.card-grid .card:nth-child(even),.guide-card,.guide-card:nth-child(odd),.guide-card:nth-child(even){padding:23px 0!important;border-right:0!important;border-bottom:1px solid var(--line)!important}
  .card-grid .card:last-child,.guide-card:last-child{border-bottom:0!important}
  .card-grid .card-link:after{right:0;top:23px}
  .link-list li,.link-list li:nth-child(odd){border-right:0!important}.link-list a,.link-list li:nth-child(even) a{padding:15px 0!important;min-height:58px!important}
  .visual-card-grid,.visual-card-grid.cols-2,.visual-card-grid.cols-4{grid-template-columns:1fr!important}
  .visual-card,.visual-card:nth-child(n){min-height:0!important;padding:22px 0!important;border-right:0!important;border-bottom:1px solid var(--line)!important}.visual-card:last-child{border-bottom:0!important}.visual-card-no{margin-bottom:18px!important}
  .process{grid-template-columns:1fr!important}.process-step,.process-step:nth-child(n){display:grid!important;grid-template-columns:42px 1fr!important;gap:12px!important;min-height:0!important;padding:21px 0!important;border-right:0!important;border-bottom:1px solid var(--line)!important}.process-step:last-child{border-bottom:0!important}.process-num{margin:3px 0 0!important}
  .school-data-block,.school-matrix{grid-template-columns:1fr!important}.school-level-group,.school-level-group:first-child,.school-level-group:last-child,.school-matrix-col,.school-matrix-col:first-child,.school-matrix-col:last-child{padding:22px 0!important;border-right:0!important;border-bottom:1px solid var(--line)!important}.school-level-group:last-child,.school-matrix-col:last-child{border-bottom:0!important}
}


/* 2026-08 unified consultation-to-class flow */
.unified-stage{background:linear-gradient(180deg,#F7F5EF 0%,#F1F5F1 100%);border-top:1px solid #E1E5E1;border-bottom:1px solid #E1E5E1}.unified-stage-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(2rem,6vw,6rem);align-items:start}.unified-rail{border-top:1px solid #C9D3CD}.unified-rail>div{display:grid;grid-template-columns:56px minmax(150px,.72fr) minmax(0,1fr);gap:1.1rem;align-items:start;padding:1.45rem 0;border-bottom:1px solid #D7DED9}.unified-rail span{color:#1C5A4C;font-weight:800;font-variant-numeric:tabular-nums}.unified-rail strong{color:#18201D;font-size:1.03rem;line-height:1.4}.unified-rail p{margin:0;color:#596660;line-height:1.7}@media(max-width:780px){.unified-stage-grid{grid-template-columns:1fr;gap:1.8rem}.unified-rail>div{grid-template-columns:42px 1fr;gap:.7rem .9rem;padding:1.2rem 0}.unified-rail p{grid-column:2}}



/* =========================================================
   FINAL 2026 CLARITY PASS — visual hierarchy / alignment / CTA
   한 번에 읽히는 문단 계층 + PC/Mobile 정렬 기준
   ========================================================= */
:root{
  --bg:#F7F5EF!important;
  --surface:#FFFDF8!important;
  --surface-2:#F1F4F0!important;
  --ink:#17201C!important;
  --ink-2:#35423C!important;
  --muted:#59675F!important;
  --primary:#1C5A4C!important;
  --primary-dark:#123F35!important;
  --primary-soft:#E7F0EB!important;
  --accent:#5F8278!important;
  --line:#D9DFDA!important;
  --line-strong:#B8C4BD!important;
  --wrap:1180px!important;
}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  color:var(--ink-2)!important;
  font-family:"Pretendard Variable",Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:16.5px!important;
  line-height:1.78!important;
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
  line-break:strict!important;
  background:var(--bg)!important;
}
h1,h2,h3,h4,p,a,button,dt,dd,summary,strong,span{word-break:keep-all!important;overflow-wrap:break-word!important}
.wrap{padding-left:clamp(22px,4.2vw,54px)!important;padding-right:clamp(22px,4.2vw,54px)!important}

/* 모든 문단은 좌측 기준선 통일 */
.section,.role-stage,.flow-stage,.cta-band,.faq-section{text-align:left!important}
.section>.wrap,.role-stage>.wrap,.flow-stage>.wrap,.cta-band>.wrap,.faq-section>.wrap{position:relative}
.section-kicker,.editorial-kicker,.copy-kicker,.mini-title,.diagnosis-ledger-kicker,.learning-map-kicker{
  display:flex!important;align-items:center!important;gap:12px!important;
  width:max-content!important;max-width:100%!important;margin:0 0 15px!important;
  color:var(--primary)!important;font-family:var(--font-body)!important;
  font-size:.78rem!important;font-weight:800!important;line-height:1.35!important;
  letter-spacing:.035em!important;text-transform:none!important;
}
.section-kicker:before,.editorial-kicker:before{
  content:"";display:block;width:28px;height:2px;background:var(--primary);flex:0 0 auto
}
.section-title,.flow-head h2,.role-stage-intro h2{
  color:var(--ink)!important;max-width:900px!important;
  font-size:clamp(2rem,3.65vw,4rem)!important;line-height:1.12!important;
  letter-spacing:-.052em!important;font-weight:720!important;text-align:left!important;
}
.section-lead,.flow-head>p:last-child,.role-stage-intro>p:last-child{
  color:var(--ink-2)!important;max-width:740px!important;margin-top:20px!important;
  font-size:clamp(1rem,.96rem + .18vw,1.1rem)!important;line-height:1.78!important;text-align:left!important;
}
.section p,.content-subsection p,.diagnosis-ledger p,.lens-list p,.visual-card p,.card-body,.guide-card p,.journal-list p,.situation-journal p{
  color:var(--ink-2)!important;
}
.section h3,.content-subsection h3,.diagnosis-ledger h3,.lens-list h3,.visual-card h3,.journal-list h3,.situation-journal h3{
  color:var(--ink)!important;
}
.tone-soft{background:#FBFAF6!important}
.tone-dark{background:#13221D!important}
.tone-dark .section-kicker{color:#BBD0C6!important}.tone-dark .section-kicker:before{background:#BBD0C6!important}
.tone-dark .section-title{color:#FFFDF7!important}.tone-dark .section-lead{color:#D4DED9!important}

/* Hero: 제목/설명/핵심안내 색 대비 강화 */
.hero{background:linear-gradient(135deg,#F9F7F1 0%,#F1F5F1 100%)!important}
.hero .eyebrow{color:var(--primary)!important;font-size:.78rem!important;letter-spacing:.04em!important;text-transform:none!important;font-weight:800!important}
.hero h1{color:var(--ink)!important;text-align:left!important}
.hero h1 .line-accent{color:var(--primary)!important}
.hero-sub{color:#304039!important;max-width:760px!important;font-size:clamp(1.04rem,.98rem + .3vw,1.22rem)!important;line-height:1.78!important;text-align:left!important}
.hero-context{
  padding:20px 22px 5px!important;background:rgba(255,253,248,.72)!important;
  border:1px solid #C7D1CB!important;border-radius:16px!important;
  box-shadow:0 14px 38px rgba(26,52,43,.07)!important;
}
.hero-context-label{color:var(--primary-dark)!important;font-size:.78rem!important;letter-spacing:.035em!important;font-weight:850!important;margin-bottom:10px!important}
.hero-context dl>div{grid-template-columns:72px 1fr!important;padding:14px 0!important;border-top:1px solid #D8DFDA!important}
.hero-context dt{color:#59675F!important;font-size:.78rem!important;font-weight:700!important}
.hero-context dd{color:var(--ink)!important;font-size:.96rem!important;font-weight:760!important}
.hero-context-note{color:#405049!important;font-size:.86rem!important;line-height:1.7!important;border-top-color:#D8DFDA!important}
.hero-rule{color:#66766E!important}

/* 내비게이션/리스트: 제목, 설명, 번호를 즉시 구분 */
.navigator-deck,.editorial-directory,.type-directory,.lens-list,.diagnosis-ledger,.local-nav-ledger,.faq{border-top-color:var(--ink)!important}
.navigator-head>span,.lens-list li>span,.diagnosis-ledger-no,.editorial-directory>a>span,.local-nav-ledger>a>span,.type-directory a>span,.subject-index-row>span{
  color:var(--primary)!important;font-weight:850!important
}
.navigator-head h3,.editorial-directory h3,.local-nav-ledger h3,.type-directory h3,.subject-index-row h3{color:var(--ink)!important;font-weight:760!important}
.navigator-head p,.editorial-directory p,.local-nav-ledger p,.type-directory p,.subject-index-row p{color:#4F5E57!important}
.navigator-links a{color:#26362F!important;font-weight:720!important}
.navigator-links a span{color:var(--primary)!important}
.navigator-line,.editorial-directory>a,.local-nav-ledger>a,.type-directory a,.subject-index-row,.lens-list li,.diagnosis-ledger article{border-bottom-color:#C7CEC9!important}

/* 5가지 기준과 과정: 기준선 + 설명색 선명하게 */
.lens-statement>span{color:#B6C9BF!important}
.lens-statement strong{color:var(--ink)!important}
.lens-statement p{color:#4F5F57!important}
.lens-list li{align-items:start!important}
.lens-list h3{font-weight:760!important}
.lens-list p{color:#46564E!important}
.flow-stage{background:#E9E5DC!important}
.flow-head{align-items:start!important;border-bottom-color:var(--ink)!important}
.flow-head .editorial-kicker{color:var(--primary-dark)!important}
.flow-track li{border-right-color:#BBC3BD!important}
.flow-no{color:var(--primary-dark)!important;font-weight:800!important}
.flow-track h3{color:var(--ink)!important;font-weight:760!important}
.flow-track p{color:#46544E!important}

/* 통합 수업 흐름 */
.unified-stage{background:#153E34!important;color:#F6F4EE!important;border:0!important}
.unified-stage .editorial-kicker{color:#C4D9CF!important}.unified-stage .editorial-kicker:before{background:#C4D9CF!important}
.unified-stage .role-stage-intro h2{color:#FFFDF7!important}
.unified-stage .role-stage-intro>p:last-child{color:#D2DFD9!important}
.unified-rail{border-top-color:rgba(255,255,255,.46)!important}
.unified-rail>div{border-bottom-color:rgba(255,255,255,.2)!important}
.unified-rail span{color:#BFD7CB!important}.unified-rail strong{color:#FFFDF7!important}.unified-rail p{color:#D0DCD6!important}

/* 학교/정보 매트릭스 */
.school-matrix,.school-data-block{border-top-color:var(--ink)!important;border-bottom-color:#BEC7C1!important}
.school-matrix-head h3,.school-level-group h3{color:var(--ink)!important;font-weight:780!important}
.school-name-list span{color:#394941!important;border-bottom-color:#D9DFDA!important}

/* FAQ / CTA */
.faq-item summary{color:var(--ink)!important;font-weight:760!important;text-align:left!important}
.faq-answer p{color:#405049!important}
.cta-band{background:#123F35!important}
.cta-band h2{color:#FFFDF7!important;text-align:left!important}
.cta-band p{color:#D6E1DC!important}
.cta-band .btn-primary{background:#FFF8E8!important;color:#123F35!important;border-color:#FFF8E8!important}
.cta-band .btn-phone,.cta-band .btn-line{color:#FFF!important;border-color:#A7C0B5!important}

/* 버튼은 배경/텍스트 대비를 명확히 */
.btn{font-weight:780!important}
.btn-primary{background:#1C5A4C!important;border-color:#1C5A4C!important;color:#FFF!important}
.btn-primary:hover{background:#123F35!important;border-color:#123F35!important}
.btn-ghost{background:#FFFDF8!important;color:#17201C!important;border-color:#82958B!important}

/* 플로팅 CTA — PC는 읽히는 미니 패널, Mobile은 높은 대비 바 */
.floating-contact{
  left:auto!important;right:24px!important;bottom:28px!important;width:164px!important;
  padding:10px!important;background:#123F35!important;border:1px solid #0E342B!important;
  border-radius:17px!important;box-shadow:0 18px 48px rgba(13,38,31,.28)!important;
  backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;
}
.fc-dock-label{display:block!important;padding:5px 5px 10px!important;color:#E5EFEA!important;font-size:.74rem!important;line-height:1.2!important;text-align:left!important;letter-spacing:0!important;font-weight:800!important}
.fc-dock-actions{display:grid!important;gap:8px!important}
.floating-contact .fc-item{
  width:100%!important;height:48px!important;padding:0 12px!important;margin:0!important;
  justify-content:flex-start!important;gap:9px!important;border-radius:10px!important;
  font-size:.88rem!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;
}
.floating-contact .fc-item svg{display:block!important;width:18px!important;height:18px!important;flex:0 0 auto!important}
.floating-contact .fc-phone{background:transparent!important;color:#FFF!important;border:1px solid #8EB0A2!important}
.floating-contact .fc-consult{background:#F7F2E6!important;color:#123F35!important;border:1px solid #F7F2E6!important}
@media (hover:hover) and (pointer:fine){
  .floating-contact .fc-phone:hover{background:#204F43!important;border-color:#C6DBD1!important}
  .floating-contact .fc-consult:hover{background:#FFF!important;border-color:#FFF!important}
}

@media(max-width:1020px){
  .section-title,.flow-head h2,.role-stage-intro h2{font-size:clamp(1.95rem,5.2vw,3.4rem)!important}
  .hero-stage{align-items:start!important}
}
@media(max-width:760px){
  body{font-size:16px!important;padding-bottom:78px!important}
  .wrap{padding-left:20px!important;padding-right:20px!important}
  .section{padding:68px 0!important}
  .section-kicker,.editorial-kicker{font-size:.75rem!important;margin-bottom:12px!important}
  .section-title,.flow-head h2,.role-stage-intro h2{font-size:clamp(1.82rem,8vw,2.45rem)!important;line-height:1.18!important;letter-spacing:-.045em!important}
  .section-lead,.flow-head>p:last-child,.role-stage-intro>p:last-child{font-size:1rem!important;line-height:1.72!important;margin-top:16px!important}
  .hero-stage{padding-top:58px!important;padding-bottom:72px!important;gap:30px!important}
  .hero-home h1{font-size:clamp(3rem,15vw,4.8rem)!important;line-height:.98!important;letter-spacing:-.065em!important}
  .hero h1:not(.hero-home h1){font-size:clamp(2.45rem,11vw,3.7rem)!important}
  .hero-sub{font-size:1rem!important;line-height:1.72!important;margin-top:24px!important}
  .hero-context{padding:17px 18px 3px!important;border-radius:13px!important}
  .hero-context dl>div{grid-template-columns:62px 1fr!important;gap:12px!important}
  .hero-ctas{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.hero-ctas .btn{width:100%!important;justify-content:center!important}
  .navigator-line{grid-template-columns:1fr!important;gap:18px!important;padding:25px 0!important}.navigator-head{grid-template-columns:34px 1fr!important}.navigator-links a{margin-right:16px!important;padding-top:8px!important;padding-bottom:8px!important}
  .lens-stage{grid-template-columns:1fr!important;gap:28px!important}.lens-statement{position:static!important}.lens-statement>span{font-size:5.5rem!important}.lens-list li{grid-template-columns:38px 1fr!important;gap:10px 12px!important}.lens-list p{grid-column:2!important;margin-top:3px!important}
  .flow-head{display:block!important}.flow-head>p:last-child{margin-top:15px!important}.flow-track{display:block!important}.flow-track li{display:grid!important;grid-template-columns:42px 1fr!important;gap:12px!important;min-height:0!important;padding:22px 0!important;border-right:0!important;border-bottom:1px solid #BDC5BF!important}.flow-no{margin:2px 0 0!important}
  .unified-stage-grid{grid-template-columns:1fr!important}.unified-rail>div{grid-template-columns:38px 1fr!important}.unified-rail p{grid-column:2!important}
  .cta-inner{grid-template-columns:1fr!important;gap:26px!important}.cta-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}.cta-actions .btn{width:100%!important;justify-content:center!important}
  .floating-contact{
    left:max(10px,env(safe-area-inset-left))!important;right:max(10px,env(safe-area-inset-right))!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;padding:6px!important;
    background:#FFFDF8!important;border:1px solid #BBC9C1!important;border-radius:15px!important;
    box-shadow:0 12px 34px rgba(18,40,33,.2)!important;
  }
  .fc-dock-label{display:none!important}.fc-dock-actions{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:6px!important}
  .floating-contact .fc-item{height:54px!important;justify-content:center!important;font-size:.94rem!important;border-radius:10px!important}
  .floating-contact .fc-phone{background:#E7F0EB!important;color:#123F35!important;border-color:#A7BDB2!important}
  .floating-contact .fc-consult{background:#1C5A4C!important;color:#FFF!important;border-color:#1C5A4C!important}
}
@media(max-width:360px){
  .wrap{padding-left:17px!important;padding-right:17px!important}
  .floating-contact{left:7px!important;right:7px!important}.floating-contact .fc-item{font-size:.88rem!important;padding:0 8px!important}
}
@media(prefers-reduced-motion:reduce){.floating-contact .fc-item,.btn{transition:none!important}}

/* =========================================================
   REBORN 2026 — Floating consultation hamburger menu
   ========================================================= */
.floating-contact{
  position:fixed!important;
  left:auto!important;
  right:clamp(16px,2.1vw,30px)!important;
  bottom:clamp(18px,2.4vw,30px)!important;
  width:auto!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  z-index:9999!important;
}
.fc-toggle{
  position:relative!important;
  margin-left:auto!important;
  width:74px!important;
  height:58px!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  border:1px solid #123F35!important;
  border-radius:18px!important;
  background:#1C5A4C!important;
  color:#FFF!important;
  box-shadow:0 15px 38px rgba(17,58,48,.25)!important;
  cursor:pointer!important;
  font:800 .84rem/1 Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif!important;
  letter-spacing:-.02em!important;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease!important;
  -webkit-tap-highlight-color:transparent!important;
}
.fc-toggle-label{display:block!important;color:#FFF!important;white-space:nowrap!important}
.fc-hamburger{width:18px!important;height:16px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;flex:0 0 auto!important}
.fc-hamburger i{display:block!important;width:18px!important;height:2px!important;margin:0!important;border-radius:999px!important;background:#FFF!important;transform-origin:center!important;transition:transform .22s ease,opacity .18s ease!important}
.floating-contact.is-open .fc-toggle{background:#123F35!important;box-shadow:0 17px 44px rgba(14,45,37,.32)!important}
.floating-contact.is-open .fc-hamburger i:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
.floating-contact.is-open .fc-hamburger i:nth-child(2){opacity:0!important}
.floating-contact.is-open .fc-hamburger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}
.fc-menu{
  position:absolute!important;
  right:0!important;
  bottom:calc(100% + 12px)!important;
  width:min(300px,calc(100vw - 32px))!important;
  padding:10px!important;
  display:grid!important;
  gap:7px!important;
  background:#FFFDF8!important;
  border:1px solid #C9D6CF!important;
  border-radius:18px!important;
  box-shadow:0 22px 60px rgba(16,39,31,.22)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(9px) scale(.985)!important;
  transform-origin:bottom right!important;
  pointer-events:none!important;
  transition:opacity .18s ease,transform .18s ease,visibility .18s!important;
}
.floating-contact.is-open .fc-menu{opacity:1!important;visibility:visible!important;transform:translateY(0) scale(1)!important;pointer-events:auto!important}
.fc-menu-title{margin:0!important;padding:7px 9px 4px!important;color:#1C5A4C!important;font-size:.76rem!important;font-weight:850!important;line-height:1.25!important;letter-spacing:.02em!important;text-align:left!important}
.floating-contact .fc-item{
  position:static!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:64px!important;
  margin:0!important;
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) 20px!important;
  align-items:center!important;
  gap:10px!important;
  border-radius:12px!important;
  text-decoration:none!important;
  text-align:left!important;
  line-height:1.25!important;
  box-shadow:none!important;
}
.floating-contact .fc-phone{background:#F0F5F2!important;color:#123F35!important;border:1px solid #D2DED8!important}
.floating-contact .fc-consult{background:#1C5A4C!important;color:#FFF!important;border:1px solid #1C5A4C!important}
.fc-item-icon{width:36px!important;height:36px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:1rem!important;font-weight:800!important}
.fc-phone .fc-item-icon{background:#FFF!important;color:#1C5A4C!important;border:1px solid #D3DED8!important}
.fc-consult .fc-item-icon{background:rgba(255,255,255,.14)!important;color:#FFF!important;border:1px solid rgba(255,255,255,.18)!important}
.fc-item-copy{display:block!important;min-width:0!important}
.fc-item-copy strong{display:block!important;margin:0 0 3px!important;color:inherit!important;font-size:.95rem!important;font-weight:850!important;line-height:1.25!important;white-space:nowrap!important}
.fc-item-copy small{display:block!important;color:inherit!important;opacity:.78!important;font-size:.76rem!important;font-weight:600!important;line-height:1.35!important;white-space:nowrap!important}
.fc-item-arrow{color:inherit!important;font-size:1.05rem!important;line-height:1!important;text-align:right!important}
@media (hover:hover) and (pointer:fine){
  .fc-toggle:hover{background:#174D41!important;transform:translateY(-2px)!important;box-shadow:0 18px 44px rgba(17,58,48,.31)!important}
  .floating-contact .fc-phone:hover{background:#E7F0EB!important;border-color:#AFC4BA!important}
  .floating-contact .fc-consult:hover{background:#164C40!important;border-color:#164C40!important}
}
@media(max-width:760px){
  body{padding-bottom:0!important}
  .floating-contact{
    left:auto!important;
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .fc-toggle{width:62px!important;height:58px!important;padding:0!important;justify-content:center!important;border-radius:18px!important}
  .fc-toggle-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .fc-hamburger{width:21px!important;height:17px!important}
  .fc-hamburger i{width:21px!important;height:2px!important}
  .floating-contact.is-open .fc-hamburger i:nth-child(1){transform:translateY(7.5px) rotate(45deg)!important}
  .floating-contact.is-open .fc-hamburger i:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)!important}
  .fc-menu{width:min(292px,calc(100vw - 28px))!important;bottom:calc(100% + 10px)!important;border-radius:17px!important}
  .floating-contact .fc-item{min-height:62px!important;padding:9px 11px!important;grid-template-columns:34px minmax(0,1fr) 18px!important}
  .fc-item-icon{width:34px!important;height:34px!important}
  .fc-item-copy strong{font-size:.93rem!important}
  .fc-item-copy small{font-size:.74rem!important}
}
@media(max-width:360px){
  .floating-contact{right:max(10px,env(safe-area-inset-right))!important;bottom:max(10px,env(safe-area-inset-bottom))!important}
  .fc-toggle{width:58px!important;height:56px!important;border-radius:17px!important}
  .fc-menu{width:calc(100vw - 20px)!important}
}
@media(prefers-reduced-motion:reduce){
  .fc-toggle,.fc-hamburger i,.fc-menu{transition:none!important}
}

/* ========================================================================
   REBORN 2026 FINAL — typography rhythm + responsive floating quick contact
   2026-08-11
   ======================================================================== */
:root{
  --bg-final:#F7F5EF;
  --surface-final:#FFFDF8;
  --ink-final:#17201C;
  --body-final:#33423B;
  --muted-final:#5B6962;
  --brand-final:#1C5A4C;
  --brand-final-dark:#123F35;
  --line-final:#D9DFDB;
  --soft-final:#EAF1ED;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  text-rendering:optimizeLegibility;
}
body{
  color:var(--body-final)!important;
  word-break:keep-all;
  overflow-wrap:break-word;
  line-break:strict;
  text-align:left!important;
  letter-spacing:-.012em;
}

/* Korean reading rhythm: headings should break only at meaningful spaces,
   body copy should remain comfortably readable on both wide and narrow screens. */
h1,h2,h3,h4,
.hero-copy h1,.region-hero h1,.section-title,.flow-head h2,.faq-title,
.answer-title,.card h3,.visual-card h3,.mid-cta h3{
  color:var(--ink-final)!important;
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
  line-break:strict!important;
  text-wrap:balance;
  letter-spacing:-.04em!important;
}
h1,.hero-copy h1,.region-hero h1{
  line-height:1.075!important;
  max-width:13.5ch;
}
h2,.section-title,.flow-head h2,.faq-title{
  line-height:1.18!important;
  max-width:22ch;
}
h3,h4,.card h3,.visual-card h3,.mid-cta h3{
  line-height:1.36!important;
  letter-spacing:-.028em!important;
}

p,li,dd,dt,td,th,
.hero-copy p,.region-hero p,.section-intro p,.flow-head p,.faq-lead,
.answer-text-block p,.visual-card p,.focus-banner p,.mid-cta p,.section-note,
.unified-rail p,.criteria-list p,.flow-track p{
  color:var(--body-final)!important;
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
  line-break:strict!important;
  text-wrap:pretty;
  line-height:1.78!important;
  letter-spacing:-.012em!important;
}
.hero-copy p,.region-hero p,.section-intro p,.flow-head p,.faq-lead,
.answer-text-block p,.mid-cta p,.section-note{
  max-width:64ch;
}
.editorial-kicker,.section-eyebrow,.hero-kicker,.mid-cta-kicker,.faq-kicker{
  color:var(--brand-final)!important;
  font-weight:800!important;
  letter-spacing:.045em!important;
  line-height:1.35!important;
  word-break:keep-all!important;
}
.muted,.hero-meta,.school-summary,.info-note,.card small,.answer-text-block small{
  color:var(--muted-final)!important;
}
.btn,button,a.btn{
  word-break:keep-all!important;
  white-space:nowrap;
  line-height:1.25!important;
  letter-spacing:-.015em!important;
}
.breadcrumbs,.breadcrumbs ol,.breadcrumbs a,.breadcrumbs span{
  word-break:keep-all!important;
  white-space:normal;
}

/* Give long-form content a stable reading column even on very wide monitors. */
.hero-inner,.section>.wrap,.role-stage>.wrap,.flow-stage>.wrap,.faq-section>.wrap,.cta-inner{
  min-width:0;
}
.section-intro,.flow-head,.faq-head{max-width:820px}

/* ------------------------------------------------------------------------
   Floating quick contact — unique to Baeumgyeol.
   One quiet toggle + one integrated menu panel, not stacked colored pills.
   ------------------------------------------------------------------------ */
.floating-contact{
  position:fixed!important;
  right:clamp(18px,2.1vw,32px)!important;
  bottom:clamp(20px,2.4vw,34px)!important;
  left:auto!important;
  width:auto!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  z-index:9999!important;
}
.fc-toggle{
  position:relative!important;
  z-index:2!important;
  width:112px!important;
  height:50px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  margin-left:auto!important;
  padding:0 17px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:16px!important;
  background:var(--brand-final)!important;
  color:#FFF!important;
  box-shadow:0 12px 30px rgba(18,63,53,.22)!important;
  cursor:pointer!important;
  font-size:.91rem!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
.fc-toggle-label{display:block!important;color:#FFF!important;line-height:1!important;white-space:nowrap!important}
.fc-toggle-icon{
  width:20px!important;
  height:16px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:5px!important;
  flex:0 0 auto!important;
}
.fc-toggle-icon i{
  display:block!important;
  width:20px!important;
  height:2px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#FFF!important;
  transform-origin:center!important;
  transition:transform .2s ease,width .2s ease!important;
}
.floating-contact.is-open .fc-toggle{background:var(--brand-final-dark)!important;box-shadow:0 15px 36px rgba(18,63,53,.27)!important}
.floating-contact.is-open .fc-toggle-icon i:first-child{transform:translateY(3.5px) rotate(45deg)!important}
.floating-contact.is-open .fc-toggle-icon i:last-child{transform:translateY(-3.5px) rotate(-45deg)!important}

.fc-menu{
  position:absolute!important;
  right:0!important;
  bottom:calc(100% + 10px)!important;
  width:228px!important;
  display:block!important;
  padding:10px!important;
  margin:0!important;
  border:1px solid var(--line-final)!important;
  border-radius:19px!important;
  background:rgba(255,253,248,.98)!important;
  box-shadow:0 18px 48px rgba(23,32,28,.14)!important;
  backdrop-filter:blur(14px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(8px) scale(.985)!important;
  transform-origin:bottom right!important;
  transition:opacity .18s ease,transform .2s ease,visibility .18s ease!important;
}
.floating-contact.is-open .fc-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0) scale(1)!important;
}
.fc-menu-title{
  margin:0!important;
  padding:5px 7px 9px!important;
  color:var(--brand-final)!important;
  font-size:.75rem!important;
  font-weight:850!important;
  letter-spacing:.035em!important;
  line-height:1.2!important;
  text-align:left!important;
}
.floating-contact .fc-item{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:62px!important;
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 9px!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid var(--line-final)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ink-final)!important;
  text-decoration:none!important;
  text-align:left!important;
}
.floating-contact .fc-item:first-of-type{border-top:0!important}
.fc-item-icon{
  width:34px!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #D5E2DB!important;
  border-radius:11px!important;
  background:var(--soft-final)!important;
  color:var(--brand-final-dark)!important;
}
.fc-item-icon svg{display:block!important;width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.fc-phone .fc-item-icon svg path:first-child{fill:currentColor!important;stroke:none!important}
.fc-item-copy{display:block!important;min-width:0!important;text-align:left!important}
.fc-item-copy strong{display:block!important;margin:0 0 3px!important;color:var(--ink-final)!important;font-size:.9rem!important;font-weight:850!important;line-height:1.25!important;white-space:nowrap!important}
.fc-item-copy small{display:block!important;color:var(--muted-final)!important;font-size:.73rem!important;font-weight:600!important;line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.fc-item-arrow{display:block!important;color:#829088!important;font-size:.91rem!important;line-height:1!important;text-align:right!important}

@media (hover:hover){
  .fc-toggle:hover{transform:translateY(-2px)!important;background:#174D41!important;box-shadow:0 16px 38px rgba(18,63,53,.27)!important}
  .floating-contact .fc-item:hover{background:#F3F6F3!important;border-radius:12px!important}
  .floating-contact .fc-item:hover .fc-item-arrow{color:var(--brand-final)!important}
}

/* Tablet: reduce line length, preserve generous reading rhythm. */
@media(max-width:1024px){
  h1,.hero-copy h1,.region-hero h1{max-width:15ch}
  h2,.section-title,.flow-head h2,.faq-title{max-width:24ch}
  .hero-copy p,.region-hero p,.section-intro p,.flow-head p,.faq-lead,.answer-text-block p,.mid-cta p,.section-note{max-width:100%}
  .floating-contact{right:18px!important;bottom:20px!important}
}

/* Mobile is redesigned, not merely shrunk. */
@media(max-width:640px){
  body{font-size:16px!important;letter-spacing:-.012em!important;padding-bottom:0!important}
  h1,.hero-copy h1,.region-hero h1{
    max-width:100%!important;
    font-size:clamp(2.05rem,9.4vw,2.8rem)!important;
    line-height:1.09!important;
    letter-spacing:-.045em!important;
    text-wrap:balance;
  }
  h2,.section-title,.flow-head h2,.faq-title{
    max-width:100%!important;
    font-size:clamp(1.5rem,6.5vw,2rem)!important;
    line-height:1.2!important;
    letter-spacing:-.04em!important;
    text-wrap:balance;
  }
  h3,h4,.card h3,.visual-card h3,.mid-cta h3{font-size:1.06rem!important;line-height:1.4!important;letter-spacing:-.026em!important}
  p,li,dd,dt,td,th,.hero-copy p,.region-hero p,.section-intro p,.flow-head p,.faq-lead,.answer-text-block p,.visual-card p,.focus-banner p,.mid-cta p,.section-note,.unified-rail p,.criteria-list p,.flow-track p{
    font-size:.98rem!important;
    line-height:1.72!important;
    letter-spacing:-.014em!important;
    text-wrap:pretty;
  }
  .editorial-kicker,.section-eyebrow,.hero-kicker,.mid-cta-kicker,.faq-kicker{font-size:.76rem!important;line-height:1.35!important;letter-spacing:.04em!important}
  .btn,button,a.btn{white-space:nowrap!important;min-height:46px!important}

  .floating-contact{
    right:max(12px,env(safe-area-inset-right))!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
  }
  .fc-toggle{
    width:56px!important;
    height:56px!important;
    padding:0!important;
    border-radius:18px!important;
    gap:0!important;
  }
  .fc-toggle-label{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  .fc-toggle-icon{width:22px!important;height:17px!important;gap:6px!important}
  .fc-toggle-icon i{width:22px!important;height:2px!important}
  .floating-contact.is-open .fc-toggle-icon i:first-child{transform:translateY(4px) rotate(45deg)!important}
  .floating-contact.is-open .fc-toggle-icon i:last-child{transform:translateY(-4px) rotate(-45deg)!important}
  .fc-menu{
    width:min(270px,calc(100vw - 24px))!important;
    bottom:calc(100% + 9px)!important;
    border-radius:18px!important;
    padding:9px!important;
  }
  .floating-contact .fc-item{min-height:60px!important;grid-template-columns:34px minmax(0,1fr) 18px!important;gap:9px!important;padding:9px 8px!important}
  .fc-item-icon{width:32px!important;height:32px!important;border-radius:10px!important}
  .fc-item-copy strong{font-size:.88rem!important}
  .fc-item-copy small{font-size:.71rem!important}
}

@media(max-width:360px){
  h1,.hero-copy h1,.region-hero h1{font-size:clamp(1.92rem,9.2vw,2.4rem)!important}
  h2,.section-title,.flow-head h2,.faq-title{font-size:clamp(1.42rem,6.4vw,1.82rem)!important}
  .fc-menu{width:calc(100vw - 20px)!important}
  .fc-toggle{width:54px!important;height:54px!important;border-radius:17px!important}
}

@media(prefers-reduced-motion:reduce){
  .fc-toggle,.fc-toggle-icon i,.fc-menu{transition:none!important}
}


/* ===== DIRECT CONSULT CTA · 2026-08-11 =====
   토글/펼침 없이 전화상담 + 상담신청 2개를 즉시 노출 */
.floating-contact.floating-contact-direct{
  position:fixed!important;
  right:20px!important;
  bottom:24px!important;
  left:auto!important;
  top:auto!important;
  z-index:9999!important;
  width:164px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  padding:7px!important;
  background:rgba(255,253,248,.96)!important;
  border:1px solid rgba(28,90,76,.13)!important;
  border-radius:17px!important;
  box-shadow:0 16px 38px rgba(18,63,53,.16)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
.floating-contact-direct .fc-direct{
  width:100%!important;
  height:48px!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:0 12px!important;
  border-radius:11px!important;
  font-size:.88rem!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.floating-contact-direct .fc-direct-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:21px!important;
  height:21px!important;
  flex:0 0 21px!important;
  font-size:.9rem!important;
  line-height:1!important;
}
.floating-contact-direct .fc-direct-phone{
  color:#123F35!important;
  background:#EAF2EE!important;
  border:1px solid #BDD0C7!important;
}
.floating-contact-direct .fc-direct-consult{
  color:#FFF!important;
  background:#1C5A4C!important;
  border:1px solid #1C5A4C!important;
}
@media(hover:hover){
  .floating-contact-direct .fc-direct:hover{transform:translateY(-1px)!important;text-decoration:none!important}
  .floating-contact-direct .fc-direct-phone:hover{background:#E1ECE7!important;box-shadow:0 8px 18px rgba(18,63,53,.09)!important}
  .floating-contact-direct .fc-direct-consult:hover{background:#164C40!important;box-shadow:0 9px 20px rgba(18,63,53,.18)!important}
}
@media(max-width:760px){
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))!important}
  .floating-contact.floating-contact-direct{
    left:8px!important;
    right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    padding:6px!important;
    border-radius:15px!important;
    background:rgba(255,253,248,.97)!important;
  }
  .floating-contact-direct .fc-direct{
    height:52px!important;
    padding:0 9px!important;
    border-radius:10px!important;
    font-size:.92rem!important;
  }
}
@media(max-width:360px){
  .floating-contact.floating-contact-direct{left:6px!important;right:6px!important;gap:5px!important;padding:5px!important}
  .floating-contact-direct .fc-direct{height:50px!important;font-size:.86rem!important;padding:0 6px!important}
  .floating-contact-direct .fc-direct-icon{display:none!important}
}
@media(prefers-reduced-motion:reduce){.floating-contact-direct .fc-direct{transition:none!important}}

/* =====================================================================
   DEPLOY FINAL POLISH · 2026-08-11
   - wide desktop: slim right-side direct contact rail, gutter-safe only
   - medium/tablet: no fixed overlay (header / inline CTA remain available)
   - mobile: compact 2-way bottom contact bar
   - typography / numeric alignment / wrapping stabilization
   ===================================================================== */

/* Text rendering & wrapping: keep Korean words intact and avoid layout jitter */
html{
  text-rendering:optimizeLegibility;
  font-synthesis:none;
}
body{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict;
  font-kerning:normal;
}
h1,h2,h3,h4,.section-title,.hero-copy h1,.region-hero h1{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
  text-wrap:balance;
}
p,li,dd,dt,.hero-copy,.card p,.faq-answer,.answer-panel,.lens-statement{
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
  line-break:strict!important;
  text-wrap:pretty;
}
button,.btn,.button,a[class*="btn"],a[class*="button"],.fc-direct{
  word-break:keep-all!important;
}

/* Stable numbers: same-width digits prevent visible horizontal wobble */
body,
.card-index,.learning-map-index,.process-step,
[class*="count"],[class*="number"],[class*="metric"],[class*="score"],[class*="stat"],
time{
  font-variant-numeric:tabular-nums lining-nums;
}
.card-index,.learning-map-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.15em;
  text-align:center;
  white-space:nowrap;
}

/* Prevent grid/flex children from forcing accidental horizontal overflow */
main,section,.wrap,
[class*="grid"],[class*="cards"],[class*="row"],[class*="inner"],
article,.card{
  min-width:0;
}

/* Desktop direct-contact rail: appears ONLY when the viewport has a safe outer gutter. */
.floating-contact.floating-contact-direct{
  position:fixed!important;
  left:auto!important;
  right:12px!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  z-index:60!important;
  width:92px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  padding:5px!important;
  background:rgba(255,253,248,.94)!important;
  border:1px solid rgba(28,90,76,.12)!important;
  border-radius:14px 0 0 14px!important;
  box-shadow:0 10px 28px rgba(18,63,53,.10)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.floating-contact-direct .fc-direct{
  width:100%!important;
  height:42px!important;
  min-width:0!important;
  padding:0 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  border-radius:9px!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
  text-align:center!important;
  text-decoration:none!important;
  transform:none!important;
}
.floating-contact-direct .fc-direct-icon{display:none!important}
.floating-contact-direct .fc-direct-phone{
  color:#123F35!important;
  background:#F1F6F3!important;
  border:1px solid #CEDDD6!important;
}
.floating-contact-direct .fc-direct-consult{
  color:#FFF!important;
  background:#1C5A4C!important;
  border:1px solid #1C5A4C!important;
}
@media(hover:hover){
  .floating-contact-direct .fc-direct:hover{transform:none!important;text-decoration:none!important}
  .floating-contact-direct .fc-direct-phone:hover{background:#E8F1EC!important;box-shadow:none!important}
  .floating-contact-direct .fc-direct-consult:hover{background:#164C40!important;box-shadow:none!important}
}

/* 1180px content width needs roughly 100px side gutter for the rail to stay off content. */
@media (max-width:1379px) and (min-width:761px){
  .floating-contact.floating-contact-direct{display:none!important}
}

/* Mobile: direct two-way action bar. Compact, stable, and safe-area aware. */
@media(max-width:760px){
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))!important}
  .floating-contact.floating-contact-direct{
    display:grid!important;
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    top:auto!important;
    bottom:max(7px,env(safe-area-inset-bottom))!important;
    transform:none!important;
    width:auto!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:6px!important;
    padding:5px!important;
    border-radius:13px!important;
    background:rgba(255,253,248,.97)!important;
    border:1px solid rgba(28,90,76,.12)!important;
    box-shadow:0 8px 24px rgba(18,63,53,.12)!important;
  }
  .floating-contact-direct .fc-direct{
    height:48px!important;
    padding:0 8px!important;
    border-radius:9px!important;
    font-size:14px!important;
    font-weight:800!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
  }
}
@media(max-width:360px){
  .floating-contact.floating-contact-direct{left:6px!important;right:6px!important;gap:5px!important;padding:4px!important}
  .floating-contact-direct .fc-direct{height:46px!important;font-size:13px!important;padding:0 5px!important}
}

/* Keep content and CTA clear when printing. */
@media print{
  .floating-contact.floating-contact-direct{display:none!important}
}

/* Final right-edge refinement: flush to the viewport edge so it stays outside the 1180px reading canvas. */
@media(min-width:1280px){
  .floating-contact.floating-contact-direct{
    right:0!important;
    width:86px!important;
    padding:5px 5px 5px 6px!important;
    border-right:0!important;
    border-radius:14px 0 0 14px!important;
    box-shadow:0 8px 22px rgba(18,63,53,.085)!important;
  }
  .floating-contact-direct .fc-direct{
    height:40px!important;
    padding:0 5px!important;
    font-size:12.5px!important;
  }
}
@media (max-width:1279px) and (min-width:761px){
  .floating-contact.floating-contact-direct{display:none!important}
}

/* Final visibility rule: right rail only when there is unquestionably enough side gutter. */
@media (max-width:1399px) and (min-width:761px){
  .floating-contact.floating-contact-direct{display:none!important}
}


/* =====================================================================
   BAEUMGYEOL FINAL UI 2026 · HIGH-CONTRAST + EDGE ACTION RAIL
   2026-08-11 deployment candidate
   - Strong readable colors on every surface
   - Independent edge rail (no legacy floating-contact cascade)
   - Native-style mobile bottom action dock
   - Stable Korean wrapping and tabular numeric alignment
   ===================================================================== */

.site-v2026{
  --v26-ink:#101a16;
  --v26-body:#2b3b35;
  --v26-muted:#51625b;
  --v26-brand:#155847;
  --v26-brand-dark:#0f4437;
  --v26-soft:#eef4f0;
  --v26-paper:#ffffff;
  --v26-canvas:#f7f8f4;
  --v26-line:#d5dfd9;
  background:var(--v26-canvas)!important;
  color:var(--v26-body)!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* Explicit light-surface contrast: no faint inherited text. */
.site-v2026 main,
.site-v2026 .hero,
.site-v2026 .section:not(.tone-dark),
.site-v2026 .role-stage,
.site-v2026 .flow-stage,
.site-v2026 .faq-section,
.site-v2026 .breadcrumb{
  color:var(--v26-body)!important;
}
.site-v2026 main h1,
.site-v2026 main h2,
.site-v2026 main h3,
.site-v2026 main h4,
.site-v2026 .section-title,
.site-v2026 .hero h1,
.site-v2026 .faq-item summary,
.site-v2026 .breadcrumb li[aria-current="page"]{
  color:var(--v26-ink)!important;
}
.site-v2026 main p,
.site-v2026 main li,
.site-v2026 main dd,
.site-v2026 main td,
.site-v2026 main th,
.site-v2026 .hero-sub,
.site-v2026 .section-lead,
.site-v2026 .faq-answer p,
.site-v2026 .breadcrumb,
.site-v2026 .breadcrumb a{
  color:var(--v26-body)!important;
}
.site-v2026 .section-lead,
.site-v2026 .hero .eyebrow,
.site-v2026 .editorial-kicker,
.site-v2026 .section-kicker,
.site-v2026 .hero-kicker,
.site-v2026 .mid-cta-kicker,
.site-v2026 .faq-kicker,
.site-v2026 small,
.site-v2026 .guide-meta{
  color:var(--v26-muted)!important;
}
.site-v2026 a:not(.btn):not(.edge-action){color:var(--v26-brand-dark)}
.site-v2026 .site-nav a{color:#253730!important}
.site-v2026 .site-nav a:hover,
.site-v2026 .site-nav a[aria-current="page"]{color:var(--v26-brand)!important}
.site-v2026 .btn-primary{background:var(--v26-brand)!important;color:#fff!important;border-color:var(--v26-brand)!important}
.site-v2026 .btn-primary:hover{background:var(--v26-brand-dark)!important;border-color:var(--v26-brand-dark)!important}
.site-v2026 .btn-ghost{background:#fff!important;color:var(--v26-brand-dark)!important;border-color:#9fb6ab!important}
.site-v2026 .btn-ghost:hover{border-color:var(--v26-brand)!important;background:#f8fbf9!important}

/* Dark sections need their own explicit readable palette. */
.site-v2026 .tone-dark{
  background:#10221b!important;
  color:#e7f0eb!important;
}
.site-v2026 .tone-dark h1,
.site-v2026 .tone-dark h2,
.site-v2026 .tone-dark h3,
.site-v2026 .tone-dark h4,
.site-v2026 .tone-dark .section-title,
.site-v2026 .tone-dark strong{
  color:#fffef9!important;
}
.site-v2026 .tone-dark p,
.site-v2026 .tone-dark li,
.site-v2026 .tone-dark .section-lead{
  color:#dbe8e2!important;
}
.site-v2026 .tone-dark .section-kicker,
.site-v2026 .tone-dark .editorial-kicker,
.site-v2026 .tone-dark small{
  color:#bdd2c8!important;
}
.site-v2026 .tone-dark a:not(.btn){color:#fffef9!important}

/* CTA bands: readable white on deep green; secondary action remains obvious. */
.site-v2026 .cta-band{background:#145443!important;color:#fff!important}
.site-v2026 .cta-band h2{color:#fff!important}
.site-v2026 .cta-band p{color:#edf5f1!important}
.site-v2026 .cta-band .btn-primary{background:#fff!important;color:#123f35!important;border-color:#fff!important}
.site-v2026 .cta-band .btn-primary:hover{background:#f0f5f2!important;color:#0e382f!important}
.site-v2026 .cta-band .btn-phone,
.site-v2026 .cta-band .btn-ghost{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.72)!important}
.site-v2026 .cta-band .btn-phone:hover,
.site-v2026 .cta-band .btn-ghost:hover{background:rgba(255,255,255,.10)!important;border-color:#fff!important}

/* Type & number stability across cards/directories. */
.site-v2026 h1,.site-v2026 h2,.site-v2026 h3,.site-v2026 h4,
.site-v2026 p,.site-v2026 li,.site-v2026 a,.site-v2026 button{
  word-break:keep-all!important;
  line-break:strict!important;
}
.site-v2026 h1,.site-v2026 h2,.site-v2026 .section-title{overflow-wrap:normal!important;text-wrap:balance}
.site-v2026 p,.site-v2026 li{overflow-wrap:break-word!important;text-wrap:pretty}
.site-v2026 .navigator-head>span,
.site-v2026 .unified-rail>div>span,
.site-v2026 .lens-statement>span,
.site-v2026 .lens-list>li>span,
.site-v2026 .flow-no,
.site-v2026 .editorial-directory>a>span,
.site-v2026 .type-directory>a>span,
.site-v2026 .region-constellation>a>span,
.site-v2026 .situation-no,
.site-v2026 .journal-list>a>span,
.site-v2026 [class*="count"],
.site-v2026 [class*="metric"],
.site-v2026 [class*="number"]{
  font-variant-numeric:tabular-nums lining-nums!important;
  font-feature-settings:"tnum" 1,"lnum" 1!important;
  min-width:2.2ch;
  text-align:center;
}
.site-v2026 main *,
.site-v2026 .wrap>*{min-width:0}

/* 2026 edge rail — NOT a floating card. It hugs the viewport edge. */
.edge-contact-rail{
  position:fixed;
  right:0;
  top:50%;
  z-index:70;
  display:none;
  flex-direction:column;
  gap:8px;
  transform:translateY(-50%);
  padding:0;
  background:transparent;
}
.edge-action{
  width:88px;
  min-height:58px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:8px 7px 7px;
  border:1px solid rgba(21,88,71,.18);
  border-right:0;
  border-radius:16px 0 0 16px;
  box-shadow:0 8px 24px rgba(16,42,33,.10);
  text-decoration:none!important;
  white-space:nowrap;
  backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.edge-action-icon{
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  flex:none;
}
.edge-action-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.edge-action-label{
  display:block;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:-.025em;
  line-height:1.05;
  color:inherit;
}
.edge-action-phone{
  color:#124c3d!important;
  background:rgba(250,253,251,.96);
}
.edge-action-consult{
  color:#fff!important;
  background:rgba(20,84,67,.97);
  border-color:rgba(20,84,67,.75);
}
@media(hover:hover){
  .edge-action:hover{transform:translateX(-4px);box-shadow:0 12px 28px rgba(16,42,33,.14)}
  .edge-action-phone:hover{background:#fff}
  .edge-action-consult:hover{background:#0f4638}
}
.edge-action:focus-visible{outline:3px solid rgba(38,116,95,.35);outline-offset:3px}

/* Only show the right rail when the reading canvas has a generous outer gutter. */
@media(min-width:1440px){.edge-contact-rail{display:flex}}

/* Mobile becomes a native bottom action dock, not a floating bubble/card. */
@media(max-width:760px){
  .site-v2026{padding-bottom:calc(70px + env(safe-area-inset-bottom))!important}
  .edge-contact-rail{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    left:0;
    right:0;
    top:auto;
    bottom:0;
    transform:none;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom));
    background:rgba(250,252,249,.96);
    border-top:1px solid #d6e0da;
    box-shadow:0 -10px 28px rgba(16,42,33,.08);
    backdrop-filter:blur(18px) saturate(1.15);
    -webkit-backdrop-filter:blur(18px) saturate(1.15);
  }
  .edge-action{
    width:auto;
    min-height:50px;
    flex-direction:row;
    gap:8px;
    padding:0 12px;
    border-right:1px solid rgba(21,88,71,.18);
    border-radius:13px;
    box-shadow:none;
  }
  .edge-action-icon{width:19px;height:19px}
  .edge-action-icon svg{width:18px;height:18px}
  .edge-action-label{font-size:14px;line-height:1;font-weight:800}
  .edge-action:hover{transform:none}
}
@media(max-width:360px){
  .edge-contact-rail{gap:6px;padding-left:8px;padding-right:8px}
  .edge-action{min-height:48px;padding:0 8px}
  .edge-action-label{font-size:13.5px}
}
@media print{.edge-contact-rail{display:none!important}.site-v2026{padding-bottom:0!important}}
@media(prefers-reduced-motion:reduce){.edge-action{transition:none!important}}

/* Header CTA contrast correction */
.site-v2026 .site-nav .btn-primary,
.site-v2026 .site-nav .btn-primary:visited{color:#fff!important;background:var(--v26-brand)!important;border-color:var(--v26-brand)!important}
.site-v2026 .site-nav .btn-primary:hover{color:#fff!important;background:var(--v26-brand-dark)!important}

/* =====================================================================
   BAEUMGYEOL 2026 FINAL UTILITY DOCK + TYPOGRAPHY LOCK
   - compact glass utility capsule in the outer gutter
   - no extra click: phone + consultation always direct actions
   - mobile centered action island with safe-area support
   - explicit contrast and Korean line-break stability
   ===================================================================== */

.site-v2026{
  --final-ink:#101A16;
  --final-body:#2B3B35;
  --final-muted:#51625B;
  --final-brand:#155847;
  --final-brand-dark:#0F4437;
  --final-canvas:#F7F8F4;
  --final-paper:#FFFFFF;
  --final-line:#D5DFD9;
  color:var(--final-body)!important;
  background:var(--final-canvas)!important;
  font-kerning:normal;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Final readable palette. Avoid low-opacity inherited text on light surfaces. */
.site-v2026 main{color:var(--final-body)!important}
.site-v2026 main h1,
.site-v2026 main h2,
.site-v2026 main h3,
.site-v2026 main h4,
.site-v2026 .hero h1,
.site-v2026 .section-title,
.site-v2026 .faq-item summary{color:var(--final-ink)!important}
.site-v2026 main p,
.site-v2026 main li,
.site-v2026 main dd,
.site-v2026 main dt,
.site-v2026 main th,
.site-v2026 main td,
.site-v2026 .hero-sub,
.site-v2026 .section-lead{color:var(--final-body)!important}
.site-v2026 .eyebrow,
.site-v2026 .editorial-kicker,
.site-v2026 .section-kicker,
.site-v2026 .hero-kicker,
.site-v2026 .faq-kicker,
.site-v2026 .guide-meta,
.site-v2026 main small{color:var(--final-muted)!important}
.site-v2026 a:not(.btn):not(.contact-utility-action){color:var(--final-brand-dark)}

/* Dark surfaces use opaque light text, never translucent gray. */
.site-v2026 .tone-dark,
.site-v2026 .cta-band{color:#E8F1EC!important}
.site-v2026 .tone-dark h1,
.site-v2026 .tone-dark h2,
.site-v2026 .tone-dark h3,
.site-v2026 .tone-dark h4,
.site-v2026 .tone-dark strong,
.site-v2026 .cta-band h1,
.site-v2026 .cta-band h2,
.site-v2026 .cta-band h3{color:#FFFEF9!important}
.site-v2026 .tone-dark p,
.site-v2026 .tone-dark li,
.site-v2026 .tone-dark .section-lead,
.site-v2026 .cta-band p{color:#DCE8E2!important}
.site-v2026 .tone-dark .section-kicker,
.site-v2026 .tone-dark .editorial-kicker,
.site-v2026 .tone-dark small{color:#BDD2C8!important}

/* Header/button contrast is explicit. */
.site-v2026 .site-nav a{color:#253730!important}
.site-v2026 .site-nav a:hover,
.site-v2026 .site-nav a[aria-current="page"]{color:var(--final-brand)!important}
.site-v2026 .site-nav .btn-primary,
.site-v2026 .site-nav .btn-primary:visited,
.site-v2026 .btn-primary,
.site-v2026 .btn-primary:visited{background:var(--final-brand)!important;color:#FFF!important;border-color:var(--final-brand)!important}
.site-v2026 .btn-primary:hover{background:var(--final-brand-dark)!important;color:#FFF!important;border-color:var(--final-brand-dark)!important}
.site-v2026 .cta-band .btn-primary,
.site-v2026 .cta-band .btn-primary:visited{background:#FFF!important;color:#123F35!important;border-color:#FFF!important}
.site-v2026 .cta-band .btn-phone,
.site-v2026 .cta-band .btn-ghost{background:transparent!important;color:#FFF!important;border-color:rgba(255,255,255,.78)!important}

/* Korean text + numerical alignment lock. */
.site-v2026 h1,
.site-v2026 h2,
.site-v2026 h3,
.site-v2026 h4,
.site-v2026 p,
.site-v2026 li,
.site-v2026 a,
.site-v2026 button,
.site-v2026 summary{
  word-break:keep-all!important;
  line-break:strict!important;
  hyphens:none!important;
}
.site-v2026 h1,
.site-v2026 h2,
.site-v2026 .section-title{overflow-wrap:normal!important;text-wrap:balance}
.site-v2026 p,
.site-v2026 li{overflow-wrap:break-word!important;text-wrap:pretty}
.site-v2026 .btn,
.site-v2026 .contact-utility-label{white-space:nowrap!important;word-break:keep-all!important}
.site-v2026 .flow-no,
.site-v2026 .situation-no,
.site-v2026 .navigator-head>span,
.site-v2026 .unified-rail>div>span,
.site-v2026 .editorial-directory>a>span,
.site-v2026 .type-directory>a>span,
.site-v2026 .region-constellation>a>span,
.site-v2026 .journal-list>a>span,
.site-v2026 [class*="count"],
.site-v2026 [class*="metric"],
.site-v2026 [class*="number"]{
  font-variant-numeric:tabular-nums lining-nums!important;
  font-feature-settings:"tnum" 1,"lnum" 1!important;
}
.site-v2026 .flow-no,
.site-v2026 .situation-no{display:inline-grid;place-items:center;min-width:2.5ch;text-align:center}
.site-v2026 main *,
.site-v2026 .wrap>*{min-width:0}

/* Consistent readable line lengths. */
.site-v2026 .hero-sub,
.site-v2026 .section-lead,
.site-v2026 .prose p{max-width:68ch}
@media(max-width:760px){
  .site-v2026{font-size:16px!important;line-height:1.72!important}
  .site-v2026 .hero-sub,
  .site-v2026 .section-lead,
  .site-v2026 .prose p{max-width:100%}
}

/* 2026 utility dock: one quiet glass capsule, two direct actions. */
.contact-utility-dock{
  position:fixed;
  right:14px;
  top:50%;
  z-index:72;
  display:none;
  width:70px;
  padding:6px;
  transform:translateY(-50%);
  border:1px solid rgba(21,88,71,.16);
  border-radius:24px;
  background:rgba(251,253,251,.90);
  box-shadow:0 14px 40px rgba(16,42,33,.12), inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter:blur(20px) saturate(1.12);
  -webkit-backdrop-filter:blur(20px) saturate(1.12);
  isolation:isolate;
}
.contact-utility-action{
  width:56px;
  min-height:62px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:7px 4px 6px;
  border-radius:18px;
  text-decoration:none!important;
  transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.contact-utility-icon{
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  flex:none;
}
.contact-utility-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-utility-label{
  font-family:var(--font-body);
  font-size:11.5px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.035em;
  color:inherit!important;
}
.contact-utility-action.is-phone{color:#104B3C!important;background:transparent}
.contact-utility-action.is-consult{color:#FFF!important;background:#155847;box-shadow:0 6px 16px rgba(21,88,71,.18)}
.contact-utility-divider{display:block;height:1px;margin:4px 9px;background:#D9E2DD}
@media(hover:hover){
  .contact-utility-action:hover{transform:translateY(-1px)}
  .contact-utility-action.is-phone:hover{background:#EDF4F0}
  .contact-utility-action.is-consult:hover{background:#0F4437;box-shadow:0 8px 20px rgba(15,68,55,.22)}
}
.contact-utility-action:focus-visible{outline:3px solid rgba(42,116,96,.34);outline-offset:2px}

/* 1120px reading canvas + right gutter leaves clear space from 1320px upward. */
@media(min-width:1360px){.contact-utility-dock{display:block}}

/* Mobile uses an in-flow quick-action strip instead of a fixed overlay. */
@media(max-width:760px){
  .contact-utility-dock{display:none!important}
}

.mobile-quick-actions{display:none}
@media(max-width:760px){
  .mobile-quick-actions{
    display:block;
    position:relative;
    z-index:20;
    padding:8px 12px 9px;
    background:rgba(247,248,244,.96);
    border-bottom:1px solid #D9E1DC;
  }
  .mobile-quick-actions-inner{
    width:min(350px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    padding:4px;
    border:1px solid rgba(21,88,71,.14);
    border-radius:19px;
    background:rgba(255,255,255,.9);
    box-shadow:0 6px 18px rgba(16,42,33,.07), inset 0 1px 0 rgba(255,255,255,.95);
  }
  .mobile-quick-action{
    min-width:0;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 10px;
    border-radius:14px;
    font-size:13.5px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.025em;
    white-space:nowrap;
    text-decoration:none!important;
  }
  .mobile-quick-action.is-phone{background:#EDF4F0;color:#104B3C!important}
  .mobile-quick-action.is-consult{background:#155847;color:#FFF!important}
  .mobile-quick-icon{width:18px;height:18px;display:grid;place-items:center;flex:none}
  .mobile-quick-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
}
@media(max-width:360px){
  .mobile-quick-actions{padding-left:8px;padding-right:8px}
  .mobile-quick-actions-inner{gap:4px;padding:3px;border-radius:17px}
  .mobile-quick-action{min-height:44px;padding:0 7px;font-size:13px;border-radius:13px}
}
@media(min-width:761px) and (max-width:1359px){.contact-utility-dock{display:none!important}}
@media print{.contact-utility-dock{display:none!important}.site-v2026{padding-bottom:0!important}}
@media(prefers-reduced-motion:reduce){.contact-utility-action{transition:none!important}}

/* Final contrast fixes discovered by computed-style audit. */
.site-v2026 .unified-stage{
  color:#E2ECE7!important;
}
.site-v2026 .unified-stage .editorial-kicker,
.site-v2026 .unified-stage .section-kicker{
  color:#CFE0D7!important;
}
.site-v2026 .unified-stage p,
.site-v2026 .unified-stage li,
.site-v2026 .unified-stage .section-lead{
  color:#E2ECE7!important;
}
.site-v2026 .unified-stage strong,
.site-v2026 .unified-stage h2,
.site-v2026 .unified-stage h3{
  color:#FFFEF9!important;
}
.site-v2026 .unified-stage .unified-rail>div>span{
  color:#D4E5DD!important;
}
.site-v2026 main .card-grid .card-body,
.site-v2026 main .card-body{
  color:#51625B!important;
}

/* Alignment lock: repeated cards and steps keep a consistent visual axis. */
.site-v2026 .card-grid>*,
.site-v2026 .editorial-directory>*,
.site-v2026 .type-directory>*,
.site-v2026 .region-constellation>*,
.site-v2026 .journal-list>*{
  min-width:0;
}
.site-v2026 .flow-no,
.site-v2026 .situation-no,
.site-v2026 .navigator-head>span,
.site-v2026 .unified-rail>div>span{
  justify-self:start;
  font-variant-numeric:tabular-nums lining-nums!important;
  font-feature-settings:"tnum" 1,"lnum" 1!important;
}



/* =========================================================
   2026 FINAL FLOATING CONTACT — APPROVED MINIMAL STACK
   Reference direction: clean tutoring-site action stack, rebuilt for 배움결.
   No card wrapper / no toggle / no extra copy.
   ========================================================= */
.contact-utility-dock,
.mobile-quick-actions,
.floating-contact,
.edge-contact-rail{display:none!important}

.floating-side-actions{
  position:fixed;
  z-index:76;
  display:none;
  margin:0;
  padding:0;
  font-family:var(--font-body);
  isolation:isolate;
}
.floating-side-action{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  height:50px;
  padding:0 13px;
  border:1px solid transparent;
  border-radius:14px;
  font-size:13.5px;
  line-height:1;
  font-weight:760;
  letter-spacing:-.025em;
  white-space:nowrap;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  text-decoration:none!important;
  box-shadow:0 7px 18px rgba(18,63,53,.11),0 2px 5px rgba(18,63,53,.06);
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.floating-side-action.is-phone{
  color:#fff!important;
  background:linear-gradient(135deg,#43815B 0%,#347253 100%);
  border-color:rgba(255,255,255,.16);
}
.floating-side-action.is-consult{
  color:#fff!important;
  background:#123F35;
  border-color:#2D6658;
}
.floating-side-icon{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  flex:0 0 18px;
  color:inherit!important;
}
.floating-side-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  overflow:visible;
}
.floating-side-label{display:block;min-width:0;color:inherit!important}
@media(hover:hover){
  .floating-side-action:hover{
    transform:translateY(-2px);
    box-shadow:0 11px 24px rgba(18,63,53,.16),0 3px 7px rgba(18,63,53,.08);
  }
  .floating-side-action.is-phone:hover{background:linear-gradient(135deg,#3D7A56 0%,#2F694C 100%)}
  .floating-side-action.is-consult:hover{background:#0F372F;border-color:#255B4E}
}
.floating-side-action:focus-visible{
  outline:3px solid rgba(77,145,112,.35);
  outline-offset:3px;
}

/* >=1536 : reference-like full stack with ample gutter outside the 1180px reading canvas. */
@media(min-width:1536px){
  .floating-side-actions{
    display:flex;
    flex-direction:column;
    gap:8px;
    right:20px;
    bottom:clamp(58px,9vh,92px);
    width:128px;
  }
}

/* 1400–1535 : compact stack sized from the REAL 1180px reading canvas. */
@media(min-width:1400px) and (max-width:1535px){
  .floating-side-actions{
    display:flex;
    flex-direction:column;
    gap:7px;
    right:4px;
    bottom:58px;
    width:100px;
  }
  .floating-side-action{height:48px;padding:0 7px;gap:6px;font-size:12.6px;border-radius:13px}
  .floating-side-icon,.floating-side-icon svg{width:15px;height:15px;flex-basis:15px}
}

/* 1360–1399 : ultra-compact stack for common 1366px laptops, still outside reading content. */
@media(min-width:1360px) and (max-width:1399px){
  .floating-side-actions{
    display:flex;
    flex-direction:column;
    gap:6px;
    right:1px;
    bottom:52px;
    width:88px;
  }
  .floating-side-action{height:46px;padding:0 5px;gap:4px;font-size:12.2px;border-radius:12px}
  .floating-side-icon,.floating-side-icon svg{width:14px;height:14px;flex-basis:14px}
}

/* 761–1359 : side gutter is too narrow; never cover reading content. */
@media(min-width:761px) and (max-width:1359px){
  .floating-side-actions{display:none!important}
}

/* Mobile : same two actions, separate buttons; no bulky wrapper. */
@media(max-width:760px){
  body.site-v2026{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
  .floating-side-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:7px;
    left:50%;
    right:auto;
    top:auto;
    bottom:calc(10px + env(safe-area-inset-bottom,0px));
    width:min(280px,calc(100vw - 24px));
    transform:translateX(-50%);
  }
  .floating-side-action{
    min-width:0;
    height:50px;
    padding:0 10px;
    border-radius:14px;
    font-size:13.5px;
    box-shadow:0 8px 20px rgba(18,63,53,.14),0 2px 5px rgba(18,63,53,.07);
  }
}
@media(max-width:360px){
  .floating-side-actions{left:50%;right:auto;width:min(270px,calc(100vw - 16px));gap:6px;bottom:calc(8px + env(safe-area-inset-bottom,0px));transform:translateX(-50%)}
  .floating-side-action{height:48px;padding:0 7px;gap:7px;font-size:13px;border-radius:13px}
  .floating-side-icon,.floating-side-icon svg{width:17px;height:17px;flex-basis:17px}
}
@media(prefers-reduced-motion:reduce){.floating-side-action{transition:none!important}}
@media print{.floating-side-actions{display:none!important}body.site-v2026{padding-bottom:0!important}}

/* Final readability guardrails. */
.site-v2026{color:#1B2924}
.site-v2026 h1,.site-v2026 h2,.site-v2026 h3,.site-v2026 h4{
  color:#18261F;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict;
}
.site-v2026 p,.site-v2026 li,.site-v2026 dt,.site-v2026 dd{
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
  line-break:strict;
}
.site-v2026 h1,.site-v2026 h2,.site-v2026 h3{text-wrap:balance}
.site-v2026 p,.site-v2026 li,.site-v2026 dd{text-wrap:pretty}
.site-v2026 .hero-sub,.site-v2026 .section-lead,.site-v2026 .card-body,.site-v2026 .prose p,.site-v2026 .prose li{color:#44544D!important}
.site-v2026 .eyebrow,.site-v2026 .section-kicker{color:#155847!important}
.site-v2026 [class*="num"],.site-v2026 [class*="index"],.site-v2026 [class*="count"],.site-v2026 [class*="metric"]{
  font-variant-numeric:tabular-nums lining-nums!important;
  font-feature-settings:"tnum" 1,"lnum" 1!important;
}

/* Final contrast corrections: footer and micro labels stay readable on every theme/section. */
.site-v2026 .site-footer .footer-links a,
.site-v2026 .site-footer .footer-actions a{color:#D8E2DD!important}
.site-v2026 .site-footer .footer-actions a:last-child{background:#F2EFE6!important;color:#123F35!important;border-color:#F2EFE6!important}
.site-v2026 .site-footer .footer-bottom,
.site-v2026 .site-footer .copyright{color:#AEBDB6!important}
.site-v2026 .situation-no,
.site-v2026 .case-no{color:#52635B!important;font-weight:700!important}
.site-v2026 .region-constellation > * > span:first-child{color:#BFD3CA!important;font-weight:700!important}
.site-v2026 .journal-list > * > span:first-child{color:#52635B!important;font-weight:700!important}


/* =========================================================
   2026 DEPLOY LOCK — MOBILE FLOATING VISIBILITY
   Hero에서는 숨기고, Hero를 완전히 지난 뒤 표시합니다.
   중간/하단 상담 CTA 또는 footer가 화면에 들어오면 중복 CTA를 피하기 위해 숨깁니다.
   ========================================================= */
@media(max-width:760px){
  .floating-side-actions{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-50%,12px);
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
  }
  .floating-side-actions.is-mobile-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
    transition:opacity .18s ease,transform .18s ease,visibility 0s;
  }
}
@media(max-width:360px){
  .floating-side-actions{transform:translate(-50%,12px)}
  .floating-side-actions.is-mobile-visible{transform:translate(-50%,0)}
}
@media(prefers-reduced-motion:reduce){
  .floating-side-actions{transition:none!important}
}


/* =========================================================
   2026-08-11 FINAL MOBILE PROCESS ALIGNMENT LOCK
   Fix: step number glyph was pulled to the left by a late display:block override.
   Keep the number perfectly centered and move the whole row slightly inward.
   ========================================================= */
@media (max-width:760px){
  .site-v2026 .process{
    width:calc(100% - 16px)!important;
    margin-inline:auto!important;
  }
  .site-v2026 .process-step,
  .site-v2026 .process-step:nth-child(n){
    grid-template-columns:46px minmax(0,1fr)!important;
    column-gap:15px!important;
    padding:24px 2px!important;
    align-items:start!important;
  }
  .site-v2026 .process-num{
    display:grid!important;
    place-items:center!important;
    justify-self:center!important;
    align-self:start!important;
    width:42px!important;
    height:42px!important;
    margin:1px 0 0!important;
    padding:0!important;
    text-align:center!important;
    line-height:1!important;
    font-variant-numeric:tabular-nums lining-nums!important;
    font-feature-settings:"tnum" 1,"lnum" 1!important;
  }
  .site-v2026 .process-step>div{
    min-width:0!important;
    padding-right:2px!important;
  }
  .site-v2026 .process-step h3,
  .site-v2026 .process-step p{
    text-align:left!important;
  }
}


/* =========================================================
   2026-08-11 FINAL PROBLEM LIST ALIGNMENT LOCK
   Fix: editorial padding overrides previously left the ✓ pseudo marker
   on top of the first glyph. Marker and text now occupy real grid columns.
   ========================================================= */
.site-v2026 .problem-chip-grid li,
.site-v2026 .problem-chip-grid li:nth-child(odd),
.site-v2026 .problem-chip-grid li:nth-child(even){
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  column-gap:11px!important;
  align-items:start!important;
  padding-top:18px!important;
  padding-bottom:18px!important;
}
.site-v2026 .problem-chip-grid .problem-chip-mark{
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  height:1.7em!important;
  margin:0!important;
  color:var(--primary)!important;
  font-weight:850!important;
  line-height:1!important;
  text-align:center!important;
}
.site-v2026 .problem-chip-grid .problem-chip-text{
  display:block!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  text-align:left!important;
  word-break:keep-all!important;
  line-break:strict!important;
}
@media(max-width:760px){
  .site-v2026 .problem-chip-grid li,
  .site-v2026 .problem-chip-grid li:nth-child(odd),
  .site-v2026 .problem-chip-grid li:nth-child(even){
    grid-template-columns:20px minmax(0,1fr)!important;
    column-gap:10px!important;
    padding:18px 0!important;
  }
  .site-v2026 .problem-chip-grid .problem-chip-mark{
    width:20px!important;
    height:1.75em!important;
  }
}


/* =========================================================
   2026-08-12 LIVE QA PATCH
   - 학습 핵심 3블록: 큰 빈칸 없이 좌측 2단 + 우측 핵심 블록 균형 배치
   - 이전 카드형 border/radius 잔여 스타일 완전 제거
   - 학교 정보는 01 초등 / 02 중등 / 03 고등 구조를 항상 유지
   ========================================================= */
.site-v2026 .rich-section-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:0 clamp(38px,5vw,72px)!important;
  align-items:start!important;
  margin-top:34px!important;
  border-top:1px solid var(--ink)!important;
}
.site-v2026 .rich-section-grid .content-subsection{
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:26px 0!important;
  border:0!important;
  border-bottom:1px solid #c5cac4!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  align-self:start!important;
}
.site-v2026 .rich-section-grid .content-subsection h3{margin:0 0 10px!important;}
.site-v2026 .rich-section-grid .content-subsection h4{margin:20px 0 6px!important;}
.site-v2026 .rich-section-grid .content-subsection p{margin:0 0 8px!important;max-width:68ch;}
@supports selector(.rich-section-grid:has(> .content-subsection:nth-child(3))){
  .site-v2026 .rich-section-grid:has(> .content-subsection:nth-child(3)){
    grid-template-areas:"first main" "third main"!important;
    grid-template-rows:auto auto!important;
  }
  .site-v2026 .rich-section-grid:has(> .content-subsection:nth-child(3))>.content-subsection:nth-child(1){grid-area:first;}
  .site-v2026 .rich-section-grid:has(> .content-subsection:nth-child(3))>.content-subsection:nth-child(2){grid-area:main;}
  .site-v2026 .rich-section-grid:has(> .content-subsection:nth-child(3))>.content-subsection:nth-child(3){grid-area:third;}
}
.site-v2026 .school-empty{
  margin:14px 0 0!important;
  padding:10px 0!important;
  color:#728078!important;
  font-size:.84rem!important;
  line-height:1.6!important;
}
@media(max-width:760px){
  .site-v2026 .rich-section-grid{
    grid-template-columns:1fr!important;
    grid-template-areas:none!important;
    grid-template-rows:auto!important;
    gap:0!important;
  }
  .site-v2026 .rich-section-grid .content-subsection{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    padding:22px 0!important;
  }
}

/* 2026-08-12 LIVE QA: 학교급별 실제 학교 보강 범위 표시 */
.school-matrix-head>div{min-width:0}
.school-matrix-head .school-scope-note{display:block;margin-top:4px;color:#7A8A82;font-size:.72rem;font-weight:600;line-height:1.35;letter-spacing:-.02em}
.school-data-note{margin:14px 0 0!important;color:#718078!important;font-size:.78rem!important;line-height:1.6!important}


/* =========================================================
   2026-08-12 UX CLARITY PATCH
   - 지역 중심 탐색으로 진입 경로 단순화
   - 지역 페이지에서 학년×과목 조합을 한 화면에서 바로 선택
   - 학습 핵심 섹션의 제목/본문 위계 재정렬
   - 학교는 광역 대표 학교 + 동·읍·면 실제 생활권 중심 노출
   ========================================================= */
.site-v2026 .home-find-section .section-title,
.site-v2026 .quick-find-section .section-title,
.site-v2026 .focus-section .section-title{
  max-width:820px!important;
  font-size:clamp(2.15rem,3.25vw,3.45rem)!important;
  line-height:1.13!important;
  letter-spacing:-.048em!important;
}
.site-v2026 .focus-section .section-lead{max-width:760px!important;color:#425149!important}

/* Home: 추천 경로는 지역 1개, 학년/과목은 보조 경로 2개만 */
.site-v2026 .simple-finder{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;
  gap:clamp(28px,4vw,58px)!important;
  margin-top:34px!important;
  padding-top:28px!important;
  border-top:1px solid var(--ink)!important;
}
.site-v2026 .simple-finder-main{min-width:0!important}
.site-v2026 .simple-finder-head{display:grid!important;grid-template-columns:120px 1fr!important;gap:6px 20px!important;align-items:start!important;margin-bottom:24px!important}
.site-v2026 .simple-finder-head>span{grid-row:1/3;color:var(--primary)!important;font-size:.76rem!important;font-weight:850!important;letter-spacing:.05em!important}
.site-v2026 .simple-finder-head h3{margin:0!important;color:var(--ink)!important;font-size:clamp(1.3rem,1.7vw,1.7rem)!important}
.site-v2026 .simple-finder-head p{margin:4px 0 0!important;color:#506058!important;font-size:.94rem!important;line-height:1.65!important}
.site-v2026 .simple-region-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;border-top:1px solid #C7CEC9!important;border-left:1px solid #C7CEC9!important}
.site-v2026 .simple-region-grid a{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:58px!important;padding:13px 14px!important;color:#26352E!important;text-decoration:none!important;font-weight:760!important;border-right:1px solid #C7CEC9!important;border-bottom:1px solid #C7CEC9!important;background:rgba(255,253,248,.45)!important}
.site-v2026 .simple-region-grid a span{color:var(--primary)!important;font-weight:500!important}
.site-v2026 .simple-region-grid a:hover{background:#EEF4F0!important;text-decoration:none!important}
.site-v2026 .simple-finder-all{display:inline-block!important;margin-top:16px!important;color:var(--primary-dark)!important;font-weight:800!important;text-decoration:none!important}
.site-v2026 .simple-finder-alt{display:grid!important;align-content:start!important;border-top:1px solid var(--ink)!important}
.site-v2026 .simple-finder-alt>a{position:relative!important;display:block!important;padding:24px 34px 24px 0!important;border-bottom:1px solid #C7CEC9!important;color:inherit!important;text-decoration:none!important}
.site-v2026 .simple-finder-alt>a>span{display:block!important;margin-bottom:7px!important;color:#78877F!important;font-size:.73rem!important;font-weight:750!important}
.site-v2026 .simple-finder-alt strong{display:block!important;color:var(--ink)!important;font-size:1.08rem!important}
.site-v2026 .simple-finder-alt p{margin:7px 0 0!important;color:#59675F!important;font-size:.88rem!important;line-height:1.55!important}
.site-v2026 .simple-finder-alt b{position:absolute!important;right:2px!important;top:27px!important;color:var(--primary)!important;font-weight:500!important}

/* 지역 허브: 학년과 과목을 한 번에 직접 선택 */
.site-v2026 .local-combo-finder{margin-top:32px!important;border-top:1px solid var(--ink)!important}
.site-v2026 .combo-finder-row{display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;border-bottom:1px solid #C7CEC9!important}
.site-v2026 .combo-finder-grade{display:grid!important;grid-template-columns:42px 1fr!important;gap:12px!important;align-items:center!important;padding:24px 24px 24px 0!important;border-right:1px solid #D3D8D4!important}
.site-v2026 .combo-finder-grade>span{color:var(--primary)!important;font-size:.75rem!important;font-weight:850!important;letter-spacing:.06em!important}
.site-v2026 .combo-finder-grade h3{margin:0!important;color:var(--ink)!important;font-size:1.05rem!important;font-weight:800!important}
.site-v2026 .combo-finder-grade p{margin:3px 0 0!important;color:#748179!important;font-size:.78rem!important}
.site-v2026 .combo-finder-subjects{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.site-v2026 .combo-finder-subjects a{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:64px!important;padding:15px 18px!important;color:#2C3B34!important;text-decoration:none!important;font-weight:760!important;border-right:1px solid #D9DEDA!important;border-bottom:1px solid #E3E6E3!important}
.site-v2026 .combo-finder-subjects a:nth-child(4n){border-right:0!important}
.site-v2026 .combo-finder-subjects a:nth-last-child(-n+4){border-bottom:0!important}
.site-v2026 .combo-finder-subjects a b{color:var(--primary)!important;font-weight:500!important}
.site-v2026 .combo-finder-subjects a:hover{background:#EDF3EF!important;text-decoration:none!important}
.site-v2026 .combo-finder-foot{display:flex!important;gap:20px!important;justify-content:flex-end!important;margin-top:15px!important}
.site-v2026 .combo-finder-foot a{color:#526159!important;font-size:.84rem!important;font-weight:760!important;text-decoration:none!important}
.site-v2026 .combo-finder-foot a:hover{color:var(--primary)!important}

/* 학습 핵심: 제목 다음에 3개 요약 → 핵심 포커스 → 상세 01/02/03 순서 */
.site-v2026 .focus-summary-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:34px!important;border-top:1px solid var(--ink)!important;border-bottom:1px solid #BFC8C2!important}
.site-v2026 .focus-summary-grid article{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:4px 12px!important;padding:22px 24px!important;border-right:1px solid #D1D7D2!important}
.site-v2026 .focus-summary-grid article:first-child{padding-left:0!important}
.site-v2026 .focus-summary-grid article:last-child{border-right:0!important;padding-right:0!important}
.site-v2026 .focus-summary-grid span{grid-row:1/3;color:var(--primary)!important;font-size:.72rem!important;font-weight:850!important;letter-spacing:.05em!important}
.site-v2026 .focus-summary-grid strong{color:var(--ink)!important;font-size:1rem!important;font-weight:820!important}
.site-v2026 .focus-summary-grid p{margin:4px 0 0!important;color:#4E5D55!important;font-size:.88rem!important;line-height:1.6!important}
.site-v2026 .focus-section .focus-banner{display:grid!important;grid-template-columns:150px minmax(0,.72fr) minmax(280px,1fr)!important;gap:18px 30px!important;align-items:start!important;margin:0!important;padding:30px 0!important;border:0!important;border-bottom:1px solid #C7CEC9!important;background:transparent!important}
.site-v2026 .focus-section .focus-banner>span{margin-top:5px!important;color:var(--primary)!important;font-size:.72rem!important;font-weight:850!important;letter-spacing:.1em!important}
.site-v2026 .focus-section .focus-banner h3{margin:0!important;color:var(--ink)!important;font-size:clamp(1.45rem,2vw,2rem)!important;line-height:1.28!important}
.site-v2026 .focus-section .focus-banner p{grid-column:auto!important;margin:0!important;color:#53625A!important;font-size:.94rem!important;line-height:1.72!important}
.site-v2026 .focus-section .rich-section-grid{display:block!important;margin-top:0!important;border-top:0!important}
.site-v2026 .focus-section .rich-section-grid .content-subsection{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:0 28px!important;padding:30px 0!important;border:0!important;border-bottom:1px solid #C7CEC9!important;background:transparent!important}
.site-v2026 .focus-section .content-subsection-no{display:block!important;padding-top:4px!important;color:var(--primary)!important;font-size:.78rem!important;font-weight:850!important;letter-spacing:.08em!important}
.site-v2026 .focus-section .content-subsection-main{display:grid!important;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr)!important;gap:16px clamp(30px,4vw,64px)!important;align-items:start!important}
.site-v2026 .focus-section .content-subsection-main>h3{margin:0!important;color:var(--ink)!important;font-size:clamp(1.08rem,1.35vw,1.3rem)!important;line-height:1.42!important;font-weight:810!important}
.site-v2026 .focus-section .content-subsection-main>p{margin:0!important;color:#4C5B53!important;font-size:.94rem!important;line-height:1.78!important;max-width:72ch!important}
.site-v2026 .focus-section .content-subitems{grid-column:2!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 28px!important;margin-top:4px!important;border-top:1px solid #D7DDD8!important}
.site-v2026 .focus-section .content-subitems article{padding:18px 0!important;border-bottom:1px solid #D7DDD8!important}
.site-v2026 .focus-section .content-subitems h4{margin:0 0 6px!important;color:var(--ink)!important;font-size:.92rem!important;font-weight:800!important}
.site-v2026 .focus-section .content-subitems p{margin:0!important;color:#59675F!important;font-size:.87rem!important;line-height:1.68!important}

/* 학교: 대표 학교만, 이름은 가나다순이 아닌 생활권 분산형으로 출력 */
.site-v2026 .school-matrix{margin-top:28px!important}
.site-v2026 .school-matrix-col{padding-top:22px!important;padding-bottom:22px!important}
.site-v2026 .school-matrix-head{display:flex!important;gap:12px!important;align-items:flex-start!important;margin-bottom:12px!important}
.site-v2026 .school-matrix-head>span{color:var(--primary)!important;font-size:.73rem!important;font-weight:850!important;letter-spacing:.06em!important}
.site-v2026 .school-matrix-head h3{margin:0!important;font-size:1rem!important}
.site-v2026 .school-name-list span{padding:8px 0!important;font-size:.9rem!important;line-height:1.45!important}
.site-v2026 .school-data-note{max-width:900px!important;margin-top:15px!important;color:#68766E!important;font-size:.82rem!important}

@media(max-width:1080px){
  .site-v2026 .simple-region-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .site-v2026 .combo-finder-subjects{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .site-v2026 .combo-finder-subjects a:nth-child(4n){border-right:1px solid #D9DEDA!important}
  .site-v2026 .combo-finder-subjects a:nth-child(3n){border-right:0!important}
  .site-v2026 .combo-finder-subjects a:nth-last-child(-n+4){border-bottom:1px solid #E3E6E3!important}
}
@media(max-width:760px){
  .site-v2026 .home-find-section .section-title,
  .site-v2026 .quick-find-section .section-title,
  .site-v2026 .focus-section .section-title{font-size:clamp(1.82rem,8vw,2.4rem)!important;line-height:1.18!important}
  .site-v2026 .simple-finder{grid-template-columns:1fr!important;gap:28px!important;margin-top:26px!important;padding-top:22px!important}
  .site-v2026 .simple-finder-head{grid-template-columns:1fr!important;gap:6px!important}
  .site-v2026 .simple-finder-head>span{grid-row:auto!important}
  .site-v2026 .simple-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .site-v2026 .simple-region-grid a{min-height:54px!important;padding:12px!important;font-size:.9rem!important}
  .site-v2026 .combo-finder-row{grid-template-columns:1fr!important}
  .site-v2026 .combo-finder-grade{grid-template-columns:36px 1fr!important;padding:18px 0!important;border-right:0!important;border-bottom:1px solid #D3D8D4!important}
  .site-v2026 .combo-finder-subjects{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .site-v2026 .combo-finder-subjects a,.site-v2026 .combo-finder-subjects a:nth-child(3n),.site-v2026 .combo-finder-subjects a:nth-child(4n){min-height:56px!important;padding:13px 12px!important;border-right:1px solid #D9DEDA!important;border-bottom:1px solid #E3E6E3!important;font-size:.9rem!important}
  .site-v2026 .combo-finder-subjects a:nth-child(even){border-right:0!important}
  .site-v2026 .combo-finder-foot{justify-content:flex-start!important;flex-wrap:wrap!important;gap:10px 18px!important}
  .site-v2026 .focus-summary-grid{grid-template-columns:1fr!important}
  .site-v2026 .focus-summary-grid article,.site-v2026 .focus-summary-grid article:first-child,.site-v2026 .focus-summary-grid article:last-child{padding:18px 0!important;border-right:0!important;border-bottom:1px solid #D1D7D2!important}
  .site-v2026 .focus-summary-grid article:last-child{border-bottom:0!important}
  .site-v2026 .focus-section .focus-banner{grid-template-columns:1fr!important;gap:8px!important;padding:24px 0!important}
  .site-v2026 .focus-section .focus-banner>span{margin-top:0!important}
  .site-v2026 .focus-section .rich-section-grid .content-subsection{grid-template-columns:38px minmax(0,1fr)!important;gap:0 10px!important;padding:24px 0!important}
  .site-v2026 .focus-section .content-subsection-main{grid-template-columns:1fr!important;gap:10px!important}
  .site-v2026 .focus-section .content-subitems{grid-column:1!important;grid-template-columns:1fr!important;gap:0!important;margin-top:6px!important}
  .site-v2026 .school-matrix-col{padding-top:18px!important;padding-bottom:18px!important}
}

/* =====================================================================
   BAEUMGYEOL FINAL UX · 2026-08-12
   Approved: calm Baeumgyeol visual language, readable body copy,
   responsive home finder, local grade/subject cards and focus sections.
   ===================================================================== */
.site-v2026{
  --v3-ink:#101A16;
  --v3-body:#44544C;
  --v3-muted:#69766F;
  --v3-brand:#155847;
  --v3-soft:#EDF5F0;
  --v3-line:#D4E0D8;
  --v3-card:#FFFFFF;
  --v3-chip:#F8FBF9;
}
.site-v2026 .section{padding:clamp(72px,7vw,104px) 0!important}
.site-v2026 .section-kicker,.site-v2026 .editorial-kicker{margin-bottom:18px!important;color:var(--v3-brand)!important;font-size:.8rem!important;font-weight:850!important;letter-spacing:.025em!important}
.site-v2026 .section-title,.site-v2026 .flow-head h2,.site-v2026 .role-stage-intro h2{max-width:960px!important;font-size:clamp(2.25rem,3.2vw,3.55rem)!important;line-height:1.14!important;letter-spacing:-.055em!important;font-weight:780!important}
.site-v2026 .section-lead,.site-v2026 .flow-head>p:last-child,.site-v2026 .role-stage-intro>p:last-child{max-width:900px!important;margin:18px 0 0!important;color:var(--v3-body)!important;font-size:clamp(1rem,.96rem + .25vw,1.12rem)!important;line-height:1.72!important;font-weight:500!important}
.site-v2026 .section-lead + *,.site-v2026 .section-title + *:not(.section-lead){margin-top:34px}
.site-v2026 .prose{max-width:960px!important}
.site-v2026 .prose p,.site-v2026 .answer-text-block p,.site-v2026 .content-subsection p,.site-v2026 .diagnosis-ledger p,.site-v2026 .visual-card p,.site-v2026 .card-body,.site-v2026 .process-step p,.site-v2026 .local-nav-ledger p,.site-v2026 .editorial-directory p,.site-v2026 .type-directory p{color:var(--v3-body)!important;font-size:.98rem!important;line-height:1.72!important}
.site-v2026 .card-grid{gap:18px!important;margin-top:32px!important}
.site-v2026 .card{min-height:210px!important;padding:30px!important;border:1px solid var(--v3-line)!important;border-radius:22px!important;background:var(--v3-card)!important;box-shadow:none!important}
.site-v2026 .card-title{margin-bottom:12px!important;font-size:1.18rem!important;line-height:1.4!important;font-weight:820!important}
.site-v2026 .card-body{margin:0!important}
.site-v2026 .diagnosis-ledger{margin-top:34px!important;border-top:0!important;display:grid!important;gap:14px!important}
.site-v2026 .diagnosis-ledger article{grid-template-columns:52px minmax(0,1fr)!important;gap:18px!important;padding:26px 28px!important;border:1px solid var(--v3-line)!important;border-radius:20px!important;background:#fff!important}
.site-v2026 .diagnosis-ledger h3{margin:5px 0 10px!important;font-size:1.16rem!important;line-height:1.42!important}
.site-v2026 .diagnosis-ledger-no{padding-top:4px!important}

/* Home finder: no giant outer card; editorial columns on PC, natural stack on mobile */
.site-v2026 .home-find-section .section-title{max-width:900px!important;font-size:clamp(2.15rem,3.2vw,3.35rem)!important;line-height:1.14!important;letter-spacing:-.05em!important}
.site-v2026 .home-find-section .section-lead{max-width:700px!important;color:#4C5B53!important;font-size:clamp(.98rem,1.12vw,1.08rem)!important;line-height:1.78!important}
.site-v2026 .home-find-editorial{display:grid!important;grid-template-columns:minmax(0,1.32fr) minmax(270px,.82fr) minmax(300px,.95fr)!important;margin-top:42px!important;border-top:1px solid var(--ink)!important;border-bottom:1px solid #BBC5BE!important}
.site-v2026 .find-pane{min-width:0!important;padding:30px clamp(24px,2.6vw,42px) 28px!important;border-right:1px solid #D0D6D2!important;background:transparent!important}
.site-v2026 .find-pane:first-child{padding-left:0!important}.site-v2026 .find-pane:last-child{padding-right:0!important;border-right:0!important}
.site-v2026 .find-pane-head{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:0 12px!important;align-items:start!important;margin-bottom:22px!important}
.site-v2026 .find-pane-head>span{padding-top:5px!important;color:var(--primary)!important;font-size:.73rem!important;font-weight:850!important;letter-spacing:.06em!important}
.site-v2026 .find-pane-head h3{margin:0!important;color:var(--ink)!important;font-size:clamp(1.22rem,1.55vw,1.55rem)!important;line-height:1.35!important;font-weight:820!important}
.site-v2026 .find-pane-head p{margin:7px 0 0!important;max-width:36ch!important;color:#5A6861!important;font-size:.88rem!important;line-height:1.65!important}
.site-v2026 .find-region-links{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;border-top:1px solid #D5DBD7!important;border-left:1px solid #D5DBD7!important}
.site-v2026 .find-region-links a,.site-v2026 .find-subject-links a{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:52px!important;padding:11px 12px!important;color:#2B3B33!important;text-decoration:none!important;font-size:.9rem!important;font-weight:760!important;background:transparent!important;border-right:1px solid #D5DBD7!important;border-bottom:1px solid #D5DBD7!important}
.site-v2026 .find-region-links a span,.site-v2026 .find-subject-links a span{color:var(--primary)!important;font-weight:500!important}
.site-v2026 .find-region-links a:hover,.site-v2026 .find-subject-links a:hover,.site-v2026 .find-grade-links a:hover{background:#EEF3EF!important;text-decoration:none!important}
.site-v2026 .find-grade-links{border-top:1px solid #D5DBD7!important}
.site-v2026 .find-grade-links a{position:relative!important;display:block!important;min-height:92px!important;padding:18px 30px 17px 0!important;color:inherit!important;text-decoration:none!important;border-bottom:1px solid #D5DBD7!important}
.site-v2026 .find-grade-links strong{display:block!important;margin-bottom:5px!important;color:#26362E!important;font-size:1rem!important;font-weight:810!important}
.site-v2026 .find-grade-links span{display:block!important;color:#66746D!important;font-size:.8rem!important;line-height:1.55!important}
.site-v2026 .find-grade-links b{position:absolute!important;top:20px!important;right:2px!important;color:var(--primary)!important;font-weight:500!important}
.site-v2026 .find-subject-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border-top:1px solid #D5DBD7!important;border-left:1px solid #D5DBD7!important}
.site-v2026 .find-more{display:inline-flex!important;align-items:center!important;margin-top:18px!important;color:var(--primary-dark)!important;font-size:.84rem!important;font-weight:800!important;text-decoration:none!important}
.site-v2026 .find-more:hover{text-decoration:underline!important}

/* Local region finder: approved roomy 3-card layout */
.site-v2026 .quick-find-section .section-title{max-width:900px!important}.site-v2026 .quick-find-section .section-lead{max-width:980px!important}
.site-v2026 .local-combo-finder.combo-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;margin-top:38px!important;border-top:0!important}
.site-v2026 .combo-grade-card{min-width:0!important;min-height:560px!important;padding:28px!important;border:1px solid var(--v3-line)!important;border-radius:24px!important;background:#fff!important}
.site-v2026 .combo-grade-head{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;gap:16px!important;align-items:start!important;min-height:116px!important}
.site-v2026 .combo-grade-head>span{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;border-radius:14px!important;background:#EEF4F0!important;color:var(--v3-brand)!important;font-size:.74rem!important;font-weight:850!important}
.site-v2026 .combo-grade-head h3{margin:0 0 7px!important;font-size:1.45rem!important;line-height:1.3!important;font-weight:840!important}
.site-v2026 .combo-grade-head p{margin:0!important;max-width:28ch!important;color:var(--v3-body)!important;font-size:.96rem!important;line-height:1.62!important}
.site-v2026 .combo-card-rule{height:1px!important;background:#DFE7E2!important;margin:4px 0 18px!important}.site-v2026 .combo-subject-label{margin:0 0 14px!important;color:var(--v3-muted)!important;font-size:.78rem!important;font-weight:820!important}
.site-v2026 .combo-finder-subjects{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.site-v2026 .combo-finder-subjects a,.site-v2026 .combo-finder-subjects a:nth-child(3n),.site-v2026 .combo-finder-subjects a:nth-child(4n),.site-v2026 .combo-finder-subjects a:nth-last-child(-n+4){display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:62px!important;padding:14px 16px!important;border:1px solid #D9E3DD!important;border-radius:14px!important;background:var(--v3-chip)!important;color:#25362F!important;text-decoration:none!important;font-size:1rem!important;font-weight:800!important}
.site-v2026 .combo-finder-subjects a:hover{background:#EEF5F1!important;border-color:#BFD2C8!important}
.site-v2026 .combo-finder-foot{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:10px 20px!important;margin:24px 0 0!important}
.site-v2026 .combo-finder-foot>span{color:var(--v3-muted)!important;font-size:.78rem!important;font-weight:800!important}.site-v2026 .combo-finder-foot a{color:#45574E!important;font-size:.88rem!important;font-weight:780!important;text-decoration:none!important}

/* Focus section: summary -> direction -> readable detail rows */
.site-v2026 .focus-section .section-title{max-width:980px!important}.site-v2026 .focus-section .section-lead{max-width:1000px!important}
.site-v2026 .focus-summary-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;margin-top:34px!important;border:0!important}
.site-v2026 .focus-summary-grid article{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:4px 14px!important;min-height:142px!important;padding:24px!important;border:1px solid var(--v3-line)!important;border-radius:20px!important;background:#fff!important}
.site-v2026 .focus-summary-grid span{grid-row:1/3;display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border-radius:12px!important;background:#EEF4F0!important;color:var(--v3-brand)!important;font-size:.7rem!important;font-weight:850!important}
.site-v2026 .focus-summary-grid strong{color:var(--v3-ink)!important;font-size:1.12rem!important;font-weight:820!important}.site-v2026 .focus-summary-grid p{margin:5px 0 0!important;color:var(--v3-body)!important;font-size:.9rem!important;line-height:1.62!important}
.site-v2026 .focus-section .focus-banner{display:grid!important;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)!important;gap:34px!important;align-items:center!important;margin:20px 0 0!important;padding:28px 30px!important;border:1px solid #C9DBD1!important;border-radius:20px!important;background:var(--v3-soft)!important}
.site-v2026 .focus-section .focus-banner>div>span{display:block!important;margin-bottom:9px!important;color:var(--v3-brand)!important;font-size:.76rem!important;font-weight:850!important}.site-v2026 .focus-section .focus-banner h3{margin:0!important;color:var(--v3-ink)!important;font-size:1.55rem!important;line-height:1.35!important}.site-v2026 .focus-section .focus-banner>p{margin:0!important;color:var(--v3-body)!important;font-size:.96rem!important;line-height:1.74!important}
.site-v2026 .focus-section .rich-section-grid{display:grid!important;gap:16px!important;margin-top:20px!important;border:0!important}
.site-v2026 .focus-section .rich-section-grid .content-subsection{display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;gap:0 22px!important;padding:28px 30px!important;border:1px solid var(--v3-line)!important;border-radius:20px!important;background:#fff!important}
.site-v2026 .focus-section .content-subsection-no{padding-top:3px!important;color:var(--v3-brand)!important;font-size:.76rem!important;font-weight:850!important}
.site-v2026 .focus-section .content-subsection-main{display:grid!important;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr)!important;gap:14px 40px!important;align-items:start!important}
.site-v2026 .focus-section .content-subsection-main>h3{margin:0!important;color:var(--v3-ink)!important;font-size:1.18rem!important;line-height:1.45!important;font-weight:820!important}.site-v2026 .focus-section .content-subsection-main>p{margin:0!important;color:var(--v3-body)!important;font-size:.95rem!important;line-height:1.75!important}
.site-v2026 .focus-section .content-subitems{grid-column:2!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 26px!important;margin-top:2px!important;border-top:1px solid #E0E7E2!important}.site-v2026 .focus-section .content-subitems article{padding:16px 0!important;border-bottom:1px solid #E0E7E2!important}.site-v2026 .focus-section .content-subitems h4{margin:0 0 6px!important;color:var(--v3-ink)!important;font-size:.92rem!important;font-weight:800!important}.site-v2026 .focus-section .content-subitems p{margin:0!important;color:var(--v3-body)!important;font-size:.87rem!important;line-height:1.66!important}

@media(max-width:1080px){
  .site-v2026 .home-find-editorial{grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr)!important}
  .site-v2026 .find-pane-subject{grid-column:1/-1!important;padding:28px 0!important;border-top:1px solid #D0D6D2!important;border-right:0!important}.site-v2026 .find-pane-subject .find-pane-head{max-width:520px!important}.site-v2026 .find-subject-links{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .site-v2026 .local-combo-finder.combo-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.site-v2026 .combo-grade-card:last-child{grid-column:1/-1!important;min-height:auto!important}.site-v2026 .combo-grade-card:last-child .combo-finder-subjects{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .site-v2026 .section{padding:64px 0!important}.site-v2026 .section-title,.site-v2026 .flow-head h2,.site-v2026 .role-stage-intro h2,.site-v2026 .home-find-section .section-title,.site-v2026 .quick-find-section .section-title,.site-v2026 .focus-section .section-title{font-size:clamp(1.82rem,8vw,2.4rem)!important;line-height:1.18!important}.site-v2026 .section-lead{font-size:.96rem!important;line-height:1.7!important}
  .site-v2026 .home-find-editorial{display:block!important;margin-top:28px!important}.site-v2026 .find-pane,.site-v2026 .find-pane:first-child,.site-v2026 .find-pane:last-child,.site-v2026 .find-pane-subject{padding:24px 0 26px!important;border-right:0!important;border-top:0!important;border-bottom:1px solid #D0D6D2!important}.site-v2026 .find-pane:last-child{border-bottom:0!important}.site-v2026 .find-pane-head{grid-template-columns:30px minmax(0,1fr)!important;gap:0 10px!important;margin-bottom:18px!important}.site-v2026 .find-pane-head h3{font-size:1.22rem!important}.site-v2026 .find-pane-head p{font-size:.84rem!important;line-height:1.6!important}.site-v2026 .find-region-links{grid-template-columns:repeat(3,minmax(0,1fr))!important}.site-v2026 .find-region-links a,.site-v2026 .find-subject-links a{min-height:48px!important;padding:10px!important;font-size:.86rem!important}.site-v2026 .find-grade-links a{min-height:78px!important;padding:15px 28px 14px 0!important}.site-v2026 .find-grade-links strong{font-size:.95rem!important}.site-v2026 .find-grade-links span{font-size:.78rem!important}.site-v2026 .find-subject-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}.site-v2026 .find-more{margin-top:15px!important;font-size:.82rem!important}
  .site-v2026 .local-combo-finder.combo-card-grid{grid-template-columns:1fr!important;gap:14px!important}.site-v2026 .combo-grade-card,.site-v2026 .combo-grade-card:last-child{grid-column:auto!important;min-height:auto!important;padding:24px!important}.site-v2026 .combo-grade-head{min-height:auto!important;margin-bottom:16px!important}.site-v2026 .combo-grade-card:last-child .combo-finder-subjects,.site-v2026 .combo-finder-subjects{grid-template-columns:repeat(2,minmax(0,1fr))!important}.site-v2026 .combo-finder-subjects a{min-height:56px!important;padding:12px 14px!important;font-size:.93rem!important}.site-v2026 .combo-finder-foot{gap:9px 16px!important}
  .site-v2026 .focus-summary-grid{grid-template-columns:1fr!important;gap:10px!important}.site-v2026 .focus-summary-grid article{min-height:auto!important;padding:20px!important}.site-v2026 .focus-section .focus-banner{grid-template-columns:1fr!important;gap:12px!important;padding:24px!important}.site-v2026 .focus-section .rich-section-grid .content-subsection{grid-template-columns:38px minmax(0,1fr)!important;gap:0 12px!important;padding:24px 20px!important}.site-v2026 .focus-section .content-subsection-main{grid-template-columns:1fr!important;gap:10px!important}.site-v2026 .focus-section .content-subitems{grid-column:1!important;grid-template-columns:1fr!important;gap:0!important;margin-top:6px!important}
}

/* =====================================================================
   BAEUMGYEOL READABILITY HOTFIX · 2026-08-13
   - Dark home stage body-copy contrast
   - Focus detail cards: stable single-column flow at every desktop width
   - Number marker inset/alignment and mobile readability
   ===================================================================== */
.site-v2026 .unified-stage .role-stage-intro>p:last-child{
  color:#DCE8E2!important;
  opacity:1!important;
  font-weight:500!important;
}
.site-v2026 .unified-stage .unified-rail p{
  color:#DCE8E2!important;
  opacity:1!important;
}

.site-v2026 .focus-section .rich-section-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-areas:none!important;
  grid-template-rows:auto!important;
  gap:16px!important;
  width:100%!important;
}
.site-v2026 .focus-section .rich-section-grid>.content-subsection,
.site-v2026 .focus-section .rich-section-grid>.content-subsection:nth-child(1),
.site-v2026 .focus-section .rich-section-grid>.content-subsection:nth-child(2),
.site-v2026 .focus-section .rich-section-grid>.content-subsection:nth-child(3){
  grid-area:auto!important;
  grid-column:1!important;
  grid-row:auto!important;
  width:100%!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  column-gap:22px!important;
  padding:30px 34px!important;
}
.site-v2026 .focus-section .content-subsection-no{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
  padding:0!important;
  border-radius:11px!important;
  background:#EEF4F0!important;
  color:var(--v3-brand)!important;
  line-height:1!important;
  text-align:center!important;
}
.site-v2026 .focus-section .content-subsection-main{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.site-v2026 .focus-section .content-subsection-main>h3{
  max-width:none!important;
  margin:0!important;
}
.site-v2026 .focus-section .content-subsection-main>p{
  max-width:82ch!important;
  margin:0!important;
}
.site-v2026 .focus-section .content-subitems{
  grid-column:1!important;
  width:100%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 30px!important;
  margin-top:8px!important;
}

@media(max-width:900px){
  .site-v2026 .focus-section .rich-section-grid>.content-subsection,
  .site-v2026 .focus-section .rich-section-grid>.content-subsection:nth-child(1),
  .site-v2026 .focus-section .rich-section-grid>.content-subsection:nth-child(2),
  .site-v2026 .focus-section .rich-section-grid>.content-subsection:nth-child(3){
    grid-template-columns:38px minmax(0,1fr)!important;
    column-gap:16px!important;
    padding:26px 24px!important;
  }
  .site-v2026 .focus-section .content-subitems{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
}
@media(max-width:520px){
  .site-v2026 .focus-section .rich-section-grid>.content-subsection,
  .site-v2026 .focus-section .rich-section-grid>.content-subsection:nth-child(1),
  .site-v2026 .focus-section .rich-section-grid>.content-subsection:nth-child(2),
  .site-v2026 .focus-section .rich-section-grid>.content-subsection:nth-child(3){
    grid-template-columns:34px minmax(0,1fr)!important;
    column-gap:12px!important;
    padding:22px 18px!important;
    border-radius:17px!important;
  }
  .site-v2026 .focus-section .content-subsection-no{
    width:30px!important;
    height:30px!important;
    border-radius:10px!important;
    font-size:.7rem!important;
  }
  .site-v2026 .focus-section .content-subsection-main>h3{
    font-size:1.05rem!important;
    line-height:1.45!important;
  }
  .site-v2026 .focus-section .content-subsection-main>p,
  .site-v2026 .focus-section .content-subitems p{
    font-size:.9rem!important;
    line-height:1.7!important;
  }
}

/* =====================================================================
   BAEUMGYEOL PARENT READABILITY · 2026-08-13
   Target: 30–50s parents / desktop + tablet + mobile
   - Raise body-copy floor without inflating headings
   - Improve line height, contrast and scanability across repeated sections
   - Keep existing Baeumgyeol layout/design language intact
   ===================================================================== */
.site-v2026 .hero-sub,
.site-v2026 .section-lead{
  font-size:clamp(1.04rem,.99rem + .18vw,1.15rem)!important;
  line-height:1.82!important;
  font-weight:450!important;
}
.site-v2026 .section:not(.tone-dark) .section-lead,
.site-v2026 .hero-sub{color:#43534B!important;}

.site-v2026 .prose p,
.site-v2026 .prose li,
.site-v2026 .answer-panel p,
.site-v2026 .visual-card p,
.site-v2026 .answer-text-block p,
.site-v2026 .rich-section-grid .content-subsection p,
.site-v2026 .problem-chip-grid li,
.site-v2026 .section-note,
.site-v2026 .mid-cta p,
.site-v2026 .need-case-card p,
.site-v2026 .guide-item p,
.site-v2026 .method-intro p,
.site-v2026 .check-list dt,
.site-v2026 .check-list dd,
.site-v2026 .faq-answer p,
.site-v2026 .card-body,
.site-v2026 .review-card blockquote p,
.site-v2026 .review-detail,
.site-v2026 .learning-map-lead,
.site-v2026 .learning-map-grid p{
  font-size:clamp(1rem,.97rem + .12vw,1.06rem)!important;
  line-height:1.78!important;
}

.site-v2026 .answer-panel p,
.site-v2026 .visual-card p,
.site-v2026 .answer-text-block p,
.site-v2026 .rich-section-grid .content-subsection p,
.site-v2026 .problem-chip-grid li,
.site-v2026 .section-note,
.site-v2026 .mid-cta p,
.site-v2026 .card-body,
.site-v2026 .learning-map-lead,
.site-v2026 .learning-map-grid p{
  color:#42534B!important;
}

.site-v2026 .rich-section-grid .content-subsection h4,
.site-v2026 .content-subitems h4{
  font-size:1rem!important;
  line-height:1.5!important;
}

.site-v2026 .focus-summary-grid article p,
.site-v2026 .focus-section .content-subsection-main>p,
.site-v2026 .focus-section .content-subitems p{
  color:#42534B!important;
  font-size:clamp(.98rem,.95rem + .12vw,1.04rem)!important;
  line-height:1.76!important;
}

.site-v2026 .problem-chip-grid{
  gap:12px!important;
  margin-bottom:18px!important;
}
.site-v2026 .problem-chip-grid li{
  min-height:62px!important;
  padding:17px 18px!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  column-gap:12px!important;
  align-items:start!important;
}
.site-v2026 .problem-chip-mark{
  width:22px!important;
  height:1.78em!important;
  font-size:1rem!important;
}
.site-v2026 .section-note{
  max-width:850px!important;
  margin-top:4px!important;
}

/* Home finder: keep the approved editorial layout, only raise reading size */
.site-v2026 .home-find-section .section-lead{
  font-size:clamp(1.02rem,.98rem + .14vw,1.12rem)!important;
}
.site-v2026 .find-pane-head p{
  color:#526159!important;
  font-size:.98rem!important;
  line-height:1.72!important;
}
.site-v2026 .find-region-links a,
.site-v2026 .find-subject-links a{
  font-size:.96rem!important;
}
.site-v2026 .find-grade-links strong{font-size:1.04rem!important;}
.site-v2026 .find-grade-links span{
  color:#596961!important;
  font-size:.94rem!important;
  line-height:1.68!important;
}
.site-v2026 .find-more{font-size:.94rem!important;}

/* Dark stage: text must remain visibly bright on green */
.site-v2026 .unified-stage .role-stage-intro>p:last-child,
.site-v2026 .unified-stage .unified-rail p{
  color:#E5EFEA!important;
  opacity:1!important;
  font-size:clamp(1rem,.97rem + .12vw,1.06rem)!important;
  line-height:1.82!important;
  font-weight:500!important;
}

@media(max-width:900px){
  .site-v2026 .problem-chip-grid{grid-template-columns:1fr!important;}
  .site-v2026 .problem-chip-grid li{min-height:auto!important;}
}

@media(max-width:760px){
  .site-v2026 .hero-sub,
  .site-v2026 .section-lead{
    font-size:1rem!important;
    line-height:1.78!important;
  }
  .site-v2026 .prose p,
  .site-v2026 .prose li,
  .site-v2026 .answer-panel p,
  .site-v2026 .visual-card p,
  .site-v2026 .answer-text-block p,
  .site-v2026 .rich-section-grid .content-subsection p,
  .site-v2026 .problem-chip-grid li,
  .site-v2026 .section-note,
  .site-v2026 .mid-cta p,
  .site-v2026 .need-case-card p,
  .site-v2026 .guide-item p,
  .site-v2026 .method-intro p,
  .site-v2026 .check-list dt,
  .site-v2026 .check-list dd,
  .site-v2026 .faq-answer p,
  .site-v2026 .card-body,
  .site-v2026 .review-card blockquote p,
  .site-v2026 .review-detail,
  .site-v2026 .learning-map-lead,
  .site-v2026 .learning-map-grid p,
  .site-v2026 .focus-summary-grid article p,
  .site-v2026 .focus-section .content-subsection-main>p,
  .site-v2026 .focus-section .content-subitems p{
    font-size:1rem!important;
    line-height:1.76!important;
  }
  .site-v2026 .problem-chip-grid li{
    padding:16px 15px!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    column-gap:10px!important;
    border-radius:14px!important;
  }
  .site-v2026 .find-pane-head p{font-size:.96rem!important;line-height:1.7!important;}
  .site-v2026 .find-region-links a,
  .site-v2026 .find-subject-links a{font-size:.94rem!important;}
  .site-v2026 .find-grade-links strong{font-size:1rem!important;}
  .site-v2026 .find-grade-links span{font-size:.92rem!important;line-height:1.65!important;}
}

/* =====================================================================
   BAEUMGYEOL CONTENT READABILITY FINAL · 2026-08-13
   Scope: every content page except the homepage
   Audience: 30–50s parents / desktop + tablet + mobile
   - Keep heading scale and homepage untouched
   - Raise body-copy size/contrast/line-height across content pages
   - Give focus summary cards stable inset and responsive breathing room
   ===================================================================== */

/* Body copy floor: content pages only. Labels/kickers stay intentionally small. */
body.site-v2026:not(.page-home) #main p:not(.eyebrow):not(.section-kicker):not(.editorial-kicker):not(.hero-context-label):not(.learning-map-kicker):not(.role-label):not(.case-tag):not(.diagnosis-ledger-kicker){
  font-size:clamp(1.04rem,1.005rem + .14vw,1.10rem)!important;
  line-height:1.78!important;
  letter-spacing:-.012em!important;
}

body.site-v2026:not(.page-home) #main .hero-sub,
body.site-v2026:not(.page-home) #main .section-lead{
  font-size:clamp(1.08rem,1.03rem + .18vw,1.17rem)!important;
  line-height:1.80!important;
}

body.site-v2026:not(.page-home) #main .prose li,
body.site-v2026:not(.page-home) #main .problem-chip-grid li,
body.site-v2026:not(.page-home) #main .check-list dt,
body.site-v2026:not(.page-home) #main .check-list dd,
body.site-v2026:not(.page-home) #main .info-table th,
body.site-v2026:not(.page-home) #main .info-table td,
body.site-v2026:not(.page-home) #main .card-body,
body.site-v2026:not(.page-home) #main .review-detail,
body.site-v2026:not(.page-home) #main .school-name-list span{
  font-size:clamp(1.02rem,.99rem + .12vw,1.08rem)!important;
  line-height:1.74!important;
}

/* Repeated compact components that were visually too small. */
body.site-v2026:not(.page-home) #main .hero-context-note,
body.site-v2026:not(.page-home) #main .navigator-head p,
body.site-v2026:not(.page-home) #main .combo-grade-head p,
body.site-v2026:not(.page-home) #main .combo-finder-grade p,
body.site-v2026:not(.page-home) #main .local-nav-ledger p,
body.site-v2026:not(.page-home) #main .local-nav-ledger.compact p,
body.site-v2026:not(.page-home) #main .grade-ledger-row p,
body.site-v2026:not(.page-home) #main .subject-index-row p,
body.site-v2026:not(.page-home) #main .case-copy p,
body.site-v2026:not(.page-home) #main .diagnosis-ledger p,
body.site-v2026:not(.page-home) #main .consultant-timeline p,
body.site-v2026:not(.page-home) #main .school-data-note,
body.site-v2026:not(.page-home) #main .learning-map-grid p,
body.site-v2026:not(.page-home) #main .learning-map-lead{
  font-size:clamp(1.01rem,.98rem + .12vw,1.07rem)!important;
  line-height:1.74!important;
}

/* Keep light-background reading copy sufficiently dark. */
body.site-v2026:not(.page-home) #main .section:not(.tone-dark) .section-lead,
body.site-v2026:not(.page-home) #main .section:not(.tone-dark) .card-body,
body.site-v2026:not(.page-home) #main .section:not(.tone-dark) .content-subsection p,
body.site-v2026:not(.page-home) #main .section:not(.tone-dark) .section-note,
body.site-v2026:not(.page-home) #main .section:not(.tone-dark) .school-data-note,
body.site-v2026:not(.page-home) #main .section:not(.tone-dark) .local-nav-ledger p{
  color:#415149!important;
}

/* Focus summary cards: no edge-hugging number and no squeezed copy. */
body.site-v2026:not(.page-home) #main .focus-summary-grid{
  gap:18px!important;
}
body.site-v2026:not(.page-home) #main .focus-summary-grid article,
body.site-v2026:not(.page-home) #main .focus-summary-grid article:first-child,
body.site-v2026:not(.page-home) #main .focus-summary-grid article:last-child{
  grid-template-columns:44px minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:6px!important;
  align-content:start!important;
  min-height:154px!important;
  padding:28px 30px!important;
  box-sizing:border-box!important;
}
body.site-v2026:not(.page-home) #main .focus-summary-grid span{
  width:36px!important;
  height:36px!important;
  margin:0!important;
  align-self:start!important;
  font-size:.74rem!important;
}
body.site-v2026:not(.page-home) #main .focus-summary-grid strong{
  display:block!important;
  padding-top:2px!important;
  font-size:1.16rem!important;
  line-height:1.45!important;
}
body.site-v2026:not(.page-home) #main .focus-summary-grid p{
  margin:7px 0 0!important;
  max-width:38ch!important;
  color:#45554D!important;
  font-size:1.03rem!important;
  line-height:1.72!important;
}

/* Focus detail rows: reading copy stays clear at laptop widths too. */
body.site-v2026:not(.page-home) #main .focus-section .content-subsection-main>p,
body.site-v2026:not(.page-home) #main .focus-section .content-subitems p,
body.site-v2026:not(.page-home) #main .focus-section .focus-banner>p{
  font-size:clamp(1.03rem,1rem + .12vw,1.09rem)!important;
  line-height:1.76!important;
}
body.site-v2026:not(.page-home) #main .focus-section .content-subitems h4{
  font-size:1.02rem!important;
  line-height:1.5!important;
}

@media(max-width:1120px){
  body.site-v2026:not(.page-home) #main .focus-summary-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  body.site-v2026:not(.page-home) #main .focus-summary-grid article,
  body.site-v2026:not(.page-home) #main .focus-summary-grid article:first-child,
  body.site-v2026:not(.page-home) #main .focus-summary-grid article:last-child{
    min-height:auto!important;
    padding:25px 27px!important;
  }
  body.site-v2026:not(.page-home) #main .focus-summary-grid p{max-width:none!important;}
}

@media(max-width:760px){
  body.site-v2026:not(.page-home) #main p:not(.eyebrow):not(.section-kicker):not(.editorial-kicker):not(.hero-context-label):not(.learning-map-kicker):not(.role-label):not(.case-tag):not(.diagnosis-ledger-kicker),
  body.site-v2026:not(.page-home) #main .prose li,
  body.site-v2026:not(.page-home) #main .problem-chip-grid li,
  body.site-v2026:not(.page-home) #main .check-list dt,
  body.site-v2026:not(.page-home) #main .check-list dd,
  body.site-v2026:not(.page-home) #main .info-table th,
  body.site-v2026:not(.page-home) #main .info-table td,
  body.site-v2026:not(.page-home) #main .card-body,
  body.site-v2026:not(.page-home) #main .review-detail,
  body.site-v2026:not(.page-home) #main .school-name-list span{
    font-size:1.03rem!important;
    line-height:1.76!important;
  }
  body.site-v2026:not(.page-home) #main .hero-sub,
  body.site-v2026:not(.page-home) #main .section-lead{
    font-size:1.04rem!important;
    line-height:1.78!important;
  }
  body.site-v2026:not(.page-home) #main .focus-summary-grid article,
  body.site-v2026:not(.page-home) #main .focus-summary-grid article:first-child,
  body.site-v2026:not(.page-home) #main .focus-summary-grid article:last-child{
    grid-template-columns:40px minmax(0,1fr)!important;
    column-gap:14px!important;
    padding:22px 20px!important;
    border-radius:17px!important;
  }
  body.site-v2026:not(.page-home) #main .focus-summary-grid span{
    width:34px!important;
    height:34px!important;
  }
  body.site-v2026:not(.page-home) #main .focus-summary-grid strong{
    font-size:1.10rem!important;
  }
  body.site-v2026:not(.page-home) #main .focus-summary-grid p,
  body.site-v2026:not(.page-home) #main .focus-section .content-subsection-main>p,
  body.site-v2026:not(.page-home) #main .focus-section .content-subitems p,
  body.site-v2026:not(.page-home) #main .focus-section .focus-banner>p{
    font-size:1.03rem!important;
    line-height:1.74!important;
  }
}

/* =========================================================
   BAEUMGYEOL LEARNING INFORMATION V4 · 2026-08-13
   Responsive editorial learning guide
   ========================================================= */
.page-guide-index,.page-guide-post{--guide-ink:#122019;--guide-body:#43534b;--guide-muted:#66756d;--guide-soft:#eef4f0;--guide-line:#d6e0da;--guide-paper:#fbfcfa}
.page-guide-index #main,.page-guide-post #main{background:#f7f7f3}
.page-guide-index .hero,.page-guide-post .hero{background:linear-gradient(180deg,#f7f7f3 0%,#f8f8f5 100%)}
.page-guide-index .hero-copy,.page-guide-post .hero-copy{max-width:920px}
.page-guide-index .hero h1{font-size:clamp(3.2rem,6vw,5.8rem)!important;line-height:1.04!important;letter-spacing:-.055em!important}
.page-guide-post .hero h1{font-size:clamp(2.65rem,5.3vw,5rem)!important;line-height:1.08!important;letter-spacing:-.052em!important;max-width:16ch}
.page-guide-index .hero-sub,.page-guide-post .hero-sub{font-size:clamp(1.02rem,1.5vw,1.18rem)!important;line-height:1.78!important;color:var(--guide-body)!important;max-width:760px}
.page-guide-post .hero-with-context .hero-stage{grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:clamp(36px,7vw,110px)}
.page-guide-post .hero-context{align-self:end}
.page-guide-post .hero-context dl div{padding:15px 0}
.page-guide-post .hero-context dt{font-size:.78rem}.page-guide-post .hero-context dd{font-size:1rem;line-height:1.5}

/* index */
.learning-guide-chips{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 34px}
.learning-guide-chips span{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--guide-line);border-radius:999px;background:#fff;color:#3f5148;font-size:.86rem;font-weight:700}
.learning-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #aebbb4;border-bottom:1px solid #aebbb4}
.learning-guide-card{position:relative;display:flex;flex-direction:column;min-height:360px;padding:36px 40px 34px;border-bottom:1px solid var(--guide-line);background:transparent}
.learning-guide-card:nth-child(odd){border-right:1px solid var(--guide-line)}
.learning-guide-card:nth-last-child(-n+2){border-bottom:0}
.learning-guide-card-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--guide-muted);font-size:.79rem;margin-bottom:18px}
.learning-guide-category{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--guide-soft);color:#185a48;font-weight:800;letter-spacing:.01em}
.learning-guide-card h3{margin:0 0 14px;font-size:clamp(1.28rem,1.7vw,1.6rem);line-height:1.38;letter-spacing:-.025em}
.learning-guide-card h3 a{color:var(--guide-ink);text-decoration:none}
.learning-guide-desc{margin:0;color:var(--guide-body)!important;font-size:1.01rem!important;line-height:1.76!important;max-width:52ch}
.learning-guide-preview{display:grid;gap:8px;margin:22px 0 0;padding:18px 0 0;border-top:1px solid #e1e7e3;list-style:none}
.learning-guide-preview li{position:relative;padding-left:18px;color:#53625b;font-size:.93rem;line-height:1.65}
.learning-guide-preview li:before{content:'•';position:absolute;left:2px;top:0;color:#1b6b55;font-weight:900}
.learning-guide-link{display:inline-flex;align-items:center;gap:9px;margin-top:auto;padding-top:26px;color:#155847;font-size:.92rem;font-weight:800;text-decoration:none}
.learning-guide-link:hover{text-decoration:underline}

/* post article */
.page-guide-post .section:has(.guide-article){padding-top:clamp(46px,7vw,88px);padding-bottom:clamp(64px,9vw,120px)}
.guide-article{max-width:1080px;margin:0 auto}
.guide-article-intro{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr);gap:clamp(26px,5vw,70px);padding:0 0 50px;border-bottom:1px solid #aebbb4}
.guide-small-label{display:block;margin-bottom:12px;color:#17614e;font-size:.76rem;font-weight:850;letter-spacing:.13em}
.guide-intro-summary p{margin:0;color:var(--guide-ink)!important;font-size:clamp(1.22rem,2vw,1.55rem)!important;line-height:1.7!important;font-weight:650;letter-spacing:-.018em;max-width:35ch}
.guide-key-points{padding:24px 26px;border-radius:20px;background:#eef4f0}
.guide-key-points>p{margin:0 0 13px;color:#165847!important;font-size:.88rem!important;font-weight:850}
.guide-key-points ul{display:grid;gap:11px;margin:0;padding:0;list-style:none}
.guide-key-points li{position:relative;padding-left:22px;color:#35463e;font-size:1rem;line-height:1.62}
.guide-key-points li:before{content:'✓';position:absolute;left:0;color:#17614e;font-weight:900}
.guide-toc{display:grid;grid-template-columns:160px 1fr;gap:34px;padding:34px 0;border-bottom:1px solid var(--guide-line)}
.guide-toc>p{margin:4px 0 0;color:#185a48!important;font-size:.82rem!important;font-weight:850;letter-spacing:.08em}
.guide-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0;padding:0;list-style:none}
.guide-toc li{border-bottom:1px solid #e0e6e2}
.guide-toc li:nth-last-child(-n+2){border-bottom:0}
.guide-toc a{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:11px 0;color:#34453d;text-decoration:none;font-size:.94rem;line-height:1.5}
.guide-toc a span{color:#718078;font-size:.74rem;font-weight:800;padding-top:2px}
.guide-toc a:hover{color:#165847}
.guide-article-sections{display:grid;margin-top:14px}
.guide-article-section{display:grid;grid-template-columns:70px minmax(0,1fr);gap:28px;padding:50px 0;border-bottom:1px solid var(--guide-line);scroll-margin-top:90px}
.guide-section-no{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-left:4px;border-radius:14px;background:#edf4ef;color:#155847;font-size:.78rem;font-weight:850}
.guide-section-copy{max-width:790px}
.guide-section-copy h2{margin:0 0 18px;color:var(--guide-ink);font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.32;letter-spacing:-.035em}
.guide-section-copy>p{margin:0;color:var(--guide-body)!important;font-size:1.06rem!important;line-height:1.86!important;max-width:70ch}
.guide-detail-list{display:grid;gap:10px;margin:24px 0 0;padding:20px 22px;border-radius:16px;background:#f0f4f1;list-style:none}
.guide-detail-list li{position:relative;padding-left:20px;color:#3d4e45;font-size:1rem;line-height:1.7}
.guide-detail-list li:before{content:'—';position:absolute;left:0;color:#17614e;font-weight:800}
.guide-check-panel{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(26px,5vw,64px);margin:70px 0 20px;padding:40px 42px;border-radius:24px;background:#174c3e;color:#fff}
.guide-check-panel h2{margin:0 0 14px;color:#fff;font-size:clamp(1.6rem,2.7vw,2.2rem);line-height:1.3;letter-spacing:-.035em}
.guide-check-panel>div>p{margin:0;color:rgba(255,255,255,.78)!important;font-size:.98rem!important;line-height:1.72!important}
.guide-check-panel .guide-small-label{color:#b9dbce}
.guide-check-panel ul{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.26)}
.guide-check-panel li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18);color:#f6faf8;font-size:1rem;line-height:1.55}
.guide-check-panel li span{color:#bce0d2;font-weight:900}
.guide-faq-block{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(32px,6vw,80px);padding:70px 0 10px}
.guide-faq-head h2{margin:0;color:var(--guide-ink);font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.25;letter-spacing:-.035em}
.guide-faq-list{border-top:1px solid #9eaaa4}
.guide-faq-list details{border-bottom:1px solid var(--guide-line)}
.guide-faq-list summary{position:relative;cursor:pointer;list-style:none;padding:20px 44px 20px 0;color:var(--guide-ink);font-size:1.03rem;font-weight:750;line-height:1.55}
.guide-faq-list summary::-webkit-details-marker{display:none}
.guide-faq-list summary:after{content:'+';position:absolute;right:4px;top:18px;color:#17614e;font-size:1.3rem;font-weight:500}
.guide-faq-list details[open] summary:after{content:'−'}
.guide-faq-list details p{margin:0;padding:0 48px 22px 0;color:var(--guide-body)!important;font-size:1rem!important;line-height:1.8!important;max-width:68ch}

@media (max-width:1024px){
  .page-guide-post .hero-with-context .hero-stage{grid-template-columns:1fr}.page-guide-post .hero-context{max-width:620px}
  .learning-guide-card{padding:30px 28px}.guide-article-intro{grid-template-columns:1fr}.guide-key-points{max-width:760px}
  .guide-check-panel{grid-template-columns:1fr}.guide-faq-block{grid-template-columns:1fr}.guide-faq-head{max-width:640px}
}
@media (max-width:760px){
  .page-guide-index .hero h1{font-size:clamp(2.7rem,15vw,4.2rem)!important}.page-guide-post .hero h1{font-size:clamp(2.1rem,10.8vw,3.35rem)!important;max-width:none}
  .page-guide-index .hero-sub,.page-guide-post .hero-sub{font-size:1rem!important;line-height:1.72!important}
  .learning-guide-chips{gap:7px;margin-bottom:24px}.learning-guide-chips span{min-height:35px;padding:0 11px;font-size:.8rem}
  .learning-guide-grid{grid-template-columns:1fr}.learning-guide-card,.learning-guide-card:nth-child(odd){min-height:0;padding:28px 0;border-right:0;border-bottom:1px solid var(--guide-line)}.learning-guide-card:last-child{border-bottom:0}
  .learning-guide-card-meta{margin-bottom:14px}.learning-guide-card h3{font-size:1.3rem}.learning-guide-desc{font-size:1rem!important;line-height:1.75!important}.learning-guide-preview{margin-top:18px}.learning-guide-link{padding-top:20px}
  .page-guide-post .section:has(.guide-article){padding-top:38px;padding-bottom:72px}.guide-article-intro{gap:22px;padding-bottom:32px}.guide-intro-summary p{font-size:1.18rem!important;line-height:1.68!important}.guide-key-points{padding:20px 18px;border-radius:16px}.guide-key-points li{font-size:.98rem}
  .guide-toc{grid-template-columns:1fr;gap:10px;padding:26px 0}.guide-toc ol{grid-template-columns:1fr}.guide-toc li:nth-last-child(2){border-bottom:1px solid #e0e6e2}.guide-toc li:last-child{border-bottom:0}
  .guide-article-section{grid-template-columns:1fr;gap:16px;padding:38px 0}.guide-section-no{width:42px;height:42px;margin-left:0}.guide-section-copy h2{font-size:1.45rem;margin-bottom:14px}.guide-section-copy>p{font-size:1.02rem!important;line-height:1.82!important}.guide-detail-list{padding:17px 17px;margin-top:20px}.guide-detail-list li{font-size:.98rem;line-height:1.68}
  .guide-check-panel{margin-top:48px;padding:28px 20px;border-radius:18px}.guide-check-panel h2{font-size:1.55rem}.guide-check-panel li{font-size:.98rem}
  .guide-faq-block{padding-top:52px;gap:20px}.guide-faq-head h2{font-size:1.65rem}.guide-faq-list summary{font-size:1rem;padding:18px 38px 18px 0}.guide-faq-list details p{padding-right:0;font-size:.98rem!important;line-height:1.78!important}
}
@media (max-width:430px){
  .page-guide-index .hero-inner,.page-guide-post .hero-inner{padding-left:18px;padding-right:18px}
  .guide-article-section{padding:34px 0}.guide-section-copy>p{font-size:1rem!important}.guide-detail-list li{font-size:.96rem}
}

/* =====================================================================
   BAEUMGYEOL VISUAL RHYTHM + CONTRAST FINAL · 2026-08-13
   - Preserve the approved Baeumgyeol visual language
   - Improve dark-surface contrast
   - Turn plain heading/body stacks into readable editorial structures
   - Responsive: desktop / tablet / mobile
   ===================================================================== */

/* 1) Dark surfaces: explicit high contrast. Never inherit dark body copy. */
.site-v2026 .tone-dark,
.site-v2026 .learning-map,
.site-v2026 .signal-core,
.site-v2026 .consultant-diagnosis-main,
.site-v2026 .home-guide-main,
.site-v2026 .case-cta,
.site-v2026 .need-case-bottom,
.site-v2026 .guide-check-panel,
.site-v2026 .unified-stage,
.site-v2026 .cta-band{
  color:#F7FBF8!important;
}
.site-v2026 .tone-dark h1,.site-v2026 .tone-dark h2,.site-v2026 .tone-dark h3,.site-v2026 .tone-dark h4,.site-v2026 .tone-dark strong,
.site-v2026 .learning-map h1,.site-v2026 .learning-map h2,.site-v2026 .learning-map h3,.site-v2026 .learning-map .learning-map-title,
.site-v2026 .signal-core h1,.site-v2026 .signal-core h2,.site-v2026 .signal-core h3,.site-v2026 .signal-core strong,
.site-v2026 .consultant-diagnosis-main h1,.site-v2026 .consultant-diagnosis-main h2,.site-v2026 .consultant-diagnosis-main h3,.site-v2026 .consultant-diagnosis-main strong,
.site-v2026 .home-guide-main h1,.site-v2026 .home-guide-main h2,.site-v2026 .home-guide-main h3,.site-v2026 .home-guide-main strong,
.site-v2026 .case-cta h1,.site-v2026 .case-cta h2,.site-v2026 .case-cta h3,.site-v2026 .case-cta strong,
.site-v2026 .need-case-bottom h1,.site-v2026 .need-case-bottom h2,.site-v2026 .need-case-bottom h3,.site-v2026 .need-case-bottom strong,
.site-v2026 .guide-check-panel h1,.site-v2026 .guide-check-panel h2,.site-v2026 .guide-check-panel h3,.site-v2026 .guide-check-panel strong,
.site-v2026 .unified-stage h1,.site-v2026 .unified-stage h2,.site-v2026 .unified-stage h3,.site-v2026 .unified-stage strong,
.site-v2026 .cta-band h1,.site-v2026 .cta-band h2,.site-v2026 .cta-band h3,.site-v2026 .cta-band strong{
  color:#FFFDF8!important;
}
.site-v2026 .tone-dark p,.site-v2026 .tone-dark li,.site-v2026 .tone-dark dd,
.site-v2026 .learning-map p,.site-v2026 .learning-map li,.site-v2026 .learning-map .learning-map-lead,
.site-v2026 .signal-core p,.site-v2026 .signal-core li,.site-v2026 .signal-core dd,
.site-v2026 .consultant-diagnosis-main p,.site-v2026 .consultant-diagnosis-main li,
.site-v2026 .home-guide-main p,.site-v2026 .home-guide-main li,
.site-v2026 .case-cta p,.site-v2026 .case-cta li,
.site-v2026 .need-case-bottom p,.site-v2026 .need-case-bottom li,
.site-v2026 .guide-check-panel p,.site-v2026 .guide-check-panel li,
.site-v2026 .unified-stage p,.site-v2026 .unified-stage li,
.site-v2026 .cta-band p,.site-v2026 .cta-band li{
  color:#E6F0EB!important;
  opacity:1!important;
}
.site-v2026 .tone-dark small,.site-v2026 .tone-dark .section-kicker,.site-v2026 .tone-dark .editorial-kicker,
.site-v2026 .learning-map .learning-map-kicker,.site-v2026 .learning-map .learning-map-index,
.site-v2026 .guide-check-panel .guide-small-label,
.site-v2026 .signal-core .case-tag{
  color:#BFD8CD!important;
  opacity:1!important;
}

/* 2) Plain direct prose: editorial rhythm instead of floating text. */
body.site-v2026.page-content #main>.section:not(.tone-dark)>.wrap>.prose{
  position:relative;
  max-width:980px;
  margin-top:8px;
  padding:28px 0 30px 28px;
  border-top:1px solid #C8D2CC;
  border-bottom:1px solid #D9E0DC;
}
body.site-v2026.page-content #main>.section:not(.tone-dark)>.wrap>.prose:before{
  content:"";
  position:absolute;
  left:0;
  top:30px;
  width:3px;
  height:54px;
  border-radius:99px;
  background:#1B6653;
}
body.site-v2026.page-content #main>.section:not(.tone-dark)>.wrap>.prose>p:first-child{
  margin-top:0!important;
}
body.site-v2026.page-content #main>.section:not(.tone-dark)>.wrap>.prose>p:last-child{
  margin-bottom:0!important;
}

/* 3) Intro copy for grade/subject pages: compact editorial rail. */
.editorial-reading-intro{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:clamp(24px,4vw,64px);
  align-items:start;
  max-width:1080px;
  padding:30px 0;
  border-top:1px solid #AEBBB4;
  border-bottom:1px solid #D3DBD6;
}
.editorial-reading-intro>span{
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:5px;
  color:#155847;
  font-size:.82rem;
  line-height:1.4;
  font-weight:850;
  letter-spacing:.04em;
}
.editorial-reading-intro>span:before{
  content:"";
  width:28px;
  height:2px;
  flex:0 0 auto;
  background:#155847;
}
.editorial-reading-intro>p{
  margin:0!important;
  max-width:75ch;
  color:#33443C!important;
  font-size:clamp(1.08rem,1.02rem + .18vw,1.16rem)!important;
  line-height:1.86!important;
  letter-spacing:-.014em!important;
}

/* 4) Repeated 'subheading + description' content becomes a calm card grid. */
.editorial-topic-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}
.editorial-topic-card{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:0 18px;
  min-height:168px;
  padding:30px 32px;
  border:1px solid #D5DED8;
  border-radius:22px;
  background:#FFF;
  box-shadow:0 12px 30px rgba(29,63,51,.035);
}
.editorial-topic-no{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-top:1px;
  border-radius:13px;
  background:#EDF4F0;
  color:#155847;
  font-size:.75rem;
  font-weight:850;
  letter-spacing:.04em;
}
.editorial-topic-card h3{
  margin:2px 0 10px!important;
  color:#101A16!important;
  font-size:clamp(1.15rem,1.08rem + .2vw,1.28rem)!important;
  line-height:1.42!important;
  font-weight:820!important;
}
.editorial-topic-card p{
  margin:0!important;
  max-width:54ch;
  color:#43544C!important;
  font-size:clamp(1.03rem,1rem + .1vw,1.09rem)!important;
  line-height:1.78!important;
}

/* 5) Long information sections: number / title / copy as an editorial ledger. */
.editorial-longform{
  max-width:1120px;
  border-top:1px solid #AEBBB4;
}
.editorial-longform-section{
  display:grid;
  grid-template-columns:52px minmax(220px,.62fr) minmax(0,1.38fr);
  gap:24px clamp(28px,4vw,58px);
  align-items:start;
  padding:44px 0;
  border-bottom:1px solid #D2DAD5;
}
.editorial-longform-no{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  margin-left:4px;
  border-radius:13px;
  background:#EDF4F0;
  color:#155847;
  font-size:.74rem;
  font-weight:850;
}
.editorial-longform-head h2{
  margin:2px 0 0!important;
  color:#101A16!important;
  font-size:clamp(1.32rem,1.12rem + .55vw,1.72rem)!important;
  line-height:1.36!important;
  letter-spacing:-.03em!important;
}
.editorial-longform-body>p{
  margin:0!important;
  color:#3D4E46!important;
  font-size:clamp(1.05rem,1.01rem + .12vw,1.11rem)!important;
  line-height:1.84!important;
}
.editorial-longform-subitems{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}
.editorial-longform-subitems article{
  padding:20px 22px;
  border:1px solid #DCE4DF;
  border-radius:16px;
  background:#F8FAF8;
}
.editorial-longform-subitems h3{
  margin:0 0 8px!important;
  color:#173D32!important;
  font-size:1.02rem!important;
  line-height:1.45!important;
}
.editorial-longform-subitems p{
  margin:0!important;
  color:#485950!important;
  font-size:1rem!important;
  line-height:1.72!important;
}

/* 6) Guide pages: stronger surface separation without over-boxing. */
.page-guide-post .guide-article-section:nth-child(even) .guide-section-copy{
  position:relative;
}
.page-guide-post .guide-article-section:nth-child(even) .guide-section-copy:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-18px -22px;
  border-radius:18px;
  background:#F6F8F5;
}
.page-guide-post .guide-key-points{
  border:1px solid #D5E0DA;
}
.page-guide-post .guide-detail-list{
  border:1px solid #DDE5E0;
}

@media(max-width:1024px){
  .editorial-topic-grid{grid-template-columns:1fr;gap:14px}
  .editorial-topic-card{min-height:auto;padding:26px 28px}
  .editorial-longform-section{grid-template-columns:46px minmax(0,1fr);gap:14px 20px;padding:38px 0}
  .editorial-longform-head{grid-column:2}
  .editorial-longform-body{grid-column:2}
  .editorial-longform-subitems{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
  body.site-v2026.page-content #main>.section:not(.tone-dark)>.wrap>.prose{
    padding:22px 0 24px 20px;
  }
  body.site-v2026.page-content #main>.section:not(.tone-dark)>.wrap>.prose:before{
    top:24px;height:46px;width:2px;
  }
  .editorial-reading-intro{
    grid-template-columns:1fr;
    gap:14px;
    padding:24px 0;
  }
  .editorial-reading-intro>span{padding-top:0}
  .editorial-reading-intro>p{
    font-size:1.04rem!important;
    line-height:1.82!important;
  }
  .editorial-topic-grid{margin-top:26px}
  .editorial-topic-card{
    grid-template-columns:40px minmax(0,1fr);
    gap:0 14px;
    padding:24px 20px;
    border-radius:18px;
  }
  .editorial-topic-no{width:34px;height:34px;border-radius:11px}
  .editorial-topic-card h3{font-size:1.12rem!important}
  .editorial-topic-card p{font-size:1.02rem!important;line-height:1.74!important}
  .editorial-longform-section{
    grid-template-columns:38px minmax(0,1fr);
    gap:12px 12px;
    padding:32px 0;
  }
  .editorial-longform-no{width:34px;height:34px;margin-left:0;border-radius:11px}
  .editorial-longform-head h2{font-size:1.28rem!important}
  .editorial-longform-body>p{font-size:1.03rem!important;line-height:1.8!important}
  .editorial-longform-subitems{grid-template-columns:1fr;gap:10px;margin-top:18px}
  .editorial-longform-subitems article{padding:18px 17px}
  .page-guide-post .guide-article-section:nth-child(even) .guide-section-copy:before{inset:-14px -12px}
}

@media(max-width:430px){
  .editorial-topic-card{padding:22px 18px}
  .editorial-longform-section{padding:28px 0}
}



/* ==========================================================
   BAEUMGYEOL LEARNING MAP COLOR-ONLY FIX · 2026-08-13
   IMPORTANT: COLOR ONLY. No layout / spacing / background changes.
   The learning-map surface is light/transparent in the current theme,
   so its copy must use dark, high-contrast text.
   ========================================================== */
.site-v2026 .learning-map{
  color:#14211B!important;
}
.site-v2026 .learning-map h1,
.site-v2026 .learning-map h2,
.site-v2026 .learning-map h3,
.site-v2026 .learning-map h4,
.site-v2026 .learning-map .learning-map-title,
.site-v2026 .learning-map strong{
  color:#102019!important;
}
.site-v2026 .learning-map p,
.site-v2026 .learning-map li,
.site-v2026 .learning-map dd,
.site-v2026 .learning-map .learning-map-lead,
.site-v2026 .learning-map .learning-map-grid p{
  color:#34463D!important;
  opacity:1!important;
}
.site-v2026 .learning-map .learning-map-kicker,
.site-v2026 .learning-map .learning-map-index{
  color:#17624F!important;
  opacity:1!important;
}
