/* CHARME 2.0 - homepage single master integration | 2026-10-28 */
.homepage .cm20-main-toc{display:flex;justify-content:center;align-items:center;gap:clamp(12px,2.3vw,29px);overflow-x:auto;scrollbar-width:none;white-space:nowrap;padding-inline:18px}
.homepage .cm20-main-toc::-webkit-scrollbar{display:none}
.homepage .cm20-main-toc a{flex:none;font-weight:750;font-size:12px}
.homepage section[id],.homepage #process{scroll-margin-top:110px}
/* Six areas use stable hierarchy and fit the same 1240px layout grid */
.homepage .cm20-online-focus,.homepage .cm20-onsite-focus,.homepage .cm20-benefits{padding:clamp(58px,6.4vw,96px) 0;isolation:isolate}
.homepage .cm20-online-focus{background:#f6f7f3;color:#163e33}
.homepage .cm20-onsite-focus{background:#f8f6f1;color:#163e33}
.homepage .cm20-benefits{background:#183f33;color:#fff}
.homepage .cm20-online-focus .wrap,.homepage .cm20-onsite-focus .wrap,.homepage .cm20-benefits .wrap{max-width:1240px}
.homepage .cm20-focus-heading{display:flex;justify-content:space-between;align-items:end;gap:clamp(20px,5vw,65px);margin-bottom:27px}
.homepage .cm20-focus-heading>.eyebrow{margin:0}
.homepage .cm20-focus-heading h2{font-family:'Noto Serif KR',serif;font-weight:650;font-size:clamp(30px,3.45vw,48px);line-height:1.42;letter-spacing:-.06em;color:#163e33;margin:10px 0 0;word-break:keep-all}
.homepage .cm20-focus-heading h2 em{color:#a17b43;font-style:normal}
.homepage .cm20-focus-heading>p{max-width:400px;font-size:14px;line-height:1.9;color:#65776c;word-break:keep-all;margin:0}
.homepage .cm20-focus-heading .eyebrow{font-size:11px;letter-spacing:.14em;color:#a78044}
/* Online classroom */
.homepage .cm20-online-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.homepage .cm20-online-panel{position:relative;overflow:hidden;min-height:365px;display:flex;flex-direction:column;padding:clamp(24px,3vw,38px);border-radius:22px;box-shadow:0 15px 35px rgba(20,55,43,.06);border:1px solid #e1e5dd}
.homepage .cm20-online-audio{background:linear-gradient(140deg,#164c3b,#0f352a);color:#fff;border-color:#315b47}
.homepage .cm20-online-video{background:linear-gradient(145deg,#fffcf5,#f3eee2);color:#173c30;border-color:#e6ded0}
.homepage .cm20-online-panel:after{content:'';position:absolute;right:-65px;top:-80px;width:260px;height:260px;border:1px solid currentColor;opacity:.08;border-radius:50%;pointer-events:none}
.homepage .cm20-online-panel-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;color:inherit;opacity:.73;font-weight:800;font-size:11px;letter-spacing:.12em}
.homepage .cm20-online-panel-top span:last-child{font-size:25px;letter-spacing:0}
.homepage .cm20-online-chip{display:inline-flex;align-self:flex-start;border:1px solid currentColor;border-radius:100px;padding:5px 11px;font-size:11px;font-weight:850;opacity:.85;margin-bottom:13px}
.homepage .cm20-online-panel h3{font-size:clamp(26px,2.5vw,36px);font-family:'Noto Serif KR',serif;letter-spacing:-.06em;line-height:1.4;font-weight:650;margin:0 0 12px;color:inherit}
.homepage .cm20-online-panel p{font-size:13px;line-height:1.95;margin:0 0 24px;max-width:550px;color:inherit;opacity:.8;word-break:keep-all}
.homepage .cm20-online-panel p strong{font-weight:850}
.homepage .cm20-online-panel a{display:inline-flex;align-self:flex-start;margin-top:auto;gap:16px;color:inherit;font-size:13px;font-weight:850;text-underline-offset:6px}
.homepage .cm20-online-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:17px;font-size:12px;color:#6a7b70}
.homepage .cm20-online-bottom a{font-size:12px;font-weight:800;color:#215842;text-decoration:none;border-bottom:1px solid #b5a17b;padding-bottom:5px;white-space:nowrap}
/* Onsite six compact, factual steps */
.homepage .cm20-onsite-entry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:23px}
.homepage .cm20-onsite-entry article{display:flex;flex-direction:column;align-items:stretch;gap:20px;background:#fff;border:1px solid #e4dfd5;border-radius:18px;padding:clamp(22px,2.5vw,31px);box-shadow:0 8px 28px rgba(19,54,39,.04)}
.homepage .cm20-onsite-entry article:nth-child(2){background:#f0f2eb}
.homepage .cm20-onsite-entry article span{color:#a6824d;font-size:11px;font-weight:850;letter-spacing:.12em}
.homepage .cm20-onsite-entry article h3{font-size:clamp(18px,2vw,23px);font-weight:850;color:#163e33;letter-spacing:-.04em;margin:10px 0}
.homepage .cm20-onsite-entry article p{font-size:13px;line-height:1.9;color:#66796e;margin:0;word-break:keep-all}
.homepage .cm20-onsite-entry article a{margin-top:auto;display:inline-flex;align-self:flex-start;text-decoration:none;font-size:13px;font-weight:850;color:#fff;background:#1a4a3b;padding:12px 17px;border-radius:10px}
.homepage .cm20-onsite-entry article:nth-child(2) a{color:#1a4a3b;background:#fff;border:1px solid #ccd8cd}
.homepage .cm20-onsite-roadmap{border:1px solid #e6e3d9;background:#fff;border-radius:20px;padding:clamp(20px,3vw,34px);box-shadow:0 10px 30px rgba(20,59,42,.045)}
.homepage .cm20-onsite-roadmap-title{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:23px}
.homepage .cm20-onsite-roadmap-title .eyebrow{font-size:11px;color:#a17c42;letter-spacing:.13em}
.homepage .cm20-onsite-roadmap-title h3{font-size:clamp(22px,2.5vw,31px);font-family:'Noto Serif KR',serif;font-weight:700;letter-spacing:-.05em;color:#174535;margin:6px 0 0}
.homepage .cm20-onsite-roadmap-title h3 em{font-style:normal;color:#a37d47}
.homepage .cm20-onsite-roadmap-title>p{max-width:385px;font-size:12px;line-height:1.75;color:#7a887d;margin:0}
.homepage .cm20-onsite-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.homepage .cm20-onsite-steps li{margin:0;padding:20px 19px;min-height:165px;background:#f9f9f5;border:1px solid #edf0e8;border-radius:14px;display:flex;flex-direction:column;align-items:start;gap:8px}
.homepage .cm20-onsite-steps li>span{font-family:Georgia,serif;font-size:19px;color:#af8854}
.homepage .cm20-onsite-steps h4{font-size:16px;font-weight:850;margin:0;color:#1b4939;letter-spacing:-.035em}
.homepage .cm20-onsite-steps p{font-size:12px;line-height:1.75;color:#64766c;margin:0;word-break:keep-all}
.homepage .cm20-onsite-end{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:20px}
.homepage .cm20-onsite-end>p{max-width:700px;font-size:11px;line-height:1.8;color:#6d7c70;margin:0}
.homepage .cm20-onsite-end>a{border-radius:10px;display:inline-flex;padding:13px 17px;white-space:nowrap;background:#1c4c3b;color:#fff;font-size:12px;font-weight:850;text-decoration:none}
/* Stronger distinct value section after six core sections */
.homepage .cm20-benefits .cm20-focus-heading h2{color:#fff}
.homepage .cm20-benefits .cm20-focus-heading h2 em{color:#e4bd80}
.homepage .cm20-benefits .cm20-focus-heading>p{color:#c6d9ce}
.homepage .cm20-benefits .eyebrow{color:#dfba80}
.homepage .cm20-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.homepage .cm20-benefit-grid article{min-height:230px;padding:25px;border-radius:16px;background:#ffffff0c;border:1px solid #ffffff25;display:flex;flex-direction:column;gap:10px}
.homepage .cm20-benefit-grid article span{font-size:10px;font-weight:800;letter-spacing:.13em;color:#e2bd82}
.homepage .cm20-benefit-grid article>div{margin-top:4px;color:#e6c589;font-size:27px;line-height:1}
.homepage .cm20-benefit-grid article h3{font-size:17px;line-height:1.6;color:#fff;margin:3px 0 0;font-weight:820;letter-spacing:-.035em}
.homepage .cm20-benefit-grid article p{font-size:12px;line-height:1.85;color:#cbded4;margin:0;word-break:keep-all}
/* 10 separate testimonials: 5 across x 2 rows instead of 12 */
.homepage .cm20-review-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.homepage .cm20-review-grid>.cm20-review-tile{height:190px;padding:17px 15px 13px}
.homepage .cm20-review-tile blockquote{font-size:12px;line-height:1.72}
.homepage .cm20-review-verified{font-size:7px}
.homepage .cm20-review-tile-bottom{font-size:9px}
.homepage .cm20-review-bottom p{font-size:12px}
/* Maintain prior responsive staff-profile photo treatment */
.homepage .cm20-person-avatar{flex:none;width:88px!important;height:107px!important;min-width:0!important;overflow:hidden!important}
.homepage .cm20-person-avatar img{width:100%!important;height:100%!important;max-width:88px!important;max-height:107px!important;object-fit:cover!important}
@media(max-width:1200px){.homepage .cm20-review-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:960px){.homepage .cm20-focus-heading{align-items:start;flex-direction:column;gap:14px}.homepage .cm20-onsite-steps,.homepage .cm20-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.homepage .cm20-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.homepage .cm20-online-focus,.homepage .cm20-onsite-focus,.homepage .cm20-benefits{padding:54px 0}.homepage .cm20-focus-heading h2{font-size:clamp(27px,7.3vw,35px)}.homepage .cm20-focus-heading>p{font-size:12px}.homepage .cm20-online-panel-grid,.homepage .cm20-onsite-entry,.homepage .cm20-benefit-grid{grid-template-columns:1fr}.homepage .cm20-online-panel{min-height:310px;padding:25px 22px}.homepage .cm20-online-bottom{flex-direction:column;align-items:start}.homepage .cm20-onsite-roadmap-title,.homepage .cm20-onsite-end{flex-direction:column;align-items:start}.homepage .cm20-onsite-steps{grid-template-columns:1fr;gap:8px}.homepage .cm20-onsite-steps li{min-height:0;padding:16px 18px}.homepage .cm20-benefit-grid article{min-height:0;padding:22px}.homepage .cm20-review-grid{grid-template-columns:1fr}.homepage .cm20-review-grid>.cm20-review-tile{height:145px;padding:14px 16px}.homepage .cm20-person-avatar{width:77px!important;height:99px!important}.homepage .cm20-person-avatar img{max-width:77px!important;max-height:99px!important}.homepage .cm20-main-toc{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.homepage .cm20-review-tile{transition:none!important}}
