/* ===== parts/00-core.css ===== */
/* ==========================================================================
   링크일본어교실 웹 v9 — Honeyed Paper (linkapp 디자인 시스템의 웹판)
   v2~v7 스택을 대체하는 단일 스타일시트. 마크업·문구·JS 훅은 v7 그대로 쓴다.

   원칙
   1. 모든 페이지는 같은 히어로 문법으로 시작한다: 키커 → H1 → 리드 → 행동.
   2. 모든 페이지는 같은 먹색 마무리 띠로 끝난다.
   3. 금색은 강조와 구조에만. 모스그린은 Before/After의 "After" 상태에만.
   4. 등장 애니메이션 없음. 움직임은 사용자가 누른 것에 대한 응답에만.
   ========================================================================== */

/* ---------- 1. 토큰 ---------- */
:root{
  /* 바탕 — 앱(#ebe1c0/#f3ead2)보다 한 단계 밝게: 웹은 긴 글을 읽는 곳이라 */
  --paper:#fbf7ee;
  --surface:#f4ecd9;      /* 꿀빛 띠 */
  --surface-2:#efe4ca;
  --card:#fffdf7;
  --line:rgba(42,32,16,.10);
  --line-2:rgba(42,32,16,.18);

  --ink:#221a0e;
  --ink-2:#4a3d29;
  --ink-3:#6f5e43;        /* 종이 위 5.8:1 */

  --gold:#b3873a;         /* 선·점·채움 */
  --gold-text:#85601e;    /* 글자용 — 종이 5.2:1, 꿀빛 띠 4.7:1 */
  --gold-soft:#ecd9a8;
  --gold-tint:#f6e9c2;
  --gold-on-ink:#d9b46a;  /* 먹색 위 8.6:1 */

  --moss:#57663b;
  --moss-tint:#e6ead6;

  --on-ink:#f6efdf;
  --on-ink-2:rgba(246,239,223,.78);

  --sans:'Pretendard Variable','Pretendard',ui-sans-serif,system-ui,-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;

  /* 타입 스케일 */
  --t-xs:13px; --t-sm:15px; --t-base:17px; --t-md:19px; --t-lg:22px;
  --t-xl:clamp(24px,2.4vw,28px); --t-2xl:clamp(28px,3.1vw,36px);
  --t-h1:clamp(34px,4.6vw,54px);

  --r-sm:10px; --r:14px; --r-lg:20px; --r-xl:26px;
  --shadow:0 1px 2px rgba(70,48,18,.05),0 10px 30px -14px rgba(70,48,18,.22);

  --wrap:1160px;
  --gutter:clamp(20px,4vw,40px);
  --header-h:72px;
  --section:clamp(64px,8.5vw,112px);
  --ease:cubic-bezier(.22,1,.36,1);
  --focus:0 0 0 2px var(--paper),0 0 0 4.5px var(--gold);
}

/* ---------- 2. 기본 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:400 var(--t-base)/1.75 var(--sans);letter-spacing:-.012em;
  word-break:keep-all;overflow-wrap:break-word;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
/* 전폭 요소(카톡 벽 등)가 스크롤바 폭만큼 넘쳐도 가로 스크롤이 생기지 않게 — clip 은 sticky 헤더를 깨지 않는다 */
html,body{overflow-x:clip}
body.v2-menu-open,body.menu-open,body.lj-dialog-open{overflow:hidden}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl{margin:0}
ul,ol{padding:0}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.035em;line-height:1.3;color:var(--ink);text-wrap:balance}
b,strong{font-weight:650}
em{font-style:normal}
[hidden]{display:none!important}
::selection{background:var(--gold-soft);color:var(--ink)}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px}

/* 등장 애니메이션 클래스는 항상 보이게 — 움직임은 쓰지 않는다 */
.rise,.reveal,.v5-reveal,.v6-reveal,.v7-visible{opacity:1!important;transform:none!important;animation:none!important}

/* 문장 단위 줄바꿈 도구 */
span.line{display:block}
.keep{white-space:nowrap}
.v2-sentence-break{display:none}

.wrap{width:min(var(--wrap),100% - var(--gutter)*2);margin-inline:auto}
main{display:block}

.v2-skip{position:fixed;left:16px;top:-80px;z-index:300;background:var(--ink);color:var(--on-ink);padding:10px 16px;border-radius:var(--r-sm);font-weight:600}
.v2-skip:focus{top:12px}

/* ---------- 3. 헤더 ---------- */
.v2-head{
  position:sticky;top:0;z-index:100;
  background:rgba(251,247,238,.92);backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);
  border-bottom:1px solid var(--line);
}
.v2-head>.wrap{height:var(--header-h);display:flex;align-items:center;gap:28px}
.v2-brand{display:inline-flex;align-items:center;flex:none}
.v2-brand img{width:168px;height:auto}
.v2-nav{display:flex;align-items:center;gap:26px;margin-left:auto}
.v2-nav a{position:relative;font-size:var(--t-sm);font-weight:550;color:var(--ink-2);padding:6px 0;transition:color .15s}
.v2-nav a:hover{color:var(--ink)}
.v2-nav a[aria-current="page"]{color:var(--ink);font-weight:650}
.v2-nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:var(--gold)}
.v2-head .v2-head-cta{min-height:42px;padding:9px 18px;font-size:var(--t-sm)}
.v2-menu-toggle{display:none;margin-left:4px;width:44px;height:44px;padding:12px 10px;background:none;border:0;border-radius:var(--r-sm)}
.v2-menu-toggle span{display:block;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s var(--ease)}
.v2-menu-toggle span+span{margin-top:7px}
.v2-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.v2-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}

.v2-drawer{position:fixed;inset:var(--header-h) 0 0;z-index:99;background:var(--paper);overflow:auto;padding:12px 0 48px}
.v2-drawer nav{display:flex;flex-direction:column}
.v2-drawer a{padding:15px 2px;border-bottom:1px solid var(--line);font-size:var(--t-md);font-weight:600;color:var(--ink)}
.v2-drawer a[aria-current="page"]{color:var(--gold-text)}
.v2-drawer .btn{margin-top:24px;border-bottom:0;justify-content:center;color:var(--on-ink)}

/* ---------- 4. 푸터 ---------- */
.site-foot{background:var(--surface);border-top:1px solid var(--line);padding:56px 0 32px;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.site-foot .v2-brand img{width:152px}
.site-foot .desc{margin-top:16px;max-width:30ch;font-size:var(--t-sm);line-height:1.75;color:var(--ink-2)}
.foot-col{display:flex;flex-direction:column;gap:10px}
.foot-col h4{font-size:var(--t-xs);font-weight:700;letter-spacing:0;color:var(--ink);margin-bottom:4px}
.foot-col a{font-size:var(--t-sm);color:var(--ink-2)}
.foot-col a:hover{color:var(--ink)}
.foot-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:44px;padding-top:20px;border-top:1px solid var(--line-2)}
.foot-base p{font-size:12px;letter-spacing:.02em;color:var(--ink-3)}

/* ---------- 5. 버튼과 링크 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:12px 22px;border-radius:12px;border:1px solid transparent;
  font-size:var(--t-sm);font-weight:650;line-height:1.3;letter-spacing:-.02em;white-space:nowrap;
  transition:background-color .15s,border-color .15s,color .15s;
}
.btn-primary{background:var(--ink);color:var(--on-ink)}
.btn-primary:hover{background:#3a2d19}
.btn-gold{background:var(--gold);color:var(--ink)}           /* 금색 채움 = 수업신청 */
.btn-gold:hover{background:#c29548}
.btn-ghost{background:transparent;border-color:var(--line-2);color:var(--ink)}
.btn-ghost:hover{background:var(--card);border-color:var(--ink-3)}
.btn-lg{min-height:54px;padding:14px 28px;font-size:var(--t-base)}
.btn .arrow-i,.btn>span[aria-hidden]{font-size:.95em}
.btns{display:flex;flex-wrap:wrap;gap:10px}

/* 텍스트 링크 — 금색 밑줄 */
.tlink,.c2-go,.case-cta-link,.v2-method-link,.v7-pricing-jump{
  display:inline-flex;align-items:center;gap:6px;
  font-size:var(--t-sm);font-weight:650;color:var(--ink);
  padding-bottom:3px;border-bottom:1.5px solid var(--gold);transition:color .15s,border-color .15s;
}
.tlink:hover,.c2-go:hover,.case-cta-link:hover,.v2-method-link:hover,.v7-pricing-jump:hover{color:var(--gold-text)}
.arrow-i{display:inline-block;width:.6em;height:.6em;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;transform:rotate(45deg);margin-left:1px;flex:none}

/* ---------- 6. 공통 히어로 ---------- */
/* 모든 페이지 첫 화면: 왼쪽 정렬, 키커 → H1 → 리드 → 행동 */
.apply-hero,.ct-hero,.faq-hero,.cu-hero,.rv-hero,.ab-hero,.tc-hero,.hero-core,.hero2 .hero2-grid>div:first-child,.art-hero-copy{
  text-align:left;
}
.apply-hero,.ct-hero,.faq-hero,.cu-hero,.rv-hero,.ab-hero,.tc-hero{padding:clamp(52px,7.5vw,96px) 0 clamp(36px,5vw,64px)}
.kicker,.case-tag.rise,.art-hero-copy .case-tag{
  display:block;margin-bottom:18px;
  font-size:var(--t-sm);font-weight:650;line-height:1.5;letter-spacing:-.01em;color:var(--gold-text);
}
.apply-hero h1,.ct-hero h1,.faq-hero h1,.cu-hero h1,.rv-hero h1,.ab-hero h1,.tc-hero h1,.hero-core h1,.hero2 h1,.art-hero h1{
  font-size:var(--t-h1);font-weight:750;line-height:1.2;letter-spacing:-.045em;max-width:18ch;
}
.hero-core h1 em,.hero2 h1 em,.art-hero h1 em,.cu-hero h1 em,.ab-hero h1 em,h2 em,h3 em{color:var(--gold-text)}
.apply-hero .sub,.ct-hero .sub,.cu-hero .sub,.ab-hero .sub,.hero-core .sub,.hero2 .result2,.art-hero .sub{
  margin-top:22px;max-width:44ch;font-size:var(--t-md);line-height:1.75;color:var(--ink-2);
}
.apply-hero .sub b,.ct-hero .sub b,.cu-hero .sub b,.ab-hero .sub b,.hero-core .sub b,.hero2 .result2 b{color:var(--ink);font-weight:700}

/* ---------- 7. 섹션 ---------- */
.section{padding:var(--section) 0}
.section+.section{padding-top:0}
/* 띠(먹색·꿀빛) 다음 섹션은 다시 숨을 쉰다 */
.section:has(>.band-ink)+.section,.is-band+.section,.formula-band+.section{padding-top:var(--section)}
/* 꿀빛 띠: 컨테이너 안에서 화면 끝까지 배경을 편다 (가로 넘침 없이) */
.is-band{border-image:conic-gradient(var(--surface) 0 0) fill 0//0 100vmax}
.is-band+.section,.section+.is-band{padding-top:var(--section)}

.section-title{display:block;margin-bottom:clamp(28px,4vw,44px)}
.section-title h2,.v7-curriculum-notes>h2,.v7-faq-section>h2{font-size:var(--t-2xl);font-weight:750;line-height:1.3;letter-spacing:-.04em;max-width:26ch}
.section-title>div.line,.section-title>span.line:empty{display:none}
.section-title>p{margin-top:14px;max-width:60ch;font-size:var(--t-base);line-height:1.8;color:var(--ink-2)}
.section-title .meta{display:none}

/* ---------- 8. 먹색 띠 (선언 문단) ---------- */
.band-ink{
  position:relative;overflow:hidden;
  color:var(--on-ink);border-image:conic-gradient(var(--ink) 0 0) fill 0//0 100vmax;
  padding:clamp(64px,8vw,104px) 0;
}
.band-ink .watermark{
  position:absolute;right:-.06em;top:50%;transform:translateY(-50%);
  font-size:clamp(220px,30vw,420px);line-height:1;font-weight:800;color:rgba(217,180,106,.07);pointer-events:none;
}
.band-ink .kicker{color:var(--gold-on-ink)}
.band-ink h2{position:relative;color:var(--on-ink);font-size:var(--t-2xl);font-weight:750;line-height:1.35;max-width:24ch}
.band-ink h2 em{color:var(--gold-on-ink)}
.band-ink p{color:var(--on-ink-2)}
.band-ink b{color:var(--on-ink)}
.band-ink .btn-ghost{border-color:rgba(246,239,223,.3);color:var(--on-ink)}
.band-ink .btn-ghost:hover{background:rgba(246,239,223,.08);border-color:var(--on-ink)}
.band-ink .btn-primary{background:var(--on-ink);color:var(--ink)}

/* ---------- 9. 중간 CTA (꿀빛 상자) ---------- */
.ctaband{
  display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;
  padding:clamp(24px,3.4vw,36px) clamp(22px,3.4vw,40px);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
}
.ctaband .t{flex:1 1 360px;min-width:0}
.ctaband h3{font-size:var(--t-lg);font-weight:700;line-height:1.5;letter-spacing:-.03em}
.ctaband p{margin-top:8px;font-size:var(--t-sm);line-height:1.75;color:var(--ink-2)}

/* ---------- 10. 마무리 띠 (페이지 끝, 전 페이지 공통) ---------- */
.v2-final,.faq-final,.ab-final,.finalcta,.is-closer{
  position:relative;text-align:center;
  color:var(--on-ink);background:none;border-image:conic-gradient(var(--ink) 0 0) fill 0//0 100vmax;
  padding:clamp(72px,9vw,112px) 0!important;margin-top:0;
}
.is-closer h3{font-size:clamp(26px,3.2vw,38px)!important}
.v2-final h2,.faq-final h2,.ab-final h2,.finalcta h2,.is-closer h3{
  color:var(--on-ink);font-size:clamp(30px,4vw,46px);font-weight:750;line-height:1.3;letter-spacing:-.045em;max-width:22ch;margin-inline:auto;
}
.v2-final h2 em,.faq-final h2 em,.ab-final h2 em,.finalcta h2 em{color:var(--gold-on-ink)}
.faq-final>p,.ab-final>p,.finalcta>p,.is-closer p{margin:18px auto 0;max-width:52ch;color:var(--on-ink-2);font-size:var(--t-base);line-height:1.8}
.finalcta .kicker{color:var(--gold-on-ink)}
.v2-final>div:last-child,.faq-final .btns,.ab-final .btns,.finalcta .btns,.is-closer .btns{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:32px}
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer) .btn-ghost{border-color:rgba(246,239,223,.3);color:var(--on-ink)}
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer) .btn-ghost:hover{background:rgba(246,239,223,.08);border-color:var(--on-ink)}
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer) .btn-primary{background:var(--on-ink);color:var(--ink)}
.is-closer{display:block;border-width:0;border-radius:0;background:none;border-image:conic-gradient(var(--ink) 0 0) fill 0//0 100vmax}
.is-closer .t{max-width:none}
/* 마무리 띠 바로 뒤 푸터는 붙인다 */
main>:last-child:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer),
main .wrap>:last-child:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer){margin-bottom:0}

/* ==========================================================================
   페이지: 신청하기
   ========================================================================== */
.apply-hero .calm{margin-top:24px;font-size:var(--t-xl);font-weight:650;line-height:1.55;letter-spacing:-.035em;color:var(--ink)}
.apply-hero .calm em{color:var(--gold-text)}
.apply-hero .sub{margin-top:14px;font-size:var(--t-base)}
.pre-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:28px}
.pre-links .lab{font-size:var(--t-xs);color:var(--ink-3)}

/* 번호가 실제 순서인 절차 — 가로 흐름, 선으로 잇는다 */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:none}
.steps.five{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;position:relative}
.steps.five::before{content:"";position:absolute;left:10%;right:10%;top:21px;height:1px;background:var(--line-2)}
.step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px}
.steps.five .step{background:none;border:0;border-radius:0;padding:0 14px;text-align:center}
.step .sno{
  display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:var(--paper);border:1.5px solid var(--gold);color:var(--gold-text);
  font-size:var(--t-sm);font-weight:700;position:relative;
}
.step h3{margin-top:16px;font-size:var(--t-base);font-weight:700;line-height:1.55;letter-spacing:-.03em}
.step p{margin-top:10px;font-size:var(--t-sm);line-height:1.75;color:var(--ink-2)}

.assure{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(36px,5vw,56px)}
.a-cell{padding:22px 22px 22px 48px;position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.a-cell::before{content:"";position:absolute;left:22px;top:28px;width:12px;height:7px;border-left:2px solid var(--moss);border-bottom:2px solid var(--moss);transform:rotate(-45deg)}
.a-cell p{font-size:var(--t-sm);line-height:1.75;color:var(--ink-2)}
.a-cell b{display:block;margin-bottom:4px;font-size:var(--t-base);color:var(--ink)}

/* 신청서 카드 — 이 페이지의 주인공 */
.apply-split{display:grid;gap:16px}
.ap-card{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px 40px;
  padding:clamp(28px,4vw,48px);border-radius:var(--r-xl);
  background:var(--surface);border:1px solid var(--gold-soft);transition:border-color .15s;
}
.ap-card:hover{border-color:var(--gold)}
.ap-card .ck{grid-column:1;font-size:var(--t-xs);font-weight:700;letter-spacing:.02em;color:var(--gold-text)}
.ap-card h3{grid-column:1;font-size:var(--t-2xl);font-weight:750;line-height:1.3;letter-spacing:-.04em}
.ap-card p{grid-column:1;max-width:52ch;font-size:var(--t-base);line-height:1.8;color:var(--ink-2)}
.ap-card .btn{grid-column:2;grid-row:1/span 3;min-height:56px;padding:15px 30px;font-size:var(--t-base)}
.pg-apply .ctaband{margin-top:clamp(40px,6vw,72px)}

/* ==========================================================================
   페이지: 문의
   ========================================================================== */
.ct-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ct-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:clamp(24px,3vw,34px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.ck{font-size:var(--t-xs);font-weight:700;letter-spacing:.02em;color:var(--gold-text)}
.ct-card h3{font-size:var(--t-lg);font-weight:700;line-height:1.45}
.ct-card p{font-size:var(--t-sm);line-height:1.75;color:var(--ink-2)}
.ct-card .btn{margin-top:auto}
.kakao-id{display:inline-flex;align-items:baseline;gap:12px;margin-top:auto;padding:12px 18px;border-radius:12px;background:#fee500;color:#191600}
.kakao-id b{font-size:var(--t-lg);font-weight:800;letter-spacing:.02em}
.kakao-id span{font-size:var(--t-xs);font-weight:600}
.ct-form{margin-top:16px;padding:clamp(24px,3vw,40px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px 48px}
.ct-form .fh h3{font-size:var(--t-lg);font-weight:700}
.ct-form .fh p{margin-top:8px;font-size:var(--t-sm);color:var(--ink-2);line-height:1.75}
.ct-form form{display:grid;gap:16px}
.ct-form label{display:grid;gap:8px;font-size:var(--t-sm);font-weight:600;color:var(--ink)}
.ct-form input,.ct-form textarea{
  width:100%;font:inherit;font-weight:400;font-size:var(--t-base);color:var(--ink);
  padding:12px 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--paper);
}
.ct-form textarea{min-height:140px;resize:vertical}
.ct-form input:focus,.ct-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-tint)}
.ct-form .btn{justify-self:start}
.v2-preview-note{font-size:var(--t-xs);color:var(--ink-3);padding:10px 12px;border-radius:var(--r-sm);background:var(--surface)}

/* 마무리 띠가 섹션의 마지막이면 섹션 아래 여백을 없애 푸터와 맞붙인다 */
.section:has(>.is-closer:last-child),.section:has(>.ctaband.is-closer:last-child){padding-bottom:0}
main>.wrap>.section:last-child:has(.is-closer){padding-bottom:0}
/* 히어로 바로 다음 섹션은 간격을 줄인다 */
:is(.apply-hero,.ct-hero,.faq-hero,.cu-hero,.rv-hero,.ab-hero,.tc-hero)+.section{padding-top:clamp(28px,4vw,48px)}

/* ==========================================================================
   반응형 — 공통
   ========================================================================== */
@media (max-width:1080px){
  :root{--header-h:64px}
  .v2-nav{display:none}
  .v2-head .v2-head-cta{margin-left:auto}
  .v2-menu-toggle{display:block}
  .v2-brand img{width:148px}
}
@media (max-width:760px){
  body{font-size:16px}
  .v2-brand img{width:132px}
  .v2-head>.wrap{gap:10px}
  .v2-head .v2-head-cta{min-height:40px;padding:8px 14px;font-size:14px}
  .v2-head .v2-head-cta span{display:none}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
  .foot-grid>div:first-child{grid-column:1/-1}
  .btns .btn{flex:1 1 auto}
  .ctaband{flex-direction:column;align-items:stretch}
  .ctaband .btns{flex-direction:column}
  .is-closer .btns,.v2-final>div:last-child,.faq-final .btns,.ab-final .btns,.finalcta .btns{flex-direction:column;align-items:stretch;max-width:360px;margin-inline:auto}

  /* 신청하기 */
  .steps,.steps.five{grid-template-columns:1fr;gap:0}
  .steps.five::before{left:20px;right:auto;top:20px;bottom:20px;width:1px;height:auto}
  .steps.five .step{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:16px;text-align:left;padding:10px 0}
  .steps.five .step h3{margin-top:0}
  .steps:not(.five){gap:12px}
  .assure{grid-template-columns:1fr;gap:10px}
  .ap-card{grid-template-columns:1fr}
  .ap-card .btn{grid-column:1;grid-row:auto;margin-top:12px;width:100%}
  /* 문의 */
  .ct-split,.ct-form{grid-template-columns:1fr}
}

/* 단독 마무리 섹션은 앞 섹션의 아래 여백을 그대로 쓰고, 섹션 안의 마무리 상자는 앞 내용과 간격을 둔다 */
.is-closer:not(:first-child){margin-top:var(--section)}


/* ===== parts/30-faq.css ===== */
/* ==========================================================================
   페이지: FAQ · 수업료
   ========================================================================== */
.faq-hero{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:32px}
.faq-hero .kicker,.faq-hero h1{grid-column:1}
.faq-hero .v7-pricing-jump{grid-column:2;grid-row:2;align-self:end;margin-bottom:10px}
.faq-hero .v7-pricing-jump span{font-weight:400}

.v7-faq-section{padding-top:clamp(20px,3vw,32px)}
.v7-faq-section>h2{margin-bottom:22px}
/* 탭 — linkapp 세그먼트 스타일 */
.v7-faq-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:5px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.v7-faq-tabs [role="tab"]{min-height:42px;padding:8px 18px;border:0;border-radius:10px;background:transparent;font-size:var(--t-sm);font-weight:600;color:var(--ink-2);transition:background-color .15s,color .15s}
.v7-faq-tabs [role="tab"]:hover{color:var(--ink)}
.v7-faq-tabs [role="tab"][aria-selected="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(70,48,18,.08),0 2px 8px -4px rgba(70,48,18,.18)}
.v7-faq-panel.section{padding:clamp(24px,3vw,36px) 0 0}
.v7-faq-panel .section-title{margin-bottom:20px}
.v7-faq-panel .section-title h2{font-size:var(--t-xl)}

/* 질문·답 */
.qa-list{border-top:1px solid var(--line-2)}
.qa{border-bottom:1px solid var(--line-2)}
.qa summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:28px 1fr 28px;align-items:baseline;gap:10px;
  padding:22px 4px;font-size:var(--t-md);font-weight:650;line-height:1.55;letter-spacing:-.03em;color:var(--ink);
}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--gold-text)}
.qa .q{font-size:var(--t-sm);font-weight:800;color:var(--gold)}
.qa .caret{justify-self:end;font-size:18px;font-weight:400;color:var(--ink-3);transition:transform .2s var(--ease)}
.qa[open] .caret{transform:rotate(45deg)}
.qa-a{padding:0 38px 28px 42px;max-width:760px}
.qa-a p{font-size:var(--t-base);line-height:1.85;color:var(--ink-2)}
.qa-a>*+*{margin-top:14px}
.qa-a b{color:var(--ink);font-weight:650}
.qa-a ul{padding-left:1.1em;display:grid;gap:6px}
.qa-a ul li{font-size:var(--t-base);line-height:1.75;color:var(--ink-2)}
.qa-a ul li::marker{color:var(--gold)}
.qa-a>.tlink{margin-top:18px}
.qa-table{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.qa-table .row{display:flex;justify-content:space-between;gap:16px;padding:12px 18px;font-size:var(--t-sm)}
.qa-table .row+.row{border-top:1px solid var(--line)}
.qa-table .row span{color:var(--ink-2)}
/* 6단계 공식 — 실제 순서이므로 번호를 쓴다 */
.v7-formula-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.v7-formula-steps li{display:flex;align-items:baseline;gap:10px;padding:12px 14px;border-radius:12px;background:var(--surface);font-size:var(--t-sm);line-height:1.5}
.v7-formula-steps li span{font-size:var(--t-xs);font-weight:700;color:var(--gold-text)}
.v7-formula-steps li b{color:var(--ink)}
.v7-matching-intro{padding:20px 22px;border-radius:var(--r);background:var(--surface)}
.v7-matching-flow{list-style:none;margin-top:12px;display:grid;gap:10px;counter-reset:mf}
.v7-matching-flow li{counter-increment:mf;display:grid;grid-template-columns:28px 1fr;column-gap:10px;font-size:var(--t-sm);line-height:1.7}
.v7-matching-flow li::before{content:counter(mf);grid-row:1/span 2;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold-text);font-size:12px;font-weight:700}
.v7-matching-flow li b{color:var(--ink)}
.v7-matching-flow li span{color:var(--ink-2)}

