/* ═══════════════════════════════════════════════════════════
   이루리 2026 — 과목별/상세 페이지 공통 스타일
   CONCEPT C "진단 차트 · 성분표" (처방형 브랜드 메타포)
   home_v3 EDITORIAL MINIMAL 정합 — 토큰·폰트·paper-grain·nav·footer 1:1.
   8 페이지 공유 (korean·math·english·science·society·inmoon·surisuri·consulting + label·namu 크롬)
   ※ 클래스명·HTML 구조 보존 — 콘텐츠/스키마 무영향. 카드→헤어라인 재스킨, 번호=CSS counter.
   라벨 uppercase · 숫자 tnum · 좌우 대조 · 헤어라인 타임라인이 시그니처.
═══════════════════════════════════════════════════════════ */

@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@300;400;500;600;700;900&display=swap');

:root{
  --green:#006241; --green-deep:#004a31; --green-soft:#e7efe9;
  --gold:#c5a572;        /* bright gold — hairlines · borders · dots only (decorative, WCAG-exempt) */
  --gold-ink:#806a26;    /* deep gold — gold TEXT & logo on light bg (cream 5.06 · bg-alt 4.82 = AA, WCAG 2026-06-07) */
  --navy:#0d1b2a; --ink:#1c2b25; --muted:#5b6b62;
  --bg:#fcfbf8; --bg-alt:#f4f6f2; --line:rgba(20,40,30,.10); --white:#fff;
  --serif:"Noto Serif KR", serif;
  --sans:"Pretendard Variable", Pretendard, system-ui, -apple-system, "Apple SD Gothic Neo", sans-serif;
  --pad-x:clamp(20px, 6vw, 120px);
  --maxw:1380px;
  /* 호환 별칭 (기존 클래스가 참조) */
  --iruri-bg:#fcfbf8; --iruri-bg-alt:#f4f6f2; --iruri-bg-card:#fff;
  --iruri-border:var(--line); --iruri-border-strong:rgba(20,40,30,.16);
  --iruri-text:var(--ink); --iruri-text-mute:var(--muted); --iruri-text-dim:#5b6b62; /* dim→muted: #8a978f(2.9:1) 폐기, AA (WCAG 2026-06-07) */
  --iruri-gold:var(--gold); --iruri-gold-light:#b8915a;
  --course-accent:var(--green); --course-tag-bg:var(--green-soft);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:84px; -webkit-text-size-adjust:100%; }
img{ max-width:100%; height:auto; display:block; }
svg{ display:inline-block; vertical-align:middle; }
a svg, button svg{ flex-shrink:0; }
svg:not([width]):not([height]){ width:16px; height:16px; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; border:0; background:none; }
:focus-visible{ outline:2px solid var(--green); outline-offset:3px; border-radius:2px; }

body{
  background:var(--bg); color:var(--ink);
  font-family:var(--sans);
  font-size:16px; line-height:1.7; word-break:keep-all;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  font-feature-settings:"tnum" 1, "ss01" 1;
}
/* subtle paper grain */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:9999;
  opacity:.035; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection{ background:var(--green); color:var(--bg); }

.container, .wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad-x); }
.br-d{ } @media(max-width:680px){ .br-d{ display:none; } }

/* small refined eyebrow label */
.eyebrow{ font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); }
.eyebrow .dot{ display:inline-block; width:4px; height:4px; border-radius:50%; background:var(--gold); vertical-align:middle; margin:0 .7em; transform:translateY(-1px); }
.hr-gold{ height:1px; background:var(--gold); opacity:.55; border:0; }
.hr-line{ height:1px; background:var(--line); border:0; }

