/* Only the home and learning-coaching pages opt in. Legacy hubs remain untouched. */
html:has(.jeonguk-upgrade) { scroll-behavior:auto; }
.jeonguk-upgrade { --ju-ink:#173b32; --ju-muted:#52645d; --ju-line:#d9e1d9; --ju-paper:#fffefa; --ju-tint:#edf3e9; background:#fafaf5; color:var(--ju-ink); font-size:16px; line-height:1.85; overflow-x:visible; }
.jeonguk-upgrade :where(h1,h2,h3,p,figure,dl,dd) { margin:0; }
.jeonguk-upgrade :where(a,button,summary):focus-visible { outline:3px solid #196fce; outline-offset:4px; }
.jeonguk-upgrade .skip-link { top:0; transform:translateY(-160%); }
.jeonguk-upgrade .skip-link:focus { top:12px; transform:translateY(0); }
.jeonguk-upgrade :where(h1,h2,h3) { font-weight:800; letter-spacing:-.045em; text-wrap:balance; }
.jeonguk-upgrade h1 { font-size:clamp(34px,4.7vw,58px); line-height:1.28; }
.jeonguk-upgrade h2 { font-size:clamp(28px,3.2vw,40px); line-height:1.38; }
.jeonguk-upgrade h3 { font-size:22px; line-height:1.45; }
.jeonguk-upgrade :where(p,li,dd,figcaption) { overflow-wrap:anywhere; }
.jeonguk-upgrade p { color:var(--ju-muted); }
.jeonguk-upgrade p + p { margin-top:14px; }
.jeonguk-upgrade :where(h2,h3) + p { margin-top:16px; }
.jeonguk-upgrade :where(main section[id],main article[id]) { scroll-margin-top:110px; }
.jeonguk-upgrade .site-header { background:rgba(250,250,245,.97); }
.jeonguk-upgrade .nav { width:min(1180px,calc(100% - 48px)); gap:18px; }
.jeonguk-upgrade .brand { gap:10px; flex-shrink:0; }
.jeonguk-upgrade .brand-label { display:flex; flex-direction:column; line-height:1.3; white-space:normal; overflow:visible; }
.jeonguk-upgrade .brand-label strong { font-size:19px; }
.jeonguk-upgrade .brand-label small { font-size:11px; font-weight:600; color:var(--ju-muted); letter-spacing:0; margin-top:3px; }
.jeonguk-upgrade .nav-links { border:0; box-shadow:none; background:transparent; padding:0; gap:3px; }
.jeonguk-upgrade .nav-links a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:9px 12px; font-size:14px; border-radius:10px; }
.jeonguk-upgrade .nav-cta { border-radius:10px; box-shadow:none; white-space:nowrap; font-size:14px; padding:10px 16px; min-height:44px; }
.jeonguk-upgrade .ju-wrap { width:min(1120px,calc(100% - 48px)); margin-inline:auto; }
.jeonguk-upgrade .ju-reading-width { max-width:820px; }
.jeonguk-upgrade .ju-eyebrow { font-size:13px; font-weight:800; color:#32654f; letter-spacing:.045em; margin-bottom:16px; }
.jeonguk-upgrade .ju-hero { padding:68px 0 44px; }
.jeonguk-upgrade .ju-hero-grid { display:grid; grid-template-columns:1.18fr 1fr; gap:52px; align-items:center; }
.jeonguk-upgrade .ju-lead { font-size:18px; line-height:1.85; margin-top:26px; max-width:760px; }
.jeonguk-upgrade .ju-intro { font-size:15px; max-width:650px; }
.jeonguk-upgrade .ju-hero-art { background:#fff0e5; border-radius:180px 180px 24px 24px; padding:28px 16px 20px; }
.jeonguk-upgrade .ju-hero-art img { display:block; width:100%; height:auto; }
.jeonguk-upgrade .ju-hero-art figcaption { text-align:center; font-size:13px; color:#785b40; padding:10px 2px 0; }
.jeonguk-upgrade .ju-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:26px; }
.jeonguk-upgrade .ju-btn { display:inline-flex; justify-content:center; align-items:center; gap:14px; min-height:48px; padding:12px 20px; border:1px solid #b4c7b7; border-radius:12px; background:var(--ju-paper); font-size:15px; font-weight:750; line-height:1.5; text-align:center; }
.jeonguk-upgrade .ju-primary { background:var(--ju-ink); color:#fff; border-color:var(--ju-ink); }
.jeonguk-upgrade .ju-btn:hover { background:#e4eedf; color:var(--ju-ink); }
.jeonguk-upgrade .ju-primary:hover { background:#285a47; color:#fff; }
.jeonguk-upgrade .ju-page-nav { display:flex; justify-content:flex-start; flex-wrap:wrap; gap:8px; border-block:1px solid var(--ju-line); padding-block:18px; }
.jeonguk-upgrade .ju-page-nav a { display:flex; align-items:center; justify-content:center; border-radius:8px; padding:9px 18px; background:#eaf0e5; min-height:44px; font-size:14px; font-weight:700; text-align:center; }
.jeonguk-upgrade .ju-page-nav a:hover { background:#dae8d2; }
.jeonguk-upgrade .ju-section { padding:78px 0; }
.jeonguk-upgrade .ju-tint { background:var(--ju-tint); }
.jeonguk-upgrade .ju-section-heading { margin-bottom:32px; max-width:750px; }
.jeonguk-upgrade .ju-section-heading>p:last-child { margin-top:18px; }
.jeonguk-upgrade .ju-grid { display:grid; gap:18px; }
.jeonguk-upgrade .ju-grid>* { min-width:0; }
.jeonguk-upgrade .ju-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.jeonguk-upgrade .ju-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.jeonguk-upgrade .ju-card { padding:28px; background:var(--ju-paper); border:1px solid var(--ju-line); border-radius:18px; display:flex; flex-direction:column; align-items:flex-start; }
.jeonguk-upgrade .ju-card .ju-text-link { margin-top:auto; padding-top:20px; }
.jeonguk-upgrade .ju-number { display:inline-flex; color:#54703e; font-size:13px; font-weight:800; border-bottom:2px solid #c7db9a; padding-bottom:6px; margin-bottom:20px; }
.jeonguk-upgrade .ju-text-link { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding-block:8px; font-size:15px; font-weight:750; line-height:1.55; color:#23583c; text-decoration:underline; text-decoration-color:#b9c9b1; text-underline-offset:6px; }
.jeonguk-upgrade .ju-feature { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:center; }
.jeonguk-upgrade .ju-feature>* { min-width:0; }
.jeonguk-upgrade .ju-grid + .ju-feature { margin-top:42px; }
.jeonguk-upgrade .ju-figure img { display:block; width:100%; height:auto; border-radius:14px; }
.jeonguk-upgrade .ju-figure figcaption { font-size:13px; line-height:1.65; margin-top:12px; color:#56675c; }
.jeonguk-upgrade .ju-note { font-size:14px; line-height:1.75; color:#576453; margin-top:20px; }
.jeonguk-upgrade .ju-feature .ju-btn { margin-top:20px; }
.jeonguk-upgrade .ju-subject { background:var(--ju-paper); border:1px solid var(--ju-line); border-radius:16px; padding:24px; display:flex; flex-direction:column; align-items:flex-start; }
.jeonguk-upgrade .ju-subject:hover { border-color:#618263; background:#f7faee; }
.jeonguk-upgrade .ju-subject h3 { margin-top:16px; }
.jeonguk-upgrade .ju-subject p { font-size:15px; margin-bottom:14px; }
.jeonguk-upgrade .ju-subject .ju-text-link { margin-top:auto; }
.jeonguk-upgrade .ju-chip { display:inline-block; background:#edf2d7; color:#3f5431; padding:4px 10px; border-radius:6px; font-size:13px; font-weight:700; }
.jeonguk-upgrade .ju-video-card { border:1px solid var(--ju-line); border-radius:18px; background:var(--ju-paper); overflow:hidden; }
.jeonguk-upgrade .ju-video-player { position:relative; aspect-ratio:4 / 3; background:#132d26; }
.jeonguk-upgrade .ju-video-launch { display:block; height:100%; }
.jeonguk-upgrade .ju-video-launch img { display:block; width:100%; height:auto; }
.jeonguk-upgrade .ju-play { position:absolute; bottom:16px; left:16px; display:flex; align-items:center; gap:10px; background:rgba(15,34,27,.93); color:#fff; border:1px solid #abc1aa; padding:8px 16px; border-radius:10px; min-height:44px; font-weight:700; font-size:14px; }
.jeonguk-upgrade .ju-video-launch:hover .ju-play { background:#2c5944; }
.jeonguk-upgrade .ju-video-caption { padding:18px 22px; }
.jeonguk-upgrade .ju-video-caption h3 { font-size:19px; }
.jeonguk-upgrade .ju-faq { border-block-end:1px solid var(--ju-line); }
.jeonguk-upgrade .ju-faq:first-of-type { border-block-start:1px solid var(--ju-line); }
.jeonguk-upgrade .ju-faq summary { display:list-item; padding:20px 8px; font-size:17px; line-height:1.7; font-weight:750; cursor:pointer; overflow-wrap:anywhere; }
.jeonguk-upgrade .ju-faq summary::marker { color:#4a704d; font-size:13px; }
.jeonguk-upgrade .ju-faq>div { padding:0 10px 24px; }
.jeonguk-upgrade .ju-final-cta { background:#e6edcb; padding:42px; border-radius:22px; display:grid; grid-template-columns:1.4fr 1fr; gap:28px; align-items:center; }
.jeonguk-upgrade .ju-final-cta .ju-actions { margin-top:0; }
.jeonguk-upgrade .ju-breadcrumb { display:flex; gap:12px; flex-wrap:wrap; font-size:14px; margin-bottom:20px; align-items:center; }
.jeonguk-upgrade .ju-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; padding:6px 10px 6px 0; text-decoration:underline; }
.jeonguk-upgrade .ju-article-hero { padding-top:22px; }
.jeonguk-upgrade .ju-article-hero h1 { max-width:850px; }
.jeonguk-upgrade .ju-four-c-feature { align-items:center; }
.jeonguk-upgrade .ju-diagram { padding:22px; background:#fffefa; border:1px solid var(--ju-line); border-radius:18px; }
.jeonguk-upgrade .ju-process { list-style:none; padding:0; margin:0; }
.jeonguk-upgrade .ju-process li { display:grid; grid-template-columns:36px 1fr; gap:12px; padding:18px 0; border-bottom:1px solid var(--ju-line); }
.jeonguk-upgrade .ju-process li>span { font-size:13px; font-weight:800; color:#56754f; padding-top:5px; }
.jeonguk-upgrade .ju-process h3 { font-size:19px; }
.jeonguk-upgrade .ju-process p { margin-top:8px; font-size:15px; }
.jeonguk-upgrade .ju-question-note { margin-top:24px; padding-top:18px; border-top:1px solid var(--ju-line); }
.jeonguk-upgrade .ju-question-note strong { font-size:14px; color:#49623e; }
.jeonguk-upgrade .ju-question-note p { font-size:15px; margin-top:6px; }
.jeonguk-upgrade .ju-example { background:var(--ju-paper); padding:30px; border-radius:18px; border:1px solid var(--ju-line); }
.jeonguk-upgrade .ju-example dl { margin-top:18px; }
.jeonguk-upgrade .ju-example dl>div { border-bottom:1px solid var(--ju-line); padding:12px 0; }
.jeonguk-upgrade .ju-example dt { font-size:13px; font-weight:800; color:#466246; }
.jeonguk-upgrade .ju-example dd { margin-top:6px; font-size:15px; color:var(--ju-muted); }
.jeonguk-upgrade .ju-ai-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.jeonguk-upgrade .ju-ai-nav a { padding:12px; min-height:48px; border:1px solid #b7cbb4; border-radius:10px; background:var(--ju-paper); text-align:center; font-size:15px; font-weight:750; }
.jeonguk-upgrade .ju-program { display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:44px; background:var(--ju-paper); border:1px solid var(--ju-line); border-radius:18px; padding:32px; margin-top:24px; }
.jeonguk-upgrade .ju-program>* { min-width:0; }
.jeonguk-upgrade .ju-program h3 { margin-top:14px; font-size:26px; }
.jeonguk-upgrade .ju-program .ju-figure { width:100%; max-width:420px; margin-inline:auto; }
.jeonguk-upgrade .ju-small-heading { display:block; font-size:14px; margin-top:22px; color:#49623e; }
.jeonguk-upgrade .ju-small-heading + p { font-size:15px; margin-top:4px; }
.jeonguk-upgrade .guide-home-section { background:#fafaf5; padding-block:66px; }
.jeonguk-upgrade .guide-home-section .section-head { text-align:left; max-width:750px; margin-bottom:28px; }
.jeonguk-upgrade .guide-home-section .section-kicker { font-size:13px; color:#32654f; margin-bottom:16px; }
.jeonguk-upgrade .guide-home-section .section-head p:last-child { font-size:16px; margin-top:18px; }
.jeonguk-upgrade .guide-mini-card { padding:22px; border:1px solid var(--ju-line); border-radius:16px; box-shadow:none; background:var(--ju-paper); }
.jeonguk-upgrade .guide-mini-card strong { font-size:18px; }
.jeonguk-upgrade .guide-mini-card span { font-size:14px; }
.jeonguk-upgrade .guide-home-actions { justify-content:flex-start; }
.jeonguk-upgrade .guide-home-actions .btn { border-radius:12px; min-height:48px; font-size:15px; }
.jeonguk-upgrade .site-footer { padding:38px 0 120px; }
.jeonguk-upgrade .footer-inner { gap:20px; }
.jeonguk-upgrade .footer-links { flex-wrap:wrap; }
.jeonguk-upgrade .footer-links a { display:inline-flex; align-items:center; min-height:44px; padding:6px 8px; }
.jeonguk-upgrade .wawa-fab-item { min-height:46px!important; }
.jeonguk-upgrade .pulse-effect { animation:none!important; }
@media(max-width:1050px) {
  .jeonguk-upgrade .nav { flex-wrap:wrap; padding-block:12px; }
  .jeonguk-upgrade .nav-links { order:3; width:100%; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
  .jeonguk-upgrade .nav-cta { margin-left:auto; }
  .jeonguk-upgrade .ju-hero-grid { gap:28px; }
  .jeonguk-upgrade .ju-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .jeonguk-upgrade :where(main section[id],main article[id]) { scroll-margin-top:160px; }
}
@media(max-width:760px) {
  .jeonguk-upgrade .site-header { position:relative; backdrop-filter:none; }
  .jeonguk-upgrade .nav { gap:10px; }
  .jeonguk-upgrade .nav-links { grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; }
  .jeonguk-upgrade .nav-links a { padding:8px 6px; background:#edf2e7; }
  .jeonguk-upgrade .nav-links a.active { background:var(--ju-ink); color:#fff; }
  .jeonguk-upgrade .ju-wrap,.jeonguk-upgrade .nav,.jeonguk-upgrade .wrap { width:calc(100% - 36px); }
  .jeonguk-upgrade .ju-hero { padding:36px 0 30px; }
  .jeonguk-upgrade .ju-hero-grid,.jeonguk-upgrade .ju-feature,.jeonguk-upgrade .ju-three,.jeonguk-upgrade .ju-final-cta,.jeonguk-upgrade .ju-program { grid-template-columns:1fr; }
  .jeonguk-upgrade h1 { font-size:34px; line-height:1.35; }
  .jeonguk-upgrade h2 { font-size:28px; }
  .jeonguk-upgrade h3 { font-size:21px; }
  .jeonguk-upgrade .ju-desktop-break { display:none; }
  .jeonguk-upgrade .ju-lead { font-size:16px; margin-top:20px; }
  .jeonguk-upgrade .ju-hero-art { max-width:420px; margin-inline:auto; width:100%; padding:14px 18px 18px; }
  .jeonguk-upgrade .ju-actions { align-items:stretch; margin-top:22px; gap:10px; }
  .jeonguk-upgrade .ju-actions .ju-btn { flex:1 1 180px; }
  .jeonguk-upgrade .ju-page-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding-block:14px; gap:8px; }
  .jeonguk-upgrade .ju-page-nav a { padding:9px 8px; }
  .jeonguk-upgrade .ju-section,.jeonguk-upgrade .guide-home-section { padding-block:48px; }
  .jeonguk-upgrade .ju-section-heading { margin-bottom:24px; }
  .jeonguk-upgrade .ju-card { padding:24px; }
  .jeonguk-upgrade .ju-feature { gap:26px; }
  .jeonguk-upgrade .ju-four-c-feature .ju-diagram { order:2; }
  .jeonguk-upgrade .ju-grid { gap:14px; }
  .jeonguk-upgrade .ju-program { padding:24px; gap:24px; }
  .jeonguk-upgrade .ju-final-cta { padding:28px 24px; gap:24px; }
  .jeonguk-upgrade .ju-example { padding:24px; }
  .jeonguk-upgrade .ju-faq summary { font-size:16px; }
  .jeonguk-upgrade .ju-subject { padding:20px; }
  .jeonguk-upgrade .ju-subject .ju-text-link { font-size:14px; }
  .jeonguk-upgrade .ju-subject h3 { font-size:22px; }
  .jeonguk-upgrade .ju-article-hero { padding-top:10px; }
  .jeonguk-upgrade :where(main section[id],main article[id]) { scroll-margin-top:22px; }
  .jeonguk-upgrade .wawa-fixed-fab-container { left:0!important; right:0!important; bottom:0!important; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:8px!important; padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))!important; border-top:1px solid #dce3d4; background:rgba(250,250,245,.97); }
  .jeonguk-upgrade .wawa-fab-item { width:100%!important; max-width:none!important; min-height:46px!important; padding:10px 4px!important; border-radius:10px!important; box-shadow:none!important; font-size:13px!important; gap:6px!important; }
}
@media(max-width:370px) {
  .jeonguk-upgrade h1 { font-size:30px; }
  .jeonguk-upgrade h2 { font-size:26px; }
  .jeonguk-upgrade .ju-four { grid-template-columns:1fr; }
  .jeonguk-upgrade .ju-ai-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .jeonguk-upgrade .ju-card,.jeonguk-upgrade .ju-program { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { html:has(.jeonguk-upgrade) { scroll-behavior:auto; } .jeonguk-upgrade * { transition:none!important; animation:none!important; } }