/* 수업료 */
.v7-tuition.section{margin-top:clamp(56px,7vw,88px);padding-top:clamp(56px,7vw,88px);border-top:1px solid var(--line-2)}
.v7-tuition .section-title{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px 40px}
.v7-tuition .section-title .v7-price-creed{margin:0;text-align:right;font-size:var(--t-sm);line-height:1.6;color:var(--ink-3)}
.v7-price-creed .line+.line{font-size:var(--t-md);font-weight:700;color:var(--ink);letter-spacing:-.03em}
.v7-price-creed em{color:var(--gold-text)}
.v7-tuition-format{font-size:var(--t-sm);color:var(--ink-2)}
.v7-frequency-guide-title{margin:32px 0 20px;font-size:var(--t-lg);font-weight:700}
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.price{position:relative;display:flex;flex-direction:column;padding:28px 26px 24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.price.std{border:1.5px solid var(--gold)}
.price .badge{position:absolute;top:-12px;left:24px;padding:3px 12px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:12px;font-weight:700}
.v7-frequency{font-size:var(--t-lg);font-weight:700}
.v7-frequency b{font-size:1.25em;font-weight:800;margin-right:1px}
.v7-package{margin-left:6px;font-size:var(--t-sm);font-weight:500;color:var(--ink-3)}
.hookline{margin-top:14px;font-size:var(--t-sm);line-height:1.75;color:var(--ink-2);min-height:5.25em}
.amount{display:flex;align-items:baseline;gap:4px;margin-top:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.amount b{font-size:30px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.amount span{font-size:var(--t-sm);color:var(--ink-3)}
.v7-plan-differences{list-style:none;margin-top:14px;display:grid;gap:6px}
.v7-plan-differences li{font-size:var(--t-sm);color:var(--ink-2);padding-left:18px;position:relative}
.v7-plan-differences li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:4px;border-left:1.5px solid var(--moss);border-bottom:1.5px solid var(--moss);transform:rotate(-45deg)}
.v7-plan-differences li.na{color:var(--ink-3)}
.v7-plan-differences li.na::before{border:0;height:1.5px;width:8px;top:.8em;transform:none;background:var(--ink-3)}
.v7-common-benefits{margin-top:clamp(28px,4vw,44px);padding:clamp(22px,3vw,32px);border-radius:var(--r-lg);background:var(--surface)}
.v7-common-benefits h3{font-size:var(--t-base);font-weight:700;margin-bottom:18px}
.v7-common-benefits ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.v7-common-benefits li{display:grid;gap:10px}
.v7-common-benefits svg{width:28px;height:28px;color:var(--gold-text)}
.v7-common-benefits b{display:block;font-size:var(--t-sm);font-weight:700}
.v7-common-benefits span{display:block;margin-top:2px;font-size:var(--t-xs);line-height:1.6;color:var(--ink-2)}

@media (max-width:760px){
  .faq-hero{grid-template-columns:1fr}
  .faq-hero .v7-pricing-jump{grid-column:1;grid-row:auto;justify-self:start;margin-top:18px}
  .v7-faq-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);border-radius:0;border-inline:0}
  .v7-faq-tabs [role="tab"]{flex:none;padding:8px 14px}
  .qa summary{grid-template-columns:22px 1fr 20px;padding:18px 0;font-size:var(--t-base)}
  .qa-a{padding:0 0 22px 32px}
  .qa-a p,.qa-a ul li{font-size:var(--t-sm)}
  .v7-formula-steps{grid-template-columns:1fr 1fr}
  .v7-tuition .section-title{grid-template-columns:1fr}
  .v7-tuition .section-title .v7-price-creed{text-align:left}
  .price-grid{grid-template-columns:1fr;gap:18px}
  .hookline{min-height:0}
  .v7-common-benefits ul{grid-template-columns:1fr 1fr}
}


/* ===== parts/40-curriculum.css ===== */
/* ==========================================================================
   페이지: 커리큘럼
   ========================================================================== */
.section:empty,section.section:not(:has(*)){display:none}

/* 로드맵 — 실제 순서(스타터 → 메인 → 확장)라서 번호와 세로 선을 쓴다 */
.road{position:relative;display:grid;gap:18px;padding-left:64px}
.road::before{content:"";position:absolute;left:21px;top:22px;bottom:40px;width:1.5px;background:linear-gradient(var(--gold),var(--gold-soft))}
.stop{position:relative;padding:clamp(22px,3vw,32px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.stop .dot{
  position:absolute;left:-64px;top:clamp(22px,3vw,30px);
  display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:var(--paper);border:1.5px solid var(--gold);color:var(--gold-text);font-size:var(--t-sm);font-weight:750;
}
.v7-stop-2 .dot{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.stop .tag{display:inline-block;margin-bottom:6px;font-size:var(--t-xs);font-weight:700;color:var(--gold-text)}
.stop h3{font-size:var(--t-xl);font-weight:750}
.stop>p{margin-top:8px;font-size:var(--t-base);color:var(--ink-2);line-height:1.75}
.v7-stop-2{border-color:var(--gold-soft);background:linear-gradient(180deg,#fff9ea,var(--card))}
.parts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.parts .pt{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:14px 18px;border-radius:12px;background:var(--surface)}
.parts .pt b{font-size:var(--t-base);font-weight:700}
.parts .pt span{font-size:var(--t-xs);color:var(--ink-3)}
.parts .note{grid-column:1/-1;font-size:var(--t-xs);color:var(--ink-3)}
.v7-stop-3{background:transparent;border:0;padding:0}
.v7-stop-3 .dot{top:2px}
.v7-stop-3 h3{margin-bottom:18px}
.branch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.branch .br{display:flex;flex-direction:column;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);border-top:3px solid var(--gold)}
.branch .ico,.ext .ico{display:none}   /* 이모지 아이콘은 쓰지 않는다 — 제목이 뜻을 다 전한다 */
.branch h4{font-size:var(--t-lg);font-weight:750;letter-spacing:-.035em}
.branch .gist{margin-top:10px;font-size:var(--t-sm);line-height:1.75;color:var(--ink-2);flex:1}
.v7-course-detail{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.v7-course-detail summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:var(--t-sm);font-weight:650}
.v7-course-detail summary::-webkit-details-marker{display:none}
.v7-course-detail summary span{color:var(--gold-text);transition:transform .2s var(--ease)}
.v7-course-detail[open] summary span{transform:rotate(45deg)}
.v7-course-detail p{margin-top:10px;font-size:var(--t-sm);line-height:1.8;color:var(--ink-2)}

/* 습득 목표 — 먹색 선언 문단 */
.acq.section{padding:var(--section) 0 0}
.band-ink .kicker{margin-bottom:16px}
.band-ink .body{position:relative;margin-top:28px;max-width:62ch}
.band-ink .body p{font-size:var(--t-base);line-height:1.9}
.band-ink .quote{margin-top:28px;padding:18px 0 0;border-top:1px solid rgba(246,239,223,.16);font-size:var(--t-md);font-weight:600;color:var(--on-ink)}
.band-ink .quote cite{display:block;margin-top:6px;font-size:var(--t-xs);font-style:normal;font-weight:500;color:var(--gold-on-ink)}

/* 설계 요약 */
.v7-curriculum-notes>h2{margin-bottom:28px}
.cu-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cu-sum .c{padding:26px 24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.eyebrow{display:block;margin-bottom:10px;font-size:var(--t-xs);font-weight:700;color:var(--gold-text)}
.cu-sum h3{font-size:var(--t-lg);font-weight:700;line-height:1.45}
.cu-sum p{margin-top:10px;font-size:var(--t-sm);line-height:1.8;color:var(--ink-2)}

/* 보조·확장 수업 */
.ext-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ext{padding:22px;border-radius:var(--r);background:var(--surface)}
.ext h4{font-size:var(--t-base);font-weight:700}
.ext p{margin-top:8px;font-size:var(--t-sm);line-height:1.7;color:var(--ink-2)}

@media (max-width:900px){
  .branch,.cu-sum{grid-template-columns:1fr}
  .ext-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .road{padding-left:0}
  .road::before{display:none}
  .stop .dot{position:static;margin-bottom:14px;width:38px;height:38px}
  .parts{grid-template-columns:1fr}
  .ext-grid{grid-template-columns:1fr}
}


/* ---- 소리·스포츠 파트는 각각 별도 스텝, 레벨 15부터 3분기 (2026-09-26) ---- */
.v7-stop-2 .note{display:block;margin-top:14px;font-size:var(--t-xs);color:var(--ink-3)}
.stop-part{display:flex;align-items:baseline;gap:14px;padding:18px 24px;background:var(--gold-tint);border:1px solid var(--gold-soft)}
.stop-part::before{content:"";position:absolute;left:-49px;top:26px;width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--paper)}
.part-name{font-size:var(--t-lg);font-weight:750;letter-spacing:-.03em}
.part-lv{font-size:var(--t-sm);font-weight:600;color:var(--gold-text)}
/* 3분기: 가운데가 메인 회화 심화(대화 파트) */
.branch .v7-core{border:1.5px solid var(--gold);border-top-width:4px;background:linear-gradient(180deg,var(--gold-tint),var(--card) 70%)}
@media (max-width:760px){
  .stop-part::before{display:none}
  .stop-part{flex-direction:column;gap:2px}
}


/* ===== parts/50-about.css ===== */
/* ==========================================================================
   페이지: 링크 소개 (공부법) — 원장 에세이. 읽기 리듬이 전부다.
   ========================================================================== */
.ab-hero{display:flex;flex-direction:column;align-items:flex-start}
.ab-hero h1{max-width:none}
.v6-story-cue{
  display:inline-flex;align-items:center;gap:10px;margin-top:32px;
  font-size:var(--t-sm);font-weight:650;color:var(--ink);
}
.v6-story-cue span:last-child{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);font-size:14px}
.v6-story-cue:hover span:last-child{border-color:var(--gold);color:var(--gold-text)}

/* 원장 인용 */
.founder-note{margin:clamp(8px,2vw,24px) 0 0;padding:clamp(28px,4vw,48px) 0 clamp(28px,4vw,48px) clamp(24px,3vw,40px);border-left:3px solid var(--gold)}
.founder-note p{font-size:var(--t-xl);font-weight:650;line-height:1.6;letter-spacing:-.035em;color:var(--ink);max-width:34ch}
.founder-note .who{margin-top:16px;font-size:var(--t-sm);color:var(--ink-3)}

/* 챕터 — 왼쪽 제목, 오른쪽 본문 */
.essay{display:grid;gap:0}
.chapter{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:24px 64px;padding:clamp(40px,6vw,72px) 0;border-top:1px solid var(--line-2)}
.essay:first-child .chapter:first-child{border-top:0}
.ch-mark{margin-bottom:12px;font-size:var(--t-xs);font-weight:700;color:var(--gold-text)}
.v6-chapter-heading h2{font-size:var(--t-2xl);font-weight:750;line-height:1.35;letter-spacing:-.04em}
.v6-chapter-copy p{font-size:var(--t-base);line-height:1.95;color:var(--ink-2)}
.v6-chapter-copy p+p,.v6-chapter-copy p+.pull,.v6-chapter-copy .pull+p{margin-top:18px}
.v6-chapter-copy b{color:var(--ink)}
.v6-chapter-copy .dim{color:var(--ink-3)}
.pull{font-size:var(--t-lg);font-weight:650;line-height:1.65;letter-spacing:-.03em;color:var(--ink);padding:4px 0 4px 20px;border-left:2px solid var(--gold);margin:24px 0}

/* 여행 사진 */
.journey{position:relative;overflow:hidden;border-radius:var(--r-xl);margin:clamp(24px,4vw,48px) 0}
.journey img{width:100%;height:clamp(280px,36vw,480px);object-fit:cover}
.journey .cap{position:absolute;left:0;right:0;bottom:0;padding:48px clamp(22px,3vw,40px) clamp(20px,3vw,32px);background:linear-gradient(transparent,rgba(20,14,6,.72));color:#fff;font-size:var(--t-lg);font-weight:650;letter-spacing:-.03em}

/* 전환점 — "일본인이 아니라고요?" */
.v6-turning-point{display:block;text-align:center;padding:clamp(48px,7vw,88px) 0;border-top:0}
.v6-turning-point>p{max-width:52ch;margin:0 auto;font-size:var(--t-base);line-height:1.9;color:var(--ink-2)}
.pull.center{margin:24px auto 0;border:0;padding:0;text-align:center;font-size:clamp(26px,3.4vw,40px);font-weight:750;line-height:1.4;letter-spacing:-.045em;color:var(--gold-text);max-width:20ch}

/* 공식 띠 */
.formula-band.section{padding:0}
.formula-band .band-ink h2{margin-bottom:28px}
.formula-band .lines{position:relative;max-width:64ch;display:grid;gap:16px}
.formula-band .lines p{font-size:var(--t-base);line-height:1.9}
.formula-band .punch{position:relative;margin:28px 0;max-width:40ch;font-size:var(--t-lg);font-weight:700;line-height:1.6;letter-spacing:-.03em;color:var(--gold-on-ink)}
.formula-band .btns{position:relative;margin-top:32px}

/* 철학 카드 */
.diff-card{padding:clamp(28px,4vw,48px);border-radius:var(--r-xl);background:var(--surface)}
.diff-card h3{font-size:var(--t-xl);font-weight:750;line-height:1.45;max-width:30ch}
.diff-card p{margin-top:16px;max-width:64ch;font-size:var(--t-base);line-height:1.9;color:var(--ink-2)}
.diff-card b{color:var(--ink)}
/* 마지막 구간 */
.ab-final>p{max-width:56ch}

@media (max-width:760px){
  .founder-note p{font-size:var(--t-lg)}
  .chapter{grid-template-columns:1fr;gap:14px}
  .v6-chapter-copy p{font-size:16px}
  .journey{border-radius:var(--r-lg);margin-inline:calc(var(--gutter)*-1);border-radius:0}
  .journey .cap{font-size:var(--t-base)}
}

.founder-note+.section{padding-top:0}
.pg-about .ab-final{margin-top:0}


/* ===== parts/60-reviews.css ===== */
/* ==========================================================================
   페이지: 후기 — 카톡 원본이 증거다. 이미지는 크게, 장식은 적게.
   ========================================================================== */
.rv-hero .creed{margin-top:22px;max-width:40ch;font-size:var(--t-lg);font-weight:600;line-height:1.65;letter-spacing:-.03em;color:var(--ink-2)}
.rv-hero .creed em{color:var(--gold-text);font-weight:700}

/* 베스트 후기 */
.best-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.best{position:relative;display:flex;flex-direction:column;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.best::before{content:"";position:absolute;left:26px;right:26px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--gold)}
.v3-best-image{align-self:flex-start;width:64px;height:64px;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.v3-best-image img{width:100%;height:100%;object-fit:cover;object-position:top}
.best .qmark{display:none}
.best blockquote{margin-top:18px;flex:1;font-size:var(--t-md);font-weight:600;line-height:1.7;letter-spacing:-.03em;color:var(--ink)}
.best .who{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.best .who b{font-size:var(--t-sm);font-weight:650;color:var(--ink-2)}
.best .see{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:4px 12px;border-radius:999px;border:1px solid var(--line-2);background:transparent;font-size:var(--t-xs);font-weight:600}
.best .see:hover{border-color:var(--gold);color:var(--gold-text)}

/* 분류 칩 — linkapp 필터 칩 */
.v3-filters{display:flex;flex-wrap:wrap;gap:8px}
.v3-filters button{min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-size:var(--t-sm);font-weight:600;color:var(--ink-2);transition:background-color .15s,color .15s,border-color .15s}
.v3-filters button:hover{border-color:var(--ink-3);color:var(--ink)}
.v3-filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.v3-review-count{margin:18px 0 16px;font-size:var(--t-xs);color:var(--ink-3)}

/* 후기 카드 격자 */
.v3-reviews-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.v3-review{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .15s}
.v3-review:hover{border-color:var(--gold)}
.v3-review-open{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0;border:0;background:none}
.v3-review-open img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:top;background:var(--surface);border-bottom:1px solid var(--line)}
.v3-review-quote{display:block;padding:14px 16px 0;font-size:var(--t-sm);font-weight:650;line-height:1.6;letter-spacing:-.025em;color:var(--ink)}
.v3-review-meta{display:block;padding:6px 16px 16px;font-size:12px;color:var(--ink-3)}
.v3-excerpt{padding:0 16px 14px;margin-top:-6px}
.v3-excerpt summary{list-style:none;cursor:pointer;font-size:12px;font-weight:650;color:var(--gold-text)}
.v3-excerpt summary::-webkit-details-marker{display:none}
.v3-excerpt summary::before{content:"+ "}
.v3-excerpt[open] summary::before{content:"− "}
.v3-excerpt p{margin-top:8px;font-size:13px;line-height:1.7;color:var(--ink-2)}

/* 원본 보기 모달 (후기·성공사례 공용 #player) */
.player{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:24px;background:rgba(20,14,6,.72);backdrop-filter:blur(6px)}
.player.open{display:grid}
.player-panel{width:min(760px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--card);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
.player-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px 14px 22px;border-bottom:1px solid var(--line)}
.player-top strong{display:block;font-size:var(--t-base);font-weight:700;line-height:1.5}
.player-top .ptag{display:block;margin-top:2px;font-size:var(--t-xs);color:var(--ink-3)}
.player-close{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);background:var(--paper);font-size:22px;line-height:1}
.player-close:hover{border-color:var(--ink)}
.player-stage{overflow:auto;background:var(--surface);display:grid;place-items:center}
.player-stage img{display:none;width:auto;max-width:100%;max-height:calc(100vh - 150px);object-fit:contain}
.player.img-mode .player-stage img{display:block}
.player.img-mode .player-stage video{display:none}
.player-stage video{width:100%;max-height:calc(100vh - 150px);background:#000}
.player-cap{padding:12px 20px;font-size:var(--t-xs);color:var(--ink-3)}

@media (max-width:1080px){
  .v3-reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .best-grid{grid-template-columns:1fr}
  .v3-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter)}
  .v3-filters button{flex:none}
  .v3-reviews-grid{grid-template-columns:1fr 1fr;gap:10px}
  .v3-review-quote{padding:12px 12px 0;font-size:14px}
  .v3-review-meta{padding:4px 12px 12px}
  .v3-excerpt{padding:0 12px 12px}
  .player{padding:0;place-items:end stretch}
  .player-panel{width:100%;max-height:92vh;border-radius:var(--r-lg) var(--r-lg) 0 0}
}

/* 후킹 먼저: 베스트 후기는 카톡 원본을 크게, 인용은 그 아래 */
.best{padding:0 0 22px;overflow:hidden}
.best::before{display:none}
.v3-best-image{align-self:stretch;width:100%;height:auto;aspect-ratio:4/3;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#b2c7da}
.v3-best-image img{object-position:center top}
.v3-best-image:hover img{transform:scale(1.02);transition:transform .25s var(--ease)}
.best blockquote{margin:18px 24px 0}
.best .who{margin:18px 24px 0}
@media (max-width:760px){
  .best-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter)}
  .best-grid::-webkit-scrollbar{display:none}
  .best{flex:0 0 84%;scroll-snap-align:center}
}


/* ===== parts/70-teachers.css ===== */
/* ==========================================================================
   페이지: 선생님 소개
   히어로의 주인공은 얼굴이다. 명단이 곧 아래 카드로 가는 목차.
   ========================================================================== */
.tc-hero{padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid var(--line-2)}
.v7-teacher-intro{margin-top:22px}
.v7-teacher-promise strong{display:block;font-size:var(--t-2xl);font-weight:750;line-height:1.35;letter-spacing:-.04em;color:var(--ink)}
.v7-teacher-method{display:block;margin-top:6px;font-size:var(--t-xl);font-weight:650;line-height:1.5;letter-spacing:-.035em;color:var(--ink)}
.v7-teacher-phrase{display:inline-block}

/* 얼굴 명단 */
.tc-roster-band{margin-top:clamp(32px,4.5vw,52px);padding:clamp(22px,2.6vw,30px) clamp(20px,2.6vw,30px) clamp(16px,2vw,22px);border-radius:var(--r-xl);background:var(--surface)}
.tc-roster-label{margin-bottom:18px;font-size:var(--t-sm);font-weight:650;color:var(--ink-2)}
.tc-roster{list-style:none;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:clamp(8px,1.2vw,16px)}
.tc-roster a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 2px 8px;border-radius:var(--r)}
.tc-roster img{width:100%;max-width:104px;aspect-ratio:1/1;height:auto;object-fit:cover;object-position:center 22%;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--line);transition:box-shadow .18s var(--ease)}
.tr-name{font-size:var(--t-sm);font-weight:700;line-height:1.3;color:var(--ink);transition:color .15s}
.tr-trait{font-size:12.5px;line-height:1.35;text-align:center;color:var(--ink-3)}
.tc-roster a:hover img,.tc-roster a:focus-visible img{box-shadow:0 0 0 2.5px var(--gold)}
.tc-roster a:hover .tr-name,.tc-roster a:focus-visible .tr-name{color:var(--gold-text)}
.tc-roster a:focus-visible{box-shadow:none}
.v7-teacher-matching{margin-top:20px;font-size:var(--t-md);font-weight:550;line-height:1.7;color:var(--ink)}
.v7-teacher-matching strong{color:var(--gold-text);font-weight:750}

/* 명단 설명 */
.lj-selected-teachers.section{padding-top:clamp(28px,3.5vw,40px)}
.lj-roster-note{font-size:var(--t-sm);color:var(--ink-3)}

/* 선생님 카드 — 프로필 | 소개 | 수업 영상 */
.tc-grid{display:grid}
.tc.teacher-media-row{
  display:grid;grid-template-columns:184px minmax(0,1fr) 300px;
  grid-template-areas:"profile copy media" "profile detail media";grid-template-rows:auto 1fr;
  gap:18px 48px;align-items:start;padding:48px 0;border-bottom:1px solid var(--line-2);
}
.tc.teacher-media-row:last-child{border-bottom:0}
/* 명단에서 넘어온 카드는 잠깐 표시해 준다 — 사용자가 누른 것에 대한 응답 */
.tc:target .v6-profile{animation:tc-arrive 1.8s var(--ease)}
@keyframes tc-arrive{0%,35%{box-shadow:0 0 0 3px var(--gold)}100%{box-shadow:0 0 0 0 transparent}}