/* ═══════════════════ NAV (home_v3 정합) ═══════════════════ */
.nav{ position:sticky; top:0; z-index:100; background:rgba(252,251,248,.78); backdrop-filter:saturate(150%) blur(14px); -webkit-backdrop-filter:saturate(150%) blur(14px); border-bottom:1px solid var(--line); transition:border-color .4s ease, background .4s ease; }
.nav-in{ max-width:var(--maxw); margin-inline:auto; padding:0 var(--pad-x); height:74px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand{ display:flex; align-items:baseline; gap:11px; line-height:1; }
.brand .ko{ font-family:var(--serif); font-weight:600; font-size:22px; letter-spacing:-.02em; color:var(--ink); }
.brand .en{ font-family:var(--sans); font-weight:600; font-size:10px; letter-spacing:.32em; color:var(--muted); padding-left:11px; border-left:1px solid var(--line); transform:translateY(-1px); }
.brand .en b{ color:var(--green); font-weight:700; }
.brand .mark{ width:27px; height:28px; flex:0 0 auto; align-self:center; background:var(--gold-ink); -webkit-mask:url("/shared/iruri_symbol.png") center / contain no-repeat; mask:url("/shared/iruri_symbol.png") center / contain no-repeat; }
.nav-links{ display:flex; align-items:center; gap:34px; }
.nav-links a.lk{ font-size:13.5px; font-weight:500; color:var(--muted); letter-spacing:-.01em; position:relative; padding:6px 0; transition:color .25s ease; }
.nav-links a.lk::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--green); transition:width .3s ease; }
.nav-links a.lk:hover{ color:var(--ink); } .nav-links a.lk:hover::after{ width:100%; }
.cta-nav{ font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:.01em; color:var(--bg); background:var(--green); padding:11px 22px; border-radius:2px; display:inline-flex; align-items:center; gap:9px; transition:background .28s ease, transform .28s ease; }
.cta-nav .arr{ transition:transform .28s ease; }
.cta-nav:hover{ background:var(--green-deep); } .cta-nav:hover .arr{ transform:translateX(3px); }
@media(max-width:880px){ .nav-links a.lk{ display:none; } }
/* nav dropdowns */
.nav-item{ position:relative; display:flex; align-items:center; }
.nav-item > .lk{ display:inline-flex; align-items:center; gap:5px; cursor:pointer; }
.caret{ font-size:9px; color:var(--gold-ink); transform:translateY(1px); transition:transform .25s ease; }
.nav-item:hover .caret{ transform:translateY(1px) rotate(180deg); }
.subm{ position:absolute; top:calc(100% + 2px); left:50%; transform:translateX(-50%) translateY(8px); background:var(--white); border:1px solid var(--line); border-top:2px solid var(--green); border-radius:2px; padding:8px 0; min-width:186px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease, transform .22s ease; z-index:120; }
.nav-item:hover .subm, .nav-item:focus-within .subm{ opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.subm a{ display:block; padding:9px 22px; font-size:13px; font-weight:500; color:var(--muted); letter-spacing:-.01em; white-space:nowrap; transition:color .18s ease, background .18s ease; }
.subm a:hover{ color:var(--green); background:var(--bg-alt); }
.subm a.is-current{ color:var(--green); font-weight:600; box-shadow:inset 2px 0 0 var(--green); }
.nav-burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; padding:8px; cursor:pointer; }
.nav-burger span{ width:22px; height:1.5px; background:var(--ink); transition:.3s ease; display:block; }
.nav-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.nav-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }
@media(max-width:880px){
  .nav-burger{ display:flex; }
  .nav-links{ position:fixed; top:74px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:var(--bg); border-bottom:1px solid var(--line); padding:6px var(--pad-x) 26px; max-height:calc(100vh - 74px); overflow:auto; transform:translateY(-12px); opacity:0; visibility:hidden; transition:.28s ease; }
  .nav-links.open{ transform:translateY(0); opacity:1; visibility:visible; }
  .nav-links a.lk{ display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); font-size:15px; color:var(--ink); }
  .nav-item{ flex-direction:column; align-items:stretch; }
  .subm{ position:static; transform:none; opacity:1; visibility:visible; pointer-events:auto; border:0; border-top:0; padding:2px 0 12px 14px; min-width:0; background:none; }
  .subm a{ padding:8px 0; font-size:13.5px; } .subm a.is-current{ box-shadow:none; }
  .cta-nav{ margin-top:18px; justify-content:center; }
}

