/* ==========================================================================
   LEXORIA 하위 페이지 스타일시트 v2.0
   대상: /bridge /L1 /guide /trial /order /faq
   기준: index.html(홈)의 실제 값을 그대로 가져옴 — 여백 88/132px, 이음새
        그라데이션, 버튼 광택, 등장 연출까지 동일해야 같은 사이트로 느껴진다.
   자립형 파일 — lexoria.css와 함께 쓰지 않는다.
   ========================================================================== */

:root{
  --gold:#F3C24B; --gold2:#C9911F; --kakao:#FEE500;
  --story:'Gowun Batang',serif;
  --ui:'Pretendard Variable',Pretendard,-apple-system,system-ui,sans-serif;
  --navh:62px; --tabh:62px;
}

/* ── 섹션 테마 ──
   .s-dark  = 남색. 히어로와 이야기 구간.
   .s-light = 아이보리. 읽고 결정하는 구간(기본).
   .s-cream = 아이보리 한 톤 진하게. 섹션이 이어질 때 구분용.
   대비는 전부 실측해 4.5:1 이상. */
.s-dark,.phero{--bg:#1E2A63;--bg2:#16204F;--fg:#FFFFFF;--sub:#E8ECFF;--dim:#BFC6E8;
  --acc:#F8CE63;--card:#2A3878;--bd:rgba(255,255,255,.16);--rule:rgba(248,206,99,.32);
  --btnbg:linear-gradient(180deg,#F8D46E,#F3C24B);--btnfg:#2A1D00;--btnbd:transparent}
.s-light{--bg:#FAF7F0;--bg2:#F4F0E5;--fg:#211A08;--sub:#4A4132;--dim:#6E6553;
  --acc:#8A6410;--card:#FFFFFF;--bd:rgba(33,26,8,.13);--rule:rgba(138,100,16,.26);
  --btnbg:linear-gradient(180deg,#DFA627,#C9911F);--btnfg:#2A1D00;--btnbd:#A97913}
.s-cream{--bg:#F4F0E5;--bg2:#EDE7D8;--fg:#211A08;--sub:#4A4132;--dim:#6E6553;
  --acc:#8A6410;--card:#FFFFFF;--bd:rgba(33,26,8,.13);--rule:rgba(138,100,16,.26);
  --btnbg:linear-gradient(180deg,#DFA627,#C9911F);--btnfg:#2A1D00;--btnbd:#A97913}

/* ── 베이스 ── */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#FAF7F0;color:#211A08;font-family:var(--ui);font-size:17px;line-height:1.8;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:'tnum' 1;letter-spacing:-.003em;
  overflow-x:hidden;padding-top:var(--navh);
  padding-bottom:calc(var(--tabh) + 20px + env(safe-area-inset-bottom))}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
[id]{scroll-margin-top:calc(var(--navh) + 14px)}
section{background:var(--bg,#FAF7F0);color:var(--fg,#211A08);padding:88px 0;position:relative}

/* 섹션 이음새 — 앞 색이 위에서 흘러내린다 */
.seam-d::before,.seam-l::before,.seam-c::before{
  content:"";position:absolute;left:0;right:0;top:0;height:90px;pointer-events:none}
.seam-d::before{background:linear-gradient(180deg,#1E2A63,transparent)}
.seam-l::before{background:linear-gradient(180deg,#FAF7F0,transparent)}
.seam-c::before{background:linear-gradient(180deg,#F4F0E5,transparent)}

.wrap{width:min(1060px,calc(100% - 44px));margin-inline:auto}
.narrow{max-width:660px;margin-inline:auto}

/* ── 타이포 ── */
.nw{white-space:nowrap}
h1,h2,h3,.cap,.lede,.quote,summary,li{word-break:keep-all;overflow-wrap:break-word}
h1,h2,h3,.cap{text-wrap:balance}
p,.lede{text-wrap:pretty}
br.pc{display:none}
h1{font-weight:800;font-size:30px;line-height:1.4;margin:0 0 20px;letter-spacing:-.04em;max-width:17ch}
h1 em{font-style:normal;color:var(--gold);display:block;margin-top:6px}
h2{font-weight:800;font-size:27px;line-height:1.42;margin:0 0 20px;letter-spacing:-.035em;max-width:18ch}
h3{font-weight:800;font-size:19px;margin:0 0 8px;line-height:1.45;letter-spacing:-.025em}
p{margin:0 0 16px}
.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--acc,#8A6410);font-weight:800;margin:0 0 18px}
.lede{font-size:16.5px;color:var(--sub,#4A4132);max-width:33ch;line-height:1.9;letter-spacing:-.005em}
.lede.wide{max-width:42ch}
.fnote{font-size:13px;color:var(--dim,#6E6553);margin-top:18px;line-height:1.7}
sup{color:var(--acc);font-weight:700;font-size:.72em}
.badge{display:inline-block;border:1px solid var(--rule);border-radius:999px;padding:7px 17px;
  font-size:12.5px;color:var(--acc);margin-bottom:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}

/* ── 이야기 글꼴 (고운바탕) — 감정이 실리는 문장에만 ── */
.say{font-family:var(--story);font-size:21px;line-height:1.72;color:var(--fg,#211A08);
  letter-spacing:-.01em;margin:0;max-width:32ch}
.say.c{margin-inline:auto;text-align:center}
.say em{font-style:normal;color:var(--acc);font-weight:700}
.s-light .say em,.s-cream .say em{color:#8A6410}
.say + .sayw{font-size:12.5px;color:var(--dim);margin-top:12px;letter-spacing:.02em}

/* ── 히어로 ── */
.phero{color:var(--fg);padding:0;min-height:auto;display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;position:relative;background:#1E2A63}
.phero .bg{position:absolute;inset:0;z-index:0;background-position:50% 0%;background-size:cover;
  background-repeat:no-repeat}
/* 글씨가 반드시 이기도록 이미지를 덮는다 — 가독성이 먼저다 */
.phero .bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,29,74,.38) 0%,rgba(24,34,86,.66) 40%,#1E2A63 66%,#1E2A63 100%)}
.phero .in{position:relative;z-index:2;width:100%;max-width:720px;margin-inline:auto;
  padding:calc(var(--navh) + 30px) 22px 54px}
.phero .wordmark{font-weight:900;font-size:26px;letter-spacing:.2em;color:var(--gold);line-height:1;
  text-shadow:0 2px 22px rgba(0,0,0,.55),0 0 44px rgba(243,194,75,.35)}
.phero .wordmark small{display:block;font-size:11px;letter-spacing:.3em;color:#DCE0F7;font-weight:700;margin-top:7px}
.phero h1{margin:0 auto;text-shadow:0 2px 20px rgba(0,0,0,.55)}
.phero h1 em{font-family:var(--story);font-weight:700;letter-spacing:-.02em;
  margin-top:10px;text-shadow:0 2px 24px rgba(243,194,75,.28)}
.phero .lede{margin:20px auto 0;font-size:16px;color:#EFF2FF;max-width:30ch}
.micro{font-size:14px;color:#EFF2FF;margin:14px 0 0;text-shadow:0 1px 10px rgba(9,14,42,.4)}
.trust{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:28px}
.trust span{font-size:12.5px;color:#E2E7FF;border:1px solid rgba(255,255,255,.14);
  border-radius:999px;padding:6px 13px;background:rgba(20,29,74,.42)}

/* ── 버튼 ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;
  font-family:inherit;font-weight:800;font-size:16px;padding:15px 30px;border-radius:13px;border:0;
  cursor:pointer;position:relative;overflow:hidden;transition:transform .17s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-g,.btn-p{background:var(--btnbg);color:var(--btnfg);border:1px solid var(--btnbd);
  box-shadow:0 4px 0 rgba(120,85,10,.28),0 8px 20px rgba(120,85,10,.18)}
.btn-g:active,.btn-p:active{box-shadow:0 1px 0 rgba(120,85,10,.28);transform:translateY(3px)}
.s-dark .btn-g,.s-dark .btn-p{box-shadow:0 4px 0 rgba(120,85,10,.45),0 10px 26px rgba(0,0,0,.35)}
.btn-o{border:1.5px solid var(--acc);color:var(--acc);background:transparent}
.s-dark .btn-o{background:rgba(255,255,255,.07)}
.btn-k{background:var(--kakao);color:#181600;box-shadow:0 8px 24px rgba(254,229,0,.22)}
.btn[disabled],.btn.is-off,.btn[aria-disabled="true"]{opacity:.42;pointer-events:none;transform:none}
.btns{display:flex;flex-direction:column;gap:10px;max-width:340px;margin-inline:auto}
@media(prefers-reduced-motion:reduce){.btn::after{display:none}.btn{transition:none}}

/* ── 등장 연출 ── */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* 밝은 구간에선 은은한 그림자로 카드를 띄운다 */
.s-light .card,.s-cream .card,.s-light .fig,.s-cream .fig,.s-light .zone,.s-cream .zone,
.s-light .step,.s-cream .step,.s-light .pbox,.s-cream .pbox,.s-light .rcard,.s-cream .rcard,
.s-light .pick,.s-cream .pick,.s-light details,.s-cream details{
  box-shadow:0 2px 12px rgba(58,45,16,.07)}
.s-light .step::before,.s-cream .step::before{background:rgba(138,100,16,.14)}
.s-light .btn-o,.s-cream .btn-o{background:#FFFFFF;border-color:var(--rule)}
.s-light .gradebtns button[aria-pressed="true"],
.s-cream .gradebtns button[aria-pressed="true"]{background:rgba(138,100,16,.11)}
.s-light .pick[aria-pressed="true"],.s-cream .pick[aria-pressed="true"]{background:#FFFBF1}
.s-light .pick[aria-pressed="true"]::after,.s-cream .pick[aria-pressed="true"]::after{
  background:var(--acc);color:#FFFFFF}
.s-light .say,.s-cream .say{color:var(--fg)}

/* ── 카드 ── */
.grid{display:grid;gap:12px;margin-top:26px}
.card{background:var(--card);
  border:1px solid var(--bd);border-radius:16px;padding:22px 20px;
  transition:transform .22s ease,box-shadow .22s ease}
@media(hover:hover){.card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(9,14,42,.28)}}
.card .k{display:block;font-size:12px;letter-spacing:.1em;color:var(--acc);font-weight:800;margin-bottom:10px}
.card h3{margin-bottom:8px}
.card p{font-size:15px;color:var(--sub);margin:0;line-height:1.8;letter-spacing:-.004em}

.br{display:block;text-decoration:none;background:var(--card);border:1px solid var(--bd);
  border-radius:18px;padding:24px 22px;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
@media(hover:hover){.br:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(9,14,42,.32);
  border-color:rgba(201,145,31,.45)}}
.bage{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--acc);
  border:1px solid var(--rule);border-radius:999px;padding:4px 12px;margin-bottom:12px}
.br p{font-size:14.5px;color:var(--sub);margin:0 0 14px;line-height:1.7}
.go{font-size:13.5px;font-weight:800;color:var(--acc)}

/* ── 수치 ── */
.figs{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
.fig{background:var(--card);
  border:1px solid var(--bd);border-radius:14px;padding:18px 16px}
.fig b{display:block;font-weight:800;font-size:30px;color:var(--acc);line-height:1.1;letter-spacing:-.03em}
.fig span{display:block;font-size:12.5px;color:var(--sub);margin-top:7px;line-height:1.55}

/* ── 인용 ── */
.quote{background:var(--card);color:var(--fg);border:1px solid var(--rule);border-radius:16px;padding:24px;margin:24px 0;
  font-family:var(--story);font-size:19px;line-height:1.6}
.quote small{display:block;font-family:var(--ui);font-size:12.5px;color:var(--dim);margin-top:10px}

/* ── 여정 목록 ── */
.zones{display:grid;gap:10px;margin-top:26px}
.zone{display:flex;align-items:flex-start;gap:14px;background:var(--card);
  border:1px solid var(--bd);border-radius:14px;padding:16px 17px}
.zone i{flex:none;font-style:normal;font-weight:800;font-size:11.5px;letter-spacing:.06em;
  color:var(--acc);border:1px solid var(--rule);border-radius:6px;padding:4px 9px;min-width:36px;
  text-align:center;line-height:1.4}
.zone b{display:block;font-size:15.5px;font-weight:700;color:var(--fg);line-height:1.45}
.zone span{display:block;font-size:13.5px;color:var(--sub);margin-top:3px;line-height:1.65}

/* ── 사다리 ── */
.ladder{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:24px}
.ladder em{font-style:normal;font-size:13px;font-weight:700;color:var(--dim);
  border:1px solid var(--bd);border-radius:999px;padding:8px 15px}
.ladder em.on{color:var(--acc);border-color:var(--acc);background:rgba(243,194,75,.09);font-weight:800}
.ladder .ar{color:var(--dim);font-size:12px}

/* ── 가격 ── */
.pbox{background:var(--card);border:1px solid var(--bd);border-radius:18px;padding:30px 24px;
  text-align:center;max-width:520px;margin:26px auto 0}
.pbox .pv{display:block;font-size:44px;font-weight:800;color:var(--acc);letter-spacing:-.04em;
  line-height:1.1;margin:10px 0 6px}
.pbox .pu{display:block;font-size:13px;color:var(--sub)}
.pbox .pn{font-size:13.5px;color:var(--sub);line-height:1.75;margin:20px 0 0;padding-top:18px;
  border-top:1px solid var(--bd)}

/* ── 절차 ── */
.steps{counter-reset:st;display:grid;gap:11px;margin:26px 0 0;padding:0;list-style:none}
.step{counter-increment:st;position:relative;background:var(--card);border:1px solid var(--bd);
  border-radius:16px;padding:20px 20px 20px 56px}
.step::before{content:counter(st);position:absolute;left:18px;top:20px;width:26px;height:26px;
  border-radius:50%;background:rgba(243,194,75,.16);color:var(--acc);font-size:12.5px;font-weight:800;
  display:grid;place-items:center}
.step b{display:block;font-size:15.5px;font-weight:800;color:var(--fg);margin-bottom:5px}
.step p{font-size:14.5px;color:var(--sub);margin:0;line-height:1.72}

/* ── 안내 박스 ── */
.note{background:var(--card);border:1px solid var(--rule);border-radius:16px;padding:22px;
  margin-top:26px;font-size:14.5px;color:var(--sub);line-height:1.78}
.note b{color:var(--fg)}

/* ── 학년 ── */
.gradebtns{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:26px}
.gradebtns button{min-height:52px;font-family:inherit;font-size:14.5px;font-weight:700;color:var(--fg);
  background:var(--card);border:1px solid var(--bd);border-radius:13px;padding:13px 8px;cursor:pointer;
  transition:border-color .18s ease,background .18s ease,transform .18s ease}
@media(hover:hover){.gradebtns button:hover{border-color:var(--acc);transform:translateY(-2px)}}
.gradebtns button[aria-pressed="true"]{border-color:var(--acc);background:rgba(243,194,75,.13);
  color:var(--acc);font-weight:800}
@media(min-width:560px){.gradebtns{grid-template-columns:repeat(4,1fr)}}

.result{margin-top:22px}
.result:empty{display:none}
.rcard{background:var(--card);border:1px solid var(--acc);border-radius:18px;padding:26px 22px;
  box-shadow:0 14px 34px rgba(9,14,42,.28)}
.rcard .rt{font-family:var(--story);font-size:22px;font-weight:700;color:var(--fg);margin:0 0 12px;line-height:1.45}
.rcard .rd{font-size:14.5px;color:var(--sub);margin:0 0 12px;line-height:1.75}
.rcard .rd b{color:var(--acc);font-weight:800}
.rcard .btns{margin-top:20px;max-width:none}
@media(min-width:560px){.rcard .btns{flex-direction:row}.rcard .btns .btn{flex:1}}

/* ── 상품 선택 ── */
.picks{display:grid;gap:12px;margin-top:26px}
.pick{background:var(--card);border:2px solid var(--bd);border-radius:18px;padding:22px 20px;
  cursor:pointer;position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
@media(hover:hover){.pick:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(9,14,42,.32);
  border-color:rgba(201,145,31,.45)}}
.pick[aria-pressed="true"]{border-color:var(--acc);background:rgba(243,194,75,.07)}
.pick[aria-pressed="true"]::after{content:"✓";position:absolute;top:18px;right:18px;width:24px;height:24px;
  border-radius:50%;background:var(--acc);color:#2A1D00;font-size:14px;font-weight:800;
  display:grid;place-items:center;line-height:1}
.pick .pt{font-size:17px;font-weight:800;color:var(--fg);margin:0 0 4px;letter-spacing:-.02em}
.pick .pg{font-size:12.5px;color:var(--dim);margin:0 0 14px}
.pick .pp{font-size:30px;font-weight:800;color:var(--acc);letter-spacing:-.04em;margin:0 0 8px;line-height:1.1}
.pick .px{font-size:13.5px;color:var(--sub);margin:0;line-height:1.7}
@media(min-width:640px){.picks{grid-template-columns:1fr 1fr}}

/* ── 주문 요약 ── */
.sumbox{background:var(--bg2);border:1px solid var(--bd);border-radius:16px;padding:6px 20px;margin-top:26px}
.sumrow{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:15px 0;
  border-top:1px solid var(--bd);font-size:14.5px;color:var(--sub)}
.sumrow:first-child{border-top:0}
.sumrow span:last-child{color:var(--fg);font-weight:600;text-align:right}
.sumrow.tot{border-top:1px solid var(--rule)}
.sumrow.tot b{font-size:25px;font-weight:800;color:var(--acc);letter-spacing:-.03em}

/* ── 입력 ── */
.field{margin:18px 0}
.field label{display:block;font-size:13.5px;font-weight:700;color:var(--sub);margin-bottom:8px}
.field label .req{color:var(--acc);margin-left:3px}
.field input{width:100%;min-height:52px;font-family:var(--ui);font-size:16px;padding:14px 16px;
  border:1px solid var(--bd);border-radius:13px;background:var(--card);color:var(--fg)}
.field input::placeholder{color:var(--dim)}
.field input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:transparent}
.field .hint{font-size:12.5px;color:var(--dim);margin-top:7px;line-height:1.6}
.field .err{font-size:12.5px;color:#E4796B;margin-top:7px;display:none}
.field.is-bad .err{display:block}
.field.is-bad input{border-color:#E4796B}
.agree{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--sub);margin:20px 0;line-height:1.7}
.agree input{width:20px;height:20px;accent-color:var(--gold2);flex:none;margin-top:3px}
.agree a{color:var(--acc)}

/* ── FAQ ── */
.faq-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.faq-nav a{font-size:13px;font-weight:700;color:var(--sub);text-decoration:none;border:1px solid var(--bd);
  border-radius:999px;padding:10px 16px;transition:color .18s ease,border-color .18s ease}
.faq-nav a:hover{color:var(--acc);border-color:var(--acc)}
.faq-group{margin-bottom:44px}
.faq-group h3{font-size:17px;color:var(--acc);margin-bottom:14px}
details{margin-top:12px;border:1px solid var(--bd);border-radius:14px;background:var(--card)}
.s-dark details{background:rgba(255,255,255,.05)}
summary{cursor:pointer;padding:16px 20px;font-size:14.5px;color:var(--acc);font-weight:700;
  list-style:none;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"＋";color:var(--dim);font-weight:400;flex:none}
details[open] summary::after{content:"－"}
.more{padding:0 20px 18px}
.more p{font-size:14px;color:var(--sub);margin:0 0 8px;line-height:1.7;padding-top:14px;border-top:1px solid var(--bd)}
.more p ~ p{padding-top:0;border-top:0}
.more a{color:var(--acc)}

/* ── 모바일 하단 고정 CTA (탭바 위) ── */
.dock{position:fixed;left:0;right:0;bottom:calc(var(--tabh) + 14px);z-index:90;
  padding:0 14px;pointer-events:none;
  transform:translateY(150%);transition:transform .34s ease}
.dock.on{transform:none}
.dock .btn{width:auto;max-width:260px;margin-inline:auto;pointer-events:auto;
  font-size:14px;font-weight:800;padding:11px 22px;min-height:44px;border-radius:999px}
@media(min-width:760px){.dock{display:none}}

/* ── 푸터 ── */
footer{background:#16204F;border-top:1px solid rgba(255,255,255,.07);padding:46px 0 54px;
  font-size:13.5px;color:#BFC6E8;line-height:1.85}
footer .mark{font-weight:900;letter-spacing:.2em;font-size:15px;color:var(--gold)}
footer .mark small{display:block;letter-spacing:.05em;font-size:10px;color:#BFC6E8;margin-top:-2px}
footer .flinks{margin-top:16px}
footer a{color:#D5DAF5;text-decoration:none;margin-right:16px;padding:6px 0;display:inline-block}
footer a:hover{color:var(--gold)}
.legal{margin-top:14px;font-size:13px;color:#BFC6E8;line-height:1.9}
.legal b{color:#EDF0FF;font-weight:600}

/* ── 데스크톱 ── */
@media(min-width:760px){
  br.pc{display:inline}
  body{font-size:18px;padding-bottom:0}
  section{padding:132px 0}
  h1{font-size:46px;max-width:15ch;line-height:1.32}
  h2{font-size:38px;max-width:16ch;line-height:1.35}
  h3{font-size:21px}
  .say{font-size:33px;max-width:none;line-height:1.6}
  .phero .in{max-width:780px;padding-bottom:76px}
  .phero .wordmark{font-size:34px}
  .phero .lede{font-size:19px;max-width:32ch}
  .lede{font-size:18px;max-width:36ch}
  .lede.wide{max-width:46ch}
  .btns{flex-direction:row;justify-content:center;max-width:none}
  .grid{grid-template-columns:repeat(3,1fr);gap:16px}
  .figs{grid-template-columns:repeat(2,1fr);gap:14px}
  .fig b{font-size:40px}
  .zones{grid-template-columns:1fr 1fr;gap:12px}
  .steps{grid-template-columns:1fr 1fr;gap:14px}
  .quote{font-size:25px}
}
@media(min-width:1060px){ .steps{grid-template-columns:repeat(4,1fr)} }
@media(prefers-reduced-motion:reduce){ *{animation:none!important;transition:none!important} }

/* ── 약관·방침·운영주체 페이지용 (2026-09-04 추가) ──────────────
   terms/privacy/about 세 페이지만 쓴다. 기존 6페이지엔 .tbl 이 없어 영향이 없다. */
.narrow h2{max-width:none;font-size:21px;margin:34px 0 12px;padding-top:18px;border-top:1px solid var(--rule)}
.narrow h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.narrow h3{font-size:16.5px;margin:18px 0 6px}
.narrow p{margin:0 0 12px;line-height:1.78}
.narrow ul{margin:0 0 14px;padding-left:20px}
.narrow ul li{margin:0 0 7px;line-height:1.72}
.tbl{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:14.5px}
.tbl th,.tbl td{border:1px solid var(--bd);padding:9px 11px;text-align:left;vertical-align:top}
.tbl th{background:var(--bg2);font-weight:700;white-space:nowrap;width:38%}
@media(min-width:721px){ .tbl th{width:26%} }

/* ══════════════════════════════════════════════════════════════
   가독성 키우기 (2026-09-04 대표 폰 확인 반영)
   「글씨가 너무 작아서 눈아파 · 텍스트가 쭉 나열되어 가독성이 떨어져
     여백이 느껴져야 길어도 다 읽어」
   → 글자 크기·행간·문단 사이 여백을 함께 올린다. 셋 중 하나만 올리면 안 읽힌다.
   ══════════════════════════════════════════════════════════════ */
body{font-size:18.5px;line-height:1.85}
p{margin:0 0 22px}
.lede{font-size:18.5px;line-height:2.0;max-width:38ch}
.phero .lede{font-size:18px;max-width:34ch;line-height:1.95}
.micro{font-size:15.5px}
h2{font-size:29px;line-height:1.45}
h3{font-size:20px;line-height:1.5;margin:0 0 10px}
.card p{font-size:17px;line-height:1.85}
.pick .pt{font-size:18.5px}
.agree{font-size:15.5px;line-height:1.8}
.field input{font-size:17px;min-height:56px}
.btn,.btn-g,button{font-size:17px}
ul li,ol li{margin-bottom:10px;line-height:1.85}
.fnote,.foot-note,small{font-size:14.5px;line-height:1.75}
footer .legal{font-size:14.5px;line-height:1.95}

/* 약관·방침·운영주체 — 긴 글이라 여백을 더 준다 */
.narrow p{font-size:18px;line-height:1.95;margin:0 0 20px}
.narrow ul li{font-size:18px;line-height:1.9;margin-bottom:11px}
.narrow h2{font-size:23px;margin:40px 0 14px;padding-top:22px}
.narrow h3{font-size:18.5px;margin:24px 0 8px}
.tbl{font-size:16px}
.tbl th,.tbl td{padding:12px 13px;line-height:1.75}

/* 폰에서 한 번 더 */
@media(max-width:720px){
  body{font-size:18px}
  .lede{font-size:18px;line-height:2.0;max-width:none}
  h2{font-size:26px}
  .narrow p,.narrow ul li{font-size:17.5px}
  .tbl{font-size:15.5px}
  .tbl th{width:34%}
}

/* ══════════════════════════════════════════════════════════════
   가독성 2차 — 16px 미만 「읽는 글」 일괄 상향 (2026-09-04)
   대표: 「부모님들이 보는 화면이라서 가독성 진짜 중요해, 가독성때문에 이탈할 수 있어」
   10페이지를 브라우저로 훑어 16px 미만 586곳을 찾았고, 그중 **읽는 글만** 올린다.
   🔴 UI 장식은 건드리지 않는다 — 탭바 라벨(9.5px)·드롭다운 화살표(.cv)·각주 번호(sup)·
      로고 부제(small)는 키우면 오히려 깨진다.
   ══════════════════════════════════════════════════════════════ */

/* ① 글 담는 그릇은 16px 아래로 못 내려간다 */
p,li,td,th,summary,label,figcaption,blockquote,dd,dt{font-size:17px}

/* ② 그 안의 강조·링크가 따로 작아지지 않게 부모 크기를 물려받는다
      (14~15.5px 로 박혀 있던 b·span·a 가 여기서 전부 해결된다) */
p b,p span,p a,p i,p em,p strong,
li b,li span,li a,li em,li strong,
td b,td span,td a,th b,th span,
summary b,summary span,summary a{font-size:inherit}

/* ③ 이름 있는 설명글들 */
.lede{font-size:18.5px}
.micro{font-size:16.5px}
.fnote,.sub,.vd,.cs,.cl{font-size:16.5px;line-height:1.8}
.card p{font-size:17px}
.agree{font-size:16px}

/* ④ 누르는 것은 작으면 안 눌린다 */
.btn,.btn-g,.btn-o,button.btn,a.btn{font-size:17px}

/* ⑤ 표 */
.tbl th,.tbl td{font-size:16.5px}

/* ⑥ 접히는 항목 제목 */
summary{font-size:17.5px;line-height:1.6}

@media(max-width:720px){
  p,li,td,th,summary,label{font-size:17px}
  .lede{font-size:18px}
  .tbl th,.tbl td{font-size:16px}
}

/* ── 가독성 3차 — 네비 버튼·배지·탭바 (2026-09-04) ──
   .lx-apps 안의 다운로드 버튼이 「구경하기」 9.5px · 「영단어 변신」 11.5px 였다.
   누르는 버튼이 본문보다 작으면 안 눌린다. 배지·탭바도 최소선까지 올린다.
   sup(각주 번호)·.cv(화살표)·small(로고 부제)은 장식이라 그대로 둔다. */
.lx-app b{font-size:14px;line-height:1.3}
.lx-app i{font-size:12px;font-style:normal;line-height:1.3}
.lx-tab span{font-size:11.5px}
.eyebrow{font-size:14px;letter-spacing:.1em}
.chip,.lv,.ec,.k,.nw,.num{font-size:12.5px}
footer .legal{font-size:15.5px;line-height:1.95}
footer .legal b{font-size:16px}
.flinks a{font-size:15.5px}