.v6-profile{grid-area:profile;display:flex;flex-direction:column;align-items:center;padding:24px 18px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.tc-photo{width:112px;height:112px;border-radius:50%;overflow:hidden;background:var(--surface);box-shadow:0 0 0 1px var(--line)}
.tc-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.lj-symbol-avatar{background:var(--paper)}
.lj-symbol-avatar img{object-fit:contain;padding:14px}
.langs{display:flex;gap:6px;margin-top:14px}
.langs span{padding:2px 10px;border-radius:999px;background:var(--surface);font-size:12px;font-weight:600;color:var(--ink-2)}
.tc-meter{align-self:stretch;display:grid;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.tc-meter .m{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tc-meter .m>span:first-child{font-size:13px;color:var(--ink-2)}
.tc-meter .dots{display:inline-flex;gap:3px}
.tc-meter .dots i{width:7px;height:7px;border-radius:50%;background:var(--gold)}

.v6-teacher-copy{grid-area:copy}
.v4-teacher-identity h3{font-size:clamp(24px,2.4vw,30px);font-weight:750;letter-spacing:-.04em}
.v4-teacher-identity .origin{margin-top:4px;font-size:var(--t-sm);color:var(--ink-3)}
.tc-tags{display:grid;gap:6px;margin-top:18px}
.tc-tags span{position:relative;padding-left:16px;font-size:var(--t-md);line-height:1.6;color:var(--ink)}
.tc-tags span::before{content:"";position:absolute;left:1px;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.v4-teacher-detail{grid-area:detail;align-self:start}
.v4-teacher-detail summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:var(--t-sm);font-weight:650;border-bottom:1.5px solid var(--gold)}
.v4-teacher-detail summary::-webkit-details-marker{display:none}
.v4-teacher-detail summary::after{content:"+";font-size:18px;font-weight:400;color:var(--gold-text);transition:transform .2s var(--ease)}
.v4-teacher-detail[open] summary::after{transform:rotate(45deg)}
.v4-teacher-detail p{margin-top:16px;max-width:56ch;font-size:var(--t-base);line-height:1.9;color:var(--ink-2)}

/* 수업 영상 카드 (선생님 페이지·홈 대화상자 공용) */
.lj-teacher-media{grid-area:media;justify-self:end;width:300px;max-width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.lj-media-screen{position:relative;aspect-ratio:4/3;background:#1d160b;overflow:hidden}
.lj-media-screen video{width:100%;height:100%;object-fit:cover}
.lj-media-screen audio{display:none}
.lj-voice-screen{display:grid;place-items:center;align-content:center;gap:10px;background:var(--surface)}
.lj-voice-symbol{width:84px;height:84px}
.lj-voice-screen p{font-size:var(--t-sm);font-weight:650;color:var(--ink-2)}
.lj-teacher-media figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;height:52px;padding:0 14px}
.lj-teacher-media figcaption img{width:104px;height:auto}
.lj-teacher-media figcaption span{font-size:var(--t-sm);font-weight:700}
.lj-teacher-media figcaption small{font-size:12px;font-weight:500;color:var(--ink-3)}
.lj-media-toggle{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,253,247,.94);color:var(--ink);box-shadow:0 4px 14px rgba(0,0,0,.22);transition:transform .15s}
.lj-media-toggle:hover{transform:scale(1.05)}
.lj-media-toggle svg{width:18px;height:18px}
.lj-play-icon{margin-left:2px}
.lj-pause-icon,.is-playing .lj-play-icon{display:none}
.is-playing .lj-pause-icon{display:block}
.lj-voice-screen .lj-media-toggle{position:static;margin-top:4px}
.lj-media-error{position:absolute;left:12px;right:70px;bottom:14px;padding:6px 10px;border-radius:8px;background:rgba(0,0,0,.7);color:#fff;font-size:12px}

/* 홈 등에서 쓰는 영상 대화상자 */
.lj-teacher-dialog{width:min(420px,calc(100% - 32px));padding:0;border:0;border-radius:var(--r-lg);background:transparent;overflow:visible}
.lj-teacher-dialog::backdrop{background:rgba(20,14,6,.7);backdrop-filter:blur(4px)}
.lj-teacher-dialog .lj-teacher-media{width:100%;justify-self:auto}
.lj-dialog-close{position:absolute;right:-6px;top:-50px;width:40px;height:40px;border-radius:50%;border:0;background:var(--card);font-size:22px;line-height:1}

@media (max-width:1080px){
  .tc-roster{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
  .tc-roster::-webkit-scrollbar{display:none}
  .tc-roster li{flex:0 0 96px;scroll-snap-align:start}
  .tc-roster img{max-width:88px}
  .tc.teacher-media-row{grid-template-columns:156px minmax(0,1fr) 240px;gap:16px 28px}
  .lj-teacher-media{width:240px}
}
@media (max-width:760px){
  .v7-teacher-method{font-size:var(--t-lg)}
  .tc-roster-band{margin-inline:calc(var(--gutter)*-1);border-radius:0;padding-inline:var(--gutter)}
  .tc-roster li{flex-basis:78px}
  .tc-roster img{max-width:70px}
  .tr-trait{font-size:11.5px}
  .v7-teacher-matching{font-size:var(--t-base)}
  .tc.teacher-media-row{grid-template-columns:120px minmax(0,1fr);grid-template-areas:"profile copy" "detail detail" "media media";gap:16px 18px;padding:32px 0}
  .v6-profile{padding:16px 10px}
  .tc-photo{width:84px;height:84px}
  .langs{flex-wrap:wrap;justify-content:center;gap:4px}
  .langs span{font-size:11px;padding:1px 8px}
  .tc-meter .m{flex-direction:column;align-items:flex-start;gap:3px}
  .tc-tags span{font-size:var(--t-base)}
  .lj-teacher-media{justify-self:stretch;width:100%}
}

@media (max-width:760px){.lj-teacher-media{justify-self:center;max-width:320px}}


/* ===== parts/80-cases.css ===== */
/* ==========================================================================
   페이지: 성공사례 목록 — Before/After 영상이 증거. 모스그린은 "After"에만.
   ========================================================================== */
.pg-cases main>section{padding:var(--section) 0 0}
.pg-cases main>section.hero2{padding:clamp(52px,7vw,88px) 0 0}

/* 히어로 — 문장 + 대표 영상 */
.hero2-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(32px,5vw,72px)}
.hero2 .go{margin-top:30px}
.hero2 .go .arrow-i{transform:rotate(135deg)!important;margin-top:-4px}

/* 영상 공통: 어두운 화면 + 아래 그늘 + 재생 표시 */
.hero-video,.c2-clip{position:relative;overflow:hidden;background:#1d160b;cursor:pointer}
.hero-video{aspect-ratio:16/10;border-radius:var(--r-xl);box-shadow:var(--shadow)}
.hero-video video,.c2-clip video{width:100%;height:100%;object-fit:cover}
.hv-veil,.c2-clip .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,6,0) 45%,rgba(20,14,6,.72))}
.hv-veil{display:flex;flex-direction:column;justify-content:space-between;padding:18px 20px}
.hv-tag,.c2-stage,.hero-video-label{
  align-self:flex-start;padding:4px 10px;border-radius:999px;
  font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;
  background:rgba(255,253,247,.92);color:var(--ink-2);
}
.hv-tag,.c2-clip.af .c2-stage,.is-after .hero-video-label{background:var(--moss);color:#fff}
.hv-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.hv-cap{font-size:var(--t-sm);font-weight:650;color:#fff;line-height:1.5}
.pbtn,.c2-clip .mini{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:rgba(255,253,247,.94);color:var(--ink)}
.pbtn .arrow-i,.c2-clip .mini .arrow-i{width:0;height:0;border:0;transform:none;margin-left:3px;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
.hero-video:hover .pbtn,.c2-clip:hover .mini{background:#fff;transform:scale(1.05)}
.hero-video:focus-visible,.c2-clip:focus-visible{box-shadow:var(--focus)}

/* 사례 카드 */
#cases .section-title{display:flex;align-items:baseline;gap:16px}
.case2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden}
.c2-split{display:grid;grid-template-rows:1fr 1fr;gap:3px;background:#1d160b;min-height:420px}
.c2-clip .c2-stage{position:absolute;left:14px;top:14px}
.c2-clip .mini{position:absolute;right:14px;bottom:14px;width:38px;height:38px}
.c2-body{display:flex;flex-direction:column;padding:clamp(26px,3.4vw,44px)}
.c2-tag,.case-tag{font-size:var(--t-xs);font-weight:700;color:var(--gold-text)}
.c2-body h3{margin-top:8px;font-size:var(--t-xl);font-weight:750}
.c2-hook{margin-top:12px;font-size:var(--t-base);line-height:1.75;color:var(--ink-2)}
.c2-hook em{color:var(--gold-text);font-weight:650}
.c2-ba,.art-ba{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:10px;margin:24px 0 26px}
.c2-ba .b,.c2-ba .a{padding:14px 16px;border-radius:var(--r)}
.c2-ba .b{background:var(--surface)}
.c2-ba .a{background:var(--moss-tint)}
.c2-ba b{display:block;font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.c2-ba .a b{color:var(--moss)}
.c2-ba p{margin-top:4px;font-size:var(--t-sm);font-weight:600;line-height:1.55;color:var(--ink)}
.c2-ba .m,.art-ba .m{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--gold-text)}
.c2-ba .m span,.art-ba .ba-dur{font-size:var(--t-xs);font-weight:750}
.ba-arrow,.art-ba .m svg{width:34px;height:11px;fill:none;stroke:currentColor;stroke-width:1.5}
.c2-go{align-self:flex-start;margin-top:auto}

/* 짧은 사례 */
.sub-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.sub-card{display:flex;flex-direction:column;gap:10px;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.sub-card h3{font-size:var(--t-lg);font-weight:700}
.sub-ba{display:grid;gap:8px;margin:4px 0 8px}
.sub-ba span{font-size:var(--t-sm);line-height:1.7;color:var(--ink-2)}
.sub-ba .a{color:var(--ink)}
.sub-ba em{font-weight:650;color:var(--moss)}
.sub-card .case-cta-link{align-self:flex-start;margin-top:auto}

/* 계속 쌓이는 사례 */
.stack-cta{text-align:center}
.stack-cta .section-title h2,.stack-cta .section-title>p{margin-inline:auto}
.stack-cta .btns{justify-content:center}
.stack-cta .arrow-i{margin-left:2px}

/* 왜 다른 결과가 */
#why .section-title{margin-bottom:24px}
.why{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:12px 64px;padding:clamp(28px,4vw,52px);border-radius:var(--r-xl);background:var(--surface)}
.why>.kicker{grid-column:1;margin:0}
.why>h2{grid-column:1;font-size:var(--t-2xl);line-height:1.35}
.why .story{grid-column:2;grid-row:1/span 3;display:grid;gap:16px}
.why .story p{font-size:var(--t-base);line-height:1.9;color:var(--ink-2)}
.why .story b{color:var(--ink)}
.why .punch{margin-top:8px;font-size:var(--t-lg);font-weight:700;line-height:1.55;color:var(--ink)!important}

/* 오해하지 마세요 */
.honest{padding:clamp(26px,3.6vw,44px);border:1px solid var(--line-2);border-radius:var(--r-xl)}
.honest h3{margin-top:6px;font-size:var(--t-xl);font-weight:750}
.honest-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px 40px;margin-top:18px}
.honest-cols p,.honest>p{font-size:var(--t-base);line-height:1.85;color:var(--ink-2)}
.honest b{color:var(--ink)}

/* 영상 모음 모달 (#player 의 사례 모드) */
.player-list{display:grid;gap:2px;padding:10px;max-height:220px;overflow:auto;border-top:1px solid var(--line)}
.player-list button{text-align:left;padding:10px 12px;border:0;border-radius:10px;background:transparent;font-size:var(--t-xs);color:var(--ink-2)}
.player-list button:hover{background:var(--surface)}
.player-list button.on{background:var(--surface);color:var(--ink);font-weight:650}
.player-top>div{display:flex;align-items:center;gap:12px}
.player-cap{display:flex;gap:8px;align-items:center;background:var(--card)}
.player-cap b{padding:2px 8px;border-radius:999px;background:var(--moss);color:#fff;font-size:11px;font-weight:750;text-transform:uppercase}
.player-cap b.bf{background:var(--surface-2);color:var(--ink-2)}
.player-cap span{font-size:var(--t-sm);color:var(--ink-2)}

@media (max-width:900px){
  .hero2-grid{grid-template-columns:1fr}
  .case2{grid-template-columns:1fr}
  .c2-split{min-height:0;grid-template-rows:none;grid-template-columns:1fr 1fr}
  .c2-clip{aspect-ratio:4/3}
  .why{grid-template-columns:1fr}
  .why .story{grid-column:1;grid-row:auto}
}
@media (max-width:760px){
  .c2-ba{grid-template-columns:1fr;gap:6px}
  .c2-ba .m{flex-direction:row;padding:2px 0}
  .c2-ba .m svg{transform:rotate(90deg);width:22px}
  .sub-grid.two,.honest-cols{grid-template-columns:1fr}
}


/* ===== parts/85-case-detail.css ===== */
/* ==========================================================================
   페이지: 성공사례 상세 (7개) — 기사처럼 읽힌다. 본문은 한 칼럼, 증거는 넓게.
   ========================================================================== */
.crumb{padding-top:24px;font-size:var(--t-xs);color:var(--ink-3)}
.crumb a{color:var(--ink-2);border-bottom:1px solid var(--line-2)}
.crumb a:hover{color:var(--gold-text);border-color:var(--gold)}

/* 히어로: 문장 | 대표 장면 */
.art-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(32px,5vw,64px);padding:clamp(36px,5vw,64px) 0 clamp(28px,4vw,44px)}
.art-hero h1{max-width:16ch}
.who-line{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.wl{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:12px;color:var(--ink-3)}
.wl b{font-size:var(--t-sm);font-weight:700;color:var(--ink)}

.hero-proof{padding:18px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.hero-proof-kicker{margin:2px 4px 12px;font-size:var(--t-xs);font-weight:700;color:var(--gold-text)}
.hero-proof .hero-video{position:relative;margin:0;aspect-ratio:auto;border-radius:var(--r);overflow:hidden;background:#1d160b;box-shadow:none;cursor:default}
.hero-proof .hero-video video{width:100%;aspect-ratio:16/10;object-fit:cover}
.hero-video-label{position:absolute;left:12px;top:12px;z-index:1}
.hero-proof .hero-video figcaption{padding:10px 14px;background:var(--card);font-size:var(--t-xs);font-weight:600;color:var(--ink-2)}
.hero-proof-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;align-items:center;margin-top:12px}
.hero-video-mini video{aspect-ratio:16/10}
.hero-proof-note{font-size:12.5px;line-height:1.7;color:var(--ink-2)}
/* 영상이 없는 사례: 핵심 변화 요약 */
.hero-proof-text{padding:clamp(22px,3vw,32px)}
.proof-quote{font-size:var(--t-lg);font-weight:700;line-height:1.6;letter-spacing:-.03em;color:var(--ink)}
.proof-change{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:baseline;margin-top:20px;padding-top:18px;border-top:1px solid var(--line-2)}
.proof-change span{font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.proof-change span:nth-of-type(2){color:var(--moss)}
.proof-change strong{font-size:var(--t-sm);font-weight:650;color:var(--ink)}
.proof-change strong:last-of-type{color:var(--moss)}
.proof-change i{grid-column:2;font-style:normal;color:var(--gold-text)}

/* 처음 → 뒤 요약 줄 */
.art-ba{margin:0 0 8px}
.art-ba .b,.art-ba .a{padding:18px 20px;border-radius:var(--r)}
.art-ba .b{background:var(--surface)}
.art-ba .a{background:var(--moss-tint)}
.ba-tag{display:inline-block;margin-bottom:6px;font-size:var(--t-xs);font-weight:750;color:var(--ink-3)}
.art-ba .a .ba-tag{color:var(--moss)}
.art-ba p{font-size:var(--t-sm);line-height:1.7;color:var(--ink)}

/* 본문 — 한 칼럼 */
.art-body{padding:clamp(40px,6vw,72px) 0 clamp(48px,6vw,72px)}
.art-col{width:min(720px,100% - var(--gutter)*2);margin-inline:auto}
.sec+.sec,.evid+.sec,.sec+.evid,.kakao+.sec,.sec+.kakao,.evid+.evid{margin-top:clamp(48px,6vw,72px)}
.sec-mark{margin-bottom:10px;font-size:var(--t-xs);font-weight:700;color:var(--gold-text)}
.sec h2{font-size:var(--t-xl);font-weight:750;line-height:1.45;letter-spacing:-.04em}
.sec h2+p,.sec h2+.lead{margin-top:18px}
.sec p{font-size:var(--t-base);line-height:1.95;color:var(--ink-2)}
.sec p+p,.sec .pull+p,.sec ul+p,.sec p+ul{margin-top:16px}
.sec .lead{font-size:var(--t-md);color:var(--ink)}
.sec strong{color:var(--ink);font-weight:650;background:linear-gradient(transparent 62%,var(--gold-tint) 62%)}
.sec h3{margin-top:28px;font-size:var(--t-md);font-weight:700}
.sec h3+p{margin-top:8px}
.sec ul{list-style:none;margin-top:16px;display:grid;gap:8px}
.sec ul li{position:relative;padding:12px 16px 12px 40px;border-radius:12px;background:var(--surface);font-size:var(--t-base);line-height:1.6}
.sec ul li::before{content:"";position:absolute;left:17px;top:1.15em;width:10px;height:5px;border-left:2px solid var(--moss);border-bottom:2px solid var(--moss);transform:rotate(-45deg)}
.art-col .pull{margin:24px 0}
.art-col .pull.big{margin:36px 0;padding:0;border:0;text-align:center;font-size:clamp(22px,2.6vw,28px);font-weight:750;line-height:1.55;color:var(--gold-text)}

/* 영상 증거 */
.evid{margin-inline:calc((min(1000px,100vw - var(--gutter)*2) - 100%)/-2);padding:clamp(20px,3vw,28px);border-radius:var(--r-xl);background:var(--surface)}
.evid-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.evid-head h3{font-size:var(--t-lg);font-weight:700}
.evid-head .meta{font-size:var(--t-xs);color:var(--ink-3)}
.evid-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.evid-clip{background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.evid-clip video{width:100%;aspect-ratio:16/10;object-fit:cover;background:#1d160b}
.evid-clip .meta{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:12.5px;color:var(--ink-2)}
.evid-clip .meta b{flex:none;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;background:var(--surface-2);color:var(--ink-2)}
.evid-clip .meta b.af{background:var(--moss);color:#fff}
.evid-note{margin-top:14px;font-size:var(--t-xs);line-height:1.7;color:var(--ink-2)}
.evid-note strong{color:var(--ink)}

/* 카톡 인용 */
.kakao{max-width:520px;margin-inline:auto;padding:20px;border-radius:var(--r-xl);background:#b2c7da}
.kakao-head{margin-bottom:12px;font-size:12px;font-weight:650;color:#3a4a5a}
.bubble{width:fit-content;max-width:88%;margin-top:8px;padding:10px 14px;border-radius:4px 16px 16px 16px;background:#fff;font-size:var(--t-sm);line-height:1.65;color:#1c1c1c}
.stamp{margin-top:14px;text-align:center;font-size:12px;color:#3a4a5a}

/* 다음 행동 */
.case-cta{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(56px,7vw,88px)}
.cta-card{display:flex;flex-direction:column;gap:8px;padding:26px;border-radius:var(--r-lg);border:1px solid var(--line-2);background:var(--card);transition:border-color .15s}
.cta-card:hover{border-color:var(--gold)}
.cta-card.primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.cta-card.primary .ck{color:var(--gold-on-ink)}
.cta-card h3{font-size:var(--t-lg);font-weight:700;line-height:1.45}
.cta-card.primary h3{color:var(--on-ink)}
.cta-card p{font-size:var(--t-sm);line-height:1.75;color:var(--ink-2);flex:1}
.cta-card.primary p{color:var(--on-ink-2)}
.cta-card .go{margin-top:8px;font-size:var(--t-sm);font-weight:700;color:var(--gold-text)}
.cta-card.primary .go{color:var(--gold-on-ink)}

/* 이전·다음 사례 */
.case-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 0 var(--section)}
.case-nav a{display:flex;flex-direction:column;gap:4px;padding:20px 22px;border-top:2px solid var(--ink);font-size:var(--t-sm);font-weight:700}
.case-nav .next{text-align:right;align-items:flex-end}
.case-nav .nm{font-size:var(--t-xs);font-weight:500;color:var(--ink-3)}
.case-nav a:hover{color:var(--gold-text);border-color:var(--gold)}

@media (max-width:900px){
  .art-hero{grid-template-columns:1fr}
  .evid{margin-inline:0}
}
@media (max-width:760px){
  .art-ba{grid-template-columns:1fr}
  .art-ba .m{flex-direction:row}
  .art-ba .m svg{transform:rotate(90deg);width:22px}
  .hero-proof-row{grid-template-columns:1fr}
  .evid{margin-inline:calc(var(--gutter)*-1);border-radius:0}
  .evid-grid{grid-template-columns:1fr}
  .case-cta,.case-nav{grid-template-columns:1fr}
  .case-nav .next{text-align:left;align-items:flex-start}
}


/* ===== parts/88-cases-lux.css ===== */
/* ==========================================================================
   성공사례 — 화려하게 (2026-09-26)
   히어로는 밤 무대, 본문은 밝은 종이. 주인공은 Before → After 의 대비.
   ========================================================================== */
.pg-cases,.pg-case{
  --lux:linear-gradient(100deg,#f6e2ae 0%,#d9a94f 38%,#fff1c9 55%,#c8923a 100%);
  --glow:rgba(233,196,120,.55); --after:#9fb57a;
}

/* ---------- 밤 무대 토큰 (히어로 전용) ---------- */
.pg-cases .hero2,.pg-case .art-hero,.pg-case main>.wrap:first-child{
  --paper:#16110a; --surface:#201910; --card:#1d160e;
  --line:rgba(243,234,214,.10); --line-2:rgba(243,234,214,.18);
  --ink:#f3ead6; --ink-2:rgba(243,234,214,.76); --ink-3:rgba(243,234,214,.58);
  --gold-text:#dcb66b; --gold-soft:rgba(220,182,107,.34);
  color:var(--ink);
}

/* ---------- 목록 히어로 ---------- */
.pg-cases main>section.hero2{
  padding:clamp(64px,8vw,112px) 0 clamp(64px,8vw,104px);
  background:
    radial-gradient(900px 460px at 78% 20%,rgba(233,196,120,.20),transparent 70%),
    radial-gradient(700px 400px at 10% 100%,rgba(159,181,122,.08),transparent 70%),
    #16110a;
}
.pg-cases .hero2 h1{font-size:clamp(38px,5.2vw,64px)}
.pg-cases .hero2 h1 em,.pg-case .art-hero h1 em{background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 22px rgba(233,196,120,.3))}
.pg-cases .hero2 .result2 b{color:#f6e2ae}
.pg-cases .hero2 .btn-gold{background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);color:#1a140c;box-shadow:0 10px 30px -10px var(--glow)}
.pg-cases .hero-video{
  border:1px solid rgba(233,196,120,.55);
  box-shadow:0 0 0 8px rgba(233,196,120,.06),0 40px 80px -30px rgba(0,0,0,.9),0 0 80px -10px var(--glow);
  transform:rotate(1.2deg);transition:transform .35s var(--ease);
}
.pg-cases .hero-video:hover{transform:rotate(0) scale(1.02)}
.pg-cases .hv-tag{box-shadow:0 0 18px rgba(159,181,122,.7)}

/* ---------- 사례 카드: Before 는 흐리게, After 는 불이 켜진다 ---------- */
.pg-cases #cases{padding-top:clamp(72px,9vw,120px)}
.case2{
  box-shadow:0 30px 70px -44px rgba(70,48,18,.6);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.case2:hover{transform:translateY(-6px);box-shadow:0 40px 80px -40px rgba(133,96,30,.65)}
.c2-split{background:#0e0a05}
.c2-clip.bf video{filter:grayscale(.75) brightness(.72) contrast(.95);transition:filter .4s}
.c2-clip.bf:hover video{filter:none}
.c2-clip.af{box-shadow:inset 0 0 0 2px var(--after),inset 0 0 40px rgba(159,181,122,.35)}
.c2-clip.af video{filter:saturate(1.1) brightness(1.05)}
.c2-clip.af::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 80% at 50% 110%,rgba(233,196,120,.28),transparent 60%)}
.c2-clip.af .c2-stage{box-shadow:0 0 16px rgba(159,181,122,.8)}
.c2-body h3{font-size:clamp(26px,2.8vw,32px)}
/* Before → 기간 → After 줄 */
.c2-ba,.art-ba{gap:12px}
.c2-ba .b,.art-ba .b{background:#eee8dc;color:var(--ink-3)}
.c2-ba .b p{color:var(--ink-2);font-weight:500}
.c2-ba .a,.art-ba .a{
  background:linear-gradient(160deg,#eef3e2,#e2ebd0);
  box-shadow:inset 0 0 0 1.5px rgba(111,126,79,.55),0 14px 30px -18px rgba(87,102,59,.6);
}
.c2-ba .m,.art-ba .m{
  position:relative;min-width:84px;padding:6px 10px;border-radius:999px;
  background:#221a0e;color:#f6e2ae;box-shadow:0 8px 22px -8px var(--glow);
}
.c2-ba .m span,.art-ba .ba-dur{font-size:var(--t-sm);font-weight:800;background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent}
.c2-ba .m svg,.art-ba .m svg{stroke:#d9a94f}
/* 짧은 사례 */
.sub-card{border-top:3px solid #d9a94f;box-shadow:0 24px 50px -36px rgba(70,48,18,.55);transition:transform .25s var(--ease)}
.sub-card:hover{transform:translateY(-4px)}
.sub-ba .a em{background:linear-gradient(transparent 60%,#e2ebd0 60%)}

/* ---------- "왜 같은 3개월인데" — 크게, 먹색 위 금빛 ---------- */
.pg-cases .why{
  background:#221a0e;color:#f6efdf;
  box-shadow:0 40px 80px -40px rgba(34,26,14,.8);
  --ink:#f6efdf;--ink-2:rgba(246,239,223,.78);--gold-text:#e6c47e;
  background-image:radial-gradient(600px 300px at 90% 0%,rgba(233,196,120,.2),transparent 70%);
}
.pg-cases .why>h2{color:#f6efdf;font-size:clamp(30px,3.6vw,42px)}
.pg-cases .why>h2 em{background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent}
.pg-cases .why .story b{color:#f6e2ae}
.pg-cases .why .punch{color:#f6efdf!important;font-size:var(--t-xl)}
.pg-cases .why .punch .keep{color:#f6e2ae}

/* ---------- 사례 상세: 밤 무대 히어로 ---------- */
.pg-case main>.wrap:first-child{border-image:conic-gradient(#16110a 0 0) fill 0//0 100vmax;padding-bottom:4px}
.pg-case .crumb{color:var(--ink-3)}
.pg-case .crumb a{color:var(--ink-2);border-color:var(--line-2)}
.pg-case .art-hero{
  padding-bottom:clamp(56px,7vw,88px);
  border-image:
    conic-gradient(#16110a 0 0) fill 0//0 100vmax;
  position:relative;
}
.pg-case .art-hero::before{content:"";position:absolute;inset:0 -100vmax;pointer-events:none;background:radial-gradient(800px 420px at 75% 30%,rgba(233,196,120,.18),transparent 70%)}
.pg-case .art-hero>*{position:relative}
.pg-case .art-hero h1{font-size:clamp(36px,4.8vw,58px)}
.pg-case .wl{background:rgba(243,234,214,.05);border-color:rgba(233,196,120,.25)}
.pg-case .wl b{color:#f6e2ae}
.pg-case .hero-proof{background:linear-gradient(180deg,rgba(233,196,120,.10),rgba(29,22,14,.9));border:1px solid rgba(233,196,120,.4);box-shadow:0 0 70px -16px var(--glow)}
.pg-case .hero-proof .hero-video figcaption{background:#1d160e;color:var(--ink-2)}
.pg-case .hero-video-main{box-shadow:0 0 0 2px var(--after),0 0 40px -6px rgba(159,181,122,.55)}
.pg-case .hero-video-mini video{filter:grayscale(.75) brightness(.72)}
.pg-case .proof-quote{font-size:var(--t-xl);color:#f6efdf}
.pg-case .proof-change strong:last-of-type{color:#c3d6a2}
.pg-case .proof-change span:nth-of-type(2){color:#c3d6a2}
.pg-case .art-hero+section{padding-top:clamp(40px,5vw,64px)}
/* 영상 증거 블록 */
.evid{background:linear-gradient(180deg,#f6ecd6,#f1e6cc);border:1px solid #ecd9a8;box-shadow:0 30px 60px -40px rgba(133,96,30,.5)}
.evid-clip .meta b.bf~span{color:var(--ink-3)}
.evid-clip:has(.bf) video{filter:grayscale(.75) brightness(.8)}
.evid-clip:has(.bf):hover video{filter:none}
.evid-clip:has(.af){box-shadow:0 0 0 1.5px var(--after),0 16px 30px -18px rgba(87,102,59,.6)}
.art-col .pull.big{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--gold-text);-webkit-text-fill-color:currentColor;filter:none}
.cta-card.primary{background:radial-gradient(400px 200px at 80% 0%,rgba(233,196,120,.25),transparent 70%),#221a0e;box-shadow:0 30px 60px -30px rgba(34,26,14,.8)}

@media (max-width:900px){.pg-cases .hero-video{transform:none}}
@media (prefers-reduced-motion:reduce){.case2,.sub-card,.pg-cases .hero-video,.c2-clip.bf video{transition:none}}

/* ---- 피드백 반영 (2026-09-26) ---- */
/* 성과가 큰 제목, 사람·시작 수준은 작은 정보 (문구는 그대로, 크기·순서만) */
.c2-body{gap:0}
.c2-body .c2-tag{order:1}
.c2-body h3{order:2;margin-top:6px;font-size:var(--t-sm)!important;font-weight:650;color:var(--ink-3)}
.c2-body .c2-hook{order:0;margin:0 0 14px;font-size:clamp(22px,2.3vw,28px);font-weight:750;line-height:1.45;letter-spacing:-.035em;color:var(--ink)}
.c2-body .c2-hook em{background:linear-gradient(100deg,#b0802d,#85601e);-webkit-background-clip:text;background-clip:text;color:transparent}
.c2-body .c2-ba{order:3}
.c2-body .c2-go{order:4}
/* 영상 없는 사례: 영상 사례 사이의 넓은 이야기 카드 */
.sub-card.sub-wide{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px 48px;align-items:center;
  margin:0 0 20px;padding:clamp(28px,3.6vw,44px);border-radius:var(--r-xl);
  background:radial-gradient(500px 240px at 100% 0%,rgba(233,196,120,.18),transparent 70%),#221a0e;
  border:0;color:#f6efdf;box-shadow:0 30px 70px -40px rgba(34,26,14,.8);
}
.sub-card.sub-wide .case-tag{grid-column:1;color:#e6c47e}
.sub-card.sub-wide h3{grid-column:1;font-size:var(--t-sm);color:rgba(246,239,223,.6);order:0}
.sub-card.sub-wide .sub-ba{grid-column:2;grid-row:1/span 3;margin:0;gap:14px}
.sub-card.sub-wide .sub-ba .b{font-size:var(--t-base);color:rgba(246,239,223,.65)}
.sub-card.sub-wide .sub-ba .a{font-size:clamp(20px,2.1vw,25px);font-weight:750;line-height:1.5;color:#f6efdf}
.sub-card.sub-wide .sub-ba .a em{background:none;color:#f6e2ae}
.sub-card.sub-wide .case-cta-link{grid-column:1;color:#f6efdf;border-color:#d9a94f}
@media (max-width:900px){
  .sub-card.sub-wide{grid-template-columns:1fr}
  .sub-card.sub-wide .sub-ba{grid-column:1;grid-row:auto}
}
/* 모바일: 카드 높이 줄이기 — 영상은 크게, 전후 비교는 한 줄 */
@media (max-width:760px){
  .c2-split{grid-template-columns:1fr 1fr}
  .c2-clip{aspect-ratio:3/4}
  .c2-body{padding:22px 20px}
  .c2-body .c2-hook{font-size:20px;margin-bottom:10px}
  .c2-ba{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:6px;margin:16px 0 18px}
  .c2-ba .m{flex-direction:column!important;min-width:0;padding:6px 8px}
  .c2-ba .m svg{transform:none!important;width:22px}
  .c2-ba .b,.c2-ba .a{padding:10px 12px}
  .c2-ba p{font-size:13px}
}
/* 모바일 영상: 원본(가로 2.5:1) 그대로, Before 위 · After 아래 — 잘림 없음 */
@media (max-width:900px){
  .c2-split{grid-template-columns:1fr!important;grid-template-rows:auto auto!important}
  .c2-clip{aspect-ratio:1280/512!important}
}
/* 마지막 안내 */
.pg-cases .finalcta .btn-gold{background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);color:#1a140c}
/* 영상 없는 두 사례: 영상 사례 뒤에 나란히 (2026-09-28) — 반쪽 폭이라 카드 안은 위아래로 */
.sub-pair{margin-top:clamp(28px,3.4vw,40px)}
.sub-pair .sub-card.sub-wide{grid-template-columns:1fr;align-content:start;margin:0}
.sub-pair .sub-card.sub-wide .sub-ba{grid-column:1;grid-row:auto;margin-top:8px}
.sub-pair .sub-card.sub-wide .case-cta-link{margin-top:12px}
.sub-pair .sub-card.sub-wide .case-cta-link{justify-self:start}
/* 나이·대상을 카드 맨 위에 크게, 같은 말을 되풀이하던 작은 제목(h3)은 화면에서만 숨김 (2026-09-28) */
.c2-body .c2-tag{order:-1;margin-bottom:12px;font-size:var(--t-sm);font-weight:600;color:var(--ink-3)}
.pg-cases .tag-who{font-size:clamp(18px,1.6vw,21px);font-weight:800;letter-spacing:-.02em;color:var(--gold-text)}
.c2-body h3,.sub-card.sub-wide h3{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sub-card.sub-wide .case-tag{font-size:var(--t-sm);font-weight:600;color:rgba(246,239,223,.65)}
.sub-card.sub-wide .tag-who{color:#e6c47e}
/* After 영상 장면 설명 (60대 사례: 한국어만 보고 일본어로 바꿔 말하는 중) */
.c2-clip .c2-note{position:absolute;left:14px;right:64px;bottom:16px;z-index:1;font-size:13px;font-weight:700;line-height:1.4;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.c2-clip .c2-note::before{content:"";display:inline-block;width:6px;height:6px;margin:0 7px 2px 0;border-radius:50%;background:#9fb57a;box-shadow:0 0 8px #9fb57a}
@media (max-width:760px){.c2-clip .c2-note{font-size:12px;bottom:12px;left:12px}}

/* 가독성 (2026-09-28 사용자: 글자가 작고 가독성이 떨어짐) — 영상 위 글자, 크게 띄운 창, 전후 비교 */
.pg-cases .hv-cap{font-size:clamp(16px,1.3vw,18px);font-weight:700;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.pg-cases .hv-tag,.c2-clip .c2-stage{font-size:13px;padding:5px 12px}
.c2-clip .c2-note{font-size:15px}
.c2-ba b{font-size:12px}
.c2-ba p{font-size:var(--t-base);line-height:1.5}
.c2-ba .m span{font-size:var(--t-sm)}
:is(.pg-cases,.pg-case) .player-top strong{font-size:var(--t-lg);font-weight:750}
:is(.pg-cases,.pg-case) .player-top .ptag{font-size:var(--t-sm)}
:is(.pg-cases,.pg-case) .player-cap{padding:14px 22px;gap:10px}
:is(.pg-cases,.pg-case) .player-cap b{font-size:13px;padding:4px 10px}
:is(.pg-cases,.pg-case) .player-cap span{font-size:var(--t-md);font-weight:700;color:var(--ink)}
:is(.pg-cases,.pg-case) .player-list button{font-size:var(--t-sm);padding:12px 14px}
@media (max-width:760px){.c2-ba p{font-size:var(--t-sm)}.c2-clip .c2-note{font-size:13px}:is(.pg-cases,.pg-case) .player-cap span{font-size:var(--t-base)}}
:is(.pg-cases,.pg-case) .player-cap{width:100%;align-self:stretch;justify-self:stretch;box-sizing:border-box}


/* ===== parts/90-home.css ===== */
/* ==========================================================================
   페이지: 홈
   ========================================================================== */
/* 첫 화면: 문장 | 60대 어르신 영상 */
.fold{padding:clamp(52px,7vw,88px) 0 0}
.v2-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,72px)}
.hero-core h1{max-width:14ch}
.hero-core .sub{font-size:var(--t-base)}
.v2-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}

.story{margin:0}
.yt-frame{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow);background:#1d160b}
.yt-card{position:relative;display:block;aspect-ratio:16/9;cursor:pointer}
.yt-card img{width:100%;height:100%;object-fit:cover}
.yt-card .veil{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,rgba(20,14,6,0) 40%,rgba(20,14,6,.35))}
.pbtn-lg{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:rgba(255,253,247,.95);color:var(--ink);padding-left:5px;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .15s}
.yt-card:hover .pbtn-lg{transform:scale(1.06)}
.yt-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-card:has(iframe) img,.yt-card:has(iframe) .veil{visibility:hidden}
.v2-video-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:0 4px;font-size:var(--t-sm)}
.v2-video-bottom span{font-weight:650;color:var(--ink-2)}
.v2-video-bottom a{font-weight:650;color:var(--gold-text);border-bottom:1.5px solid var(--gold);padding-bottom:2px}

/* 세 갈래 입구 */
.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.entry{display:flex;flex-direction:column;gap:8px;padding:28px 28px 26px;transition:background-color .15s}
.entry+.entry{border-left:1px solid var(--line-2)}
.entry:hover{background:var(--card)}
.entry h3{font-size:var(--t-lg);font-weight:750}
.entry p{flex:1;font-size:var(--t-sm);line-height:1.7;color:var(--ink-2)}
.entry .tlink{align-self:flex-start;margin-top:8px}
.entry.em h3{color:var(--gold-text)}

/* 카톡 후기 벽 */
.v5-kakao-wall{margin-inline:calc(50% - 50vw);padding:22px 0 26px;background:var(--surface)}
.v5-kakao-toolbar{width:min(var(--wrap),100% - var(--gutter)*2);margin:0 auto 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.v5-kakao-toolbar span{font-size:var(--t-sm);font-weight:650;color:var(--ink-2)}
.v5-motion-toggle{min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-size:var(--t-xs);font-weight:600}
.v5-kakao-lanes{display:grid;gap:12px}
.v5-kakao-lane{overflow-x:auto;scrollbar-width:none;cursor:grab}
.v5-kakao-lane::-webkit-scrollbar{display:none}
.v5-kakao-lane:focus-visible{box-shadow:inset 0 0 0 2px var(--gold);border-radius:0}
.v5-kakao-track{display:flex;width:max-content}
.v5-kakao-set{display:flex;gap:12px;padding-right:12px}
.v5-capture{flex:none;width:168px;height:168px;padding:0;border:0;border-radius:var(--r);overflow:hidden;background:var(--card);box-shadow:0 1px 2px rgba(70,48,18,.08)}
.v5-capture img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .2s var(--ease)}
.v5-capture:hover img{transform:scale(1.03)}

/* 수강생 이야기 5개 */
.t-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:clamp(32px,4vw,48px)}
.tcard{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.tcard blockquote{font-size:var(--t-sm);font-weight:600;line-height:1.75;color:var(--ink)}
.tcard blockquote::before{content:"\201C";display:block;margin-bottom:2px;font-size:32px;line-height:.8;font-weight:800;color:var(--gold)}
.twho{display:flex;gap:10px;align-items:flex-start;padding-top:14px;border-top:1px solid var(--line)}
.twho .avatar{flex:none;width:36px;height:36px;border-radius:50%;object-fit:cover}
.twho b{display:block;font-size:12.5px;font-weight:700;line-height:1.45}
.twho span{display:block;margin-top:3px;font-size:12px;line-height:1.5;color:var(--ink-3)}
.more-line{margin-top:24px;text-align:center}

/* 96% 선언 — 먹색 띠 */
.v2-method.section{padding-bottom:0}
.v2-method .band-ink h2{margin-bottom:clamp(32px,4vw,48px)}
.band-ink .grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(246,239,223,.12);border-radius:var(--r-lg);overflow:hidden}
.band-ink .cell{padding:28px 26px;background:var(--ink)}
.band-ink .cell .n{display:block;margin-bottom:14px;font-size:var(--t-sm);font-weight:750;color:var(--gold-on-ink)}
.band-ink .cell h4{font-size:var(--t-lg);font-weight:700;line-height:1.5;color:var(--on-ink)}
.band-ink .cell p{margin-top:10px;font-size:var(--t-sm);line-height:1.8}
.band-ink .v2-method-link{position:relative;margin-top:28px;color:var(--on-ink);border-color:var(--gold-on-ink)}

/* 선생님 띠 */
.teach-band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px 56px;padding:clamp(28px,4vw,48px);border-radius:var(--r-xl);background:var(--surface)}
.tb-copy h3{font-size:var(--t-2xl);font-weight:750;line-height:1.35}
.tb-copy p{margin-top:14px;max-width:48ch;font-size:var(--t-base);line-height:1.85;color:var(--ink-2)}
.tb-copy .tlink{margin-top:22px}
.tb-faces{display:grid;grid-template-columns:repeat(4,96px);gap:12px}
.tb-face{position:relative;width:96px;height:96px;padding:0;border:0;border-radius:50%;overflow:visible;background:none}
.tb-face img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:center 22%;box-shadow:0 0 0 1px var(--line);transition:box-shadow .15s}
.tb-face:hover img,.tb-face:focus-visible img{box-shadow:0 0 0 2.5px var(--gold)}
.tb-face:focus-visible{box-shadow:none}
.mini-play{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--on-ink);box-shadow:0 0 0 3px var(--surface)}
.mini-play svg{width:10px;height:10px;margin-left:2px}

/* 맞춤 수업 과정 3단계 — 실제 순서 */

/* 새 기준 4가지 */
.std-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.std{display:flex;flex-direction:column;padding:26px 24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.std .big{font-size:clamp(40px,4.4vw,56px);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--gold-text);margin-bottom:16px}
.std .big small{font-size:.45em;font-weight:700;margin-left:2px}
.std h3{font-size:var(--t-base);font-weight:700;line-height:1.5}
.std p{margin-top:10px;font-size:var(--t-sm);line-height:1.75;color:var(--ink-2)}
.v6-korean-standard{background:var(--ink);border-color:var(--ink)}
.v6-korean-standard h3{font-size:var(--t-lg);color:var(--on-ink)}
.v6-korean-standard p{color:var(--on-ink-2)}

/* 영업하지 않습니다 */
.pg-home .honest{margin-top:16px;text-align:center;border:0;padding:clamp(28px,4vw,44px) 0 0}
.pg-home .honest h3{font-size:var(--t-xl)}
.pg-home .honest p{margin-top:10px;font-size:var(--t-base);color:var(--ink-2)}
.pg-home .honest p b{display:block;margin-top:4px;color:var(--ink)}

/* 마지막 — "일본어 회화, 제대로." */
.v2-final h2{font-size:clamp(36px,5vw,60px)}

@media (max-width:1080px){
  .t-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter)}
  .t-grid::-webkit-scrollbar{display:none}
  .tcard{flex:0 0 280px;scroll-snap-align:start}
  .std-grid{grid-template-columns:1fr 1fr}
  .teach-band{grid-template-columns:1fr}
}
@media (max-width:900px){
  .v2-hero-layout{grid-template-columns:1fr}
  .band-ink .grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .entry-grid{grid-template-columns:1fr}
  .entry+.entry{border-left:0;border-top:1px solid var(--line-2)}
  .entry{padding:22px 4px}
  .v5-capture{width:132px;height:132px}
  .tb-faces{grid-template-columns:repeat(4,1fr);gap:10px}
  .tb-face,.tb-face img{width:100%;height:auto;aspect-ratio:1}
  .std-grid{grid-template-columns:1fr}
}


/* ===== parts/91-home-lux.css ===== */
/* ==========================================================================
   홈 — 화려하게 (2026-09-26)
   첫 화면(fold·hero·entry-grid)은 승인된 구성이라 그대로 둔다.
   광채는 한 곳: "96%가 3개월 이상 지속하는 이유" 밤 무대 (깊은 설계 = 밤, 커리큘럼 B와 같은 언어).
   나머지는 금테·금박 숫자·기울기 정도로 절제한다.
   ========================================================================== */
.pg-home{
  --lux:linear-gradient(100deg,#f6e2ae 0%,#d9a94f 38%,#fff1c9 55%,#c8923a 100%);
  --lux-deep:linear-gradient(100deg,#85601e 0%,#b3873a 45%,#6f4f17 100%);
}

/* ---------- 1. 96% 이유: 밤 무대 (이 페이지의 유일한 광채) ---------- */
.pg-home .v2-method .band-ink{
  border-image:conic-gradient(#16110a 0 0) fill 0//0 100vmax;overflow:visible;
  padding:clamp(88px,11vw,140px) 0 clamp(80px,10vw,128px);
}
.pg-home .v2-method .band-ink::before{
  content:"";position:absolute;inset:0 -100vmax;pointer-events:none;
  background:
    radial-gradient(760px 380px at 22% 0%,rgba(233,196,120,.24),transparent 70%),
    radial-gradient(600px 320px at 90% 100%,rgba(217,169,79,.12),transparent 70%);
}
.pg-home .v2-method .band-ink>*{position:relative}
.pg-home .v2-method .band-ink .watermark{position:absolute;color:rgba(233,196,120,.06)}
.pg-home .v2-method .band-ink h2{font-size:clamp(32px,4.4vw,54px);line-height:1.25;letter-spacing:-.045em;max-width:20ch;color:#f3ead6}
.pg-home .v2-method .band-ink h2 em{background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent}

.pg-home .band-ink .grid{gap:16px;background:none;border-radius:0;overflow:visible}
.pg-home .band-ink .cell{
  position:relative;padding:32px 28px 30px;border-radius:var(--r-lg);
  background:linear-gradient(180deg,#241c11,#1b150d);
  box-shadow:inset 0 0 0 1px rgba(233,196,120,.16);
}
.pg-home .band-ink .cell::before{content:"";position:absolute;left:28px;right:28px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(233,196,120,.7),transparent)}
.pg-home .band-ink .cell .n{
  margin-bottom:18px;font-size:clamp(34px,3.4vw,44px);font-weight:800;line-height:1;letter-spacing:-.04em;
  background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent;width:max-content;
}
.pg-home .band-ink .cell h4{color:#f3ead6}
.pg-home .band-ink .cell p{color:rgba(243,234,214,.72)}
.pg-home .band-ink .v2-method-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:36px;padding:14px 26px;border:0;border-radius:12px;
  font-weight:700;color:#1a140c;background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);
  box-shadow:0 10px 30px -10px rgba(233,196,120,.75);transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.pg-home .band-ink .v2-method-link:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(233,196,120,.9)}

/* ---------- 2. 카톡 후기 벽: 은은한 빛 + 가장자리 흐림 ---------- */
.pg-home .v5-kakao-wall{
  position:relative;padding:30px 0 34px;
  background:radial-gradient(900px 260px at 50% 0%,rgba(217,169,79,.18),transparent 70%),var(--surface);
}
.pg-home .v5-kakao-lanes{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.pg-home .v5-capture{box-shadow:0 12px 24px -16px rgba(70,48,18,.55),0 0 0 1px rgba(70,48,18,.06)}

/* 수강생 이야기: 큰 금빛 따옴표, 살짝 뜨는 카드 */
.pg-home .tcard{box-shadow:0 22px 44px -36px rgba(70,48,18,.6);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.pg-home .tcard:hover{transform:translateY(-4px);box-shadow:0 30px 56px -34px rgba(70,48,18,.7)}
.pg-home .tcard blockquote::before{font-size:44px;background:var(--lux-deep);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- 3. 선생님 띠: 금테 얼굴 ---------- */
.pg-home .teach-band{
  background:radial-gradient(520px 300px at 100% 50%,rgba(217,169,79,.2),transparent 70%),var(--surface);
  box-shadow:inset 0 0 0 1px #ecd9a8;
}
.pg-home .tb-face img{box-shadow:0 0 0 3px #fbf7ee,0 0 0 5px #d9a94f,0 16px 28px -14px rgba(70,48,18,.6);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.pg-home .tb-face:hover img,.pg-home .tb-face:focus-visible img{transform:translateY(-3px);box-shadow:0 0 0 3px #fbf7ee,0 0 0 5px #b3873a,0 22px 34px -14px rgba(70,48,18,.7)}
.pg-home .mini-play{background:linear-gradient(135deg,#f0cf85,#c8923a);color:#1a140c;box-shadow:0 0 0 3px #fbf7ee}

/* ---------- 4. 맞춤 수업 과정: 순서 번호에 금테 ---------- */
.pg-home .v2-process .sno{background:#221a0e;color:#f0cf85;border-color:#221a0e;box-shadow:0 0 0 3px #fbf7ee,0 0 0 4px #d9a94f}

/* ---------- 5. 앱 띠: 기울어진 두 화면 ---------- */
.pg-home .home-app-band{
  position:relative;padding:clamp(36px,5vw,64px);
  background:radial-gradient(560px 360px at 78% 50%,rgba(217,169,79,.26),transparent 70%),var(--surface);
  box-shadow:inset 0 0 0 1px #ecd9a8;
}
.pg-home .home-app-shots{grid-template-columns:1.5fr 1fr;align-items:center;gap:0}
.pg-home .home-app-shots .shot-card{transform:rotate(-3deg);box-shadow:0 0 0 1px rgba(70,48,18,.08),0 34px 60px -30px rgba(70,48,18,.6)}
.pg-home .home-app-shots .shot-phone:last-child{
  position:relative;z-index:1;margin-left:-18%;width:118%;transform:rotate(4deg) translateY(14px);
  box-shadow:0 0 0 1px rgba(70,48,18,.1),0 40px 70px -30px rgba(70,48,18,.7);
}

/* ---------- 6. 새 기준 4가지: 금박 숫자, 첫 카드는 먹색 ---------- */
.pg-home .std{box-shadow:0 22px 44px -36px rgba(70,48,18,.55)}
.pg-home .std .big{background:var(--lux-deep);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}
.pg-home .v6-korean-standard{
  position:relative;overflow:hidden;justify-content:flex-end;
  background:radial-gradient(360px 240px at 0% 0%,rgba(233,196,120,.28),transparent 70%),#221a0e;
  box-shadow:inset 0 0 0 1px rgba(233,196,120,.3),0 30px 60px -36px rgba(34,26,14,.9);
}
.pg-home .v6-korean-standard h3{font-size:clamp(20px,1.9vw,24px);line-height:1.4;color:#f6efdf}

/* ---------- 7. 마지막 "일본어 회화, 제대로." ---------- */
.pg-home .v2-final{border-image:conic-gradient(#16110a 0 0) fill 0//0 100vmax;padding:clamp(96px,12vw,152px) 0!important}
.pg-home .v2-final::before{content:"";position:absolute;inset:0 -100vmax;pointer-events:none;background:radial-gradient(640px 320px at 50% 0%,rgba(217,169,79,.28),transparent 70%)}
.pg-home .v2-final>*{position:relative}
.pg-home .v2-final h2{font-size:clamp(40px,6vw,76px);color:#f3ead6}
.pg-home .v2-final h2 em{background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent}
.pg-home .v2-final .btn-gold{background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);color:#1a140c;box-shadow:0 10px 30px -10px rgba(217,169,79,.8)}

@media (max-width:900px){
  .pg-home .home-app-shots{max-width:520px;margin:12px auto 0}
}
@media (max-width:760px){
  .pg-home .home-app-band{padding:28px 20px 36px}
  .pg-home .home-app-shots .shot-card{transform:rotate(-2deg)}
  .pg-home .home-app-shots .shot-phone:last-child{transform:rotate(3deg) translateY(10px)}
  .pg-home .band-ink .cell{padding:26px 22px}
  .pg-home .mini-play{width:24px;height:24px;right:-1px;bottom:-1px;box-shadow:0 0 0 2px #fbf7ee}
  .pg-home .mini-play svg{width:8px;height:8px}
}
@media (prefers-reduced-motion:reduce){
  .pg-home .tcard,.pg-home .tb-face img,.pg-home .band-ink .v2-method-link{transition:none}
}


/* ===== parts/91b-home-b.css ===== */
/* ==========================================================================
   홈 B안 (검토용, body.home-b) — 2026-09-26 2차
   96% 위쪽(헤더·첫 화면·입구·후기) = codex 시안 그대로 (_시안_home_codex_20260926/home.css에서 옮김, .cx-home → .home-b)
   단, 첫 화면 제목·부제목은 더 크게. 아래쪽은 금빛 강조를 96%~선생님 무대와 마지막 띠에만 남긴다.
   ========================================================================== */

/* ---------- 헤더: 첫 화면 위에서는 먹색 + 흰 로고 ---------- */
.home-b .v2-head{background:rgba(250,247,240,.97);transition:background-color .18s,border-color .18s}
.home-b .cx-brand-mark{display:grid}
.home-b .cx-brand-mark img{grid-area:1/1;transition:opacity .18s}
.home-b .cx-logo-dark{opacity:0}
.home-b .v2-head.cx-on-hero{background:#16110a;border-bottom-color:transparent}
.home-b .cx-on-hero .cx-logo-light{opacity:0}
.home-b .cx-on-hero .cx-logo-dark{opacity:1}
.home-b .cx-on-hero .v2-nav a{color:#e4dfd6}
.home-b .cx-on-hero .v2-nav a:hover{color:#fff}
.home-b .cx-on-hero .v2-head-cta{background:#f2e9d6;color:#29251f;border-color:transparent}
.home-b .cx-on-hero .v2-head-cta:hover{background:#fffaf0}
.home-b .cx-on-hero .v2-menu-toggle span{background:#f8f2e7}
.home-b .cx-on-hero :focus-visible{outline-color:#dfc28c}
.home-b .cx-on-hero + .v2-drawer{background:#16110a;color:#f8f2e7}
.home-b .cx-on-hero + .v2-drawer a{color:#e4dfd6;border-color:#ffffff24}
.home-b .cx-on-hero + .v2-drawer .btn{background:#f2e9d6;color:#29251f}
.home-b .v2-brand img{width:172px;height:auto}
.home-b .site-foot .v2-brand img{width:172px}

/* ---------- 첫 화면 ---------- */
.home-b .fold{padding:0}
.home-b .cx-hero{position:relative;isolation:isolate;color:#f8f2e7}
.home-b .cx-hero:before{content:"";position:absolute;z-index:-2;inset:0 calc(50% - 50vw);background:#16110a}
.home-b .v2-hero-layout{min-height:clamp(650px,calc(100svh - 198px),830px);padding:64px 0 72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:64px;align-items:center}
.home-b .hero-core .kicker{font-size:15px;letter-spacing:.02em;color:#c8b58f;display:flex;align-items:center;gap:11px;margin-bottom:32px}
.home-b .hero-core .kicker:before{content:"";width:24px;height:1px;background:#c8b58f}
/* 더 크게 (사용자 요청): codex 65px → 최대 80px */
.home-b .hero-core h1{font-size:clamp(44px,5.5vw,80px);letter-spacing:-.058em;line-height:1.24;font-weight:760;color:#faf7ef;max-width:none;text-wrap:initial;margin:0}
.home-b .hero-core h1>span{display:block;white-space:nowrap}
.home-b .hero-core h1 em{color:#dfc28c;font-weight:inherit}
.home-b .hero-core .sub{font-size:clamp(18px,1.55vw,22px);font-weight:450;color:#d6cfc2;line-height:1.75;max-width:34em;margin-top:34px}
.home-b .hero-core .sub b{color:#f6eee0;font-weight:650}
.home-b .v2-hero-actions{margin-top:38px}
.home-b .hero-core .btn-primary{background:#f2e9d6;color:#29251f;min-height:56px;padding:16px 26px;font-size:17px;border-radius:7px}
.home-b .hero-core .btn-primary:hover{background:#fffaf0}
.home-b .cx-story{width:100%;max-width:340px;justify-self:end;position:relative}
.home-b .cx-story .yt-frame{border-radius:0;border:0;padding:0;background:none;box-shadow:none}
.home-b .cx-film{aspect-ratio:363/279;overflow:hidden;border-radius:8px}
.home-b .cx-film img{width:100%;height:100%;object-fit:cover}
.home-b .cx-film .veil{background:linear-gradient(180deg,transparent,rgba(0,0,0,.15));display:grid;place-items:center;padding:0}
.home-b .cx-film .pbtn-lg{width:55px;height:55px;box-shadow:none;background:#f9f4e9ed;color:#28221a}
.home-b .cx-story-quote{padding:22px 0 0;color:#faf4e9;font-size:23px;line-height:1.55;letter-spacing:-.03em;font-weight:420}
.home-b .cx-story-quote strong{color:#dfc28c;font-weight:680}
.home-b .cx-story .v2-video-bottom{margin-top:18px;padding:0;font-size:13px}
.home-b .cx-story .v2-video-bottom a{color:#ddd1ba;border-color:#827056;font-weight:600}

/* ---------- 세 갈래 입구 ---------- */
.home-b .entry-grid{margin-top:0;border-top:0;border-bottom:1px solid #d7cebd;gap:0}
.home-b .entry{position:relative;padding:29px 32px 32px;gap:0;background:none;transition:background .2s}
.home-b .entry:first-child{padding-left:0}
.home-b .entry+.entry{border-left:1px solid #ded6c9}
.home-b .cx-entry-no{font-size:12px;letter-spacing:.08em;line-height:1.2;color:#947852;margin-bottom:14px;font-weight:550}
.home-b .entry h3{font-size:25px;line-height:1.35;letter-spacing:-.045em;font-weight:730;color:#2a251d}
.home-b .entry h3:after{content:"↗";display:inline-block;margin-left:12px;font-weight:400;font-size:20px;color:#8a652d}
.home-b .entry p{font-size:16px;line-height:1.75;margin-top:27px;max-width:28ch}
.home-b .entry .tlink{margin-top:20px;font-size:14px}
.home-b .entry:hover{background:#f4eee2}

/* ---------- 후기 ---------- */
.home-b #reviews{padding-top:100px}
.home-b #reviews .section-title{display:flex;align-items:end;justify-content:space-between}
.home-b .v5-kakao-wall{background:#eee7da;padding:23px 0 28px;box-shadow:none}
.home-b .v5-kakao-toolbar span{font-size:15px;font-weight:500}
.home-b .v5-kakao-lanes{mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);gap:9px}
.home-b .v5-kakao-set{gap:9px;padding-right:9px}
.home-b .v5-capture{border-radius:6px;box-shadow:0 2px 4px #3023160b;width:180px;height:180px}
.home-b .t-grid{gap:0;margin-top:40px;border-block:1px solid #ddd5c7}
.home-b .tcard{background:none;border:0;border-radius:0;box-shadow:none;padding:25px 22px;gap:26px;transition:none}
.home-b .tcard+.tcard{border-left:1px solid #ddd5c7}
.home-b .tcard:first-child{padding-left:0}
.home-b .tcard:hover{transform:none;box-shadow:none}
.home-b .tcard blockquote{font-size:16px;font-weight:550;line-height:1.8}
.home-b .tcard blockquote:before{font-size:40px;color:#ad8d56;background:none;-webkit-text-fill-color:initial;margin-bottom:10px}
.home-b .twho{border-top:0;padding-top:0}
.home-b .twho b{font-size:13px;line-height:1.6}
.home-b .twho span{font-size:12px}
.home-b .more-line{margin-top:30px;text-align:right}

/* ---------- 96% → "3개월이면…" → 선생님: 하나로 이어지는 밤 무대 ---------- */
.home-b .hb-96{
  display:inline-block;margin-right:.04em;font-size:1.4em;line-height:.9;letter-spacing:-.06em;vertical-align:-.08em;
  background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.home-b .v2-method .band-ink h2{max-width:none}
.home-b .v2-method .band-ink{padding-bottom:clamp(56px,6vw,80px)}
.home-b .v2-method .band-ink::before{background:radial-gradient(760px 380px at 22% 0%,rgba(233,196,120,.22),transparent 70%)}
/* 이유 3 "초보자도 일본인 선생님에게…" 에서 선생님 소개로 이어지는 금빛 세로선 */
.home-b #teachers{
  position:relative;padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(72px,9vw,112px);color:#f3ead6;
  border-image:conic-gradient(#16110a 0 0) fill 0//0 100vmax;
}
.home-b #teachers::before{content:"";position:absolute;left:0;top:0;width:1px;height:clamp(28px,3.4vw,44px);background:linear-gradient(#d9a94f,transparent)}
.home-b #teachers::after{content:"";position:absolute;inset:0 -100vmax;pointer-events:none;background:radial-gradient(640px 320px at 85% 100%,rgba(217,169,79,.12),transparent 70%)}
.home-b #teachers>*{position:relative;z-index:1}
.home-b #teachers .section-title h2{color:#f3ead6}
.home-b #teachers .section-title h2 em{background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent}
.home-b #teachers .section-title>p{color:rgba(243,234,214,.72)}
.home-b #teachers .teach-band{background:none;box-shadow:none;border-radius:0;padding:36px 0 0;border-top:1px solid rgba(233,196,120,.22)}
.home-b #teachers .tb-copy h3{color:#f3ead6}
.home-b #teachers .tb-copy h3 em{color:#e7c77f}
.home-b #teachers .tb-copy p{color:rgba(243,234,214,.78)}
.home-b #teachers .tlink{color:#f3ead6;border-color:#d9a94f}
.home-b .tb-faces{grid-template-columns:repeat(4,104px);gap:18px}
.home-b .tb-face{width:104px;height:auto;display:flex;flex-direction:column;align-items:center;gap:10px}
.home-b .tb-face img{width:104px;height:104px;box-shadow:0 0 0 1.5px rgba(233,196,120,.55)}
.home-b .tb-face:hover img,.home-b .tb-face:focus-visible img{transform:none;box-shadow:0 0 0 2.5px #e7c77f}
.home-b .mini-play{top:76px;bottom:auto;right:0;width:28px;height:28px;background:#f2e9d6;color:#1a140c;box-shadow:0 0 0 3px #16110a}
.home-b .tb-face .hb-tname{font-size:var(--t-sm);font-weight:650;color:#f3ead6}

/* ---------- 아래쪽: 그림자·금테 덜기 ---------- */
.home-b .v2-process .sno{box-shadow:none}
.home-b .std{box-shadow:none}
.home-b .v6-korean-standard{box-shadow:none}
.home-b .home-app-band{box-shadow:none}

@media(max-width:1200px){
  .home-b .v2-hero-layout{gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,320px)}
  .home-b .hero-core h1{font-size:5.4vw}
  .home-b .cx-story-quote{font-size:21px}
}
@media(max-width:1080px){
  .home-b .t-grid{margin-inline:0;padding-inline:0;scrollbar-width:thin;border-bottom:0}
  .home-b .tcard{flex:0 0 275px;padding:25px 24px;border-bottom:1px solid #ddd5c7}
  .home-b .tcard:first-child{padding-left:0}
}
@media(max-width:900px){
  .home-b .v2-hero-layout{min-height:0;padding:56px 0 60px;grid-template-columns:1fr 1fr;gap:28px}
  .home-b .hero-core h1{font-size:clamp(34px,4.9vw,46px)}
  .home-b .hero-core h1>span:last-child{white-space:normal;max-width:8ch}
  .home-b .hero-core .sub{font-size:17px}
  .home-b .hero-core .kicker{font-size:12px;margin-bottom:24px}
  .home-b .cx-story-quote{font-size:20px;padding:18px 0 0}
  .home-b .entry{padding:27px 22px}.home-b .entry h3{font-size:21px}.home-b .entry h3:after{margin-left:7px;font-size:16px}.home-b .entry p{font-size:15px;margin-top:20px}
  .home-b #reviews{padding-top:75px}
}
@media(max-width:600px){
  .home-b .v2-head>.wrap{height:66px;gap:12px}.home-b .v2-head .v2-brand img{width:142px}
  .home-b .v2-hero-layout{grid-template-columns:1fr;padding:45px 0 40px;gap:40px}
  .home-b .hero-core h1{font-size:clamp(32px,9vw,52px);line-height:1.3;letter-spacing:-.065em}
  .home-b .hero-core h1>span,.home-b .hero-core h1>span:last-child{white-space:nowrap;max-width:none}
  .home-b .hero-core .kicker{margin-bottom:21px;font-size:12px}
  .home-b .hero-core .sub{margin-top:24px;font-size:17px;line-height:1.75;max-width:36ch}
  .home-b .v2-hero-actions{margin-top:26px}.home-b .hero-core .btn-primary{min-height:50px;padding:13px 20px;font-size:16px}
  .home-b .cx-story{max-width:320px;justify-self:start;width:100%}
  .home-b .cx-film .pbtn-lg{width:47px;height:47px}
  .home-b .cx-story-quote{font-size:21px;line-height:1.5;padding:18px 0 0}
  .home-b .cx-story .v2-video-bottom{margin-top:15px;font-size:12px}
  .home-b .entry-grid{grid-template-columns:1fr}
  .home-b .entry,.home-b .entry:first-child{padding:25px 0;display:grid;grid-template-columns:25px 1fr;gap:0 13px}
  .home-b .entry+.entry{border-left:0;border-top:1px solid #ded6c9}
  .home-b .cx-entry-no{grid-row:1/4;padding-top:7px;margin:0;font-size:11px}
  .home-b .entry h3{font-size:23px;line-height:1.4}
  .home-b .entry h3:after{float:right;font-size:20px;margin-right:6px}
  .home-b .entry p{margin-top:9px;font-size:14px;max-width:none;line-height:1.7;padding-right:13px}
  .home-b .entry .tlink{margin-top:12px;justify-self:start;font-size:12px}
  .home-b #reviews{padding-top:60px}
  .home-b .v5-kakao-toolbar span{font-size:12px}
  .home-b .v5-kakao-wall{padding:17px 0 20px}.home-b .v5-capture{width:140px;height:140px}.home-b .v5-kakao-set{gap:6px;padding-right:6px}.home-b .v5-kakao-lanes{gap:6px}
  .home-b .t-grid{margin-top:28px}.home-b .tcard{flex-basis:270px;padding:22px}.home-b .tcard blockquote{font-size:15px}
  .home-b .more-line{margin-top:24px}
  .home-b .tb-faces{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .home-b .tb-face{width:100%}
  .home-b .tb-face img{width:100%;height:auto;aspect-ratio:1}
  .home-b .mini-play{top:auto;bottom:calc(1.5em + 8px);width:24px;height:24px}
}
@media(prefers-reduced-motion:reduce){.home-b .v2-head,.home-b .cx-brand-mark img,.home-b .entry{transition:none}}

/* ---------- 맞춤 수업 과정: 왼쪽 제목(스크롤 따라 고정), 오른쪽 순서 — 선생님 띠가 별도 구간이라 겹치지 않는다 ---------- */
.home-b .v2-process{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:0 clamp(40px,7vw,104px);align-items:start}
.home-b .v2-process>.section-title{margin:0;position:sticky;top:calc(var(--header-h) + 32px)}
.home-b .v2-process>.section-title>p{font-size:var(--t-sm)}
.home-b .v2-process .steps{display:block}
.home-b .v2-process .step{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:22px;padding:30px 0;background:none;border:0;border-top:1px solid var(--line-2);border-radius:0}
.home-b .v2-process .step:last-child{border-bottom:1px solid var(--line-2)}
.home-b .v2-process .step .sno{grid-row:1/span 2;margin:0}
.home-b .v2-process .step h3{margin-top:6px;font-size:var(--t-lg)}
.home-b .v2-process .step p{grid-column:2;font-size:var(--t-base);line-height:1.8}
@media(max-width:900px){.home-b .v2-process{grid-template-columns:1fr}.home-b .v2-process>.section-title{position:static;margin-bottom:12px}}
@media(max-width:760px){
  .home-b .v2-process .step{grid-template-columns:36px minmax(0,1fr);column-gap:14px;padding:24px 0}
  .home-b .v2-process .step p{grid-column:1/-1;margin-top:12px}
}
.home-b #process.v2-process{padding-top:var(--section)}

/* ---------- 앱 띠: 기울기 없이 크게 (1x 모니터에서 작게 줄이며 기울이면 글씨·선이 깨져 보였다, 2026-09-27) ---------- */
.home-b .home-app-band{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:32px clamp(32px,4vw,56px)}
.home-b .home-app-shots{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:center;gap:0}
.home-b .home-app-shots .shot-card{transform:rotate(-3deg);aspect-ratio:1400/1249;object-fit:cover;border-radius:14px;box-shadow:0 0 0 1px rgba(70,48,18,.08),0 24px 50px -30px rgba(70,48,18,.5)}
.home-b .home-app-shots .shot-phone:last-child{position:relative;z-index:1;width:112%;margin-left:-12%;transform:rotate(4deg) translateY(20px);border-radius:22px;box-shadow:0 0 0 1px rgba(70,48,18,.1),0 30px 56px -30px rgba(70,48,18,.6)}
@media(max-width:900px){.home-b .home-app-shots{max-width:560px;margin:8px auto 0}}
@media(max-width:760px){.home-b .home-app-shots .shot-card{transform:rotate(-2deg)}.home-b .home-app-shots .shot-phone:last-child{transform:rotate(3deg) translateY(12px);border-radius:16px}}
/* 버그 수정(2026-09-27): 위 2단 배치가 900px 이하의 1단 규칙을 덮어써 모바일·태블릿에서 사진이 손톱만 해지며 깨져 보였다 */
@media(max-width:900px){.home-b .home-app-band{grid-template-columns:1fr}}
/* 선생님 얼굴은 모바일을 빼고 항상 글 오른쪽 (2026-09-27 사용자 요청 — 1080px 이하에서 아래로 내려가던 것) */
.home-b #teachers .teach-band{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px clamp(32px,5vw,64px)}
@media(max-width:1200px){.home-b .tb-faces{grid-template-columns:repeat(4,88px);gap:14px}.home-b .tb-face,.home-b .tb-face img{width:88px}.home-b .tb-face img{height:88px}.home-b .mini-play{top:62px;width:26px;height:26px}}
@media(max-width:900px){.home-b .tb-faces{grid-template-columns:repeat(2,88px);gap:18px 16px}}
@media(max-width:760px){.home-b #teachers .teach-band{grid-template-columns:1fr}.home-b .tb-faces{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.home-b .tb-face{width:100%}.home-b .tb-face img{width:100%;height:auto}.home-b .mini-play{top:auto}}
/* "그리고 수업 밖에서도…"와 선생님 띠 사이 여백 넓힘 (2026-09-27 사용자 요청) */
.home-b #teachers>.section-title{margin-bottom:clamp(56px,7vw,96px)}
.home-b #teachers .teach-band{padding-top:clamp(40px,4.5vw,56px)}

/* ==========================================================================
   2026-09-27 구성: 96% 띠 = 이유 1·2·3 + 결론 한 줄 → 아래 ① 선생님 ② 순서 ③ 맞춤 수업
   ========================================================================== */
/* 이유 칸은 각 근거 구간으로 가는 링크 */
.home-b .band-ink a.cell{display:block;color:inherit;text-decoration:none;transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
.home-b .band-ink a.cell:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(233,196,120,.45)}
.home-b .band-ink a.cell:focus-visible{outline:2px solid #e7c77f;outline-offset:3px}
/* 결론 한 줄 */
.home-b .hb-conclusion{
  position:relative;margin-top:clamp(48px,6vw,72px);padding-top:clamp(32px,4vw,44px);border-top:1px solid rgba(233,196,120,.22);
  font-size:clamp(28px,3.4vw,44px);font-weight:750;line-height:1.3;letter-spacing:-.045em;color:#f3ead6;
}
.home-b .hb-conclusion em{font-style:normal;background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent}

/* 근거 구간 번호 — 띠의 1·2·3과 같은 번호 */
.home-b .hb-no{display:inline-grid;place-items:center;width:34px;height:34px;margin-bottom:18px;border-radius:50%;border:1px solid #c8a15a;font-size:14px;font-weight:750;color:var(--gold-text)}
.home-b #teachers .hb-no{border-color:rgba(233,196,120,.6);color:#e7c77f}
.home-b .tb-copy .hb-no{display:grid}
.home-b .v2-process .section-title .hb-no,.home-b .hb-order .section-title .hb-no{display:grid}

/* ① 선생님: 결론 바로 아래, 같은 밤 무대 */
.home-b #teachers{padding-top:clamp(32px,4vw,48px)}
.home-b #teachers .teach-band{border-top:0;padding-top:0}

/* ② 회화가 느는 순서: 교재 세 쪽을 가는 선으로 잇는다 */
.home-b .hb-order .section-title{margin-bottom:clamp(32px,4vw,48px)}
.home-b .hb-order .section-title h2{font-size:var(--t-2xl);line-height:1.3}
.home-b .hb-parts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.home-b .hb-part{display:flex;flex-direction:column;padding-right:clamp(20px,3vw,40px)}
.home-b .hb-part:last-child{padding-right:0}
.home-b .hb-part figure{margin:0 0 22px}
.home-b .hb-part img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;box-shadow:0 0 0 1px rgba(70,48,18,.08),0 18px 36px -24px rgba(70,48,18,.5)}
.home-b .hb-part figcaption{margin-top:10px;font-size:12.5px;font-weight:600;color:var(--ink-3)}
.home-b .hb-part h3{position:relative;padding-top:22px;margin-right:calc(-1 * clamp(20px,3vw,40px));border-top:1px solid #d9b46a;font-size:var(--t-lg);font-weight:750}
.home-b .hb-part:last-child h3{margin-right:0}
.home-b .hb-part h3::before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:#b3873a;box-shadow:0 0 0 4px var(--paper)}
.home-b .hb-lv{margin-top:4px;font-size:var(--t-sm);font-weight:650;color:var(--gold-text)}
.home-b .hb-part p{margin-top:10px;font-size:var(--t-sm);line-height:1.7;color:var(--ink-2)}
.home-b .hb-order-link{margin-top:clamp(32px,4vw,44px)}
@media(max-width:760px){
  .home-b .hb-parts{grid-template-columns:1fr;gap:36px}
  .home-b .hb-part{padding-right:0}
  .home-b .hb-part h3{margin-right:0}
}

/* 앱 띠 머리: "그리고 수업 밖에서도…" */
.home-b .hb-lead{margin-bottom:12px;font-size:var(--t-base);font-weight:650;color:var(--gold-text)}
@media(prefers-reduced-motion:reduce){.home-b .band-ink a.cell{transition:none}}
/* 보정: 세 칸 폭을 같게 (여백 대신 간격), 선은 간격까지 이어서 */
.home-b .hb-parts{--g:clamp(20px,3vw,40px);column-gap:var(--g)}
.home-b .hb-part,.home-b .hb-part:last-child{padding-right:0}
.home-b .hb-part h3{margin-right:calc(-1 * var(--g))}
.home-b .hb-part:last-child h3{margin-right:0}
@media(max-width:760px){.home-b .hb-part h3{margin-right:0}}

/* 2026-09-27 피드백: 검은 무대는 결론 한 줄에서 끝. ① 선생님부터 밝게 */
.home-b #teachers{border-image:none;color:inherit;padding-top:var(--section);padding-bottom:0}
.home-b #teachers::before,.home-b #teachers::after{display:none}
.home-b #teachers .teach-band{padding:36px 0;border-block:1px solid var(--line-2)}
.home-b #teachers .tb-copy h3{color:var(--ink)}
.home-b #teachers .tb-copy h3 em{color:var(--gold-text)}
.home-b #teachers .tb-copy p{color:var(--ink-2)}
.home-b #teachers .tlink{color:var(--ink);border-color:var(--gold)}
.home-b #teachers .hb-no{border-color:#c8a15a;color:var(--gold-text)}
.home-b .tb-face img{box-shadow:0 0 0 1.5px rgba(179,135,58,.55)}
.home-b .tb-face:hover img,.home-b .tb-face:focus-visible img{box-shadow:0 0 0 2.5px #b3873a}
.home-b .mini-play{background:var(--ink);color:#f6efdf;box-shadow:0 0 0 3px var(--paper)}
.home-b .tb-face .hb-tname{color:var(--ink)}

/* ② 순서: 제목에 순서, 선 끝에 화살표로 방향 */
.home-b .hb-order .section-title h2 em{color:var(--gold-text)}
.home-b .hb-order .section-title>p{margin-top:14px;font-size:var(--t-base);color:var(--ink-2);max-width:52ch}
.home-b .hb-part:not(:last-child) h3::after{content:"";position:absolute;right:2px;top:-5px;width:9px;height:9px;border-top:1.5px solid #b3873a;border-right:1.5px solid #b3873a;transform:rotate(45deg)}
@media(max-width:760px){.home-b .hb-part:not(:last-child) h3::after{display:none}}

/* 2026-09-27 최종: ② 표제·설명, 과 표시는 옅게, 모바일은 가로 줄로 짧게 */
.home-b .hb-kicker{display:block;margin-bottom:10px;font-size:var(--t-sm);font-weight:700;color:var(--gold-text)}
.home-b .hb-part figcaption{font-size:11.5px;font-weight:500;color:var(--ink-3);opacity:.75}
.home-b .hb-part p{font-size:var(--t-base);font-weight:600;color:var(--ink);line-height:1.6}
.home-b .v2-process .step p b{font-weight:750;color:var(--ink);box-shadow:inset 0 -.4em 0 rgba(217,180,106,.28)}
@media(max-width:760px){
  .home-b .hb-parts{gap:20px}
  .home-b .hb-part{display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:14px;align-items:start}
  .home-b .hb-part figure{grid-row:1/span 3;margin:0}
  .home-b .hb-part img{border-radius:8px}
  .home-b .hb-part figcaption{margin-top:4px}
  .home-b .hb-part h3{padding-top:0;border-top:0;font-size:var(--t-base)}
  .home-b .hb-part h3::before{display:none}
  .home-b .hb-lv{margin-top:2px;font-size:12px}
  .home-b .hb-part p{margin-top:6px;font-size:var(--t-sm)}
}
/* ② 번호가 위 선(선생님 띠 아래 선)에 붙어 보이던 것 (2026-09-28) */
.home-b .hb-order.section{padding-top:clamp(56px,7vw,96px)}

/* ---------- 대표 후기 영상 자체 플레이어 (2026-09-28 시험) ---------- */
.hbp-dialog .hbp{position:relative;background:#000;overflow:hidden;border-radius:8px;aspect-ratio:16/9;transition:aspect-ratio .35s var(--ease)}
.hbp-dialog .hbp video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;cursor:pointer}
.hbp-dialog .hbp-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:26px 12px 10px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.65));color:#f8f2e7;transition:opacity .25s}
.hbp-dialog .hbp.is-idle .hbp-bar{opacity:0}
.hbp-dialog .hbp.is-idle{cursor:none}
.hbp-dialog .hbp-btn{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:none;color:inherit;cursor:pointer}
.hbp-dialog .hbp-btn:hover{background:rgba(255,255,255,.12)}
.hbp-dialog .hbp-btn svg{width:14px;height:14px}
.hbp-dialog .hbp-mute svg,.hbp-dialog .hbp-full svg{width:16px;height:16px}
.hbp-dialog .hbp-track{position:relative;flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.28);cursor:pointer}
.hbp-dialog .hbp-track::before{content:"";position:absolute;inset:-10px 0}
.hbp-dialog .hbp-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:2px;background:#dfc28c}
.hbp-dialog .hbp-time{font-size:12px;font-variant-numeric:tabular-nums;color:rgba(248,242,231,.85);white-space:nowrap}
.hbp-dialog .hbp-end{position:absolute;inset:0;display:grid;place-items:center}
.hbp-dialog .hbp-end[hidden]{display:none}
.hbp-dialog .hbp-end img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:brightness(.7)}
.hbp-dialog .hbp-replay{position:relative;display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:0;border-radius:999px;background:#f9f4e9;color:#28221a;font-size:15px;font-weight:700;cursor:pointer}
.hbp-dialog .hbp-replay svg{width:12px;height:12px}
.hbp-dialog .hbp :focus-visible{outline:2px solid #dfc28c;outline-offset:2px}
.hbp-dialog .hbp:fullscreen{border-radius:0}
@media(prefers-reduced-motion:reduce){.hbp-dialog .hbp,.hbp-dialog .hbp-bar{transition:none}}
/* 크게 뜨는 창 (2026-09-28): PC 최대 1100px, 모바일 화면 폭 */
.hbp-dialog{width:min(760px,100vw - 48px);max-width:none;max-height:none;padding:0;border:0;background:none;overflow:visible}
.hbp-dialog::backdrop{background:rgba(14,11,7,.6)}
.hbp-dialog .hbp{border-radius:12px;box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.hbp-close{position:absolute;right:0;top:-48px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:rgba(249,244,233,.14);color:#f9f4e9;cursor:pointer}
.hbp-close:hover{background:rgba(249,244,233,.24)}
.hbp-close svg{width:14px;height:14px}
.hbp-close:focus-visible{outline:2px solid #dfc28c;outline-offset:2px}
@media(max-width:600px){.hbp-dialog{width:100vw}.hbp-dialog .hbp{border-radius:0}.hbp-close{right:12px}}
/* 창 안에서도 같은 조작 막대 모양 (.home-b 범위 밖이라 다시 연결) */
.hbp-dialog .hbp{position:relative;background:#000;overflow:hidden;aspect-ratio:16/9}


/* ===== parts/92-columns-lux.css ===== */
/* ==========================================================================
   칼럼 — 화려하게 (2026-09-26)
   밤: "공부는 했는데, 왜 말이 안 나올까요?"라는 막힌 질문 → 낮: 쉽게 읽히는 글들.
   (칼럼 전용 columns.css 가 뒤에 로드되므로 .pg-columns 로 우선순위를 올린다)
   ========================================================================== */
.pg-columns{--lux:linear-gradient(100deg,#f6e2ae 0%,#d9a94f 38%,#fff1c9 55%,#c8923a 100%)}

/* ---------- 목록 히어로: 밤 무대 ---------- */
.pg-columns .cl-hero{
  position:relative;padding:clamp(72px,9vw,120px) 0 clamp(64px,8vw,104px);border-bottom:0;
  border-image:conic-gradient(#16110a 0 0) fill 0//0 100vmax;color:#f3ead6;
}
.pg-columns .cl-hero::before{content:"";position:absolute;inset:0 -100vmax;pointer-events:none;background:radial-gradient(800px 420px at 20% 0%,rgba(233,196,120,.2),transparent 70%)}
.pg-columns .cl-hero>*{position:relative}
.pg-columns .cl-hero .kicker{color:#dcb66b}
.pg-columns .cl-hero h1{color:#f3ead6}
.pg-columns .cl-hero p{margin-top:24px;font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.5;letter-spacing:-.035em;color:#f3ead6}
.pg-columns .cl-hero p br+*,.pg-columns .cl-hero p{background:none}
.pg-columns .cl-hero .tlink{color:#f3ead6;border-color:#d9a94f}

/* ---------- 처음이라면: 사진이 있는 01, 금테 먹색 02 ---------- */
.pg-columns .cl-feature{overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.pg-columns .cl-feature:hover{transform:translateY(-6px);box-shadow:0 36px 70px -40px rgba(70,48,18,.6)}
.pg-columns .cl-feature-thumb{display:block;margin:-34px -36px 26px;height:clamp(170px,16vw,220px);overflow:hidden}
.pg-columns .cl-feature-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.pg-columns .cl-feature:hover .cl-feature-thumb img{transform:scale(1.04)}
.pg-columns .cl-feature-proof{
  background:radial-gradient(520px 300px at 100% 0%,rgba(233,196,120,.24),transparent 70%),#221a0e;
  box-shadow:0 0 0 1px rgba(233,196,120,.35),0 30px 70px -40px rgba(34,26,14,.9);justify-content:center;
}
.pg-columns .cl-feature-proof h3{font-size:clamp(28px,2.8vw,38px)}
.pg-columns .cl-feature-proof h3 span{background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- 목록: 썸네일 + 제목 ---------- */
.pg-columns .cl-item{display:grid;grid-template-columns:132px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:22px;align-content:start;padding-right:28px}
.pg-columns .cl-thumb{grid-row:1/span 3;display:block;width:132px;height:100px;border-radius:12px;overflow:hidden;box-shadow:0 14px 28px -18px rgba(70,48,18,.6)}
.pg-columns .cl-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}
.pg-columns .cl-item:hover .cl-thumb img{transform:scale(1.07)}
.pg-columns .cl-item:hover h3{color:#85601e}

/* ---------- 무료 PDF: 금테 ---------- */
.pg-columns .cl-resource{
  background:radial-gradient(600px 300px at 0% 50%,rgba(217,169,79,.22),transparent 70%),#f4ecd9;
  border:1px solid #ecd9a8;box-shadow:0 34px 70px -44px rgba(133,96,30,.55);
}
.pg-columns .cl-resource-visual img{transform:rotate(-3deg);box-shadow:0 0 0 1px rgba(217,169,79,.5),0 26px 50px -22px rgba(70,48,18,.55);border-radius:10px;transition:transform .35s var(--ease)}
.pg-columns .cl-resource:hover .cl-resource-visual img{transform:rotate(0) scale(1.03)}

/* ---------- 마무리: 사이트 공통 먹색 띠 ---------- */
.pg-columns .cl-bottom-link{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;
  margin-top:clamp(72px,9vw,112px);padding:clamp(72px,9vw,108px) 0;border:0;
  border-image:conic-gradient(#221a0e 0 0) fill 0//0 100vmax;
}
.pg-columns .cl-bottom-link::before{content:"";position:absolute;inset:0 -100vmax;pointer-events:none;background:radial-gradient(600px 280px at 50% 0%,rgba(217,169,79,.26),transparent 70%)}
.pg-columns .cl-bottom-link>*{position:relative}
.pg-columns .cl-bottom-link p{font-size:clamp(26px,3.2vw,38px);font-weight:750;letter-spacing:-.04em;color:#f6efdf}
.pg-columns .cl-bottom-link .tlink{display:inline-flex;min-height:52px;padding:14px 28px;border:0;border-radius:12px;font-size:var(--t-base);color:#1a140c;background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);box-shadow:0 10px 30px -10px rgba(233,196,120,.8)}
.pg-columns main>.wrap:last-child,.pg-columns main .wrap:has(>.cl-bottom-link:last-child){padding-bottom:0}

/* ---------- 글 페이지: 제목은 밤 무대 위에 ---------- */
.pg-column-article .cl-article-header{
  position:relative;padding:clamp(40px,5vw,64px) 0 clamp(40px,5vw,56px);margin-bottom:clamp(32px,4vw,48px);border-bottom:0;
  border-image:conic-gradient(#16110a 0 0) fill 0//0 100vmax;
}
.pg-column-article .cl-article-header::before{content:"";position:absolute;inset:0 -100vmax;pointer-events:none;background:radial-gradient(700px 320px at 30% 0%,rgba(233,196,120,.18),transparent 70%)}
.pg-column-article .cl-article-header>*{position:relative}
.pg-column-article .cl-article-header h1{color:#f3ead6}
.pg-column-article .cl-article-byline{color:#dcb66b}
.pg-column-article .cl-breadcrumb{position:relative;padding-top:24px;border-image:conic-gradient(#16110a 0 0) fill 0//0 100vmax;color:rgba(243,234,214,.6);margin-bottom:0}
.pg-column-article .cl-breadcrumb a{color:rgba(243,234,214,.8)}

@media (max-width:760px){
  .pg-columns .cl-item{grid-template-columns:88px minmax(0,1fr);column-gap:14px;padding-right:0}
  .pg-columns .cl-thumb{width:88px;height:72px}
  .pg-columns .cl-feature-thumb{margin:-28px -24px 20px}
}
@media (prefers-reduced-motion:reduce){
  .pg-columns .cl-feature,.pg-columns .cl-thumb img,.pg-columns .cl-feature-thumb img,.pg-columns .cl-resource-visual img{transition:none}
}
/* 보정: 대표 사진은 카드 폭 가득, 글 머리 위 틈 없애기 */
.pg-columns .cl-feature-thumb{align-self:stretch;width:calc(100% + 72px)}
.pg-column-article .cl-reading{padding-top:0!important}
.pg-column-article .cl-breadcrumb{margin-bottom:0!important;padding-top:clamp(28px,4vw,44px)}
.pg-column-article .cl-article-header::before,.pg-column-article .cl-breadcrumb::before{inset:0 -100vmax}
@media (max-width:760px){.pg-columns .cl-feature-thumb{width:calc(100% + 48px)}}


/* ===== parts/93-quality.css ===== */
/* ==========================================================================
   (2026-09-28 사용자 확정 B안: 상자 없이 가는 선만 — 홈 B안 밝은 구간(①②③)과 FAQ 목록의 규칙에 맞춤. 아이콘·체크는 금갈색)
   "링크의 수업은" 체크표 — 홈 B안 새 기준 구간 + FAQ 답 (2026-09-28)
   codex 비교표 시안의 형식(밝은 카드, 가는 선, 금갈색 체크, 본문은 크고 또렷하게)을 v9 토큰으로.
   ========================================================================== */
.qs-sheet{padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.qs-sheet-label{margin:0 0 6px;font-size:var(--t-sm);font-weight:650;color:var(--ink-3)}
.qs-sheet ul{list-style:none;margin:0;padding:0}
.qs-sheet h3,.qs-sheet h4,.qs-sheet h5{margin:0;color:var(--ink);letter-spacing:-.03em}
.qs-sheet p{margin:0;color:var(--ink-2)}
.qs-check{display:inline-grid;place-items:center;flex:none;width:18px;height:18px;color:var(--gold-text)}
.qs-check svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.qs-check-lg{width:30px;height:30px;padding:6px;border-radius:50%;border:1.5px solid #d9b46a}
/* 핵심 세 가지 */
.qs-essentials li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:16px;align-items:center;padding:clamp(18px,2vw,24px) 0;border-top:1px solid var(--line-2)}
.qs-mark svg{width:32px;height:32px;stroke:var(--gold-text);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.qs-essentials :is(h3,h4){font-size:clamp(20px,1.8vw,24px);font-weight:780}
.qs-essentials p{margin-top:6px;font-size:var(--t-base);line-height:1.7}
/* 나머지 여섯 가지: 두 칸 */
.qs-features{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-2)}
.qs-features li{padding:clamp(16px,1.8vw,22px) 0;border-bottom:1px solid var(--line-2)}
.qs-features li:nth-child(odd){padding-right:20px}
.qs-features li:nth-last-child(-n+2){border-bottom:0}
.qs-features :is(h4,h5){display:flex;align-items:center;gap:8px;font-size:var(--t-md);font-weight:750}
.qs-features p{margin-top:6px;padding-left:26px;font-size:var(--t-base);line-height:1.65}

/* ---------- 홈 B안: 새 기준 구간 ---------- */
.qs-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,72px);align-items:center}
.qs-kicker{margin:0 0 18px;font-size:var(--t-sm);font-weight:600;color:var(--ink-3)}
.qs-kicker b{color:var(--gold-text);font-weight:750}
.qs-intro h2{font-size:clamp(32px,3.6vw,48px);font-weight:500;line-height:1.28;letter-spacing:-.045em}
.qs-intro h2 strong{font-weight:800}
.qs-lead{margin-top:20px;font-size:var(--t-md);line-height:1.7;color:var(--ink-2)}
.qs-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(28px,3.4vw,40px);border-block:1px solid var(--line-2)}
.qs-stats>div{padding:20px 0}
.qs-stats>div+div{padding-left:24px;border-left:1px solid var(--line-2)}
.qs-stats strong{display:block;font-size:clamp(40px,4.2vw,54px);font-weight:800;line-height:1;letter-spacing:-.05em;color:var(--gold-text)}
.qs-stats strong small{font-size:.42em;margin-left:2px}
.qs-stats p{margin-top:10px;font-size:var(--t-base);font-weight:600;color:var(--ink-2)}
.qs-refund{margin-top:18px;font-size:var(--t-base);line-height:1.7;color:var(--ink-2)}
.qs-refund b{color:var(--ink)}

/* ---------- FAQ 답 안 ---------- */
.qa-a .qs-sheet{margin:22px 0 18px}

@media (max-width:900px){
  .qs-layout{grid-template-columns:1fr}
}
@media (max-width:600px){
  .qs-essentials li{grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:start}
  .qs-essentials .qs-check-lg{display:none}
  .qs-mark svg{width:28px;height:28px}
  .qs-features li{padding:14px 0}
  .qs-features li:nth-child(odd){padding-right:12px}
  .qs-features :is(h4,h5){font-size:var(--t-base);gap:6px}
  .qs-features p{padding-left:0;font-size:var(--t-sm)}
  .qs-features p br{display:none}
  .qs-stats>div+div{padding-left:16px}
}
@media (max-width:600px){.qs-features :is(h4,h5){align-items:flex-start}.qs-features .qs-check{margin-top:3px}}
.qs-sheet :is(h3,h4,h5){line-height:1.35}
@media (max-width:600px){
  .qa-a .qs-sheet{padding:0}
  .qa-a .qs-features{grid-template-columns:1fr}
  .qa-a .qs-features li:nth-child(odd){padding-right:0}
  .qa-a .qs-features li:nth-last-child(2){border-bottom:1px solid var(--line-2)}
}


/* ===== parts/95-app.css ===== */
/* ==========================================================================
   linkapp 학습 앱·자료 — 커리큘럼 #app 구간, 홈 앱 띠
   앱 화면은 실제 캡처다. 틀(폰 모양)은 얇게, 화면이 주인공.
   ========================================================================== */
.app-extend .section-title{max-width:640px}
.app-steps{display:grid;gap:clamp(20px,2.6vw,28px)}
.app-step{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:28px clamp(32px,5vw,64px);
  padding:clamp(26px,3.6vw,44px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);
}
.app-when{display:inline-block;margin-bottom:10px;padding:4px 12px;border-radius:999px;background:var(--card);border:1px solid var(--gold-soft);font-size:var(--t-xs);font-weight:700;color:var(--gold-text)}
.app-copy h3{font-size:var(--t-xl);font-weight:750;line-height:1.4}
.app-copy p{margin-top:12px;font-size:var(--t-base);line-height:1.85;color:var(--ink-2)}
.app-facts{list-style:none;display:flex;gap:10px;margin-top:22px}
.app-facts li{display:flex;flex-direction:column;padding:10px 16px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.app-facts b{font-size:var(--t-lg);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.app-facts span{font-size:12px;color:var(--ink-3)}

/* 폰 화면 세 장 */
.app-phones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.app-phones figure{margin:0}
.app-phones img,.home-app-shots .shot-phone{
  width:100%;aspect-ratio:600/1100;object-fit:cover;object-position:top;
  border-radius:22px;border:5px solid var(--card);box-shadow:0 0 0 1px var(--line),var(--shadow);background:var(--card)
}
.app-phones figcaption{margin-top:10px;text-align:center;font-size:12.5px;font-weight:600;color:var(--ink-2)}

/* 선물 자료 */
.app-step--gift{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start}
.app-step--gift .app-copy{position:sticky;top:calc(var(--header-h) + 24px)}
.app-gifts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.app-gifts figure{margin:0;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.app-gifts .gift-wide{grid-column:1/-1}
.app-gifts img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border-bottom:1px solid var(--line)}
.app-gifts .gift-wide img{aspect-ratio:1200/795}
.app-gifts figcaption{padding:12px 16px 14px;font-size:12.5px;line-height:1.5;color:var(--ink-3)}
.app-gifts figcaption b{display:block;margin-bottom:2px;font-size:var(--t-sm);font-weight:700;color:var(--ink)}

/* 표현 복습 */
.app-screen{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.app-screen img{width:100%}

/* 홈 앱 띠 */
.home-app-band{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px 56px;
  padding:clamp(28px,4vw,48px);border-radius:var(--r-xl);background:var(--surface);overflow:hidden
}
.home-app-copy h2{font-size:var(--t-2xl);font-weight:750;line-height:1.35}
.home-app-copy p{margin-top:14px;max-width:40ch;font-size:var(--t-base);line-height:1.85;color:var(--ink-2)}
.home-app-copy .tlink{margin-top:22px}
.home-app-shots{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:center;gap:12px}
.home-app-shots .shot-page{width:100%;border-radius:10px;box-shadow:0 0 0 1px var(--line),var(--shadow);transform:rotate(-2deg)}
.home-app-shots .shot-phone:last-child{transform:translateY(22px)}

@media (max-width:900px){
  .app-step,.app-step--gift{grid-template-columns:1fr}
  .app-step--gift .app-copy{position:static}
  .home-app-band{grid-template-columns:1fr}
}
@media (max-width:760px){
  .app-step{padding:22px 18px}
  .app-phones{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-18px;padding:0 18px 4px}
  .app-phones::-webkit-scrollbar{display:none}
  .app-phones figure{flex:0 0 62%;scroll-snap-align:center}
  .app-gifts{grid-template-columns:1fr}
  .app-facts li{flex:1}
  .home-app-shots{gap:8px}
  .home-app-shots .shot-phone{border-width:3px;border-radius:14px}
}

/* ---- 교재: 말이 되는 일본어 ---- */
.tb-facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:-8px 0 clamp(24px,3vw,32px)}
.tb-facts li{display:flex;align-items:baseline;gap:6px;padding:10px 18px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.tb-facts b{font-size:var(--t-lg);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tb-facts span{font-size:var(--t-sm);color:var(--ink-2)}
.tb-pages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tb-pages figure{margin:0}
.tb-pages img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);box-shadow:0 0 0 1px var(--line),var(--shadow)}
.tb-pages figcaption{margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--ink-3)}
.tb-pages figcaption b{display:block;font-size:var(--t-sm);font-weight:700;color:var(--ink)}
.tb-toc{margin-top:clamp(28px,3.6vw,40px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.tb-toc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:20px clamp(20px,3vw,32px);font-size:var(--t-base);font-weight:700}
.tb-toc summary::-webkit-details-marker{display:none}
.tb-toc summary::after{content:"+";font-size:20px;font-weight:400;color:var(--gold-text);transition:transform .2s var(--ease)}
.tb-toc[open] summary::after{transform:rotate(45deg)}
.tb-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(20px,3vw,36px);padding:0 clamp(20px,3vw,32px) clamp(20px,3vw,32px)}
.tb-part h3{padding:14px 0 10px;border-top:2px solid var(--gold);font-size:var(--t-sm);font-weight:750}
.tb-part h3 small{margin-left:4px;font-size:12px;font-weight:500;color:var(--ink-3)}
.tb-part ol{list-style:none;display:grid}
.tb-part li{display:grid;grid-template-columns:40px 1fr;gap:8px;padding:10px 0;border-top:1px solid var(--line)}
.tb-ch{font-size:var(--t-xs);font-weight:750;color:var(--gold-text);padding-top:3px}
.tb-topics{display:flex;flex-wrap:wrap;gap:4px 6px}
.tb-topics span{font-size:13px;line-height:1.5;color:var(--ink)}
.tb-topics span:not(:last-child)::after{content:"·";margin-left:6px;color:var(--ink-3)}

/* ---- 링크 앱: 여정 + 오늘 할 일 ---- */
.app-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.app-hero figure{margin:0;display:flex;flex-direction:column;border-radius:var(--r-xl);overflow:hidden;background:var(--card);border:1px solid var(--line)}
.app-hero img{width:100%;aspect-ratio:1000/860;object-fit:cover;object-position:top;border-bottom:1px solid var(--line)}
.app-hero figcaption,.app-shots figcaption{padding:14px 18px 16px;font-size:12.5px;line-height:1.5;color:var(--ink-3)}
.app-hero figcaption b{display:block;font-size:var(--t-base);font-weight:700;color:var(--ink)}
.app-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:16px;border-radius:var(--r-xl);overflow:hidden;background:var(--line);border:1px solid var(--line)}
.app-grid li{display:flex;flex-direction:column;gap:6px;padding:20px 20px 22px;background:var(--card)}
.app-grid b{font-size:var(--t-base);font-weight:750}
.app-grid span{font-size:13.5px;line-height:1.7;color:var(--ink-2)}
.app-shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:clamp(20px,2.6vw,28px)}
.app-shots figure{margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--card);border:1px solid var(--line)}
.app-shots img{width:100%;aspect-ratio:1100/694;object-fit:cover;object-position:top;border-bottom:1px solid var(--line)}
.app-shots figcaption{padding:10px 14px;font-weight:650;color:var(--ink)}
.app-step--review{display:none}

/* 홈 앱 띠: 여정 지도 + 폰 */
.home-app-shots{grid-template-columns:1.5fr 1fr}
.home-app-shots .shot-card{width:100%;aspect-ratio:1000/860;object-fit:cover;object-position:top;border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line),var(--shadow)}
.home-app-shots .shot-phone:last-child{transform:translateY(18px)}

@media (max-width:1080px){
  .tb-pages{grid-template-columns:1fr 1fr}
  .app-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .tb-parts{grid-template-columns:1fr}
  .app-hero{grid-template-columns:1fr}
}
@media (max-width:760px){
  .app-shots{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter)}
  .app-shots figure{flex:0 0 82%;scroll-snap-align:center}
  .app-grid li{padding:16px}
}
@media (max-width:480px){
  .tb-pages{grid-template-columns:1fr}
  .app-grid{grid-template-columns:1fr}
}


/* ===== parts/97-unify.css ===== */
/* ==========================================================================
   v10 사이트 공통 규칙 (2026-09-28) — 기준: 홈 B안 · 커리큘럼 B안
   문구·섹션 순서·링크는 건드리지 않는다. 브랜드 장치(로고, 헤더, 마무리 띠, 버튼)만 한 규칙으로.
   ========================================================================== */

/* ---------- 1. 로고: 새 로고 팩 (밝은 헤더 = 파란 로고, 어두운 첫 화면 위 = 흰 로고) ---------- */
.cx-brand-mark{display:grid}
.cx-brand-mark img{grid-area:1/1;transition:opacity .18s}
.cx-logo-dark{opacity:0}
.v2-brand img{width:172px;height:auto}
.site-foot .v2-brand img{width:172px}
@media (max-width:600px){.v2-head .v2-brand img{width:142px}}

/* ---------- 2. 헤더: 어두운 첫 화면 위에서는 첫 화면과 같은 색 ---------- */
body{--hero-bg:#16110a} /* 사이트 전체 밤색 하나 (2026-09-28) */
.theme-night,.pg-cases,.pg-case,.pg-columns{--hero-bg:#16110a}
.v2-head{transition:background-color .18s,border-color .18s}
.v2-head.cx-on-hero{background:var(--hero-bg);border-bottom-color:transparent}
.cx-on-hero .cx-logo-light{opacity:0}
.cx-on-hero .cx-logo-dark{opacity:1}
.cx-on-hero .v2-nav a{color:#e4dfd6}
.cx-on-hero .v2-nav a:hover,.cx-on-hero .v2-nav a[aria-current="page"]{color:#fff}
.cx-on-hero .v2-head-cta{background:#f2e9d6;color:#29251f;border-color:transparent}
.cx-on-hero .v2-head-cta:hover{background:#fffaf0}
.cx-on-hero .v2-menu-toggle span{background:#f8f2e7}
.cx-on-hero :focus-visible{outline-color:#dfc28c}
.cx-on-hero + .v2-drawer{background:var(--hero-bg);color:#f8f2e7}
.cx-on-hero + .v2-drawer a{color:#e4dfd6;border-color:#ffffff24}
.cx-on-hero + .v2-drawer .btn{background:#f2e9d6;color:#29251f}

/* ---------- 3. 마무리 띠: 전 페이지 같은 밤색 + 위쪽 금빛 한 줄기 + 금 버튼 ---------- */
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer),.pg-columns .cl-bottom-link{
  border-image:conic-gradient(#16110a 0 0) fill 0//0 100vmax;overflow:visible;
}
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer)::before,.pg-columns .cl-bottom-link::before{
  content:"";position:absolute;inset:0 -100vmax;pointer-events:none;
  background:radial-gradient(640px 300px at 50% 0%,rgba(217,169,79,.24),transparent 70%);
}
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer)>*{position:relative}
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer) :is(h2,h3){color:#f3ead6}
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer) :is(h2,h3) em{font-style:normal;background:linear-gradient(100deg,#f6e2ae 0%,#d9a94f 38%,#fff1c9 55%,#c8923a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer) p{color:rgba(243,234,214,.78)}
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer) .btn-gold{background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);color:#1a140c;border-color:transparent;box-shadow:0 10px 30px -10px rgba(217,169,79,.8)}
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer) .btn-primary{background:#f2e9d6;color:#29251f;border-color:transparent}
:is(.v2-final,.faq-final,.ab-final,.finalcta,.is-closer) .btn-ghost{border-color:rgba(246,239,223,.3);color:#f6efdf}

@media (prefers-reduced-motion:reduce){.v2-head,.cx-brand-mark img{transition:none}}

/* ---------- 4. 첫 화면 글자 체계 (홈 B안 기준, 밝은 첫 화면 페이지도 같은 비례로) ---------- */
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero) h1{font-size:clamp(40px,4.4vw,64px);font-weight:760;letter-spacing:-.055em;line-height:1.2}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero,.hero2,.cu-hero,.hero-core) .kicker{display:inline-flex;align-items:center;gap:11px;font-size:15px;letter-spacing:.02em}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero,.hero2,.cu-hero,.hero-core) .kicker::before{content:"";width:24px;height:1px;background:currentColor;opacity:.8}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero) :is(.sub,h1+p){font-size:clamp(18px,1.45vw,21px);line-height:1.75}
/* 버튼 모서리 하나로 */
.btn{border-radius:12px}

/* ---------- 5. 먹색 띠: 전 페이지 홈 B안 96% 띠와 같은 밤 무대 ---------- */
.band-ink{border-image:conic-gradient(#16110a 0 0) fill 0//0 100vmax;overflow:visible}
.band-ink::before{content:"";position:absolute;inset:0 -100vmax;pointer-events:none;background:radial-gradient(760px 380px at 22% 0%,rgba(233,196,120,.2),transparent 70%)}
.band-ink>*{position:relative}
.band-ink .watermark{position:absolute;color:rgba(233,196,120,.06)}
.band-ink h2{color:#f3ead6}
.band-ink h2 em{background:linear-gradient(100deg,#f6e2ae 0%,#d9a94f 38%,#fff1c9 55%,#c8923a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.band-ink p{color:rgba(243,234,214,.78)}
.band-ink b{color:#f6e2ae}
.band-ink .btn-gold{background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);color:#1a140c;border-color:transparent}

/* ---------- 6. 어두운 첫 화면: 밤색 하나 + 같은 금빛 조명 하나 (2026-09-28 사용자 지적: 페이지마다 검은색이 다름) ---------- */
/* 조명은 첫 화면 가운데 높이에서 한 줄기(맨 위는 헤더와 같은 밤색이라 이음매 없음, 성공사례 방식) — 홈·커리큘럼·성공사례·사례 상세·칼럼·칼럼 글 공통 */
.home-b .cx-hero:before{background:radial-gradient(900px 300px at 72% 60%,rgba(233,196,120,.16),transparent 70%),#16110a}
.pg-cases main>section.hero2{background:radial-gradient(900px 300px at 72% 60%,rgba(233,196,120,.16),transparent 70%),#16110a}
.pg-case .art-hero::before,.pg-columns .cl-hero::before,.pg-column-article .cl-article-header::before{background:radial-gradient(900px 300px at 72% 60%,rgba(233,196,120,.16),transparent 70%)}
.theme-night .cu-hero{position:relative}
.theme-night .cu-hero::after{content:"";position:absolute;inset:0 -100vmax;z-index:-1;pointer-events:none;background:radial-gradient(900px 300px at 50% 60%,rgba(233,196,120,.14),transparent 70%)}
/* 커리큘럼: 페이지 맨 위 조명(본문 바탕)이 헤더 아래 경계를 만들던 것 — 헤더와 같은 밤색으로 시작 */
body.theme-night main{background:radial-gradient(700px 400px at 12% 40%,rgba(227,154,130,.05),transparent 70%),radial-gradient(700px 400px at 88% 55%,rgba(159,181,122,.05),transparent 70%),#16110a}

/* ---------- 7. 어두운 첫 화면 공통 부품 (2026-09-28 사용자 지적: 홈·성공사례의 강조·영상 테두리·버튼이 다름) ---------- */
/* 제목 강조 = 금박 그라데이션, 빛 번짐 없음 */
.home-b .hero-core h1 em,.pg-cases .hero2 h1 em,.pg-case .art-hero h1 em,.theme-night .cu-hero h1 em{
  background:linear-gradient(100deg,#f6e2ae 0%,#d9a94f 38%,#fff1c9 55%,#c8923a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:none;text-shadow:none}
/* 영상·사진 = 가는 금테 + 어두운 그림자, 광채·기울기 없음 */
.home-b .cx-film,.pg-cases .hero-video,.pg-case .hero-video-main{
  border:0;border-radius:14px;transform:none;
  box-shadow:0 0 0 1px rgba(233,196,120,.45),0 30px 60px -30px rgba(0,0,0,.85)}
.pg-cases .hero-video:hover{transform:none}
/* 첫 버튼 = 금 그라데이션, 모서리 12 */
.home-b .hero-core .btn-primary,.pg-cases .hero2 .btn-gold,.pg-case .art-hero .btn-gold{
  background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);color:#1a140c;border-color:transparent;border-radius:12px;
  min-height:54px;padding:15px 26px;font-size:var(--t-base);font-weight:700;box-shadow:0 10px 30px -12px rgba(217,169,79,.7)}
.home-b .hero-core .btn-primary:hover{background:linear-gradient(100deg,#f6dc9d,#e0b45f 50%,#f9ead0)}
.v2-head.cx-on-hero{border-bottom-color:var(--hero-bg)!important;box-shadow:none}
.pg-case .hero-proof{box-shadow:0 0 0 1px rgba(233,196,120,.3),0 30px 60px -30px rgba(0,0,0,.85)}


/* ===== parts/97b-pages.css ===== */
/* ==========================================================================
   v10 본문 부품 통일 (2026-09-28) — 기준: 홈 B안
   ① 같은 급 항목 나열 = 상자 없이 가는 선으로 나눈 열린 목록
   ② 페이지의 핵심 행동 하나 = 베이지 면(모서리 20, 테두리·그림자 없음)
   ③ 증거(카톡·영상·후기) = 흰 카드, 가는 테두리, 모서리 14~20, 그림자 없음
   ④ 깊은 이야기·마무리 = 밤 무대 (97-unify)
   ⑤ 버튼 = 먹색(주요) · 금 그라데이션(수업신청) · 테두리(보조), 모서리 12
   문구·순서·링크는 그대로.
   ========================================================================== */
:root{--r-xl:20px}
.btn-gold{background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);color:#1a140c;border-color:transparent}
.btn-gold:hover{background:linear-gradient(100deg,#f6dc9d,#e0b45f 50%,#f9ead0)}

/* ---------- ② 베이지 면: 테두리 없이 ---------- */
main :is(.ctaband:not(.is-closer),.ap-card,.diff-card,.tc-roster-band,.v7-common-benefits){background:var(--surface);border:0;border-radius:20px;box-shadow:none}
main .ap-card:hover{border:0}
main .ap-card .ck,.ct-card .ck{letter-spacing:.02em}

/* ---------- ① 열린 목록 ---------- */
/* 신청하기: 안심 문구 세 가지 */
main .a-cell{padding:22px 4px 4px 32px;background:none;border:0;border-top:1px solid var(--line-2);border-radius:0}
main .a-cell::before{left:4px;top:30px;border-color:var(--gold-text)}
main .a-cell p{font-size:var(--t-sm)}
/* 공통: 과정 단계 카드(.step)도 선으로 (홈 B안 ③과 같은 방식) */
main .steps:not(.five) .step{background:none;border:0;border-top:1px solid var(--line-2);border-radius:0;padding:26px 0 8px}
/* 문의: 연락 방법 두 가지 = 두 칸 열린 목록, 양식 = 베이지 면 */
main .ct-split{gap:0;border-block:1px solid var(--line-2)}
main .ct-card{padding:clamp(24px,3vw,34px) clamp(0px,3vw,34px) clamp(24px,3vw,34px) 0;background:none;border:0;border-radius:0}
main .ct-card+.ct-card{padding-left:clamp(24px,3vw,40px);border-left:1px solid var(--line-2)}
main .ct-form{margin-top:clamp(32px,4vw,48px);background:var(--surface);border:0;border-radius:20px}
main .ct-form input,main .ct-form textarea{background:#fffdf7}
/* FAQ 수업료: 세 요금제 = 세로 선으로 나눈 열린 표, 추천은 금색 윗줄 */
main .price-grid{gap:0;border-block:1px solid var(--line-2)}
main .price{padding:34px clamp(18px,2.4vw,30px) 26px;background:none;border:0;border-radius:0}
main .price+.price{border-left:1px solid var(--line-2)}
main .price.std{border:0;box-shadow:inset 0 3px 0 #d9a94f;background:linear-gradient(180deg,rgba(217,169,79,.08),transparent 60%)}
main .price.std+.price{border-left:1px solid var(--line-2)}
main .price .badge{top:-13px;left:clamp(18px,2.4vw,30px);background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);color:#1a140c}
/* 선생님: 프로필 상자 없이, 선생님마다 가는 선 */
main .v6-profile{background:none;border:0;border-radius:0;padding:8px 8px 0}
main .lj-teacher-media{border-radius:14px;border:1px solid var(--line)}
/* 성공사례 "오해하지 마세요": 상자 대신 위아래 선 */
main .honest:not(.pg-home .honest){padding:clamp(28px,3.6vw,44px) 0;border:0;border-block:1px solid var(--line-2);border-radius:0}

/* ---------- ③ 증거 카드: 테두리만, 모서리 통일 ---------- */
main :is(.best,.v3-review,.evid-clip){border-radius:14px;box-shadow:none}
main .best{border-radius:20px}
main .evid{border:0;box-shadow:none;border-radius:20px}
main .cta-card:not(.primary){border:1px solid var(--line-2);box-shadow:none}

/* ---------- 칼럼 (columns.css가 뒤에 로드되므로 페이지 클래스로) ---------- */
.pg-column-article main .cl-toc{background:none;border:0;border-block:1px solid var(--line-2);border-radius:0}
.pg-column-article main .cl-toc summary{padding:17px 0}
.pg-column-article main .cl-toc ol{padding-left:22px}
.pg-column-article main .cl-next{background:var(--surface);border:0;border-radius:20px}
.pg-columns main .cl-resource{border:0;box-shadow:none;border-radius:20px}
.pg-columns main .cl-feature{border-radius:20px}

@media (max-width:900px){
  main .price+.price,main .price.std+.price{border-left:0;border-top:1px solid var(--line-2)}
  main .price.std{box-shadow:inset 0 3px 0 #d9a94f}
  main .ct-card,main .ct-card+.ct-card{padding:24px 0;border-left:0}
  main .ct-card+.ct-card{border-top:1px solid var(--line-2)}
}

/* 성공사례: 영상 사례 사이 간격과 경계 (2026-09-28 사용자 요청 — 카드끼리 붙어 보임) */
.pg-cases main .case2{margin-bottom:clamp(36px,4.4vw,56px);border:1px solid var(--line-2);box-shadow:0 18px 40px -34px rgba(70,48,18,.45)}
.pg-cases main .sub-pair{margin-top:0}
@media (max-width:760px){.pg-cases main .case2{margin-bottom:28px}}


/* ===== parts/97c-heroes.css ===== */
/* ==========================================================================
   v10 전 페이지 첫 화면 = 같은 밤 무대 (2026-09-28 사용자 결정)
   링크 소개 · 선생님 · FAQ · 신청 · 문의 · 후기도 홈·성공사례·커리큘럼과 같은 첫 화면. 본문은 밝게 그대로(다크 모드 아님).
   ========================================================================== */
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero){
  --paper:#16110a; --surface:rgba(243,234,214,.06); --card:#1d160e;
  --line:rgba(243,234,214,.12); --line-2:rgba(243,234,214,.2);
  --ink:#f3ead6; --ink-2:rgba(243,234,214,.78); --ink-3:rgba(243,234,214,.6);
  --gold-text:#dcb66b;
  position:relative;color:var(--ink);
  border-image:conic-gradient(#16110a 0 0) fill 0//0 100vmax;
  padding:clamp(72px,9vw,120px) 0 clamp(64px,8vw,104px)!important;
}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero)::before{
  content:"";position:absolute;inset:0 -100vmax;pointer-events:none;
  background:radial-gradient(900px 300px at 72% 60%,rgba(233,196,120,.16),transparent 70%);
}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero)>*{position:relative}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero) :is(h1,.calm,.creed,.v7-teacher-promise){color:#f3ead6}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero) :is(h1,.calm,.creed,.sub) em{
  font-style:normal;background:linear-gradient(100deg,#f6e2ae 0%,#d9a94f 38%,#fff1c9 55%,#c8923a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero) .kicker{color:#dcb66b}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero) :is(.sub,p){color:rgba(243,234,214,.78)}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero) :is(.sub b,strong,b){color:#f6efdf}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero) :is(.tlink,.v7-pricing-jump,.v6-story-cue){color:#f3ead6;border-color:#d9a94f}
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero) .v6-story-cue span[aria-hidden]{border-color:rgba(243,234,214,.3)}
.apply-hero .pre-links .lab{color:rgba(243,234,214,.6)}
/* 첫 화면 다음 구간은 원래 간격으로 */
:is(.ab-hero,.tc-hero,.faq-hero,.apply-hero,.ct-hero,.rv-hero)+.section{padding-top:var(--section)!important}
/* 선생님: 얼굴 명단은 밤 무대 안의 반투명 면 */
.tc-hero .tc-roster-band{background:rgba(243,234,214,.06)!important;box-shadow:inset 0 0 0 1px rgba(233,196,120,.18)}
.tc-hero .tc-roster-label{color:rgba(243,234,214,.78)}
.tc-hero .tr-name{color:#f6efdf}
.tc-hero .tr-trait{color:rgba(243,234,214,.6)}
.tc-hero .tc-roster img{box-shadow:0 0 0 2px #16110a,0 0 0 3.5px rgba(217,180,106,.7)}
.tc-hero .v7-teacher-matching{color:rgba(243,234,214,.78)}

/* 링크 소개: 홈처럼 첫 화면 한 화면 가득, 큰 글씨 (2026-09-28 사용자) */
.ab-hero{min-height:calc(100svh - var(--header-h));display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,7vw,96px) 0 clamp(48px,6vw,80px)!important}
.ab-hero h1{font-size:clamp(52px,7.4vw,112px)!important;line-height:1.08!important;letter-spacing:-.06em!important}
.ab-hero .kicker{margin-bottom:26px}
.ab-hero .sub{margin-top:clamp(28px,3vw,40px);font-size:clamp(19px,1.7vw,25px)!important;line-height:1.7!important;max-width:34em}
.ab-hero .v6-story-cue{margin-top:clamp(40px,5vw,64px);align-self:flex-start;font-size:var(--t-base)}
@media (max-width:600px){.ab-hero{min-height:calc(100svh - 64px)}.ab-hero h1{font-size:clamp(48px,13.5vw,64px)!important}}
/* 링크 소개: 운영 페이지 구성 — "일본인:" 말한 사람 표시, 버튼 "비결이 궁금하다면?", 첫 문장 */
.ab-hero .ab-speaker{display:block;margin-bottom:.12em;font-size:.42em;font-weight:700;letter-spacing:-.02em;color:#dcb66b}
.ab-hero .v6-story-cue{display:inline-flex;align-items:center;gap:12px;padding:14px 24px;border:0;border-radius:12px;background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);color:#1a140c!important;font-weight:700;box-shadow:0 10px 30px -12px rgba(217,169,79,.7)}
.ab-hero .v6-story-cue span[aria-hidden]{border:0!important;width:auto;height:auto}
.ab-lead{margin:clamp(56px,7vw,96px) 0 clamp(24px,3vw,36px);font-size:clamp(24px,2.6vw,34px);font-weight:750;letter-spacing:-.04em;line-height:1.4;color:var(--ink)}

/* ---------- 첫 화면 부제목 = 전 페이지 한 규칙 (2026-09-28 사용자: 페이지마다 크기·색이 미묘하게 다름) ---------- */
/* 크기 19~24px, 보통 굵기, 크림 82%, 강조(b·strong)는 굵고 밝게 */
:is(.home-b .hero-core .sub,.theme-night .cu-hero .sub,.pg-cases .hero2 .result2,.pg-case .art-hero .sub,body.pg-columns .cl-hero p,
  .ab-hero .sub,.tc-hero .v7-teacher-promise,.tc-hero .v7-teacher-method,.tc-hero .v7-teacher-matching,.apply-hero .calm,.apply-hero .sub,.ct-hero .sub,.rv-hero .creed){
  font-size:clamp(19px,1.65vw,24px)!important;font-weight:400!important;line-height:1.7!important;letter-spacing:-.015em!important;color:rgba(243,234,214,.82)!important}
:is(.home-b .hero-core .sub,.theme-night .cu-hero .sub,.pg-cases .hero2 .result2,.pg-case .art-hero .sub,body.pg-columns .cl-hero p,
  .ab-hero .sub,.tc-hero .v7-teacher-promise,.tc-hero .v7-teacher-matching,.apply-hero .sub,.ct-hero .sub,.rv-hero .creed) :is(b,strong){font-weight:700!important;color:#f6efdf!important}
/* 선생님: 첫 줄은 강조 한 줄, 둘째 줄은 설명 — 다른 페이지 부제목과 같은 크기 */
.tc-hero .v7-teacher-promise strong{display:block;font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
.tc-hero .v7-teacher-method{display:block;margin-top:0}
/* 신청하기: 첫 문장은 강조 한 줄 */
main .apply-hero p.calm.calm.calm{font-weight:700!important;color:#f6efdf!important}
.apply-hero .calm+.sub{margin-top:6px!important}

/* ---------- 선생님 목록 머리 = 다른 페이지 구간 제목 크기 ---------- */
.lj-selected-teachers .lj-roster-note{font-size:var(--t-2xl);font-weight:750;line-height:1.3;letter-spacing:-.04em;color:var(--ink)}
/* 후기 부제목: 한 문장씩 한 줄 (2026-09-28 사용자) — 모바일은 폭이 좁아 자연 줄바꿈 */
.rv-hero .creed{max-width:none!important}
.rv-hero .creed .line{display:block}
@media (min-width:900px){.rv-hero .creed .line{white-space:nowrap}}


/* ===== parts/97d-columns.css ===== */
/* ==========================================================================
   v10 칼럼 통일 (2026-09-28) — 칼럼 목록·칼럼 글을 사이트 공통 첫 화면·제목 체계에 맞춘다.
   columns.css가 site.css 뒤에 로드되므로 body.pg-columns / body.pg-column-article로 우선순위를 올린다.
   ========================================================================== */
/* 목록 첫 화면 = 다른 페이지와 같은 크기·여백·작은 표제 */
body.pg-columns .cl-hero{padding:clamp(72px,9vw,120px) 0 clamp(64px,8vw,104px)}
body.pg-columns .cl-hero h1{font-size:clamp(40px,4.4vw,64px);font-weight:760;letter-spacing:-.055em;line-height:1.2}
body.pg-columns .cl-hero p{margin-top:22px;font-size:clamp(18px,1.45vw,21px);font-weight:400;line-height:1.75;letter-spacing:-.012em;color:rgba(243,234,214,.78)}
body.pg-columns :is(.cl-hero,.cl-article-header) .kicker{display:inline-flex;align-items:center;gap:11px;font-size:15px;letter-spacing:.02em;color:#dcb66b}
body.pg-columns :is(.cl-hero,.cl-article-header) .kicker::before{content:"";width:24px;height:1px;background:currentColor;opacity:.8}
/* 구간 제목 = 사이트 구간 제목(36) */
body.pg-columns .cl-section-head h2{font-size:var(--t-2xl);font-weight:750;line-height:1.3;letter-spacing:-.04em}
body.pg-columns .cl-section{margin-top:var(--section)}
/* 칼럼 글 머리 = 다른 첫 화면과 같은 여백, 제목 크기는 글 제목답게 조금 작게 */
body.pg-column-article .cl-article-header{padding:clamp(40px,5vw,64px) 0 clamp(56px,7vw,88px)}
body.pg-column-article .cl-article-header h1{font-size:clamp(32px,3.4vw,46px);font-weight:760;letter-spacing:-.05em;line-height:1.3}
body.pg-column-article .cl-article-byline{margin-top:18px;font-size:15px;color:#dcb66b}
/* 글 끝 마무리 띠 (빌드가 넣음) — 글 폭 밖으로 전폭 */
body.pg-column-article main .v2-final{margin-top:var(--section)}
/* 칼럼 목록 첫 화면 (2026-09-28 사용자): 첫 화면에서 "처음이라면, 이 두 글부터"가 보이게 낮게, 제목은 작게, 설명은 크게 */
body.pg-columns .cl-hero{display:block;padding:clamp(56px,6.5vw,88px) 0 clamp(48px,5.5vw,72px)}
body.pg-columns .cl-hero h1{font-size:clamp(34px,3.6vw,50px);line-height:1.25}
body.pg-columns .cl-hero p{margin-top:18px;font-size:clamp(20px,1.9vw,26px);line-height:1.6;color:rgba(243,234,214,.86)}
body.pg-columns .cl-hero+.cl-section{margin-top:clamp(36px,4vw,52px)}

/* 아래로 스크롤하는 링크 = 원래 칼럼의 밑줄 링크 모양 (글자 + 금색 밑줄 + ↓) — 칼럼 "칼럼 더 보기", 링크 소개 "비결이 궁금하다면?" */
body.pg-columns .cl-hero .cl-hero-more,body .ab-hero .v6-story-cue{
  display:inline-flex;align-items:center;gap:8px;min-height:0;padding:0 0 6px;margin-top:clamp(24px,3vw,36px);
  background:none;border:0;border-bottom:1.5px solid #d9a94f;border-radius:0;box-shadow:none;
  font-size:var(--t-md);font-weight:700;color:#f3ead6!important}
body .ab-hero .v6-story-cue{margin-top:clamp(40px,5vw,64px)}
body.pg-columns .cl-hero .cl-hero-more:hover,body .ab-hero .v6-story-cue:hover{background:none;border-color:#f0cf85}
body.pg-columns .cl-hero .cl-hero-more span[aria-hidden],body .ab-hero .v6-story-cue span[aria-hidden]{color:#e6c47e;border:0!important}


/* ===== parts/97e-hero-refinements.css ===== */
/* 2026-09-28 사용자 승인: 히어로 비교 시안의 세 가지 개선을 v10에 직접 반영. */

/* 선생님: 공통 표제의 짧은 선은 유지하되, 페이지명은 요청에 따라 18px로 조금 크게. */
body.pg-teachers .tc-hero h1.kicker {
  max-width:none;
  margin:0;
  font-size:18px!important;
  font-weight:650!important;
  line-height:1.5!important;
  letter-spacing:.02em!important;
  color:#dcb66b!important;
}
body.pg-teachers .tc-hero h1.kicker::before { flex-shrink:0; }
body.pg-teachers .tc-hero .v7-teacher-intro { margin-top:26px; }
body.pg-teachers .tc-hero .v7-teacher-promise > strong {
  font-size:clamp(38px,4.2vw,60px)!important;
  font-weight:760!important;
  line-height:1.22!important;
  letter-spacing:-.045em!important;
  color:#f6efdf!important;
}
body.pg-teachers .tc-hero .v7-teacher-method { margin-top:15px; }
body.pg-teachers .tc-hero .tc-hero-em {
  color:#e6c47e;
  background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
/* 다른 페이지와 같은 밑줄 스크롤 링크. */
body.pg-teachers .tc-hero .tc-scroll-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  margin-top:24px;
  padding:0 0 6px;
  border-bottom:1.5px solid #d9a94f;
  font-size:var(--t-md);
  font-weight:700;
  line-height:1.4;
  color:#f3ead6;
  text-decoration:none;
}
body.pg-teachers .tc-hero .tc-scroll-link span { color:#e6c47e; }
body.pg-teachers .tc-hero .tc-scroll-link:hover { border-color:#f0cf85; }
body.pg-teachers .tc-hero .tc-scroll-link:focus-visible { outline:2px solid #e6c47e; outline-offset:6px; }

/* 신청: PC는 제목과 안내를 나란히, 모바일은 세로 배치. */
body.pg-apply .apply-hero {
  display:grid;
  grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);
  align-items:start;
  gap:56px;
  padding:64px 0!important;
}
body.pg-apply .apply-hero .cx-apply-title,
body.pg-apply .apply-hero .cx-apply-copy { min-width:0; }
body.pg-apply main .apply-hero p.calm { margin-top:0!important; }
body.pg-apply .apply-hero .pre-links { margin-top:22px; gap:10px 22px; }

@media (max-width:760px) {
  body.pg-apply .apply-hero { grid-template-columns:minmax(0,1fr); gap:24px; padding:44px 0 48px!important; }
  body.pg-apply .apply-hero .pre-links { gap:10px 18px; }
}

@media (max-width:600px) {
  body.pg-teachers .tc-hero .v7-teacher-intro { margin-top:22px; }
  body.pg-teachers .tc-hero .v7-teacher-promise > strong { font-size:clamp(25px,7.8vw,38px)!important; }
  body.pg-teachers .tc-hero .v7-teacher-method { margin-top:12px; }

  /* 소개: 검은 첫 화면의 전체 높이는 유지하고 글의 시작 위치만 위로. */
  body.pg-about .ab-hero {
    min-height:calc(100svh - 64px);
    justify-content:flex-start;
    padding:clamp(92px,16svh,150px) 0 48px!important;
  }
}


/* ===== parts/97f-faq-refinements.css ===== */
/* 2026-09-29: FAQ 답을 먼저 읽을 수 있도록, 모바일에서도 본문 18px 유지. */
body.pg-faq .qa-a p,
body.pg-faq .qa-a ul li,
body.pg-faq .qa-a ol li{font-size:18px;line-height:1.8;color:var(--ink-2)}
body.pg-faq .qa-a .qs-sheet p:not(.qs-sheet-label){font-size:18px;line-height:1.75}
body.pg-faq .qa-a .qs-features :is(h4,h5){font-size:20px}
body.pg-faq .faq-answer-steps{padding-left:1.25em;display:grid;gap:10px}
body.pg-faq .faq-answer-steps li::marker{color:var(--gold-text);font-weight:650}
body.pg-faq .faq-answer-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:18px}
body.pg-faq .faq-change-note{margin-top:22px;max-width:760px;font-size:17px;line-height:1.8;color:var(--ink-2)}
body.pg-faq .faq-change-note a{color:var(--gold-text);text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){
  body.pg-faq .qa summary{font-size:18px}
  body.pg-faq .qa-a{padding-left:0;padding-top:4px}
  body.pg-faq .qa-a .qs-sheet-label{font-size:16px}
  body.pg-faq .qa-a>.tlink,body.pg-faq .faq-answer-links .tlink{font-size:17px}
  body.pg-faq .faq-change-note{font-size:17px}
}


/* ===== parts/98-intro.css ===== */
/* ==========================================================================
   충격적인 소개글 (칼럼, v10 2026-09-28) — 칼럼 글 규칙 그대로 + 증거(카톡·영상·교재)만 보기 좋게
   ========================================================================== */
.ia-prose blockquote{margin:28px 0;padding:4px 0 4px 20px;border-left:3px solid var(--gold)}
.ia-prose blockquote p{font-size:clamp(19px,1.8vw,22px);font-weight:700;line-height:1.6;color:var(--ink)}
.ia-prose blockquote p+p{margin-top:8px}
.ia-prose h3{margin-top:40px;font-size:var(--t-lg);font-weight:750}
.ia-prose ul{margin:16px 0;padding-left:1.2em}
.ia-prose ul li+li{margin-top:6px}
/* 카톡 원본: 휴대폰 화면처럼 폭을 좁게 */
.ia-kakao{margin:22px 0 30px}
.ia-kakao img{display:block;width:100%;max-width:340px;height:auto;border-radius:14px;box-shadow:0 0 0 1px var(--line),0 22px 44px -30px rgba(70,48,18,.55)}
/* 카톡 후기 흐름: 본문 폭을 넘어 화면 전체 */
.ia-wall{margin:30px 0 8px}
.ia-wall .v5-kakao-wall{margin-inline:calc(50% - 50vw)}
/* 수업 영상·교재 쪽 */
.ia-media{display:grid;gap:14px;margin:26px 0 8px}
.ia-media.two{grid-template-columns:1fr 1fr}
.ia-media.one{max-width:560px}
.ia-media figure{margin:0}
.ia-media video,.ia-media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#1d160b;border-radius:12px;box-shadow:0 0 0 1px var(--line)}
.ia-media figcaption{margin-top:8px;font-size:var(--t-sm);font-weight:650;color:var(--ink-2)}
.ia-case-link,.ia-arrow{margin:10px 0 26px}
.ia-cta{margin:34px 0}
.ia-pending-article{margin:20px 0 28px;padding:16px 20px;border-left:2px solid var(--line)}
.ia-pending-article p{margin:0 0 6px}
.ia-availability{font-size:16px!important;line-height:1.6;color:var(--ink-2)}
.ia-resource-cta{margin:26px 0 40px}
.ia-resource-cta .btn:disabled{cursor:default;opacity:.65;pointer-events:none}
.ia-resource-cta .ia-availability{margin:10px 0 0}
@media (max-width:600px){
  .ia-media.two{grid-template-columns:1fr}
  .ia-kakao img{max-width:300px}
}
.ia-prose blockquote cite{display:block;font-size:var(--t-sm);font-style:normal;font-weight:650;color:var(--ink-3)}


/* ===== parts/99-night.css ===== */
/* ==========================================================================
   커리큘럼 B안 — 밤 테마 (body.theme-night, /일본어-회화-커리큘럼/B/)
   예전 검은 인포그래픽 시안(06_커리큘럼_시각자료/HTML시안/링크일본어 커리큘럼.html)의
   강점 — 스타터 → 메인 → 세 갈래 → 다시 모여 "입체적 체화" — 을 가져오되,
   네온 파랑·보라 대신 브랜드 먹색과 금색으로 그린다.
   헤더·푸터는 낮 그대로 두고 본문(main)만 밤이 된다 (로고가 밝은 배경용이라서).
   ========================================================================== */
.theme-night main{
  --paper:#16110a; --surface:#201910; --surface-2:#2a2116; --card:#1d160e;
  --line:rgba(243,234,214,.10); --line-2:rgba(243,234,214,.18);
  --ink:#f3ead6; --ink-2:rgba(243,234,214,.76); --ink-3:rgba(243,234,214,.58);
  --gold-text:#dcb66b; --gold-soft:rgba(220,182,107,.34); --gold-tint:rgba(220,182,107,.14);
  --on-ink:#1a140c; --on-ink-2:rgba(26,20,12,.74); --gold-on-ink:#85601e;
  --moss-tint:rgba(169,185,138,.14);
  --shadow:0 1px 2px rgba(0,0,0,.3),0 14px 34px -16px rgba(0,0,0,.6);
  --focus:0 0 0 2px var(--paper),0 0 0 4.5px var(--gold);
  color:var(--ink);
  background:
    radial-gradient(900px 420px at 20% -80px,rgba(220,182,107,.16),transparent 70%),
    var(--paper);
}
.theme-night .site-foot{border-top-color:transparent}
/* 채움 버튼: 밤에는 크림색 버튼 + 먹색 글자 */
.theme-night main .btn-primary{background:var(--ink);color:var(--on-ink)}
.theme-night main .btn-primary:hover{background:#fff}
.theme-night main .btn-gold,.theme-night main .v7-stop-2 .dot{color:#1a140c}
.theme-night main .btn-ghost:hover{background:var(--surface)}

/* ---- 흐름도 ---- */
.theme-night .road{padding-left:0;justify-items:center;gap:0}
.theme-night .road::before{display:none}
.theme-night .stop{width:min(660px,100%);text-align:center;margin-bottom:48px}
.theme-night .stop::after{content:"";position:absolute;left:50%;bottom:-49px;width:1.5px;height:48px;background:var(--gold)}
.theme-night .stop .dot{position:static;margin:0 auto 14px}
.theme-night .stop>p{margin-inline:auto;max-width:44ch}
.theme-night .v7-stop-1{background:transparent;border:1px dashed var(--line-2)}
.theme-night .v7-stop-2{background:linear-gradient(180deg,rgba(220,182,107,.10),var(--card));border:1px solid var(--gold-soft);box-shadow:0 0 0 6px rgba(220,182,107,.05)}
.theme-night .parts{text-align:left}
/* 세 갈래로 나뉘었다가 다시 모인다 */
.theme-night .v7-stop-3{width:100%;margin-bottom:0;padding-bottom:44px}
.theme-night .v7-stop-3::after{bottom:auto;top:auto;left:16.66%;right:16.66%;width:auto;height:44px;bottom:0;background:none;border:1.5px solid var(--gold);border-top:0;border-radius:0 0 18px 18px}
.theme-night .v7-stop-3 h3{margin-bottom:0}
.theme-night .branch{position:relative;padding-top:40px}
.theme-night .branch::before{content:"";position:absolute;top:0;left:16.66%;right:16.66%;height:40px;border:1.5px solid var(--gold);border-bottom:0;border-radius:18px 18px 0 0}
.theme-night .branch .br{position:relative;text-align:left;border-top-width:1px;border-color:var(--line-2);background:var(--card)}
.theme-night .branch .br:nth-child(2)::before,.theme-night .branch .br:nth-child(2)::after{content:"";position:absolute;left:50%;width:1.5px;background:var(--gold)}
.theme-night .branch .br:nth-child(2)::before{top:-40px;height:40px}
.theme-night .branch .br:nth-child(2)::after{bottom:-45px;height:45px}
.theme-night .v7-core{border-color:var(--gold-soft)!important;background:linear-gradient(180deg,rgba(220,182,107,.08),var(--card))!important}
/* 모인 끝 = 크림색으로 밝아지는 "회화 습득의 입체적 체화" */
.theme-night section:has(>.road){padding-bottom:0}
.theme-night .acq.section{position:relative;padding-top:56px}
.theme-night .acq.section::before{content:"";position:absolute;left:50%;top:0;width:1.5px;height:56px;background:var(--gold)}
.theme-night .acq .band-ink{text-align:center}
.theme-night .acq .band-ink h2,.theme-night .acq .band-ink .body{margin-inline:auto}
.theme-night .acq .band-ink .kicker{color:var(--gold-on-ink)}
.theme-night .acq .band-ink .watermark{color:rgba(133,96,30,.045);right:auto;left:50%;transform:translate(-50%,-50%)}
.theme-night .acq .band-ink .quote{border-top-color:rgba(26,20,12,.14);color:var(--on-ink)}
.theme-night .acq .band-ink .quote cite{color:var(--gold-on-ink)}
/* 크림 띠 다음 구간은 다시 밤 */
.theme-night .acq+.section{padding-top:var(--section)}

/* 마무리 띠도 크림 — 밤 페이지에서 가장 밝은 두 곳이 "목표"와 "신청" */
.theme-night .is-closer .btn-ghost{border-color:rgba(26,20,12,.25);color:var(--on-ink)}
.theme-night .is-closer .btn-ghost:hover{background:rgba(26,20,12,.06);border-color:var(--on-ink)}
.theme-night .is-closer h3 em,.theme-night .is-closer em{color:var(--gold-on-ink)}

@media (max-width:900px){
  .theme-night .branch::before,.theme-night .v7-stop-3::after,
  .theme-night .branch .br:nth-child(2)::before,.theme-night .branch .br:nth-child(2)::after{display:none}
  .theme-night .branch{padding-top:18px}
  .theme-night .v7-stop-3{padding-bottom:0}
  .theme-night .acq.section{padding-top:48px}
  .theme-night .acq.section::before{height:48px}
}

/* ---- v4_5 구성 반영 ---- */
/* 인포그래픽처럼 가운데 축으로 */
.theme-night .cu-hero{text-align:center}
.theme-night .cu-hero h1,.theme-night .cu-hero .sub{margin-inline:auto}
.theme-night .cu-hero h1{max-width:none}
.theme-night .cu-hero+.section:empty+.section .section-title,.theme-night section:has(>.road) .section-title{text-align:center}
.theme-night section:has(>.road) .section-title h2{margin-inline:auto}
/* 메인 → 세 갈래 사이 표지 */
.theme-night .road-split{
  position:relative;margin:0 0 48px;padding:9px 20px;border-radius:999px;
  background:var(--card);border:1px solid var(--gold-soft);
  font-size:var(--t-sm);font-weight:700;color:var(--ink);
}
.theme-night .road-split::after{content:"";position:absolute;left:50%;bottom:-49px;width:1.5px;height:48px;background:var(--gold)}
/* 모인 끝의 이름표 — "회화 습득의 입체적 체화" */
.theme-night .acq .band-ink .kicker{
  display:inline-block;margin-bottom:22px;padding:10px 22px;border-radius:999px;
  border:1.5px solid var(--gold-on-ink);font-size:var(--t-md);font-weight:750;color:var(--on-ink)
}
/* 이론적 기반 */
.theme-night .theory .section-title{text-align:center}
.theme-night .theory .section-title h2,.theme-night .theory .section-title>p{margin-inline:auto}
.theme-night .theory .kicker{margin-bottom:12px}
.theory-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.theory-card{padding:clamp(24px,3vw,34px);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--gold-soft)}
.theory-card h3{font-size:var(--t-xl);font-weight:750}
.theory-card p{margin-top:12px;font-size:var(--t-base);line-height:1.85;color:var(--ink-2)}
@media (max-width:900px){
  .theme-night .road-split::after{display:none}
  .theory-grid{grid-template-columns:1fr}
}


/* ---- 소리·스포츠 파트 스텝 카드 (B안, 가운데 축) ---- */
.theme-night .stop-part{width:min(460px,100%);justify-content:center;padding:18px 24px;background:linear-gradient(180deg,rgba(220,182,107,.12),rgba(220,182,107,.04));border:1px solid var(--gold-soft)}
.theme-night .stop-part::before{display:none}
.theme-night .v7-stop-2 .note{margin-inline:auto}
.theme-night .branch .v7-core{background:linear-gradient(180deg,rgba(220,182,107,.12),rgba(220,182,107,0) 70%),#1d160e!important}

/* ---- 가운데 길에서 좌우로 갈라졌다 다시 모이는 곡선 (v4_5 연출, 2026-09-26) ---- */
.theme-night .branch{padding-top:0}
.theme-night .branch::before,.theme-night .branch::after,.theme-night .v7-stop-3::after,
.theme-night .branch .br:nth-child(2)::before,.theme-night .branch .br:nth-child(2)::after{display:none}
.theme-night .v7-stop-3{padding-bottom:0}
.theme-night .v7-stop-3 h3{margin-bottom:0}
.road-fork{display:block;width:100%;height:clamp(56px,6vw,80px);overflow:visible}
.road-fork path{fill:none;stroke:var(--gold);stroke-width:1.5;vector-effect:non-scaling-stroke}
.road-fork .side{stroke-dasharray:6 6;opacity:.85}
.theme-night .acq.section::before{display:none}
.theme-night .acq.section{padding-top:0}
.theme-night .road-merge{margin-bottom:0}
.theme-night section:has(>.road)+.acq .band-ink{padding-top:clamp(48px,6vw,72px)}
@media (max-width:900px){.road-fork{display:none}}

/* 도착점: 회화 습득의 입체적 체화 — 흐름도 안, 세 갈래가 모이는 곳 */
.road-goal{
  width:min(640px,100%);margin:0 auto clamp(56px,7vw,88px);padding:clamp(22px,3vw,30px) 24px;text-align:center;
  border:1.5px solid var(--gold);border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(220,182,107,.16),rgba(220,182,107,.05));
  box-shadow:0 0 0 6px rgba(220,182,107,.06),0 0 48px -8px rgba(220,182,107,.35);
  font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-.04em;color:var(--ink)
}
.theme-night section:has(>.road)+.acq .band-ink{padding-top:clamp(64px,8vw,104px)}
@media (max-width:900px){.road-goal{margin-top:24px}}

/* ==========================================================================
   화려하게 — 하나의 길에 빛이 흐른다 (2026-09-26)
   ========================================================================== */
.theme-night main{
  --blush:#e39a82; --moss:#9fb57a; --glow:rgba(233,196,120,.55);
  background:
    radial-gradient(1100px 520px at 50% -120px,rgba(233,196,120,.22),transparent 70%),
    radial-gradient(700px 400px at 12% 40%,rgba(227,154,130,.07),transparent 70%),
    radial-gradient(700px 400px at 88% 55%,rgba(159,181,122,.07),transparent 70%),
    var(--paper);
}
/* 히어로: 금빛 제목 */
.theme-night .cu-hero h1{font-size:clamp(40px,6vw,72px);line-height:1.12}
.theme-night .cu-hero h1 em{
  background:linear-gradient(100deg,#f6e2ae 0%,#d9a94f 40%,#fff1c9 55%,#c8923a 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 24px rgba(233,196,120,.25));
}
/* 흐르는 빛: 가운데 연결선 */
.theme-night .stop::after,.theme-night .stop-part::after{
  background:linear-gradient(180deg,transparent,var(--gold) 20%,#fff1c9 50%,var(--gold) 80%,transparent);
  background-size:100% 200%;animation:tn-flow 2.4s linear infinite;
  box-shadow:0 0 12px var(--glow);width:2px;
}
.theme-night .stop-part{position:relative;margin-bottom:48px}
.theme-night .stop-part::after{content:"";position:absolute;left:50%;bottom:-49px;height:48px}
@keyframes tn-flow{from{background-position:0 100%}to{background-position:0 -100%}}
/* 번호 원: 빛나는 이정표 */
.theme-night .stop .dot{box-shadow:0 0 0 6px rgba(233,196,120,.08),0 0 28px -4px var(--glow)}
.theme-night .v7-stop-2 .dot{background:radial-gradient(circle at 35% 30%,#fff1c9,#d9a94f 60%,#9a6d22);border-color:#fff1c9}
/* 갈래 곡선: 점선이 앞으로 흐른다 */
.road-fork path{filter:drop-shadow(0 0 4px var(--glow))}
.road-fork .side{animation:tn-dash 1.6s linear infinite}
.road-fork .mid{stroke-width:2}
@keyframes tn-dash{to{stroke-dashoffset:-24}}
.road-fork path:nth-child(1){stroke:var(--blush)}
.road-fork path:nth-child(2){stroke:var(--moss)}
/* 세 갈래 카드: 각자의 색 */
.theme-night .branch .br{transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.theme-night .branch .br:hover{transform:translateY(-4px)}
.theme-night .branch .v7-culture{border:1px solid rgba(227,154,130,.45)!important;border-top:3px solid var(--blush)!important;background:linear-gradient(180deg,rgba(227,154,130,.12),#1d160e 60%)!important;box-shadow:0 18px 40px -24px rgba(227,154,130,.6)}
.theme-night .branch .v7-culture h4{color:#f2b9a6}
.theme-night .branch .v7-scene{border:1px solid rgba(159,181,122,.45)!important;border-top:3px solid var(--moss)!important;background:linear-gradient(180deg,rgba(159,181,122,.12),#1d160e 60%)!important;box-shadow:0 18px 40px -24px rgba(159,181,122,.6)}
.theme-night .branch .v7-scene h4{color:#c3d6a2}
.theme-night .branch .v7-core{box-shadow:0 0 0 6px rgba(233,196,120,.07),0 24px 60px -20px var(--glow)!important}
.theme-night .branch .v7-core h4{color:#f6e2ae}
/* 도착점: 빛나는 결승점 */
.theme-night .stop>.road-goal{
  position:relative;width:min(680px,100%);max-width:none;margin:0 auto clamp(64px,8vw,96px);
  padding:clamp(26px,3.4vw,36px) 24px;text-align:center;
  font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.04em;line-height:1.3;color:transparent;
  background:
    linear-gradient(100deg,#f6e2ae,#fff6dc 45%,#d9a94f) text,
    linear-gradient(180deg,rgba(233,196,120,.18),rgba(233,196,120,.05)) padding-box;
  -webkit-background-clip:text,padding-box;
  border:1.5px solid transparent;border-radius:var(--r-xl);
  box-shadow:0 0 0 1.5px #d9a94f,0 0 0 8px rgba(233,196,120,.07),0 0 70px -6px var(--glow);
  animation:tn-glow 3.2s ease-in-out infinite;
}
.theme-night .stop>.road-goal::before{
  content:"";position:absolute;inset:-1.5px;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--a,0deg),transparent 0 70%,#fff1c9 80%,transparent 90%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:tn-orbit 4s linear infinite;
}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes tn-orbit{to{--a:360deg}}
@keyframes tn-glow{50%{box-shadow:0 0 0 1.5px #f6e2ae,0 0 0 10px rgba(233,196,120,.1),0 0 90px 0 var(--glow)}}
@media (prefers-reduced-motion:reduce){
  .theme-night .stop::after,.theme-night .stop-part::after,.road-fork .side,
  .theme-night .stop>.road-goal,.theme-night .stop>.road-goal::before{animation:none}
}
@media (max-width:900px){.theme-night .stop-part::after{display:none}}


/* ===== parts/99z-night-lux.css ===== */
/* ==========================================================================
   커리큘럼 B안 — 페이지 전체를 화려하게 (2026-09-26)
   위쪽(히어로~보조·확장)은 밤, "이론적 기반"부터 아래는 낮으로 밝아진다.
   ========================================================================== */

/* ---------- 공통 장식 도구 ---------- */
.theme-night{--lux:linear-gradient(100deg,#f6e2ae 0%,#d9a94f 38%,#fff1c9 55%,#c8923a 100%)}
.theme-night .section-title h2 em,.theme-night .tb-section h2 em{
  background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ---------- 교재: 금테 슬라이드 + 금빛 숫자 ---------- */
.theme-night .tb-section{position:relative}
.theme-night .tb-section::before{
  content:"";position:absolute;inset:-40px 0 auto;height:420px;pointer-events:none;z-index:-1;
  background:radial-gradient(600px 260px at 70% 30%,rgba(233,196,120,.14),transparent 70%);
}
.theme-night .tb-facts li{
  padding:14px 24px;border:1px solid rgba(233,196,120,.35);
  background:linear-gradient(180deg,rgba(233,196,120,.14),rgba(233,196,120,.03));
  box-shadow:0 0 30px -12px rgba(233,196,120,.5);
}
.theme-night .tb-facts b{font-size:clamp(26px,3vw,34px);background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent}
.theme-night .tb-facts span{color:var(--ink-2)}
.theme-night .tb-pages{gap:18px;perspective:1400px}
.theme-night .tb-pages figure{transition:transform .35s var(--ease)}
.theme-night .tb-pages img{
  border-radius:14px;border:1px solid rgba(233,196,120,.5);
  box-shadow:0 0 0 5px rgba(233,196,120,.06),0 24px 50px -22px rgba(0,0,0,.9),0 0 40px -14px rgba(233,196,120,.45);
}
.theme-night .tb-pages figure:nth-child(odd){transform:rotate(-1.4deg)}
.theme-night .tb-pages figure:nth-child(even){transform:rotate(1.2deg) translateY(10px)}
.theme-night .tb-pages figure:hover{transform:rotate(0) translateY(-8px) scale(1.03);z-index:1}
.theme-night .tb-pages figcaption{margin-top:14px;text-align:center;color:var(--ink-2)}
.theme-night .tb-toc{
  background:linear-gradient(180deg,rgba(233,196,120,.07),rgba(29,22,14,.9));
  border:1px solid rgba(233,196,120,.3);box-shadow:0 30px 70px -40px rgba(233,196,120,.5);
}
.theme-night .tb-part:nth-child(1) h3{border-top-color:#e39a82}
.theme-night .tb-part:nth-child(2) h3{border-top-color:#d9a94f}
.theme-night .tb-part:nth-child(3) h3{border-top-color:#9fb57a}
.theme-night .tb-part h3{border-top-width:3px}
.theme-night .tb-ch{
  display:inline-grid;place-items:center;min-width:34px;height:24px;padding:0 6px;border-radius:999px;
  background:rgba(233,196,120,.12);border:1px solid rgba(233,196,120,.3);font-size:12px;
}
.theme-night .tb-part li:hover .tb-topics span{color:#fff1c9}

/* ---------- 커리큘럼에 담긴 설계 · 보조·확장: 빛나는 테두리 카드 ---------- */
.theme-night .cu-sum .c,.theme-night .ext{
  position:relative;background:linear-gradient(180deg,rgba(233,196,120,.09),rgba(29,22,14,.95) 55%);
  border:1px solid rgba(233,196,120,.28);border-radius:var(--r-lg);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;
}
.theme-night .cu-sum .c:hover,.theme-night .ext:hover{transform:translateY(-4px);border-color:rgba(233,196,120,.6);box-shadow:0 22px 50px -26px rgba(233,196,120,.6)}
.theme-night .cu-sum .c::before{
  content:"";position:absolute;left:24px;right:24px;top:-1px;height:2px;border-radius:2px;background:var(--lux);
}
.theme-night .cu-sum h3{font-size:var(--t-xl)}
.theme-night .ext{padding:24px}
.theme-night .ext h4{font-size:var(--t-lg);color:#f6e2ae}
.theme-night .ext:nth-child(1){border-top:3px solid #e39a82}
.theme-night .ext:nth-child(2){border-top:3px solid #d9a94f}
.theme-night .ext:nth-child(3){border-top:3px solid #9fb57a}
.theme-night .ext:nth-child(4){border-top:3px solid #c9b1e3}

/* ---------- 습득 목표 크림 띠: 금빛 햇살 ---------- */
.theme-night .acq .band-ink::after{content:"";position:absolute;inset:0 -100vmax;pointer-events:none;background:radial-gradient(700px 320px at 50% 0%,rgba(217,169,79,.30),transparent 70%)}
.theme-night .acq .band-ink h2{font-size:clamp(30px,4vw,46px)}

/* ==========================================================================
   이론적 기반부터 아래 — 낮 (밝은 종이)
   ========================================================================== */
.theme-night .app-extend,.theme-night .app-extend ~ section{
  --paper:#fbf7ee; --surface:#f4ecd9; --surface-2:#efe4ca; --card:#fffdf7;
  --line:rgba(42,32,16,.10); --line-2:rgba(42,32,16,.18);
  --ink:#221a0e; --ink-2:#4a3d29; --ink-3:#6f5e43;
  --gold-text:#85601e; --gold-soft:#ecd9a8; --gold-tint:#f6e9c2;
  --on-ink:#f6efdf; --on-ink-2:rgba(246,239,223,.78); --gold-on-ink:#d9b46a;
  --moss-tint:#e6ead6; --shadow:0 1px 2px rgba(70,48,18,.05),0 10px 30px -14px rgba(70,48,18,.22);
  color:var(--ink);
  border-image:conic-gradient(#fbf7ee 0 0) fill 0//0 100vmax;
}
/* 밤 → 낮 경계: 부드럽게 동이 튼다 */
.theme-night .app-extend{padding-top:var(--section)}
.theme-night .theory .kicker{color:var(--gold-text)}
.theme-night .theory .section-title h2{font-size:clamp(28px,3.4vw,40px)}
.theme-night .app-extend ~ section .btn-primary,.theme-night .app-extend .btn-primary{background:var(--ink);color:var(--on-ink)}
/* 이론 카드: 금박 테두리 */
.theme-night .theory-card{
  position:relative;background:#fffdf7;border:1px solid transparent;
  background:linear-gradient(#fffdf7,#fffdf7) padding-box,linear-gradient(135deg,#f6e2ae,#c8923a 50%,#f6e2ae) border-box;
  box-shadow:0 30px 60px -36px rgba(133,96,30,.55);
}
.theme-night .theory-card h3{font-size:clamp(22px,2.4vw,28px)}
.theme-night .theory-card .eyebrow{color:var(--gold-text)}
/* 앱: 밝은 무대 위에 화면들이 떠 있다 */
.theme-night .app-extend{position:relative}
.theme-night .app-extend::before{
  content:"";position:absolute;inset:0 0 auto;height:600px;pointer-events:none;z-index:-1;
  background:radial-gradient(700px 300px at 50% 120px,rgba(217,169,79,.18),transparent 70%);
}
.theme-night .app-hero figure,.theme-night .app-shots figure{box-shadow:0 30px 60px -34px rgba(70,48,18,.55);transition:transform .3s var(--ease)}
.theme-night .app-hero figure:hover,.theme-night .app-shots figure:hover{transform:translateY(-6px)}
.theme-night .app-journey{transform:rotate(-1deg)}
.theme-night .app-today{transform:rotate(1deg) translateY(14px)}
.theme-night .app-phones figure:nth-child(1){transform:rotate(-3deg) translateY(12px)}
.theme-night .app-phones figure:nth-child(3){transform:rotate(3deg) translateY(12px)}
.theme-night .app-phones img{box-shadow:0 0 0 1px var(--line),0 30px 50px -24px rgba(70,48,18,.6)}
.theme-night .app-step{background:linear-gradient(180deg,#f6ecd6,#f1e6cc);border-color:#ecd9a8}
.theme-night .app-when{background:var(--ink);color:#f6e2ae;border-color:var(--ink)}
.theme-night .app-facts b{background:linear-gradient(100deg,#b0802d,#85601e);-webkit-background-clip:text;background-clip:text;color:transparent}
/* 마무리 띠: 밝은 페이지 끝의 먹색 띠, 금빛 조명 */
.theme-night .app-extend ~ section .is-closer{border-image:conic-gradient(#221a0e 0 0) fill 0//0 100vmax;overflow:visible}
.theme-night .app-extend ~ section .is-closer::before{content:"";position:absolute;inset:0 -100vmax;pointer-events:none;background:radial-gradient(600px 280px at 50% 0%,rgba(217,169,79,.28),transparent 70%)}
.theme-night .app-extend ~ section .is-closer>*{position:relative}
.theme-night .app-extend ~ section .is-closer h3{color:#f6efdf}
.theme-night .app-extend ~ section .is-closer p{color:rgba(246,239,223,.78)}
.theme-night .app-extend ~ section .is-closer .btn-ghost{border-color:rgba(246,239,223,.3);color:#f6efdf}
.theme-night .app-extend ~ section .is-closer .btn-ghost:hover{background:rgba(246,239,223,.08);border-color:#f6efdf}
.theme-night .app-extend ~ section .is-closer .btn-gold{background:linear-gradient(100deg,#f0cf85,#d9a94f 50%,#f6e2ae);color:#1a140c;box-shadow:0 10px 30px -10px rgba(217,169,79,.8)}
.theme-night .app-extend ~ section .is-closer em{color:#d9b46a}

@media (max-width:900px){
  .theme-night .tb-pages figure,.theme-night .app-journey,.theme-night .app-today,
  .theme-night .app-phones figure{transform:none!important}
}
@media (prefers-reduced-motion:reduce){
  .theme-night .tb-pages figure,.theme-night .cu-sum .c,.theme-night .ext,
  .theme-night .app-hero figure,.theme-night .app-shots figure{transition:none}
}
.theme-night .app-extend ~ section .section-title h2 em,.theme-night .theory .section-title h2 em{background:linear-gradient(100deg,#b0802d,#85601e 50%,#a8762b);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ==========================================================================
   피드백 반영 (2026-09-26): 빛은 흐르는 길 하나에만. 나머지는 차분하게.
   ========================================================================== */
/* 도착점: 보상 버튼처럼 보이던 이중 테두리·궤도 빛·맥동 제거 → 단정한 금테 명판 */
.theme-night .stop>.road-goal{
  animation:none;box-shadow:0 0 0 1px rgba(233,196,120,.55);
  background:linear-gradient(100deg,#f6e2ae,#fff6dc 45%,#d9a94f) text,linear-gradient(180deg,rgba(233,196,120,.08),rgba(233,196,120,.02)) padding-box;
  -webkit-background-clip:text,padding-box;
}
.theme-night .stop>.road-goal::before{display:none}
/* 숫자·교재 이미지·카드: 광채 제거, 금색은 선과 글자에만 */
.theme-night .tb-facts li{box-shadow:none}
.theme-night .tb-pages img{box-shadow:0 0 0 1px rgba(233,196,120,.35),0 24px 50px -24px rgba(0,0,0,.85)}
.theme-night .tb-toc{box-shadow:none}
.theme-night .cu-sum .c:hover,.theme-night .ext:hover{box-shadow:none}
.theme-night .branch .v7-culture,.theme-night .branch .v7-scene{box-shadow:none!important}
.theme-night .branch .v7-core{box-shadow:0 0 0 1px rgba(233,196,120,.2)!important}
.theme-night .stop .dot{box-shadow:0 0 0 6px rgba(233,196,120,.06)}
/* 밤 → 낮: 선명한 경계 */
.theme-night .app-extend{border-image:conic-gradient(#fbf7ee 0 0) fill 0//0 100vmax}
/* 밝은 구간으로 온 설계·보조 카드: 종이 카드로 */
.theme-night .app-extend ~ section .cu-sum .c,.theme-night .app-extend ~ section .ext{
  background:#fffdf7;border:1px solid rgba(42,32,16,.10);border-top:3px solid #d9a94f;
}
.theme-night .app-extend ~ section .ext:nth-child(1){border-top-color:#e39a82}
.theme-night .app-extend ~ section .ext:nth-child(3){border-top-color:#9fb57a}
.theme-night .app-extend ~ section .ext:nth-child(4){border-top-color:#b79bd6}
.theme-night .app-extend ~ section .ext h4{color:var(--ink)}
.theme-night .app-extend ~ section .cu-sum .c::before{display:none}
/* 설계 카드는 앞의 로드맵과 겹치므로 작게 (문구는 그대로) */
.theme-night .v7-curriculum-notes>h2{font-size:var(--t-xl)}
.theme-night .app-extend ~ section .cu-sum h3{font-size:var(--t-lg)}
.theme-night .app-extend ~ section .cu-sum p{font-size:var(--t-sm)}
.theme-night .app-extend ~ section .cu-sum .c{padding:22px 22px}

/* ==========================================================================
   흐름 재정리 (2026-09-26): 밤 = 로드맵 + 습득 목표 → "설계는 깊게, 배움은 쉽고 재미있게." → 낮 = 교재부터
   ========================================================================== */
/* 습득 목표: 크림 띠 → 밤 구간의 끝 */
.theme-night .acq .band-ink{border-image:conic-gradient(#16110a 0 0) fill 0//0 100vmax;color:#f3ead6}
.theme-night .acq .band-ink h2{color:#f3ead6}
.theme-night .acq .band-ink h2 em{background:var(--lux);-webkit-background-clip:text;background-clip:text;color:transparent}
.theme-night .acq .band-ink p{color:rgba(243,234,214,.76)}
.theme-night .acq .band-ink b{color:#f6e2ae}
.theme-night .acq .band-ink .quote{color:#f3ead6;border-top-color:rgba(243,234,214,.16)}
.theme-night .acq .band-ink .quote cite{color:#dcb66b}
.theme-night .acq .band-ink .watermark{color:rgba(233,196,120,.05)}
.theme-night .acq .band-ink::after{background:radial-gradient(700px 320px at 50% 100%,rgba(217,169,79,.16),transparent 70%)}
/* 낮은 교재부터 — 선명한 경계 */
.theme-night .tb-section,.theme-night .tb-section ~ section{
  --paper:#fbf7ee; --surface:#f4ecd9; --surface-2:#efe4ca; --card:#fffdf7;
  --line:rgba(42,32,16,.10); --line-2:rgba(42,32,16,.18);
  --ink:#221a0e; --ink-2:#4a3d29; --ink-3:#6f5e43;
  --gold-text:#85601e; --gold-soft:#ecd9a8; --gold-tint:#f6e9c2;
  --on-ink:#f6efdf; --on-ink-2:rgba(246,239,223,.78); --gold-on-ink:#d9b46a;
  color:var(--ink);border-image:conic-gradient(#fbf7ee 0 0) fill 0//0 100vmax;
}
.theme-night .tb-section{padding-top:var(--section)}
.theme-night .tb-section::before{display:none}
/* 철학 문구가 교재의 제목 */
.theme-night .tb-section .section-title{text-align:center;max-width:none}
.theme-night .tb-section .section-title>*{margin-inline:auto}
.tb-motto{font-size:clamp(34px,4.6vw,58px)!important;line-height:1.22!important;letter-spacing:-.05em;max-width:none!important}
.tb-name{margin-top:18px!important;font-size:var(--t-lg)!important;font-weight:700;color:var(--gold-text)!important}
.theme-night .tb-section .section-title>p:not(.tb-name){max-width:56ch}
.theme-night .tb-facts{justify-content:center}
/* 교재 구간을 밝은 종이 위 톤으로 */
.theme-night .tb-facts li{background:#fffdf7;border-color:#ecd9a8}
.theme-night .tb-facts b{background:linear-gradient(100deg,#b0802d,#85601e);-webkit-background-clip:text;background-clip:text;color:transparent}
.theme-night .tb-pages img{border-color:#ecd9a8;box-shadow:0 22px 44px -26px rgba(70,48,18,.55)}
.theme-night .tb-toc{background:#f4ecd9;border-color:#ecd9a8}
.theme-night .tb-ch{background:#fffdf7;border-color:#ecd9a8}
.theme-night .tb-part li:hover .tb-topics span{color:#85601e}
/* 밝은 구간 제목 강조는 진한 금갈색 (흐림 방지) */
.theme-night .tb-section .section-title h2 em,.theme-night .tb-section ~ section .section-title h2 em{
  background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#85601e;filter:none;
}


/* ===== parts/99zz-formula.css ===== */
/* ==========================================================================
   커리큘럼 B: 링크 회화 공식 6단계 (2026-09-28)
   밤 구간의 마지막 — 깊은 설계를 보여 주고, 바로 아래 밝은 교재 구간("설계는 깊게, 배움은 쉽고 재미있게.")으로 넘어간다.
   장식 없이 번호·이름·한 줄이 순서대로 읽히게. 금빛은 번호에만.
   ========================================================================== */
.theme-night .formula{position:relative;padding-top:clamp(32px,4vw,56px);padding-bottom:clamp(80px,10vw,128px)}
.theme-night .formula .section-title{margin-bottom:clamp(36px,4.4vw,56px)}
.theme-night .formula .kicker{color:#dcb66b}
.theme-night .formula h2{font-size:clamp(30px,3.8vw,48px);line-height:1.28;letter-spacing:-.045em;color:#f3ead6;max-width:none}
.theme-night .formula .section-title>p{margin-top:16px;font-size:var(--t-md);color:rgba(243,234,214,.78)}
.formula-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3.4vw,48px)}
.formula-steps li{position:relative;padding:26px 0 30px;border-top:1px solid rgba(233,196,120,.28)}
.formula-steps li:nth-child(n+4){border-top-color:rgba(233,196,120,.16)}
.formula-steps .fs-no{display:block;margin-bottom:12px;font-size:var(--t-sm);font-weight:750;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:#e6c47e}
.formula-steps h3{font-size:clamp(22px,2vw,26px);font-weight:780;letter-spacing:-.035em;line-height:1.3;color:#f6efdf}
.formula-steps p{margin-top:10px;font-size:var(--t-base);line-height:1.7;color:rgba(243,234,214,.8)}
@media (max-width:900px){
  .formula-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .formula-steps{grid-template-columns:1fr}
  .formula-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:10px;padding:20px 0 22px}
  .formula-steps li:nth-child(n+4){border-top-color:rgba(233,196,120,.28)}
  .formula-steps .fs-no{grid-row:1/span 2;margin:4px 0 0}
  .formula-steps h3{font-size:22px}
  .formula-steps p{margin-top:6px}
}