/* ═══════════════════ BREADCRUMB (진료 차트 톤) ═══════════════════ */
.breadcrumb{ padding:clamp(20px,2.6vw,32px) 0 clamp(6px,1vw,12px); font-size:11px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
.breadcrumb a + a, .breadcrumb a + span{ }
.breadcrumb a{ color:var(--muted); transition:color .2s ease; }
.breadcrumb a:hover{ color:var(--green); }
.breadcrumb span{ color:var(--ink); }

/* ═══════════════════ COURSE HERO — 진단 헤더 (진료 차트) ═══════════════════ */
.course-hero{ position:relative; padding:clamp(18px,2.6vw,34px) 0 clamp(48px,7vw,92px); overflow:hidden; }
/* oversized serif glyph in deep margin — 과목별 상징, body class 기준 */
.course-hero::before{
  content:"利"; position:absolute; top:-1vw; right:-1vw;
  font-family:var(--serif); font-weight:300; font-size:clamp(190px,28vw,440px);
  line-height:.8; color:var(--green); opacity:.035; pointer-events:none; user-select:none; z-index:0;
}
body.course-korean   .course-hero::before{ content:"語"; }
body.course-math     .course-hero::before{ content:"數"; }
body.course-english  .course-hero::before{ content:"英"; }
body.course-science  .course-hero::before{ content:"科"; }
body.course-society  .course-hero::before{ content:"史"; }
body.course-inmoon   .course-hero::before{ content:"文"; }
body.course-surisuri .course-hero::before{ content:"析"; }
body.course-consulting .course-hero::before{ content:"利"; }
.course-hero__inner{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) clamp(280px,32vw,400px); grid-template-areas:"tag tag" "title meta" "lede meta"; gap:0 clamp(30px,5vw,84px); align-items:end; max-width:none; }
/* hero meta 없는 과목(science 등) — 1열 전폭, 우측 빈 컬럼 방지 */
.course-hero__inner:not(:has(.course-hero__meta)){ grid-template-columns:1fr; grid-template-areas:"tag" "title" "lede"; }
/* tag → diagnosis label */
.course-hero__tag{ grid-area:tag; display:inline-flex; align-items:center; gap:0; width:max-content; font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-ink); background:none; padding:0; margin-bottom:clamp(22px,3vw,38px); border-radius:0; }
.course-hero__tag::before{ content:""; display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--gold); margin-right:.9em; transform:translateY(-1px); }
.course-hero__title{ grid-area:title; font-family:var(--serif); font-weight:600; font-size:clamp(38px,6.6vw,90px); line-height:1.22; letter-spacing:-.035em; color:var(--ink); margin-bottom:clamp(18px,2.2vw,28px); }
.course-hero__title em{ font-style:normal; color:var(--green); }
.course-hero__lede{ grid-area:lede; font-family:var(--serif); font-weight:400; font-size:clamp(16px,1.85vw,22px); line-height:1.7; letter-spacing:-.01em; color:var(--muted); max-width:42ch; margin-bottom:0; }
/* meta → chart-meta box (진료 차트 헤더) */
.course-hero__meta{ grid-area:meta; display:block; align-self:end; border-top:2px solid var(--gold); border-bottom:0; padding:0; gap:0; font-feature-settings:"tnum" 1; }
.course-hero__meta-item{ display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:baseline; padding:14px 0; border-bottom:1px solid var(--line); font-size:inherit; }
.course-hero__meta-item:last-child{ border-bottom:0; }
.course-hero__meta-label{ display:block; margin:0; font-size:10.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); white-space:nowrap; }
.course-hero__meta-value{ font-family:var(--serif); font-size:clamp(14.5px,1.4vw,16.5px); font-weight:500; letter-spacing:-.01em; line-height:1.45; color:var(--ink); text-align:right; }
@media(max-width:820px){
  .course-hero__inner{ grid-template-columns:1fr; grid-template-areas:"tag" "title" "lede" "meta"; gap:0; }
  .course-hero__meta{ margin-top:36px; }
}

