/* 대치스타트 보강 스타일 — style.css 뒤에 읽힘. 원본 디자인 파일은 손대지 않고 여기서만 덮어쓴다.
   색은 render.js가 넣는 테마 변수(--pri-*, --acc-*)를 그대로 쓴다. 규칙: 밝은 바탕 · 그린 제목/버튼 · 골드는 얇은 선만. */

/* ─ 공통 제목 ─ */
.kicker{font-size:12px;letter-spacing:.22em;font-weight:800}
.kicker::before{width:26px;height:2px;background:var(--acc-400);opacity:1;border-radius:2px}
.sec-head h2,.about h2{font-weight:800;letter-spacing:-.04em}
.sec-head .sub{font-size:17px;font-weight:500}
.sec-head .sub b{color:var(--pri-900)}

/* ─ 히어로 ─ */
.hero .eyebrow{background:#fff;border:1px solid var(--pri-100);box-shadow:none}
.hero .kicker{color:var(--ink-700);letter-spacing:.3em}
.hero h1{font-weight:800;letter-spacing:-.05em;line-height:1.14}
.hero h1 em{color:var(--pri-900);box-shadow:inset 0 -.16em 0 rgba(var(--acc-rgb),.5)}
.hero-lede{font-size:17.5px;line-height:1.8}
.hero-lede b{box-shadow:inset 0 -.38em 0 var(--pri-100)}

/* ─ 소개: 4기둥 ─ */
.pillars{gap:12px;background:transparent;border:0;border-radius:0;overflow:visible;margin-top:36px}
.pillars li{border:1px solid var(--line);border-radius:16px;background:#fff;padding:22px 22px 20px;box-shadow:0 1px 2px rgba(20,24,27,.04);position:relative}
.pillars li::after{content:"";position:absolute;left:22px;bottom:0;width:28px;height:3px;background:var(--acc-400);border-radius:2px 2px 0 0}
.pillars li:hover{background:#fff;border-color:var(--pri-500)}
.pillars .n{font-size:12.5px;letter-spacing:.18em}
.pillars b{font-size:17px;font-weight:800}
.pillars i{color:var(--ink-700);font-weight:500}
.about-fig{border:1px solid var(--line);border-radius:18px;overflow:hidden}
.about-fig figcaption{font-weight:600;color:var(--ink-700)}
.quote{border-radius:18px}
.quote p{font-size:18px;font-weight:700;line-height:1.7;letter-spacing:-.02em}

/* ─ 선생님 ─ */
.team{justify-content:center}
.tm{border-radius:20px;padding:34px 32px}
.tm .av{width:84px;height:84px;background:var(--pri-900);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--acc-400);font-size:28px}
.tm h3{font-size:22px;font-weight:800;letter-spacing:-.03em;margin-top:18px}
.tm .role{color:var(--pri-900);font-weight:700}
.tm p:not(.role):not(.tags){font-size:15.5px;line-height:1.8;color:var(--ink-700);font-weight:500}
.tm .tags span{background:var(--pri-100);color:var(--pri-900);font-weight:700}

/* ─ 수업 방식: 한 바퀴 카드 ─ */
.sys-card{border-radius:20px}
.sys-card::before{height:5px}
.sys-card .tag{border:1px solid currentColor;border-radius:999px;padding:5px 11px;font-weight:800;letter-spacing:.16em}
.sys-card h3{font-weight:800}
.sys-card .in.two{gap:0}
.sys-card .in.two .blk+.blk{border-left:1px solid var(--line-2);padding-left:30px;margin-left:30px}
.sys-card .blk h4{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.14em;color:var(--pri-900);background:var(--pri-100);padding:6px 12px;border-radius:999px;margin-bottom:18px}
.rail{padding-left:40px}
.rail::before{left:14px;top:14px;bottom:14px;width:2px;background:var(--pri-100)}
.rail li{padding-bottom:20px}
.rail li::before{width:28px;height:28px;left:-40px;top:-2px;border-radius:50%;border:0;background:var(--pri-900);color:#fff;font-weight:800;font-size:12.5px;display:grid;place-items:center;box-shadow:0 0 0 3px var(--paper-3)}
.sys-card.a .rail li::before{color:#fff}
.sys-card.b .rail li::before{background:var(--acc-800);color:#fff}
.rail b{font-size:16.5px;font-weight:800;color:var(--ink-950)}
.rail i{color:var(--ink-700);font-weight:500;line-height:1.65}
.sys-card .dots li{font-weight:600;color:var(--ink-700);font-size:15px}
.sys-card.c .blk h4{background:var(--sec-100);color:var(--sec-700)}

/* ─ 등록 5단계: 가로 타임라인 ─ */
.steps{margin-top:36px;position:relative;grid-template-columns:repeat(5,1fr);gap:14px}
.steps::before{content:"";position:absolute;left:4%;right:4%;top:46px;height:2px;background:linear-gradient(90deg,var(--pri-100),var(--acc-400),var(--pri-100));border-radius:2px;z-index:0}
.steps li{z-index:1;border-radius:18px;padding:24px 20px 22px;background:#fff}
.steps .sn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--pri-900);color:#fff;font-size:13px;font-weight:800;letter-spacing:.06em;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--acc-400);margin-bottom:16px}
.steps b{font-size:16.5px;font-weight:800;letter-spacing:-.03em;min-height:2.6em;display:flex;align-items:flex-start}
.steps i{color:var(--ink-700);font-weight:500;margin-top:6px}
@media (max-width:1120px){.steps{grid-template-columns:repeat(3,1fr)}.steps::before{display:none}}
@media (max-width:760px){.steps{grid-template-columns:1fr 1fr}.steps b{min-height:0}}
@media (max-width:420px){.steps{grid-template-columns:1fr}}

/* ─ 노트 시스템 ─ */
.sci-card{border-radius:20px}
.sci-card.lead{background:var(--deep);overflow:hidden}
.sci-card.lead::after{content:"";position:absolute;right:-6%;bottom:-18%;width:46%;max-width:300px;aspect-ratio:532/745;background:url(../img/cover_think.jpg) center/cover no-repeat;border-radius:10px;transform:rotate(-8deg);box-shadow:0 18px 40px rgba(0,0,0,.35);opacity:1;inset:auto}
.sci-card.lead > *{max-width:58%}
.sci-card:not(.lead){background:#fff}
.sci-card:not(.lead)::after{content:"";position:absolute;right:-4%;bottom:-20%;width:40%;max-width:240px;aspect-ratio:532/745;background:url(../img/cover_write.jpg) center/cover no-repeat;border-radius:10px;transform:rotate(8deg);box-shadow:0 14px 30px rgba(20,24,27,.18);z-index:0}
.sci-card:not(.lead) > *{max-width:62%}
.sci-card h3{font-weight:800;font-size:26px}
.sci-card .mini{border-left:3px solid var(--acc-400);background:var(--pri-100);color:var(--pri-900);font-weight:600}
.flow{margin-top:24px}
.flow li{border-radius:18px;padding:18px 18px 22px;background:#fff;overflow:hidden}
.flow li::before{content:"";display:block;aspect-ratio:3/2;border-radius:12px;margin-bottom:16px;background:var(--pri-100) center 18%/cover no-repeat;border:1px solid var(--line)}
.flow li:nth-child(1)::before{background-image:url(../img/cover_think.jpg)}
.flow li:nth-child(2)::before{background-image:url(../img/cover_write.jpg)}
.flow li:nth-child(3)::before{background-image:url(../img/cover_rethink.jpg)}
.flow li:nth-child(4)::before{background:var(--pri-900);display:grid;place-items:center}
.flow li:nth-child(4){position:relative}
.flow li:nth-child(4)::after{content:"“ ”";position:absolute;left:0;right:0;top:34px;text-align:center;font-size:56px;font-weight:800;color:var(--acc-400);line-height:1;pointer-events:none}
.flow .fn{position:absolute;top:28px;left:28px;background:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(20,24,27,.15);width:34px;height:34px}
.flow h4{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--pri-900)}
.flow p{font-weight:600;color:var(--ink-700);margin-top:6px}
@media (max-width:760px){
  .sci-card.lead::after,.sci-card:not(.lead)::after{width:34%;right:-8%;bottom:-10%}
  .sci-card.lead > *,.sci-card:not(.lead) > *{max-width:66%}
}
@media (max-width:420px){
  .sci-card.lead::after,.sci-card:not(.lead)::after{display:none}
  .sci-card.lead > *,.sci-card:not(.lead) > *{max-width:none}
}

/* ─ 블로그 ─ */
.cat{border-radius:18px;background:#fff}
.cat h3{font-weight:800}
.pcol{border-radius:18px;background:#fff}
.pcol h4{font-weight:800;letter-spacing:.1em;font-size:12.5px;color:var(--pri-900)}
.posts li b,.posts a b{font-weight:700}

/* ─ 캠퍼스 ─ */
.camp{border-radius:18px;background:#fff}
.camp .tel{font-weight:800}
.camp-note{background:var(--acc-light);border:1px solid rgba(var(--acc-rgb),.35);border-radius:14px;font-weight:600;color:var(--ink-700)}
.gal figure{border-radius:16px}

/* ─ 교습비 ─ */
.tt-wrap{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(20,24,27,.04)}
.tt thead th{background:var(--pri-100);color:var(--pri-900);font-weight:800;font-size:13px;letter-spacing:.04em;padding:16px 22px}
.tt tbody th,.tt tbody td{padding:20px 22px;font-size:15.5px;font-weight:600;color:var(--ink-700)}
.tt tbody th{font-weight:800;color:var(--ink-950)}
.tt .fee{color:var(--pri-900);font-weight:800;font-size:18px}
.tt tbody tr:hover{background:var(--paper)}
.tt-note{margin-top:16px;font-weight:500}

/* ─ FAQ ─ */
.acc{border-top:0;display:grid;gap:10px}
.acc details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 22px;transition:border-color .2s}
.acc details[open]{border-color:var(--pri-500)}
.acc summary{font-size:16.5px;font-weight:800;padding:20px 0}
.acc summary::before{content:"Q";flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--pri-100);color:var(--pri-900);font-size:13px;font-weight:800;margin-right:4px}
.acc .ac-in{padding:0 0 20px 40px}
.acc .ac-in p{font-size:15.5px;line-height:1.8;color:var(--ink-700);font-weight:500}

/* ─ 상담 ─ */
.ct-card{border-radius:20px}
.ct-card .tel{font-size:clamp(30px,3.2vw,40px);font-weight:800;letter-spacing:-.02em}
.ct-links .btn{font-weight:800}

/* ─ 모바일 하단 바 ─ */
.mobar a{font-weight:800}

/* ─ 보정 (2026-10-16 화면 확인 후) ─ */
.acc summary{justify-content:flex-start;text-align:left}
.acc summary::after{margin-left:auto}
.flow li::before{aspect-ratio:4/3;background-position:center 38%;background-size:150%}
.flow li:nth-child(4)::before{background:var(--pri-900)}
.flow li:nth-child(4)::after{content:"TALK";font-size:26px;letter-spacing:.2em;top:58px;color:var(--acc-400)}
.sci-card.lead::after{right:-4%;bottom:-24%;width:44%}
@media (max-width:760px){
  .sys-card .in.two .blk+.blk{border-left:0;padding-left:0;margin-left:0;margin-top:26px;padding-top:26px;border-top:1px solid var(--line-2)}
}

/* ─ 자간 완화 (원장 지시 2026-10-16: 전체 자간이 너무 좁음) ─ */
body *{letter-spacing:0 !important}
h1,h2,.hero h1,.sec-head h2,.about h2{letter-spacing:-.012em !important}
.kicker{letter-spacing:.2em !important}
.hero .kicker{letter-spacing:.28em !important}
.sys-card .tag,.badge,.pillars .n,.blk h4,.pcol h4,.cat .tag,.tt thead th{letter-spacing:.12em !important}
.steps .sn,.flow .fn,.rail li::before{letter-spacing:.04em !important}
.flow li:nth-child(4)::after{letter-spacing:.2em !important}

/* ─ 원장 사인 (img/sign.png 를 넣으면 자동 표시 · 파일 없으면 양식 기본 선 유지) ─
   사용법: 사인 이미지를 img/sign.png 로 저장한 뒤 아래 두 줄의 주석(주석 기호)을 풀고 다시 굽기
.quote .quote-sign{display:none}
.quote cite::before{content:"";display:block;width:150px;height:60px;margin-bottom:10px;background:url(../img/sign.png) left center/contain no-repeat}
*/

/* 상담 신청 연결 상자 (2026-10-16) */
.consult-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:760px;margin:0 auto 22px;padding:18px 20px;background:#FFFDF7;border:1px solid #E8E2D6;border-left:3px solid #B59A62;border-radius:16px;text-align:left}
.consult-cta b{display:block;font-size:17px;font-weight:800;color:#173E32;margin-bottom:4px}
.consult-cta span{display:block;font-size:14px;font-weight:500;color:#505E51;line-height:1.6}
.consult-cta .btn{flex:none;white-space:nowrap}
@media (max-width:640px){.consult-cta{flex-direction:column;align-items:stretch}.consult-cta .btn{width:100%}}

/* ═ 공부의 한 사이클: 단계마다 한 칸 (원장 결정 2026-10-20 · 홈페이지 중심 섹션) ═ */
.sys-card.a.wide{background:transparent;border:0;box-shadow:none;transform:none;overflow:visible}
.sys-card.a.wide::before{display:none}
.sys-card.a.wide:hover{transform:none;box-shadow:none}
.sys-card.a.wide > header{padding:0 0 18px;justify-content:center}
.sys-card.a.wide h3{font-size:22px}
.sys-card.a.wide .in.two{grid-template-columns:1fr;gap:0;padding:0}
.sys-card.a.wide .in.two .blk+.blk{border:0;margin:28px 0 0;padding:0}
.sys-card.a.wide .blk h4{display:block;width:max-content;margin:0 auto 18px;font-size:13px;padding:8px 16px}
.sys-card.a.wide .rail{padding-left:0;display:grid;gap:14px;counter-reset:r}
.sys-card.a.wide .rail::before{display:none}
.sys-card.a.wide .rail li{position:relative;display:grid;grid-template-columns:56px 1fr;column-gap:20px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 28px 26px 26px;box-shadow:0 1px 2px rgba(20,24,27,.04);transition:border-color .2s}
.sys-card.a.wide .rail li:hover{border-color:var(--pri-500)}
.sys-card.a.wide .rail li::before{position:static;grid-row:1 / span 2;width:56px;height:56px;font-size:18px;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--acc-400);margin-top:2px}
.sys-card.a.wide .rail b{font-size:19px;line-height:1.45;color:var(--pri-900)}
.sys-card.a.wide .rail i{font-size:15.5px;line-height:1.8;margin-top:8px;color:var(--ink-700);max-width:62ch}
/* 단계별 노트 표지 (2 개념노트·3 풀이노트·6 오답노트) */
.sys-card.a.wide .rail li.has-cover{grid-template-columns:56px 1fr 132px}
.sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(2),.sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(3),.sys-card.a.wide .blk:nth-child(2) .rail li:nth-child(3){grid-template-columns:56px 1fr 132px}
.sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(2)::after,.sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(3)::after,.sys-card.a.wide .blk:nth-child(2) .rail li:nth-child(3)::after{content:"";grid-column:3;grid-row:1 / span 2;width:132px;aspect-ratio:532/745;border-radius:10px;background:center/cover no-repeat;box-shadow:0 8px 20px rgba(20,24,27,.16);align-self:center}
.sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(2)::after{background-image:url(../img/cover_think.jpg)}
.sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(3)::after{background-image:url(../img/cover_write.jpg)}
.sys-card.a.wide .blk:nth-child(2) .rail li:nth-child(3)::after{background-image:url(../img/cover_rethink.jpg)}
.sys-card.a.wide .rail li > b{grid-column:2}
.sys-card.a.wide .rail li > i{grid-column:2}
/* 아래 초등/중고등 카드와 간격 */
.sys{row-gap:36px}
@media (max-width:760px){
  .sys-card.a.wide .rail li{grid-template-columns:44px 1fr;column-gap:14px;padding:20px 18px}
  .sys-card.a.wide .rail li::before{width:44px;height:44px;font-size:15px}
  .sys-card.a.wide .rail b{font-size:17px}
  .sys-card.a.wide .rail i{font-size:15px}
  .sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(2),.sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(3),.sys-card.a.wide .blk:nth-child(2) .rail li:nth-child(3){grid-template-columns:44px 1fr}
  .sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(2)::after,.sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(3)::after,.sys-card.a.wide .blk:nth-child(2) .rail li:nth-child(3)::after{grid-column:2;grid-row:3;width:96px;margin-top:14px;justify-self:end}
}

/* ═ 세 권의 노트: 표지 갤러리로 축소 (설명은 사이클로 이동) ═ */
.sci{display:none}
.flow{margin-top:0}
.flow li::before{aspect-ratio:532/745;background-size:cover;background-position:center;border-radius:14px}
.flow li:nth-child(4)::before{aspect-ratio:532/745}
.flow li:nth-child(4)::after{top:46%}
/* 사이클 번호 1~7 이어서 (묶음마다 다시 시작하지 않음) */
.sys-card.a.wide .in.two{counter-reset:r}
.sys-card.a.wide .rail{counter-reset:none}

/* ═ 글자 키우기 (원장 지시 2026-10-20) ═ */
body{font-size:17px}
.hero h1{font-size:clamp(40px,5.2vw,68px)}
.hero-lede{font-size:19px;line-height:1.85;max-width:680px}
.sec-head h2,.about h2{font-size:clamp(32px,3.4vw,44px)}
.sec-head .sub{font-size:18.5px;line-height:1.8}
.about-copy > p{font-size:17.5px;line-height:1.85}
.pillars b{font-size:18px}
.pillars i{font-size:15.5px;line-height:1.7}
.quote p{font-size:19px}
.tm p:not(.role):not(.tags){font-size:16.5px}
.sys-card.a.wide .rail b{font-size:20.5px}
.sys-card.a.wide .rail i{font-size:17px;line-height:1.85;max-width:66ch}
.sys-card .dots li{font-size:16.5px;line-height:1.7}
.steps b{font-size:17.5px}
.steps i{font-size:15.5px;line-height:1.7}
.flow h4{font-size:20px}
.flow p{font-size:15.5px}
.cat h3{font-size:19px}
.posts li a,.posts li b{font-size:15.5px}
.tt tbody th,.tt tbody td{font-size:16.5px}
.tt .fee{font-size:19px}
.acc summary{font-size:17.5px}
.acc .ac-in p{font-size:16.5px;line-height:1.85}
.ct-card .tel{font-size:clamp(32px,3.4vw,44px)}
.fine{font-size:14px}
@media (max-width:760px){
  body{font-size:16px}
  .hero-lede{font-size:17px}
  .sec-head .sub{font-size:17px}
  .sys-card.a.wide .rail b{font-size:18px}
  .sys-card.a.wide .rail i{font-size:16px}
  .sec-head .sub br,.about-copy > p br,.contact .sub br{display:none}
}
/* 사이클 설명: 이유 / 그래서 두 문단 (줄바꿈 뒤 '그래서' 문단 앞 여백) */
.sys-card.a.wide .rail i br{display:block;content:"";margin-top:10px}
/* 짧은 문장 줄바꿈이 문단처럼 보이게 */
.sys-card.a.wide .rail i{line-height:1.75}
.acc .ac-in p br{display:block;content:"";margin-top:6px}
/* 줄 간격 재조정 (원장 2026-10-20: 짧은 문장이 줄마다 끊기므로 숨 쉴 간격) */
.hero-lede{line-height:1.95}
.sec-head .sub{line-height:1.95}
.about-copy > p{line-height:2.0}
.pillars i{line-height:1.8}
.sys-card.a.wide .rail i{line-height:2.0;margin-top:12px}
.sys-card .dots li{line-height:1.85}
.steps i{line-height:1.8}
.acc .ac-in p{line-height:1.95}
.quote p{line-height:1.8}
.tm p:not(.role):not(.tags){line-height:1.9}
/* 사이클 설명: 한 문장 한 줄, 이유/방법 사이 빈 줄 (원장 2026-10-20 줄 간 정리) */
.sys-card.a.wide .rail i{line-height:1.8;max-width:82ch}
.sys-card.a.wide .rail i br+br{display:block;content:"";height:.55em}
/* ═ 글자 더 키우기 + 줄바꿈 위치 (원장 2026-10-20) ═ */
body{font-size:18px}
.hero-lede{font-size:20px;max-width:720px}
.sec-head .sub{font-size:19.5px}
.sec-head{max-width:860px}
.about-copy > p{font-size:18.5px}
.pillars b{font-size:19px}
.pillars i{font-size:16.5px}
.quote p{font-size:20px}
.tm p:not(.role):not(.tags){font-size:17.5px}
.sys-card.a.wide .rail b{font-size:22px}
.sys-card.a.wide .rail i{font-size:18.5px;line-height:1.85;max-width:none}
.sys-card.a.wide .rail i br+br{height:.7em}
.sys-card .dots li{font-size:17.5px}
.steps b{font-size:18.5px}
.steps i{font-size:16.5px}
.acc summary{font-size:18.5px}
.acc .ac-in p{font-size:17.5px}
.tt tbody th,.tt tbody td{font-size:17px}
.tt .fee{font-size:20px}
.posts li a,.posts li b{font-size:16.5px}
@media (max-width:760px){
  body{font-size:17px}
  .hero-lede{font-size:18px}
  .sec-head .sub{font-size:17.5px}
  .about-copy > p{font-size:17px}
  .sys-card.a.wide .rail b{font-size:19px}
  .sys-card.a.wide .rail i{font-size:17px;line-height:1.8}
  /* 휴대폰: 손으로 넣은 줄바꿈은 풀고(자연 줄바꿈), 문단 사이 빈 줄만 유지 */
  .sys-card.a.wide .rail i br{display:none}
  .sys-card.a.wide .rail i br+br{display:block;content:"";height:.7em}
  .hero-lede br{display:none}
  .pillars i br{display:none}
}

/* ═════ 최종 정리 (원장 2026-10-20 "전반적으로 다시 정리, 보기 좋게") ═════
   원칙: 한글은 단어 단위로만 줄바꿈(keep-all) · 손 줄바꿈은 문장 사이에서만 · 한 줄 길이를 읽기 좋은 폭으로 제한.
   앞서 쌓인 글자 크기·줄 간격 규칙을 여기서 한 번에 덮어쓴다. */
body{font-size:17px;word-break:keep-all;overflow-wrap:break-word}
p,li,i,dd,summary{text-wrap:pretty}
/* 앞에서 휴대폰 줄바꿈을 숨기던 규칙·빈 줄 꾸밈 규칙 해제 */
.hero-lede br,.pillars i br,.sec-head .sub br,.about-copy > p br,.contact .sub br,
.sys-card.a.wide .rail i br,.sys-card.a.wide .rail i br+br,.acc .ac-in p br{display:inline !important;content:normal;height:auto;margin:0}

/* 첫 화면 */
.hero h1{font-size:clamp(40px,5vw,64px);line-height:1.18}
.hero-lede{font-size:19px;line-height:1.85;max-width:34em}

/* 섹션 머리 */
.sec-head{max-width:820px}
.sec-head h2,.about h2{font-size:clamp(30px,3.2vw,42px);line-height:1.3}
.sec-head .sub{font-size:18px;line-height:1.85;max-width:38em;margin-left:auto;margin-right:auto}

/* 소개 */
.about-copy > p{font-size:17.5px;line-height:1.9;max-width:30em}
.about-copy > p + p{margin-top:20px}
.pillars b{font-size:18px}
.pillars i{font-size:15.5px;line-height:1.7}
.quote p{font-size:19px;line-height:1.75}

/* 선생님 */
.tm p:not(.role):not(.tags){font-size:16.5px;line-height:1.85}

/* 공부의 한 사이클 — 제목 / 이유 / (빈 줄) / 그래서 */
.sys-card.a.wide .rail b{font-size:20px;line-height:1.45}
.sys-card.a.wide .rail i{font-size:17px;line-height:1.9;margin-top:12px;max-width:40em;color:var(--ink-700)}
.sys-card .dots li{font-size:16.5px;line-height:1.75}

/* 등록 단계 · FAQ · 표 */
.steps b{font-size:17.5px}
.steps i{font-size:15.5px;line-height:1.75}
.acc summary{font-size:17.5px}
.acc .ac-in p{font-size:16.5px;line-height:1.85;max-width:40em}
.tt tbody th,.tt tbody td{font-size:16.5px}
.tt .fee{font-size:19px}

@media (max-width:760px){
  body{font-size:16px}
  .hero h1{font-size:clamp(34px,9vw,44px)}
  .hero-lede{font-size:17px;line-height:1.8}
  .sec-head h2,.about h2{font-size:clamp(26px,7vw,32px)}
  .sec-head .sub{font-size:16.5px;line-height:1.8;text-align:left}
  .about-copy > p{font-size:16.5px;line-height:1.85}
  .sys-card.a.wide .rail b{font-size:18px}
  .sys-card.a.wide .rail i{font-size:16px;line-height:1.85}
  .acc .ac-in p{font-size:16px}
}
/* PC 글자 한 단계 위로 (원장: 글씨 작다) · 소개 문단 폭 넓혀 외톨이 줄 방지 */
@media (min-width:761px){
  body{font-size:18px}
  .hero-lede{font-size:20px}
  .sec-head .sub{font-size:19px}
  .about-copy > p{font-size:18.5px;max-width:36em}
  .pillars i{font-size:16.5px}
  .sys-card.a.wide .rail b{font-size:21px}
  .sys-card.a.wide .rail i{font-size:18px;max-width:42em}
  .acc .ac-in p{font-size:17.5px}
  .steps i{font-size:16px}
}
/* 사이클 제목: 이름(굵게) / 꼬리말(한 줄 아래, 조금 작게) — 휴대폰에서 제목이 어색하게 끊기지 않게 */
.sys-card.a.wide .rail b{line-height:1.35}
.sys-card.a.wide .rail b em{display:block;font-style:normal;font-weight:700;font-size:.82em;color:var(--ink-700);margin-top:4px;letter-spacing:0}
.sys-card.a.wide .rail i{text-wrap:wrap}
/* 휴대폰: 번호는 제목 옆, 본문은 카드 전체 폭으로 (본문이 좁게 접히지 않게) */
@media (max-width:760px){
  .sys-card.a.wide .rail li,
  .sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(2),.sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(3),.sys-card.a.wide .blk:nth-child(2) .rail li:nth-child(3){grid-template-columns:44px 1fr;column-gap:14px;align-items:center}
  .sys-card.a.wide .rail li::before{grid-row:1;grid-column:1}
  .sys-card.a.wide .rail li > b{grid-column:2;grid-row:1}
  .sys-card.a.wide .rail li > i{grid-column:1 / -1;grid-row:2;margin-top:14px}
  .sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(2)::after,.sys-card.a.wide .blk:nth-child(1) .rail li:nth-child(3)::after,.sys-card.a.wide .blk:nth-child(2) .rail li:nth-child(3)::after{grid-column:1 / -1;grid-row:3;justify-self:end}
}

/* ═ 학교별 내신 리포트 섹션 (2026-10-20) ═ */
.naesin{background:var(--paper-2)}
.naesin-group+.naesin-group{margin-top:36px}
.naesin-h{font-size:15px;font-weight:800;letter-spacing:.08em !important;color:var(--pri-900);margin:0 0 14px;padding-left:14px;border-left:3px solid var(--acc-400)}
.naesin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.naesin-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s,box-shadow .2s}
.naesin-card:hover{border-color:var(--pri-500);transform:translateY(-3px);box-shadow:var(--sh-2)}
.ns-school{grid-column:1;font-size:18px;font-weight:800;color:var(--ink-950)}
.ns-subject{grid-column:2;grid-row:1;font-size:12.5px;font-weight:800;color:var(--pri-900);background:var(--pri-100);padding:5px 10px;border-radius:999px;white-space:nowrap}
.ns-exam{grid-column:1;grid-row:2;font-size:14.5px;font-weight:600;color:var(--ink-700);margin-top:4px}
.ns-go{grid-column:2;grid-row:2;font-size:13.5px;font-weight:700;color:var(--pri-900);white-space:nowrap;margin-top:4px}
.naesin-note{margin-top:22px;text-align:center}
@media (max-width:960px){.naesin-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.naesin-grid{grid-template-columns:1fr}.naesin-card{padding:16px 18px}}
/* 상단 메뉴 8개: 한 줄 유지 */
.gnb a,.gnb a span{white-space:nowrap}
@media (max-width:1400px){.gnb{gap:4px}.gnb a{padding-left:9px;padding-right:9px;font-size:14.5px}}
@media (max-width:1180px){.gnb a{padding-left:7px;padding-right:7px;font-size:14px}}