/* ═══════════════════ SECTION SHELL ═══════════════════ */
main{ counter-reset:sec; }
.section{ padding:clamp(64px,9vw,124px) 0; }
.section--alt{ background:var(--bg-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section--bordered{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
/* section head → sec-head (번호=counter — head 있는 섹션만 증가해 번호 점프 방지) */
.section__head{ display:grid; grid-template-columns:auto 1fr; gap:clamp(20px,4vw,56px); align-items:baseline; margin-bottom:clamp(40px,5vw,68px); max-width:none; counter-increment:sec; }
.section__head::before{ content:counter(sec,decimal-leading-zero); font-family:var(--serif); font-weight:300; font-size:clamp(34px,4.4vw,56px); color:var(--gold-ink); line-height:1; letter-spacing:-.02em; }
.section__head--center{ display:block; text-align:center; }
.section__head--center::before{ display:block; margin:0 auto 14px; }
.section__eyebrow{ display:block; font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; }
.section__title{ font-family:var(--serif); font-weight:600; font-size:clamp(26px,3.6vw,44px); line-height:1.3; letter-spacing:-.03em; color:var(--ink); margin-bottom:0; }
.section__title em{ font-style:normal; color:var(--green); }
.section__lede{ font-size:15px; line-height:1.78; letter-spacing:-.01em; color:var(--muted); max-width:54ch; margin-top:18px; }
.section__head--center .section__lede{ margin-left:auto; margin-right:auto; }
/* head 둘째 칼럼 묶기: eyebrow+title+lede가 head 자식이라 grid 흐름 보정 */
.section__head > .section__eyebrow,
.section__head > .section__title,
.section__head > .section__lede{ grid-column:2; }
.section__head--center > *{ grid-column:auto; }

/* ═══════════════════ PROBLEMS — 증상↔처방 대조표 ═══════════════════ */
.problems{ margin-bottom:0; }
.problems__list{ display:block; max-width:none; border-top:2px solid var(--gold); counter-reset:dxr; }
.problems__item{
  display:grid; grid-template-columns:clamp(44px,5vw,72px) minmax(0,1fr) minmax(0,1fr);
  gap:clamp(18px,3.4vw,48px); align-items:start;
  background:none; border:0; border-bottom:1px solid var(--line); border-left:0; border-radius:0;
  box-shadow:none; padding:clamp(28px,3.6vw,44px) 0; counter-increment:dxr; transition:background .4s ease;
}
.problems__item:hover{ background:var(--bg-alt); }
.problems__item::before{
  content:counter(dxr,decimal-leading-zero); font-family:var(--serif); font-weight:300;
  font-size:clamp(30px,4vw,52px); line-height:.9; color:var(--gold-ink); letter-spacing:-.02em; font-feature-settings:"tnum" 1;
}
.problems__quote{ font-family:var(--serif); font-weight:500; font-size:clamp(17px,2vw,23px); line-height:1.5; letter-spacing:-.02em; color:var(--ink); }
.problems__answer{ font-size:15px; line-height:1.72; letter-spacing:-.01em; color:var(--green); margin-top:0; font-weight:400; padding-top:3px; }
.problems__answer::before{ content:'Rx → '; font-family:var(--serif); font-weight:600; color:var(--green); letter-spacing:.02em; }
@media(max-width:760px){
  .problems__item{ grid-template-columns:1fr; gap:14px; padding:30px 0; }
  .problems__item::before{ font-size:32px; }
  .problems__answer{ border-top:1px solid var(--line); padding-top:16px; }
}

/* ═══════════════════ STEPS — 처방 단계 타임라인 ═══════════════════ */
.steps__grid{ display:block; position:relative; border-top:1px solid var(--line); padding-left:clamp(28px,4vw,56px); counter-reset:step; }
.steps__grid::before{ content:""; position:absolute; left:clamp(8px,1.4vw,20px); top:0; bottom:0; width:1px; background:var(--line); }
.step-card{
  position:relative; display:grid; grid-template-columns:auto 1fr; column-gap:clamp(18px,3vw,40px);
  align-items:start; background:none; border:0; border-bottom:1px solid var(--line); border-radius:0;
  box-shadow:none; padding:clamp(30px,4vw,46px) 0; counter-increment:step;
}
.step-card:last-child{ border-bottom:0; }
.step-card::before{ content:""; position:absolute; left:calc(-1 * clamp(28px,4vw,56px) + clamp(8px,1.4vw,20px) - 4px); top:clamp(34px,4.2vw,50px); width:9px; height:9px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px var(--bg); }
.step-card__num{ grid-row:1 / 3; font-family:var(--serif); font-weight:300; font-size:clamp(34px,4.6vw,60px); line-height:.9; color:var(--gold-ink); letter-spacing:-.02em; font-feature-settings:"tnum" 1; margin-bottom:0; }
.step-card__num::before{ content:counter(step,decimal-leading-zero); }
.step-card__title{ align-self:end; font-family:var(--serif); font-weight:600; font-size:clamp(20px,2.4vw,28px); line-height:1.32; letter-spacing:-.025em; color:var(--ink); margin-bottom:12px; }
.step-card__desc{ align-self:start; font-size:15px; line-height:1.78; letter-spacing:-.01em; color:var(--muted); max-width:52ch; }
@media(max-width:680px){
  .step-card{ grid-template-columns:1fr; row-gap:8px; }
  .step-card__num{ grid-row:auto; font-size:36px; }
}

/* ═══════════════════ SOLUTIONS — 유형 인덱스 (카드→헤어라인 격자) ═══════════════════ */
.solutions__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:2px solid var(--gold); }
.solution-card{ background:none; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; padding:clamp(28px,3vw,40px) 0; transition:background .35s ease; }
.solution-card:nth-child(odd){ border-right:1px solid var(--line); padding-right:clamp(26px,2.6vw,40px); }
.solution-card:nth-child(even){ padding-left:clamp(26px,2.6vw,40px); }
.solution-card:hover{ transform:none; box-shadow:none; border-color:var(--line); background:var(--bg-alt); }
.solution-card__num{ font-family:var(--serif); font-weight:600; font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-ink); line-height:1; margin-bottom:14px; }
.solution-card__title{ font-family:var(--serif); font-weight:600; font-size:clamp(19px,2.1vw,24px); color:var(--ink); margin-bottom:12px; letter-spacing:-.025em; line-height:1.35; }
.solution-card__desc{ font-size:14.5px; color:var(--muted); line-height:1.75; }

/* ═══════════════════ AXES — 4축 대조 (헤어라인) ═══════════════════ */
.axes__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:2px solid var(--gold); }
.axis-card{ background:none; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; padding:clamp(28px,3vw,40px) 0; }
.axis-card:nth-child(odd){ border-right:1px solid var(--line); padding-right:clamp(26px,2.6vw,40px); }
.axis-card:nth-child(even){ padding-left:clamp(26px,2.6vw,40px); }
.axis-card__label{ font-size:11px; color:var(--gold-ink); letter-spacing:.2em; margin-bottom:12px; font-weight:600; text-transform:uppercase; }
.axis-card__title{ font-family:var(--serif); font-weight:600; font-size:clamp(18px,2vw,23px); color:var(--ink); margin-bottom:18px; letter-spacing:-.025em; }
.axis-card__compare{ display:grid; grid-template-columns:1fr auto 1fr; gap:16px; align-items:center; padding:16px 0 0; border-top:1px solid var(--line); }
.axis-card__compare-side{ font-size:14px; color:var(--ink); line-height:1.5; }
.axis-card__compare-side strong{ display:block; font-family:var(--serif); color:var(--green-deep); font-weight:600; margin-bottom:4px; }
.axis-card__compare-vs{ font-family:var(--serif); color:var(--gold-ink); font-size:12px; font-weight:700; }

/* ═══════════════════ DETAIL LIST — 번호 항목 (헤어라인) ═══════════════════ */
.detail-list{ list-style:none; padding:0; margin:0; border-top:2px solid var(--gold); }
.detail-list li{ display:grid; grid-template-columns:clamp(40px,5vw,64px) 1fr; gap:clamp(16px,2.4vw,32px); padding:clamp(20px,2.4vw,30px) 0; border-bottom:1px solid var(--line); font-size:15px; line-height:1.7; align-items:start; }
.detail-list li:last-child{ border-bottom:0; }
.detail-list__num{ font-family:var(--serif); font-weight:300; font-size:clamp(24px,3vw,38px); color:var(--gold-ink); line-height:.9; font-feature-settings:"tnum" 1; padding-top:0; }
.detail-list__title{ display:block; font-family:var(--serif); color:var(--ink); font-weight:600; font-size:clamp(16px,1.8vw,19px); margin-bottom:5px; letter-spacing:-.02em; }
.detail-list__desc{ color:var(--muted); font-size:14px; line-height:1.7; }

/* ═══════════════════ STRATEGY TABLE — 헤어라인 표 ═══════════════════ */
.strategy-table{ width:100%; border-collapse:collapse; border-top:2px solid var(--gold); }
.strategy-table tbody tr{ border-bottom:1px solid var(--line); }
.strategy-table tbody tr:last-child{ border-bottom:1px solid var(--line); }
.strategy-table td{ padding:clamp(18px,2.2vw,26px) 16px; font-size:14.5px; line-height:1.7; vertical-align:top; }
.strategy-table td:first-child{ font-family:var(--serif); color:var(--green-deep); font-weight:600; width:clamp(120px,18vw,220px); font-size:clamp(16px,1.7vw,19px); letter-spacing:-.02em; padding-left:0; }
.strategy-table td:nth-child(2){ color:var(--ink); }

/* ═══════════════════ WHY CARD — 처방 원칙 (green band + gold frame) ═══════════════════ */
.why-card{ background:var(--green); border:0; border-left:0; border-radius:0; padding:clamp(40px,6vw,72px) clamp(34px,5vw,64px); position:relative; overflow:hidden; color:var(--bg); }
.why-card::after{ content:""; position:absolute; inset:clamp(14px,2vw,28px); border:1px solid rgba(197,165,114,.30); pointer-events:none; }
.why-card__title{ position:relative; z-index:1; font-family:var(--serif); font-weight:500; font-size:clamp(24px,3.4vw,40px); color:var(--bg); margin-bottom:20px; letter-spacing:-.03em; line-height:1.42; }
.why-card__title em{ font-style:normal; color:var(--gold); font-weight:700; }
.why-card__lede{ position:relative; z-index:1; font-size:15.5px; color:rgba(231,239,233,.92); line-height:1.85; max-width:64ch; }

/* ═══════════════════ COURSE CTA — 진단 신청 (green band + frame) ═══════════════════ */
.course-cta{ text-align:center; padding:clamp(64px,9vw,110px) 0; background:var(--green); color:var(--bg); position:relative; overflow:hidden; border-top:1px solid rgba(197,165,114,.30); }
.course-cta::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% -20%, rgba(197,165,114,.16), transparent 60%); pointer-events:none; }
.course-cta::after{ content:""; position:absolute; inset:clamp(14px,2vw,28px); border:1px solid rgba(197,165,114,.30); pointer-events:none; }
.course-cta .container{ position:relative; z-index:1; }
.course-cta__eyebrow{ display:inline-flex; align-items:center; gap:10px; justify-content:center; font-size:11px; color:rgba(231,239,233,.82); letter-spacing:.26em; margin-bottom:18px; font-weight:600; text-transform:uppercase; }
.course-cta__eyebrow::before{ content:""; width:24px; height:1px; background:var(--gold); }
.course-cta__title{ font-family:var(--serif); font-weight:600; font-size:clamp(28px,4.4vw,54px); line-height:1.3; letter-spacing:-.035em; color:var(--bg); margin-bottom:18px; }
.course-cta__title em{ font-style:normal; color:var(--gold); font-weight:700; }
.course-cta__lede{ font-size:15px; color:rgba(231,239,233,.92); margin-bottom:clamp(32px,4vw,44px); max-width:46ch; margin-left:auto; margin-right:auto; line-height:1.8; }
.course-cta__group{ display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }

/* ═══════════════════ BUTTONS (radius 2px) ═══════════════════ */
.btn-primary{ background:var(--bg); color:var(--green-deep); padding:15px 30px; border-radius:2px; font-size:14px; font-weight:600; letter-spacing:.01em; display:inline-flex; align-items:center; gap:9px; transition:background .28s ease, transform .28s ease, color .28s ease; border:0; }
.btn-primary:hover{ background:var(--gold); color:var(--green-deep); transform:translateY(-2px); }
.btn-ghost{ background:transparent; color:var(--bg); border:1px solid rgba(197,165,114,.55); padding:15px 28px; border-radius:2px; font-size:14px; font-weight:600; letter-spacing:.01em; display:inline-flex; align-items:center; gap:9px; transition:border-color .28s ease, background .28s ease; }
.btn-ghost:hover{ border-color:var(--gold); background:rgba(197,165,114,.12); }
.btn-primary svg, .btn-ghost svg{ width:18px; height:18px; }
/* 흰 배경 섹션 안에서 쓰일 때 보정 */
.section .btn-primary, .container > .btn-primary{ background:var(--green); color:var(--bg); }
.section .btn-primary:hover{ background:var(--green-deep); color:var(--bg); }
.section .btn-ghost{ background:transparent; color:var(--green-deep); border-color:var(--line); }
.section .btn-ghost:hover{ border-color:var(--gold); background:transparent; }

/* ═══════════════════ FOOTER (home_v3 정합 .foot) ═══════════════════ */
.foot{ background:var(--bg); border-top:1px solid var(--line); padding-block:46px; }
.foot .brand .ko{ font-size:19px; }
.foot-grid{ display:grid; grid-template-columns:1.6fr 1.1fr 1fr 1.2fr; gap:clamp(28px,4vw,64px); padding-bottom:clamp(40px,4.5vw,60px); border-bottom:1px solid var(--line); align-items:start; }
.foot-tag{ margin-top:18px; font-size:13.5px; line-height:1.7; color:var(--muted); letter-spacing:-.01em; }
.foot-slogan{ color:var(--gold-ink); font-weight:600; }
.foot-slogan em{ font-style:italic; font-weight:500; color:var(--muted); }
.foot-h{ display:block; font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-ink); margin-bottom:18px; }
.foot-col a, .foot-col p{ display:block; font-size:13.5px; line-height:1.5; color:var(--muted); letter-spacing:-.01em; margin-bottom:11px; transition:color .18s ease; }
.foot-col a:hover{ color:var(--green); }
.foot-col small{ color:var(--gold-ink); }
.foot-tel{ font-family:var(--serif); font-size:20px !important; font-weight:600; color:var(--ink) !important; margin-bottom:14px !important; }
.foot-legal{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; padding-top:clamp(22px,2.6vw,32px); font-size:12px; color:var(--muted); letter-spacing:-.005em; line-height:1.6; }
.foot-legal a{ color:var(--muted); } .foot-legal a:hover{ color:var(--green); }

/* ═══════════════════ FLOAT CTA (radius 2px) ═══════════════════ */
.float-cta{ position:fixed; right:clamp(16px,2.4vw,30px); bottom:clamp(16px,2.4vw,30px); z-index:90; }
.float-cta a{ display:inline-flex; align-items:center; gap:9px; font-size:13.5px; font-weight:600; letter-spacing:.01em; color:var(--bg); background:var(--green); padding:13px 20px; border-radius:2px; box-shadow:0 6px 22px rgba(0,98,65,.28); transition:background .28s ease, transform .28s ease; }
.float-cta a svg{ width:18px; height:18px; }
.float-cta a:hover{ background:var(--green-deep); transform:translateY(-2px); }

/* ═══════════════════ 합격 현황 proof (consulting) — 딥네이비 클라이맥스 ═══════════════════ */
.proof-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:48px; }
.proof-stat{ text-align:center; padding:32px 16px; background:rgba(255,255,255,.04); border:1px solid rgba(197,165,114,.30); border-radius:2px; }
.proof-stat__num{ display:block; font-family:var(--serif); font-size:48px; font-weight:600; color:var(--gold); line-height:1; letter-spacing:-.02em; font-feature-settings:"tnum" 1; }
.proof-stat__label{ display:block; margin-top:12px; font-size:13px; color:rgba(255,255,255,.70); letter-spacing:.04em; }
.proof-stat--hl{ box-shadow:inset 0 3px 0 var(--gold); }
.proof-stat--hl .proof-stat__label{ color:rgba(255,255,255,.85); }
.proof-wall{ display:grid; grid-template-columns:repeat(auto-fill, minmax(148px,1fr)); gap:14px; margin-bottom:44px; }
.proof-cert{ background:#0a1622; border:1px solid rgba(197,165,114,.35); border-radius:2px; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; box-shadow:0 10px 28px rgba(0,0,0,.30); }
.proof-cert:hover{ transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.46); }
.proof-cert img{ width:100%; aspect-ratio:600/820; object-fit:cover; object-position:top center; background:#fff; display:block; }
.proof-cert figcaption{ padding:11px 6px; font-size:11.5px; font-weight:600; color:#fff; text-align:center; letter-spacing:-.01em; line-height:1.4; border-top:1px solid rgba(197,165,114,.4); }
.proof-cert--med{ border-color:var(--gold); } .proof-cert--med figcaption{ color:var(--gold); }
.proof-subhead{ text-align:center; font-size:15px; color:rgba(255,255,255,.78); margin-bottom:20px; }
.proof-subhead strong{ color:#fff; font-weight:700; }
.proof-breakdown{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:28px; }
.proof-chip{ font-size:13px; padding:7px 14px; border-radius:2px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.78); }
.proof-chip strong{ color:var(--gold); margin-left:5px; font-weight:700; }
.proof-chip--top{ border-color:var(--gold); color:#fff; }
.proof-note{ font-size:12px; color:rgba(255,255,255,.55); text-align:center; line-height:1.7; max-width:720px; margin:0 auto; }
.section--proof{ background:var(--navy); color:#fff; }
.section--proof .section__head::before{ color:var(--gold); }
.section--proof .section__title{ color:#fff; } .section--proof .section__title em{ color:var(--gold); }
.section--proof .section__lede{ color:rgba(255,255,255,.78); }
.section--proof .section__eyebrow{ color:rgba(255,255,255,.6); }

/* ═══════════════════ MOTION ═══════════════════ */
.s-reveal{ opacity:0; transform:translateY(28px); transition:opacity 1s cubic-bezier(.22,.61,.36,1), transform 1s cubic-bezier(.22,.61,.36,1); will-change:opacity, transform; }
.s-reveal.in{ opacity:1; transform:translateY(0); }
.s-reveal.dly1{ transition-delay:.10s; } .s-reveal.dly2{ transition-delay:.20s; } .s-reveal.dly3{ transition-delay:.30s; }

/* ═══════════════════ RESPONSIVE ═══════════════════ */
@media(max-width:860px){
  .foot-grid{ grid-template-columns:1fr 1fr; gap:32px; } .foot-legal{ flex-direction:column; }
}
@media(max-width:760px){
  .solutions__grid, .axes__grid{ grid-template-columns:1fr; }
  .solution-card:nth-child(odd), .axis-card:nth-child(odd){ border-right:0; padding-right:0; }
  .solution-card:nth-child(even), .axis-card:nth-child(even){ padding-left:0; }
  .axis-card__compare{ grid-template-columns:1fr; text-align:center; gap:10px; }
}
@media(max-width:640px){
  .proof-stats{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .proof-stat{ padding:24px 12px; } .proof-stat__num{ font-size:38px; }
  .proof-wall{ grid-template-columns:repeat(auto-fill, minmax(108px,1fr)); gap:10px; }
  .proof-cert figcaption{ font-size:10px; padding:8px 4px; }
  .strategy-table td:first-child{ width:auto; display:block; padding-bottom:4px; }
  .strategy-table td{ display:block; padding:14px 0; }
  .strategy-table tbody tr{ padding:8px 0; }
}
@media(max-width:520px){ .foot-grid{ grid-template-columns:1fr; } .float-cta a span{ display:none; } .float-cta a{ padding:14px; border-radius:50%; } }

@media(prefers-reduced-motion:reduce){
  .s-reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; } .float-cta a:hover{ transform:none; }
}
