:root {
  --bg: #F0FBF4;
  --lemon: #FFF3B0;
  --mint: #BEEBD3;
  --accent: #1E8F63;
  --text: #1F4A36;
  --subtext: #436B59;
  --caption: #71937F;
  --card: #FFFFFF;
  --soft-green: #E4F6EC;
  --soft-peach: #FFE8D1;
  --border: rgba(30, 143, 99, .12);
  --shadow: 0 18px 50px rgba(31, 74, 54, .08);
  --shadow-soft: 0 10px 30px rgba(31, 74, 54, .06);
  --radius: 18px;
  --radius-lg: 30px;
  --pill: 999px;
  --display: "S-Core Dream", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --body: "S-Core Dream", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --container: 1160px;
  --section: 84px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; }
body { margin: 0; font-family: var(--body); background: var(--bg); color: var(--text); line-height: 1.65; word-break: keep-all; }
body.branch-page { padding-bottom: 74px; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }

.container { width: min(calc(100% - 36px), var(--container)); margin-inline: auto; }
.section { position: relative; padding-block: var(--section); }

.site-header { position: sticky; top: 0; z-index: 80; padding: 13px 0; background: rgba(240,251,244,.9); border-bottom: 1px solid rgba(30,143,99,.07); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.brand-mark { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 auto; border-radius: 14px; background: var(--accent); color: #fff; font-family: var(--display); font-size: 1.4rem; box-shadow: 0 8px 18px rgba(30,143,99,.2); }
.brand-copy { display: grid; line-height: 1.2; }
.brand-copy strong { font-size: .94rem; }
.brand-copy small { margin-top: 3px; color: var(--caption); font-size: .68rem; }
.desktop-nav { display: none; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 52px; padding: 0 22px; border: 1px solid transparent; border-radius: var(--pill); font-weight: 700; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 42px; padding-inline: 17px; font-size: .88rem; }
.button--primary { background: var(--accent); color: #fff; box-shadow: 0 14px 28px rgba(30,143,99,.18); }
.button--ghost { background: rgba(255,255,255,.9); color: var(--accent); border-color: var(--border); box-shadow: var(--shadow-soft); }
.button--soft { min-height: 44px; background: var(--soft-green); color: var(--accent); }
.button--light { width: 100%; background: #fff; color: var(--accent); }
.text-link { width: fit-content; color: var(--subtext); font-size: .9rem; font-weight: 700; border-bottom: 1px solid rgba(67,107,89,.32); }

.eyebrow, .section-kicker { margin: 0 0 15px; color: var(--accent); font-size: .79rem; font-weight: 700; letter-spacing: .08em; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; letter-spacing: 0; }
.eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lemon); box-shadow: 0 0 0 5px rgba(255,243,176,.48); }
.section-heading { max-width: 780px; margin-bottom: 34px; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading h2, .consult-card h2, .page-hero h1, .branch-hero h1, .branch-hero h2 { margin: 0; font-family: var(--display); font-weight: 400; line-height: 1.16; letter-spacing: -.035em; }
.section-heading h2 { font-size: clamp(2rem, 8vw, 3.55rem); }
.section-heading > p:last-child { margin: 17px 0 0; color: var(--subtext); }

.hero { padding-top: 60px; overflow: hidden; }
.hero-grid { position: relative; z-index: 2; display: grid; gap: 44px; }
.hero h1 { max-width: 760px; margin: 0; font-family: var(--display); font-size: clamp(2.45rem, 10vw, 4.7rem); font-weight: 400; line-height: 1.12; letter-spacing: -.04em; }
.hero h1 span { color: var(--accent); }
.hero-description { max-width: 650px; margin: 23px 0 0; color: var(--subtext); }
.hero-actions { display: grid; gap: 15px; align-items: center; margin-top: 29px; }
.hero-points, .hero-meta-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; padding: 0; list-style: none; }
.hero-points li, .hero-meta-pills span { padding: 8px 13px; border: 1px solid var(--border); border-radius: var(--pill); background: rgba(255,255,255,.7); color: var(--subtext); font-size: .8rem; font-weight: 700; }
.hero-visual { position: relative; min-height: 450px; display: grid; place-items: center; }
.hero-card { position: relative; width: min(100%, 420px); padding: 27px; border-radius: 28px; background: var(--card); box-shadow: var(--shadow); }
.hero-card--main::after { content: ""; position: absolute; inset: 12px; z-index: -1; border-radius: inherit; background: var(--lemon); transform: rotate(3deg) translate(14px,16px); }
.mini-label, .branch-label { display: inline-flex; align-items: center; width: fit-content; padding: 7px 11px; border-radius: var(--pill); background: var(--soft-green); color: var(--accent); font-size: .73rem; font-weight: 700; }
.branch-label--plus { background: var(--lemon); color: #78621e; }
.student-row { display: flex; align-items: center; gap: 14px; margin-top: 22px; }
.student-row p { margin: 3px 0 0; color: var(--caption); font-size: .8rem; }
.avatar { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; background: var(--mint); font-family: var(--display); font-size: 1.2rem; }
.progress-box { margin-top: 27px; padding: 17px; border-radius: 18px; background: #F8FCF9; }
.progress-title { display: flex; justify-content: space-between; gap: 12px; font-size: .82rem; }
.progress-title strong { color: var(--accent); }
.progress-track { height: 10px; margin-top: 10px; overflow: hidden; border-radius: var(--pill); background: #E5F0EA; }
.progress-track span { display: block; width: 80%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), #58B88F); }
.task-list { display: grid; gap: 9px; margin-top: 17px; }
.task { display: flex; align-items: center; gap: 9px; padding: 10px 11px; border: 1px solid var(--border); border-radius: 14px; color: var(--subtext); font-size: .84rem; }
.check { display: grid; place-items: center; width: 24px; height: 24px; flex: 0 0 auto; border-radius: 50%; background: var(--soft-green); color: var(--accent); font-weight: 700; }
.floating-card { position: absolute; display: flex; align-items: center; gap: 9px; max-width: 220px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.9); border-radius: 16px; background: rgba(255,255,255,.84); box-shadow: var(--shadow-soft); backdrop-filter: blur(14px); }
.floating-card span:last-child { display: grid; }
.floating-card small { color: var(--caption); font-size: .66rem; }
.floating-card strong { font-size: .76rem; }
.floating-card--top { top: 12px; right: -5px; }
.floating-card--bottom { bottom: 16px; left: -5px; }
.floating-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 12px; background: var(--lemon); font-weight: 700; }
.blob { position: absolute; border-radius: 50%; filter: blur(8px); opacity: .7; pointer-events: none; }
.blob--lemon { width: 270px; height: 270px; top: 15px; right: -90px; background: var(--lemon); }
.blob--mint { width: 330px; height: 330px; bottom: -140px; left: -150px; background: var(--mint); }

.branch-finder, .fit-section, .grades-section, .info-section { background: rgba(255,255,255,.48); }
.finder-shell { max-width: 980px; margin: 0 auto; padding: 18px; border: 1px solid rgba(30,143,99,.09); border-radius: 28px; background: rgba(255,255,255,.75); box-shadow: var(--shadow-soft); }
.search-box { display: flex; align-items: center; gap: 10px; padding: 0 16px; border: 1px solid var(--border); border-radius: var(--pill); background: #fff; }
.search-box input { width: 100%; min-height: 52px; border: 0; outline: none; background: transparent; color: var(--text); }
.search-box input::placeholder { color: #9AB5A6; }
.search-box--large input { min-height: 58px; }
.quick-searches { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.quick-searches button { padding: 7px 12px; border: 0; border-radius: var(--pill); background: var(--soft-green); color: var(--subtext); font-size: .77rem; cursor: pointer; }
.branch-results { display: grid; gap: 12px; margin-top: 17px; }
.branch-results__hint { margin: 0; padding: 14px 4px 0; color: var(--caption); font-size: .82rem; text-align: center; }
.branch-result-card { display: grid; gap: 17px; padding: 20px; border: 1px solid rgba(30,143,99,.08); border-radius: var(--radius); background: #fff; }
.branch-result-card h3, .directory-card h2 { margin: 10px 0 3px; font-family: var(--display); font-size: 1.45rem; font-weight: 400; }
.branch-result-card p, .directory-card p { margin: 0; color: var(--caption); font-size: .84rem; }
.branch-result-card small, .directory-card small { display: block; margin-top: 5px; color: var(--subtext); }
.branch-result-actions, .directory-actions { display: flex; align-items: center; gap: 15px; }
.finder-footer { display: flex; justify-content: center; margin-top: 17px; padding-top: 17px; border-top: 1px dashed rgba(30,143,99,.14); }

.empathy-grid, .care-grid, .fit-grid, .review-grid, .directory-grid { display: grid; gap: 15px; }
.empathy-grid article, .care-card, .fit-card, .review-card, .directory-card { border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow-soft); }
.empathy-grid article { padding: 25px; }
.empathy-grid article span, .fit-card > span { color: var(--accent); font-family: var(--display); font-size: 1.1rem; }
.empathy-grid h3 { margin: 11px 0 0; font-family: var(--display); font-size: 1.4rem; font-weight: 400; line-height: 1.3; }
.empathy-cta { display: grid; justify-items: center; gap: 17px; margin-top: 27px; text-align: center; }
.empathy-cta p { margin: 0; color: var(--subtext); }
.empathy-cta strong { color: var(--text); }

.care-section { background: rgba(255,255,255,.22); }
.care-card { padding: 24px; }
.icon-badge { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 18px; font-family: var(--display); font-size: 1.15rem; }
.care-card--plan .icon-badge { background: var(--lemon); }
.care-card--study .icon-badge { background: var(--mint); }
.care-card--life .icon-badge { background: var(--soft-peach); }
.card-kicker { display: block; margin-top: 20px; color: var(--caption); font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.care-card h3 { margin: 7px 0 8px; font-family: var(--display); font-size: 1.45rem; font-weight: 400; line-height: 1.25; }
.care-card p { margin: 0; color: var(--subtext); font-size: .9rem; }
.four-c-note { display: grid; gap: 13px; margin-top: 17px; padding: 21px; border: 1px solid var(--border); border-radius: var(--radius); background: linear-gradient(135deg,rgba(190,235,211,.42),rgba(255,243,176,.36)); }
.four-c-note > span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--accent); color: #fff; font-family: var(--display); font-size: 1.2rem; }
.four-c-note p { margin: 0; color: var(--subtext); }
.four-c-note strong { display: block; color: var(--text); }

.process-grid { display: grid; gap: 12px; }
.process-card, .branch-process-grid article { padding: 23px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; text-align: center; }
.process-card span, .branch-process-grid span { color: var(--accent); font-family: var(--display); font-size: 1.1rem; }
.process-card h3, .branch-process-grid h3 { margin: 9px 0 6px; font-family: var(--display); font-size: 1.35rem; font-weight: 400; }
.process-card p, .branch-process-grid p { margin: 0; color: var(--subtext); font-size: .86rem; }
.process-arrow { display: none; }
.center-action { display: flex; justify-content: center; margin-top: 26px; }

.reviews-section { background: linear-gradient(180deg,rgba(255,243,176,.14),rgba(190,235,211,.16)); }
.review-card { position: relative; margin: 0; padding: 28px; }
.review-card--featured { background: var(--accent); color: #fff; }
.quote-mark { display: block; height: 40px; font-family: Georgia,serif; font-size: 4rem; line-height: 1; opacity: .28; }
.review-card p { margin: 0; }
.review-card:not(.review-card--featured) p { color: var(--subtext); }
.review-card footer { display: grid; gap: 2px; margin-top: 19px; }
.review-card footer span { font-size: .75rem; opacity: .7; }

.consult-card { display: grid; gap: 26px; padding: 29px; border-radius: 30px; background: var(--accent); color: #fff; box-shadow: 0 18px 40px rgba(30,143,99,.18); }
.consult-card .section-kicker { color: var(--lemon); }
.consult-card h2 { font-size: clamp(2rem,8vw,3.3rem); }
.consult-card > div > p:last-child { margin: 13px 0 0; color: rgba(255,255,255,.8); }
.mini-consult-form { display: grid; gap: 11px; padding: 17px; border-radius: 20px; background: rgba(255,255,255,.11); }
.mini-consult-form label { display: grid; gap: 6px; font-size: .76rem; font-weight: 700; }
.mini-consult-form input, .mini-consult-form select { width: 100%; min-height: 46px; padding: 0 13px; border: 1px solid rgba(255,255,255,.25); border-radius: 13px; outline: none; background: #fff; color: var(--text); }
.form-row { display: grid; gap: 10px; }
.check-label { display: flex !important; align-items: center; grid-template-columns: auto 1fr; gap: 7px !important; }
.check-label input { width: 17px; min-height: 17px; }
.mini-consult-form small { color: rgba(255,255,255,.65); text-align: center; }

.site-footer { padding: 30px 0 40px; }
.footer-wrap { display: flex; flex-direction: column; gap: 14px; padding-top: 22px; border-top: 1px solid rgba(30,143,99,.1); }
.footer-wrap strong { font-family: var(--display); font-size: 1.18rem; font-weight: 400; }
.footer-wrap p { margin: 4px 0 0; color: var(--caption); font-size: .75rem; }
.footer-meta { display: grid; gap: 5px; color: var(--caption); font-size: .76rem; }
.prototype-badge { width: fit-content; padding: 5px 9px; border-radius: var(--pill); background: var(--lemon); color: #7d6823; }

.page-hero { position: relative; padding: 72px 0 42px; }
.page-hero h1 { font-size: clamp(2.6rem,10vw,4.5rem); }
.page-hero p:last-child { color: var(--subtext); }
.branches-directory { padding-top: 34px; }
.directory-grid { margin-top: 20px; }
.directory-card { display: grid; gap: 18px; padding: 21px; border: 1px solid rgba(30,143,99,.08); }
.empty-state { margin-top: 18px; padding: 20px; border-radius: var(--radius); background: #fff; color: var(--subtext); text-align: center; }

.branch-hero { position: relative; overflow: hidden; padding-top: 58px; }
.branch-hero-grid { position: relative; z-index: 2; display: grid; gap: 38px; }
.branch-brand-badge { display: inline-flex; margin-bottom: 12px; padding: 6px 10px; border-radius: var(--pill); background: var(--soft-green); color: var(--accent); font-size: .7rem; font-weight: 700; }
.branch-brand-badge--plus { background: var(--lemon); color: #78621e; }
.branch-hero h1 { font-size: clamp(1.45rem,6vw,2.15rem); color: var(--subtext); }
.branch-hero h2 { max-width: 680px; margin-top: 10px; font-size: clamp(2.4rem,10vw,4.5rem); }
.branch-hero-copy > p:not(.eyebrow) { max-width: 640px; margin: 19px 0 0; color: var(--subtext); }
.address-link { display: inline-block; margin-top: 19px; color: var(--subtext); font-size: .82rem; border-bottom: 1px dashed rgba(67,107,89,.4); }
.branch-visual { min-height: 360px; display: grid; place-items: center; }
.branch-visual img, .branch-visual-placeholder { width: 100%; min-height: 360px; border-radius: 30px; object-fit: cover; box-shadow: var(--shadow); }
.branch-visual-placeholder { display: grid; place-items: center; align-content: center; gap: 7px; padding: 30px; background: linear-gradient(140deg,#fff,rgba(190,235,211,.7)); border: 1px solid rgba(30,143,99,.1); text-align: center; }
.branch-visual-placeholder > span { display: grid; place-items: center; width: 70px; height: 70px; border-radius: 24px; background: var(--accent); color: #fff; font-family: var(--display); font-size: 2rem; }
.branch-visual-placeholder strong { margin-top: 10px; font-family: var(--display); font-size: 1.8rem; font-weight: 400; }
.branch-visual-placeholder p { margin: 0; color: var(--caption); font-size: .82rem; }
.visual-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 15px; }
.visual-tags em { padding: 7px 10px; border-radius: var(--pill); background: rgba(255,255,255,.85); color: var(--subtext); font-size: .72rem; font-style: normal; font-weight: 700; }

.fit-card { padding: 23px; }
.fit-card h3 { margin: 10px 0 7px; font-family: var(--display); font-size: 1.35rem; font-weight: 400; line-height: 1.3; }
.fit-card p { margin: 0; color: var(--subtext); font-size: .88rem; }

.grade-tabs { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; max-width: 540px; margin: 0 auto 15px; padding: 6px; border-radius: var(--pill); background: rgba(190,235,211,.45); }
.grade-tab { min-height: 45px; border: 0; border-radius: var(--pill); background: transparent; color: var(--subtext); font-weight: 700; cursor: pointer; }
.grade-tab.is-active { background: #fff; color: var(--accent); box-shadow: var(--shadow-soft); }
.grade-panels { max-width: 880px; margin: 0 auto; }
.grade-panel { display: grid; gap: 20px; padding: 25px; border-radius: 25px; background: #fff; box-shadow: var(--shadow-soft); }
.grade-panel h3 { margin: 12px 0 7px; font-family: var(--display); font-size: 1.8rem; font-weight: 400; }
.grade-panel p { margin: 0; color: var(--subtext); }
.grade-panel ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; color: var(--subtext); }
.grade-panel li { padding: 10px 12px; border-radius: 12px; background: #F8FCF9; }
.grade-panel > .button { justify-self: start; }

.schools-section { background: rgba(255,255,255,.2); }
.school-groups { display: grid; gap: 14px; }
.school-group { display: grid; gap: 9px; padding: 18px; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-soft); }
.school-group > strong { color: var(--accent); font-size: .84rem; }
.school-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.school-pills span { padding: 7px 10px; border-radius: var(--pill); background: var(--soft-green); color: var(--subtext); font-size: .8rem; }
.school-note { margin: 14px 0 0; color: var(--caption); font-size: .8rem; }

.branch-process-grid { display: grid; gap: 12px; }

.info-grid { display: grid; gap: 16px; min-width: 0; }
.info-card, .map-card { min-width: 0; padding: 24px; border-radius: 25px; background: #fff; box-shadow: var(--shadow-soft); }
.info-card h2 { margin: 0 0 18px; font-family: var(--display); font-size: 2rem; font-weight: 400; }
dl { margin: 0; }
dl > div { display: grid; grid-template-columns: 78px minmax(0,1fr); gap: 11px; padding: 11px 0; border-bottom: 1px solid rgba(30,143,99,.08); }
dl > div:last-child { border-bottom: 0; }
dt { color: var(--caption); font-size: .78rem; font-weight: 700; }
dd { min-width: 0; margin: 0; color: var(--subtext); font-size: .84rem; overflow-wrap: anywhere; }
.map-card { display: grid; gap: 14px; }
.map-placeholder { min-height: 245px; display: grid; place-items: center; align-content: center; gap: 5px; border-radius: 18px; background: linear-gradient(145deg,var(--mint),var(--lemon)); text-align: center; }
.map-placeholder span { color: rgba(31,74,54,.45); font-family: var(--display); font-size: 1rem; }
.map-placeholder strong { font-family: var(--display); font-size: 1.6rem; font-weight: 400; }
.map-placeholder p { max-width: 290px; margin: 0; color: var(--subtext); font-size: .78rem; }

.faq-list { display: grid; gap: 9px; max-width: 900px; }
.faq-list details { overflow: hidden; border: 1px solid var(--border); border-radius: 15px; background: #fff; }
.faq-list summary { padding: 17px 18px; cursor: pointer; font-weight: 700; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; float: right; color: var(--accent); font-size: 1.2rem; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 18px 17px; color: var(--subtext); font-size: .88rem; }
.phone-inline { display: inline-block; margin-top: 16px; color: var(--lemon); font-size: 1.05rem; font-weight: 700; }

.mobile-sticky-cta { position: fixed; z-index: 100; left: 12px; right: 12px; bottom: 12px; display: grid; grid-template-columns: 1fr 1.2fr; overflow: hidden; border: 1px solid rgba(255,255,255,.8); border-radius: var(--pill); background: #fff; box-shadow: 0 12px 35px rgba(31,74,54,.2); }
.mobile-sticky-cta a { display: grid; place-items: center; min-height: 54px; font-size: .86rem; font-weight: 700; }
.sticky-phone { color: var(--accent); }
.sticky-form { background: var(--accent); color: #fff; }

@media (min-width: 720px) {
  :root { --section: 102px; }
  .container { width: min(calc(100% - 56px),var(--container)); }
  .desktop-nav { display: flex; align-items: center; gap: 23px; color: var(--subtext); font-size: .86rem; font-weight: 700; }
  .hero { padding-top: 86px; }
  .hero-actions { display: flex; }
  .branch-results { grid-template-columns: repeat(3,1fr); }
  .branch-result-card { align-content: space-between; min-height: 220px; }
  .empathy-grid, .care-grid, .fit-grid { grid-template-columns: repeat(3,1fr); }
  .four-c-note { grid-template-columns: auto 1fr; align-items: center; }
  .process-grid { grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; }
  .process-arrow { display: block; color: var(--accent); font-size: 1.5rem; }
  .review-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .consult-card--split { grid-template-columns: 1fr minmax(330px,430px); align-items: center; padding: 42px; }
  .form-row { grid-template-columns: 1fr 1fr; }
  .footer-wrap { flex-direction: row; align-items: flex-end; justify-content: space-between; }
  .footer-meta { justify-items: end; text-align: right; }
  .directory-grid { grid-template-columns: repeat(2,1fr); }
  .directory-card { align-content: space-between; min-height: 225px; }
  .branch-process-grid { grid-template-columns: repeat(4,1fr); }
  .grade-panel { grid-template-columns: 1.2fr .9fr; align-items: center; }
  .grade-panel > .button { grid-column: 1 / -1; }
  .school-group { grid-template-columns: 110px 1fr; align-items: center; }
  .info-grid { grid-template-columns: .9fr 1.1fr; }
}

@media (min-width: 980px) {
  :root { --section: 116px; }
  body.branch-page { padding-bottom: 0; }
  .hero-grid, .branch-hero-grid { grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); align-items: center; gap: 56px; }
  .hero-visual { min-height: 520px; }
  .floating-card--top { right: -20px; }
  .floating-card--bottom { left: -16px; }
  .finder-shell { padding: 24px; }
  .directory-grid { grid-template-columns: repeat(3,1fr); }
  .branch-visual { min-height: 500px; }
  .branch-visual img, .branch-visual-placeholder { min-height: 500px; }
  .mobile-sticky-cta { display: none; }
}

@media (max-width: 719px) {
  .brand-copy small { display: none; }
  .hero-visual { display: none; }
  .hero { padding-bottom: 58px; }
  .hero-description { font-size: .94rem; }
  .hero-actions .button { width: 100%; }
  .branch-result-actions .button, .directory-actions .button { flex: 1; }
  .branch-result-actions, .directory-actions { justify-content: space-between; }
  .consult-section { padding-top: 30px; }
  .branch-hero .hero-actions { grid-template-columns: 1fr 1fr; }
  .branch-hero .hero-actions .button { min-height: 48px; padding-inline: 14px; font-size: .82rem; }
  .branch-visual { min-height: 280px; }
  .branch-visual img, .branch-visual-placeholder { min-height: 280px; }
  .grade-tabs { position: sticky; top: 72px; z-index: 20; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* SEO V3: breadcrumbs + hub/learning pages */
.breadcrumbs{padding-top:18px;padding-bottom:2px}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;color:var(--color-caption);font-size:.78rem}.breadcrumbs li{display:flex;align-items:center;gap:7px}.breadcrumbs a:hover{color:var(--color-accent)}
.seo-links-section{background:rgba(255,255,255,.46)}.seo-links-section--soft{background:linear-gradient(180deg,rgba(255,243,176,.14),rgba(190,235,211,.14))}.seo-link-groups{display:grid;gap:22px}.seo-link-groups>div{padding:22px;border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-soft)}.seo-link-groups strong{display:block;margin-bottom:12px;font-size:.86rem}.seo-link-list{display:flex;flex-wrap:wrap;gap:10px}.seo-link-list a,.school-pills a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#fff;color:var(--color-subtext);font-size:.82rem;font-weight:700;transition:.2s ease}.seo-link-list a:hover,.school-pills a:hover{transform:translateY(-1px);border-color:rgba(30,143,99,.32);color:var(--color-accent)}
.seo-text-link{display:inline-flex;margin-top:12px;color:var(--color-accent);font-size:.84rem;font-weight:700}.grade-panel-actions{display:flex;flex-direction:column;align-items:flex-start}.home-seo-entry{padding-top:50px;padding-bottom:50px;background:rgba(255,255,255,.32)}
.seo-hub-page .page-hero,.school-page .page-hero,.learning-page .page-hero{background:linear-gradient(180deg,rgba(255,255,255,.56),rgba(240,251,244,.2))}.school-hero,.learning-hero{padding-block:64px}.seo-directory-section .directory-card h3{margin:10px 0 4px;font-family:var(--font-display);font-size:1.45rem;font-weight:400}.seo-directory-section .directory-card p{margin:0;color:var(--color-caption);font-size:.84rem}
@media(min-width:720px){.seo-link-groups{grid-template-columns:repeat(3,1fr)}.school-hero,.learning-hero{padding-block:88px}.grade-panel-actions{flex-direction:row;align-items:center;gap:16px}.seo-text-link{margin-top:0}}

/* Conversion polish */
.conversion-note { max-width: 640px; margin: 14px 0 0; color: var(--caption); font-size: .78rem; line-height: 1.65; }
.conversion-note--branch { margin-top: 14px !important; }
.branch-trust-panel { width: 100%; min-height: 360px; display: grid; align-content: center; gap: 10px; padding: 34px; border-radius: 30px; border: 1px solid rgba(30,143,99,.12); background: linear-gradient(145deg,#fff,rgba(190,235,211,.56)); box-shadow: var(--shadow); }
.branch-trust-mark { display:grid;place-items:center;width:64px;height:64px;border-radius:22px;background:var(--accent);color:#fff;font-family:var(--display);font-size:1.8rem; }
.branch-trust-panel > strong { margin-top: 6px; font-family: var(--display); font-size: 1.8rem; font-weight:400; }
.branch-trust-panel > p { margin:0 0 10px; color:var(--caption); font-size:.84rem; }
.trust-list { display:grid; gap:10px; margin-top:8px; }
.trust-list > div { display:grid; grid-template-columns:38px 1fr; align-items:center; gap:11px; padding:13px 14px; border-radius:15px; background:rgba(255,255,255,.88); border:1px solid rgba(30,143,99,.08); }
.trust-list b { display:grid; place-items:center; width:34px;height:34px;border-radius:50%;background:var(--lemon);color:var(--text);font-size:.72rem; }
.trust-list span { display:grid; gap:1px; }
.trust-list small { color:var(--caption); font-size:.68rem; }
.trust-list strong { color:var(--text); font-size:.88rem; }
@media (max-width:719px){ .conversion-note{font-size:.75rem;margin-top:12px}.branch-visual--no-image{display:none!important}.branch-hero{padding-bottom:58px}.branch-hero-copy .address-link{margin-top:16px} }


/* V4: 205개 4브랜드 통합 네트워크 — 공통 민트+레몬 UI, badge/content만 분기 */
.branch-brand-name{display:inline-block;margin-left:8px;color:var(--caption);font-size:.72rem;font-weight:700;vertical-align:middle}
.branch-label--wawa{background:var(--soft-green);color:var(--accent)}
.branch-label--wplus{background:var(--lemon);color:#78621e}
.branch-label--glorid{background:#fff;border:1px solid var(--mint);color:#35664f}
.branch-label--modu{background:#dff5e8;color:#285e47}
.branch-brand-badge--wawa,.branch-brand-badge--wplus,.branch-brand-badge--glorid,.branch-brand-badge--modu{background:var(--soft-green);color:var(--accent)}
.branch-brand-badge--wplus{background:var(--lemon);color:#78621e}.branch-brand-badge--glorid{background:#fff;border:1px solid var(--mint)}.branch-brand-badge--modu{background:#dff5e8;color:#285e47}
.branch-specialty{margin:10px 0 0!important;color:var(--caption)!important;font-size:.82rem!important;font-weight:700}
.brand-filter{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}.brand-filter button{appearance:none;border:1px solid rgba(30,143,99,.16);background:#fff;color:var(--subtext);border-radius:999px;padding:9px 13px;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.brand-filter button:hover,.brand-filter button.is-active{background:var(--mint);border-color:var(--mint);color:var(--text)}
.directory-count{margin:14px 0;color:var(--caption);font-size:.8rem}
.network-brands{background:rgba(255,255,255,.46)}.brand-network-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.brand-network-card{padding:22px;border:1px solid rgba(30,143,99,.1);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}.brand-network-card strong{display:block;margin:14px 0 4px;font-family:var(--display);font-size:1.25rem;font-weight:400}.brand-network-card b{display:block;color:var(--accent);font-size:.78rem}.brand-network-card p{margin:9px 0 0;color:var(--caption);font-size:.82rem;line-height:1.65}
@media(max-width:900px){.brand-network-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.brand-network-grid{grid-template-columns:1fr}.brand-filter{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.brand-filter button{flex:0 0 auto}}

.brand-mark--network{font-size:.72rem;letter-spacing:-.04em}.avatar{font-size:.75rem}


/* ===== V5: real consultation form + natural SEO Q&A ===== */
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.mini-consult-form button[disabled]{opacity:.62;cursor:wait;transform:none}
.form-status{display:block;min-height:1.5em;margin-top:8px;font-size:13px;line-height:1.55}
.form-status[data-state="success"]{color:#0f6b49;font-weight:700}.form-status[data-state="error"]{color:#9b2c2c;font-weight:700}.form-status[data-state="preview"]{color:#5d6b65}
.form-privacy-note{display:block;color:var(--text-sub,#436B59);font-size:12px;line-height:1.6;margin-top:8px}
.keyword-context{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.keyword-context span{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid #cfe6d8;border-radius:999px;background:#f7fcf9;color:#365d4b;font-size:13px;font-weight:700;line-height:1.35}
.learning-qa{display:grid;gap:12px}.learning-qa details{background:#fff;border:1px solid #d9ebe0;border-radius:18px;overflow:hidden}.learning-qa summary{cursor:pointer;padding:18px 20px;font-weight:800;color:#244b39;list-style:none}.learning-qa summary::-webkit-details-marker{display:none}.learning-qa summary::before{content:"Q";display:inline-grid;place-items:center;width:28px;height:28px;margin-right:10px;border-radius:10px;background:#fff3b0;color:#4b5b25;font-size:12px;font-weight:900}.learning-qa p{margin:0;padding:0 20px 20px 58px;color:#496957;line-height:1.8}
.keyword-guide-card{padding:26px;border:1px solid #d9ebe0;border-radius:22px;background:linear-gradient(145deg,#fff,#f7fcf9);box-shadow:0 10px 30px rgba(31,74,54,.06)}.keyword-guide-card h2{margin:0 0 9px}.keyword-guide-card p{margin:0;color:#526f60;line-height:1.8}
.review-source{display:block;margin-top:8px;color:#6d8477;font-size:12px}.review-card footer span.review-branch{display:block;margin-top:4px;color:#71937f;font-size:12px}
@media(max-width:720px){.learning-qa p{padding-left:20px}.keyword-context span{font-size:12px}.keyword-guide-card{padding:22px 18px}}

/* V6 fine-grade content blocks: 초4·초5·초6 / 중1·중2·중3 / 고1·고2·고3 */
.fine-grade-section{background:linear-gradient(180deg,#fff,#f7fcf9)}
.fine-grade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fine-grade-card{min-width:0;padding:24px;border:1px solid #d8eadf;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(31,79,58,.07);scroll-margin-top:110px}
.fine-grade-card__top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:15px}
.fine-grade-label{display:inline-grid;place-items:center;min-width:50px;min-height:34px;padding:6px 10px;border-radius:12px;background:#1e8f63;color:#fff;font-weight:900;font-size:14px}
.fine-grade-keyword{display:inline-flex;align-items:center;max-width:100%;padding:7px 10px;border-radius:999px;background:#fff8cf;color:#5a5e2d;font-weight:800;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.fine-grade-card h3{margin:0 0 10px;font-size:20px;line-height:1.42;color:#214d39;letter-spacing:-.02em}
.fine-grade-summary{margin:0;color:#4c6b5b;line-height:1.82;font-size:15px}
.fine-grade-points{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}
.fine-grade-points li{position:relative;padding:11px 12px 11px 34px;border-radius:13px;background:#f2faf5;color:#365b49;font-size:14px;line-height:1.6}
.fine-grade-points li::before{content:"✓";position:absolute;left:12px;top:11px;color:#1e8f63;font-weight:900}
.fine-grade-related{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.fine-grade-related span{display:inline-flex;padding:6px 9px;border:1px solid #dcebe2;border-radius:999px;color:#617c6d;background:#fbfefc;font-size:11px;font-weight:700;line-height:1.35}
.fine-grade-qa{margin-top:18px;border-top:1px solid #e2eee7;padding-top:15px}
.fine-grade-qa summary{cursor:pointer;list-style:none;color:#244d39;font-weight:850;font-size:14px;line-height:1.55;padding-right:28px;position:relative}
.fine-grade-qa summary::-webkit-details-marker{display:none}
.fine-grade-qa summary::after{content:"+";position:absolute;right:0;top:0;width:22px;height:22px;display:grid;place-items:center;border-radius:8px;background:#eef8f2;color:#1e8f63;font-weight:900}
.fine-grade-qa[open] summary::after{content:"−"}
.fine-grade-qa p{margin:12px 0 0;padding:13px 14px;border-radius:13px;background:#fbfdfb;color:#4d695a;font-size:13.5px;line-height:1.75}
@media(max-width:900px){.fine-grade-grid{grid-template-columns:1fr}}
@media(max-width:720px){.fine-grade-card{padding:20px 18px}.fine-grade-card h3{font-size:19px}.fine-grade-summary{font-size:14.5px}.fine-grade-keyword{white-space:normal}.fine-grade-points li{font-size:13.5px}}


/* V9 local-area aliases: 마을·역·주공·아파트·신도시·지구·생활권 */
.local-area-section{background:rgba(255,255,255,.48)}
.local-area-chip-grid{display:flex;flex-wrap:wrap;gap:10px}.local-area-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #d5e8dd;border-radius:999px;background:#fff;box-shadow:0 5px 18px rgba(31,74,54,.04)}.local-area-chip b{color:#285540;font-size:13px}.local-area-chip small{color:#789183;font-size:10.5px;font-weight:700}.local-keyword-section{background:linear-gradient(180deg,#f8fcf9,#fff)}.local-keyword-grid,.local-fine-keywords{display:flex;flex-wrap:wrap;gap:8px}.local-keyword-grid span{display:inline-flex;padding:9px 12px;border-radius:999px;background:#fff;border:1px solid #d8e9df;color:#365e4c;font-size:12px;font-weight:800}.local-fine-keywords{margin-top:15px;padding-top:15px;border-top:1px dashed #d6e7dc}.local-fine-keywords span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff8cf;color:#656331;font-size:11px;font-weight:800}.school-note{line-height:1.75}
@media(max-width:720px){.local-area-chip-grid,.local-keyword-grid,.local-fine-keywords{gap:7px}.local-area-chip{padding:9px 11px}.local-area-chip b{font-size:12.5px}.local-keyword-grid span{font-size:11.5px;padding:8px 10px}}

/* V11 privacy + consultation copy */
.privacy-consent-box{display:grid;gap:8px;padding:12px 13px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.08)}
.check-label--privacy{align-items:flex-start}.check-label--privacy span{line-height:1.55}.check-label--privacy strong{color:var(--lemon)}
.privacy-consent-details{border-top:1px solid rgba(255,255,255,.16);padding-top:8px}.privacy-consent-details summary{cursor:pointer;font-size:12px;font-weight:700;color:rgba(255,255,255,.88)}
.privacy-consent-details dl{display:grid;gap:7px;margin:10px 0 7px}.privacy-consent-details dl div{display:grid;grid-template-columns:74px 1fr;gap:8px}.privacy-consent-details dt{font-size:11px;font-weight:800;color:var(--lemon)}.privacy-consent-details dd{margin:0;font-size:11px;line-height:1.6;color:rgba(255,255,255,.82)}
.privacy-consent-details p,.minor-privacy-notice{margin:0;font-size:11px;line-height:1.6;color:rgba(255,255,255,.72)}
.privacy-policy-link{width:max-content;color:#fff;font-size:12px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.45)}
.policy-section{padding-top:20px}.policy-layout{display:grid;gap:15px;max-width:900px}.policy-card{padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft)}
.policy-card h2{margin:0 0 12px;font-family:var(--display);font-size:1.45rem;font-weight:400}.policy-card p{margin:8px 0 0;color:var(--subtext);line-height:1.8}.policy-card dl{display:grid;gap:10px;margin:0}.policy-card dl div{display:grid;gap:4px}.policy-card dt{font-weight:800;color:var(--accent)}.policy-card dd{margin:0;color:var(--subtext);line-height:1.7}
.policy-card--summary{background:linear-gradient(135deg,rgba(190,235,211,.38),rgba(255,243,176,.28))}.policy-warning{padding:14px;border-radius:12px;background:#fff7d6;color:#6e5b19!important;font-size:.86rem}.policy-date{font-size:.82rem;color:var(--caption)!important}
@media(min-width:760px){.policy-card{padding:30px}.policy-card dl div{grid-template-columns:130px 1fr;gap:18px}.privacy-consent-details dl div{grid-template-columns:80px 1fr}}

/* V16: six review cards at a glance */
.reviews-section .review-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.reviews-section .review-card{display:flex;flex-direction:column;min-height:240px}
.reviews-section .review-card footer{margin-top:auto;padding-top:18px}
.reviews-section .review-card p{color:var(--subtext)}
@media(max-width:900px){.reviews-section .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.reviews-section .review-grid{grid-template-columns:1fr}.reviews-section .review-card{min-height:0}}
.mini-consult-form label small{font-size:.72rem;color:var(--caption);font-weight:500}

/* ===== V16.2: information-first school guide prototype ===== */
.school-guide-hero{position:relative;overflow:hidden;padding:62px 0 72px;background:radial-gradient(circle at 88% 12%,rgba(255,243,176,.72),transparent 29%),linear-gradient(180deg,#f7fdf9 0%,#f0fbf4 100%)}
.school-guide-hero::before{content:"";position:absolute;width:290px;height:290px;left:-140px;bottom:-150px;border-radius:50%;background:rgba(190,235,211,.62);filter:blur(2px)}
.school-guide-hero__grid{position:relative;display:grid;gap:36px;align-items:center}
.school-guide-hero__copy h1{max-width:790px;margin:0;font-family:var(--display);font-size:clamp(2.55rem,8vw,4.75rem);font-weight:400;line-height:1.12;letter-spacing:-.045em;color:#1f4a36}
.school-guide-hero__lead{max-width:760px;margin:24px 0 0;color:var(--subtext);font-size:1rem;line-height:1.85}
.school-guide-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.school-guide-hero__note{margin:15px 0 0;color:var(--caption);font-size:.8rem}
.school-snapshot{position:relative;padding:27px;border:1px solid rgba(30,143,99,.1);border-radius:28px;background:rgba(255,255,255,.9);box-shadow:0 22px 58px rgba(31,74,54,.09)}
.school-snapshot::after{content:"";position:absolute;right:18px;top:18px;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--mint),var(--lemon));opacity:.72}
.school-snapshot__badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e7f7ee;color:var(--accent);font-size:.7rem;font-weight:900;letter-spacing:.08em}
.school-snapshot h2{margin:15px 0 19px;font-family:var(--display);font-size:1.7rem;font-weight:400;letter-spacing:-.03em}
.school-snapshot dl{display:grid;gap:0;margin:0}
.school-snapshot dl div{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:13px 0;border-top:1px solid #e7f0eb}
.school-snapshot dt{color:var(--caption);font-size:.78rem;font-weight:800}
.school-snapshot dd{margin:0;color:var(--text);font-size:.88rem;font-weight:700;line-height:1.6}
.school-snapshot__link{display:inline-flex;margin-top:18px;color:var(--accent);font-size:.82rem;font-weight:800;border-bottom:1px solid rgba(30,143,99,.28)}
.school-heading--split{display:grid;gap:18px;max-width:none}
.school-heading--split>p{max-width:500px;margin:0;color:var(--subtext);line-height:1.85}
.school-decision-section{background:#fff}
.school-decision-grid{display:grid;gap:14px}
.school-decision-card{padding:24px;border:1px solid #dcebe2;border-radius:22px;background:#fbfefc}
.school-decision-card>span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--lemon);color:#5f5b2e;font-size:.76rem;font-weight:900}
.school-decision-card h3{margin:16px 0 9px;font-family:var(--display);font-size:1.28rem;font-weight:400;line-height:1.4}
.school-decision-card p{margin:0;color:var(--subtext);font-size:.9rem;line-height:1.78}
.school-grade-section{background:linear-gradient(180deg,#eefaf3 0%,#f8fcfa 100%)}
.school-grade-roadmap{display:grid;gap:16px}
.school-grade-card{position:relative;padding:26px;border:1px solid rgba(30,143,99,.12);border-radius:24px;background:#fff;box-shadow:0 12px 32px rgba(31,74,54,.055)}
.school-grade-card::before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:4px;border-radius:0 6px 6px 0;background:var(--mint)}
.school-grade-card__head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.school-grade-card__head strong{display:grid;place-items:center;min-width:48px;height:34px;padding:0 10px;border-radius:11px;background:var(--accent);color:#fff;font-size:.8rem}
.school-grade-card__head span{color:var(--caption);font-size:.78rem;font-weight:800}
.school-grade-card h3{margin:0;font-family:var(--display);font-size:1.45rem;font-weight:400;line-height:1.35}
.school-grade-card>p{margin:11px 0 0;color:var(--subtext);line-height:1.8;font-size:.91rem}
.school-grade-card ul{display:grid;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.school-grade-card li{position:relative;padding:10px 12px 10px 31px;border-radius:12px;background:#f2faf5;color:#355c48;font-size:.84rem}
.school-grade-card li::before{content:"•";position:absolute;left:13px;color:var(--accent);font-weight:900}
.school-subject-section{background:#fff}
.school-subject-grid{display:grid;gap:14px}
.school-subject-card{padding:24px;border:1px solid #e0ebe5;border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}
.school-subject-card--1{background:linear-gradient(145deg,#fff,#f8fbff)}
.school-subject-card--2{background:linear-gradient(145deg,#fff,#fffdf0)}
.school-subject-card--3{background:linear-gradient(145deg,#fff,#f5fbf7)}
.school-subject-card--4{background:linear-gradient(145deg,#fff,#fbf8ff)}
.school-subject-card__title{display:flex;align-items:end;gap:10px;margin-bottom:13px}
.school-subject-card__title span{font-family:var(--display);font-size:1.55rem;line-height:1;color:var(--text)}
.school-subject-card__title small{color:var(--accent);font-size:.74rem;font-weight:900}
.school-subject-card p{margin:0;color:var(--subtext);font-size:.9rem;line-height:1.8}
.school-subject-checks{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.school-subject-checks span{display:inline-flex;padding:7px 10px;border:1px solid #dcebe2;border-radius:999px;background:rgba(255,255,255,.85);color:#557364;font-size:.72rem;font-weight:800}
.school-flow-section{background:#f7fbf8}
.school-flow-layout{display:grid;gap:36px}
.school-flow-list{display:grid;gap:12px}
.school-flow-step{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:20px;border:1px solid #dcebe2;border-radius:20px;background:#fff}
.school-flow-step__phase{display:grid;align-content:start;gap:8px}
.school-flow-step__phase span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:var(--lemon);font-size:.72rem;font-weight:900;color:#5d5b2d}
.school-flow-step__phase strong{color:var(--accent);font-size:.78rem;line-height:1.45}
.school-flow-step h3{margin:0;font-family:var(--display);font-size:1.18rem;font-weight:400;line-height:1.45}
.school-flow-step p{margin:7px 0 0;color:var(--subtext);font-size:.86rem;line-height:1.75}
.school-consult-value-section{background:linear-gradient(180deg,#f7fbf8,#f0fbf4)}
.school-consult-value-card{padding:28px;border-radius:30px;background:#1f5f45;color:#fff;box-shadow:0 22px 50px rgba(31,95,69,.16)}
.school-consult-value-card .section-kicker{color:#d8f5e5}
.school-consult-value-card__intro h2{margin:0;font-family:var(--display);font-size:clamp(2rem,6vw,3.15rem);font-weight:400;line-height:1.18;letter-spacing:-.035em}
.school-consult-value-card__intro>p:last-child{margin:16px 0 0;color:rgba(255,255,255,.78);line-height:1.8}
.school-consult-value-grid{display:grid;gap:11px;margin-top:26px}
.school-consult-value-grid article{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.08)}
.school-consult-value-grid article>span{color:var(--lemon);font-size:.7rem;font-weight:900}
.school-consult-value-grid h3{margin:8px 0 6px;font-size:1rem}
.school-consult-value-grid p{margin:0;color:rgba(255,255,255,.72);font-size:.82rem;line-height:1.68}
.school-center-detail-section{background:#fff}
.school-center-detail-grid{display:grid;gap:26px;align-items:start}
.school-center-detail-grid h2{margin:0;font-family:var(--display);font-size:clamp(2rem,7vw,3.3rem);font-weight:400;line-height:1.18;letter-spacing:-.035em}
.school-center-detail-lead{margin:18px 0 0;color:var(--subtext);line-height:1.85}
.school-center-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.school-center-tags span{padding:8px 11px;border-radius:999px;background:#eef8f2;color:#365f4b;font-size:.76rem;font-weight:800}
.school-center-info-card{padding:25px;border:1px solid #dbeae1;border-radius:24px;background:#f9fcfa;box-shadow:var(--shadow-soft)}
.school-center-info-card dl{display:grid;gap:0;margin:0 0 20px}
.school-center-info-card dl div{display:grid;grid-template-columns:76px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #e3eee8}
.school-center-info-card dt{color:var(--caption);font-size:.76rem;font-weight:900}
.school-center-info-card dd{margin:0;color:var(--text);font-size:.85rem;line-height:1.65;font-weight:700}
.school-faq-section{background:#f7fbf8}
.school-faq-list{display:grid;gap:11px;max-width:900px}
.school-faq-list details{border:1px solid #dcebe2;border-radius:18px;background:#fff;overflow:hidden}
.school-faq-list summary{position:relative;cursor:pointer;list-style:none;padding:18px 52px 18px 19px;color:#28513d;font-weight:850;line-height:1.55}
.school-faq-list summary::-webkit-details-marker{display:none}
.school-faq-list summary::after{content:"+";position:absolute;right:18px;top:17px;display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#eef8f2;color:var(--accent);font-weight:900}
.school-faq-list details[open] summary::after{content:"−"}
.school-faq-list p{margin:0;padding:0 19px 20px;color:var(--subtext);font-size:.88rem;line-height:1.8}
.school-direct-consult-section{background:#ecf8f1}
.school-direct-consult-card{display:grid;gap:26px;padding:26px;border-radius:30px;background:#1e8f63;box-shadow:0 24px 58px rgba(30,143,99,.18)}
.school-direct-consult-copy{color:#fff}
.school-direct-consult-copy .section-kicker{color:#d9f7e6}
.school-direct-consult-copy h2{margin:0;font-family:var(--display);font-size:clamp(2rem,7vw,3.3rem);font-weight:400;line-height:1.18;letter-spacing:-.035em}
.school-direct-consult-copy>p:not(.section-kicker){margin:17px 0 0;color:rgba(255,255,255,.8);line-height:1.82}
.school-direct-consult-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.school-direct-consult-facts span{padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.1);font-size:.76rem;font-weight:800}
.school-consult-form{background:rgba(255,255,255,.11)}
.school-consult-form .form-row{display:grid;gap:11px}
.school-consult-form select[name="school_name"],.school-consult-form select[name="preferred_center"]{background:#f4fbf7;color:#416753;font-weight:800}
.school-official-info-section{padding-top:0;background:#ecf8f1}
.school-official-info{display:grid;gap:22px;padding:24px;border:1px solid rgba(30,143,99,.1);border-radius:22px;background:rgba(255,255,255,.78)}
.school-official-info h2{margin:0;font-family:var(--display);font-size:1.65rem;font-weight:400}
.school-official-info>div>p:last-child{margin:8px 0 0;color:var(--caption);font-size:.82rem}
.school-official-info dl{display:grid;gap:0;margin:0}
.school-official-info dl div{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #e2eee7}
.school-official-info dt{color:var(--caption);font-size:.76rem;font-weight:850}
.school-official-info dd{margin:0;color:var(--subtext);font-size:.84rem;line-height:1.6}

@media(min-width:720px){
  .school-heading--split{grid-template-columns:1.25fr .75fr;align-items:end}
  .school-decision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .school-grade-roadmap{grid-template-columns:repeat(3,minmax(0,1fr))}
  .school-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .school-consult-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .school-center-detail-grid{grid-template-columns:1.05fr .95fr}
  .school-consult-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .school-official-info{grid-template-columns:.72fr 1.28fr;align-items:start}
}
@media(min-width:980px){
  .school-guide-hero{padding:86px 0 94px}
  .school-guide-hero__grid{grid-template-columns:1.35fr .65fr;gap:54px}
  .school-decision-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .school-flow-layout{grid-template-columns:.7fr 1.3fr;align-items:start}
  .school-consult-value-card{display:grid;grid-template-columns:.75fr 1.25fr;gap:38px;padding:38px}
  .school-consult-value-grid{margin-top:0}
  .school-direct-consult-card{grid-template-columns:.82fr 1.18fr;gap:42px;align-items:start;padding:38px}
}
@media(max-width:719px){
  .school-guide-hero{padding:48px 0 56px}
  .school-guide-hero__actions{display:grid}
  .school-guide-hero__actions .button{width:100%}
  .school-snapshot{padding:22px 18px}
  .school-snapshot dl div{grid-template-columns:76px 1fr}
  .school-flow-step{grid-template-columns:1fr;gap:11px;padding:18px}
  .school-flow-step__phase{display:flex;align-items:center}
  .school-consult-value-card,.school-direct-consult-card{padding:22px 18px;border-radius:24px}
  .school-center-info-card{padding:21px 18px}
  .school-center-info-card dl div{grid-template-columns:68px 1fr}
  .school-official-info dl div{grid-template-columns:80px 1fr}
}

/* V16.3 Sanbon school conversion refinements */
.school-decision-grid--three{grid-template-columns:1fr}
.school-local-badge{display:inline-flex;width:fit-content;margin-bottom:14px;padding:7px 11px;border-radius:999px;background:#e7f7ee;color:var(--accent);font-size:.72rem;font-weight:900}
.school-management-section{background:linear-gradient(150deg,#194f3b 0%,#1f6a4c 100%);color:#fff}
.school-management-layout{display:grid;gap:30px;align-items:start}
.school-management-intro h2{margin:0;font-family:var(--display);font-size:clamp(2rem,7vw,3.35rem);font-weight:400;line-height:1.17;letter-spacing:-.035em}
.school-management-intro>p{margin:16px 0 0;color:rgba(255,255,255,.78);line-height:1.82}
.school-management-intro .school-local-badge{background:rgba(255,255,255,.12);color:#e4f7ec}
.school-management-proof{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.school-management-proof strong{width:100%;margin-bottom:2px;color:#fff;font-size:.82rem}
.school-management-proof span{padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.82);font-size:.72rem;font-weight:800}
.school-management-steps{display:grid;gap:10px}
.school-management-steps article{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.08)}
.school-management-steps article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--lemon);color:#5d5b2d;font-size:.72rem;font-weight:900}
.school-management-steps h3{margin:0;font-size:1rem;line-height:1.45}
.school-management-steps p{margin:6px 0 0;color:rgba(255,255,255,.72);font-size:.84rem;line-height:1.72}
.school-inline-cta-section{padding:0 0 72px;background:linear-gradient(150deg,#194f3b 0%,#1f6a4c 100%)}
.school-inline-cta{display:grid;gap:18px;align-items:center;padding:22px 24px;border-radius:22px;background:#fff}
.school-inline-cta strong{font-family:var(--display);font-size:1.4rem;font-weight:400}
.school-inline-cta p{margin:5px 0 0;color:var(--subtext);font-size:.86rem}
.school-consult-form .form-help{display:block;margin-top:1px;color:rgba(255,255,255,.78);font-size:.68rem;font-weight:500;text-align:left}
@media(min-width:720px){.school-decision-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.school-inline-cta{grid-template-columns:1fr auto}.school-inline-cta .button{min-width:210px}}
@media(min-width:980px){.school-management-layout{grid-template-columns:.82fr 1.18fr;gap:44px}.school-management-intro{position:sticky;top:96px}}

/* ===== V16.4: Sanbon school final compression / hierarchy ===== */
.school-section-compact{padding-block:64px}
.school-guide-hero--v164{padding-block:76px 78px}
.school-guide-hero--v164 .school-guide-hero__lead{max-width:690px}
.school-snapshot--compact{padding:24px}
.school-snapshot--compact h2{margin-bottom:13px;font-size:1.45rem}
.school-snapshot--compact dl div{padding:10px 0}
.school-decision-grid--plain{gap:0;border-top:1px solid #dcebe2;border-bottom:1px solid #dcebe2}
.school-decision-grid--plain .school-decision-card{display:grid;grid-template-columns:42px 1fr;column-gap:14px;align-content:start;padding:20px 8px;border:0;border-bottom:1px solid #e4eee8;border-radius:0;background:transparent}
.school-decision-grid--plain .school-decision-card:last-child{border-bottom:0}
.school-decision-grid--plain .school-decision-card>span{grid-row:1 / span 2;width:34px;height:34px;border-radius:11px}
.school-decision-grid--plain .school-decision-card h3{margin:0;font-size:1.13rem}
.school-decision-grid--plain .school-decision-card p{margin-top:6px}
.school-management-section{padding-block:70px}
.school-management-steps article{padding:16px}
.school-grade-roadmap--compact .school-grade-card{padding:22px 22px 20px;border:0;border-left:4px solid var(--mint);border-radius:16px;background:#fff;box-shadow:none}
.school-grade-roadmap--compact .school-grade-card::before{display:none}
.school-grade-roadmap--compact .school-grade-card>p{line-height:1.72}
.school-grade-roadmap--compact .school-grade-card ul{margin-top:13px;gap:6px}
.school-grade-roadmap--compact .school-grade-card li{padding:7px 10px 7px 27px;background:#f4faf6;font-size:.79rem}
.school-subject-card{padding:21px}
.school-subject-checks{margin-top:13px}
.school-flow-list--timeline{position:relative;gap:0;padding-left:18px;border-left:2px solid #cde6d7}
.school-flow-list--timeline .school-flow-step{position:relative;grid-template-columns:78px 1fr;gap:14px;padding:6px 0 24px 18px;border:0;border-radius:0;background:transparent}
.school-flow-list--timeline .school-flow-step:last-child{padding-bottom:0}
.school-flow-list--timeline .school-flow-step::before{content:"";position:absolute;left:-25px;top:9px;width:12px;height:12px;border:3px solid #f7fbf8;border-radius:50%;background:var(--accent)}
.school-flow-list--timeline .school-flow-step__phase span{display:none}
.school-flow-list--timeline .school-flow-step__phase strong{font-size:.8rem}
.school-center-detail-grid{gap:34px}
.school-center-detail-lead{max-width:520px;margin-top:13px}
.school-center-info-card{padding:22px}
.school-faq-layout{display:grid;gap:28px;align-items:start}
.school-faq-layout .section-heading{margin-bottom:0}
.school-faq-list details{border-radius:14px}
.school-faq-list summary{padding-block:16px}
.school-direct-consult-card--compact{padding:32px}
.school-consult-fixed{display:grid;gap:9px;margin-top:22px;padding:15px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.08)}
.school-consult-fixed span{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center}
.school-consult-fixed small{color:rgba(255,255,255,.6);font-size:.68rem;font-weight:700}
.school-consult-fixed strong{color:#fff;font-size:.84rem;line-height:1.5}
.school-consult-diagnostic{margin:10px 0 0!important;color:#e7f8ee!important;font-size:.78rem;font-weight:800}
.school-consult-form--compact{padding:15px}
.school-official-info-section{padding-block:0 56px}
@media(min-width:720px){
  .school-decision-grid--plain{grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:0}
  .school-decision-grid--plain .school-decision-card{border-right:1px solid #e4eee8;border-bottom:0;padding:20px 18px}
  .school-decision-grid--plain .school-decision-card:last-child{border-right:0}
  .school-faq-layout{grid-template-columns:.68fr 1.32fr;gap:44px}
}
@media(min-width:980px){
  .school-guide-hero--v164{padding-block:78px 84px}
  .school-management-layout{grid-template-columns:.8fr 1.2fr}
}
@media(max-width:719px){
  .school-section-compact{padding-block:46px}
  .school-guide-hero--v164{padding-block:40px 42px}
  .school-guide-hero--v164 .school-guide-hero__copy h1{font-size:clamp(2.25rem,10vw,3.15rem)}
  .school-guide-hero--v164 .school-guide-hero__lead{margin-top:18px;line-height:1.72}
  .school-guide-hero--v164 .school-guide-hero__actions{margin-top:22px}
  .school-guide-hero--v164 .school-guide-hero__note{line-height:1.55}
  .school-snapshot--compact{padding:15px 16px;border-radius:20px;box-shadow:none}
  .school-snapshot--compact::after{display:none}
  .school-snapshot--compact h2{display:none}
  .school-snapshot--compact dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;margin-top:8px}
  .school-snapshot--compact dl div{display:block;padding:10px 0;border-top:1px solid #e7f0eb}
  .school-snapshot--compact dt{margin-bottom:3px;font-size:.68rem}
  .school-snapshot--compact dd{font-size:.78rem;line-height:1.45}
  .school-heading--split{gap:10px}
  .section-heading{margin-bottom:24px}
  .section-heading h2{font-size:clamp(1.8rem,8.5vw,2.5rem)}
  .school-management-section{padding-block:50px}
  .school-management-layout{gap:24px}
  .school-management-steps{gap:8px}
  .school-management-steps article{grid-template-columns:36px 1fr;gap:11px;padding:14px}
  .school-management-steps article>span{width:34px;height:34px}
  .school-management-proof{margin-top:17px}
  .school-grade-roadmap{gap:10px}
  .school-grade-roadmap--compact .school-grade-card{padding:21px 18px 20px}
  .school-grade-roadmap--compact .school-grade-card__head{margin-bottom:16px}
  .school-grade-card h3{font-size:1.27rem}
  .school-grade-card>p{font-size:.86rem}
  .school-grade-roadmap--compact .school-grade-card ul{margin-top:16px;gap:9px}
  .school-subject-grid{gap:10px}
  .school-subject-card{padding:18px}
  .school-subject-card__title span{font-size:1.38rem}
  .school-flow-layout{gap:20px}
  .school-flow-list--timeline{padding-left:14px}
  .school-flow-list--timeline .school-flow-step{grid-template-columns:1fr;padding:4px 0 21px 16px}
  .school-flow-list--timeline .school-flow-step::before{left:-21px}
  .school-flow-list--timeline .school-flow-step__phase{display:block}
  .school-center-detail-grid{gap:19px}
  .school-center-detail-grid h2{font-size:2.05rem}
  .school-faq-layout{gap:18px}
  .school-direct-consult-section{padding-block:50px}
  .school-direct-consult-card--compact{padding:20px 16px;border-radius:22px}
  .school-direct-consult-copy h2{font-size:2rem}
  .school-direct-consult-copy>p:not(.section-kicker){margin-top:12px;line-height:1.7}
  .school-consult-fixed{margin-top:16px;padding:12px}
  .school-consult-fixed span{grid-template-columns:64px 1fr}
  .school-consult-form--compact{padding:13px}
  .school-official-info-section{padding-bottom:42px}
}

/* ===== V16.5 school-grade differentiated sample system ===== */
.school-guide-hero--elementary{background:radial-gradient(circle at 82% 12%,rgba(255,243,176,.82),transparent 31%),linear-gradient(180deg,#fbfef8 0%,#f2fbf5 100%)}
.school-guide-hero--elementary::before{background:rgba(255,243,176,.56)}
.elementary-hero-grid{grid-template-columns:1fr}
.elementary-snapshot{position:relative;display:grid;gap:11px;padding:28px;border:1px solid rgba(30,143,99,.12);border-radius:30px;background:rgba(255,255,255,.9);box-shadow:0 20px 50px rgba(31,74,54,.07)}
.elementary-snapshot::before{content:"";position:absolute;right:22px;top:20px;width:66px;height:66px;border-radius:50%;background:linear-gradient(145deg,var(--lemon),var(--mint));opacity:.72}
.elementary-snapshot>span{width:fit-content;padding:7px 10px;border-radius:999px;background:#fff6c9;color:#6d642c;font-size:.72rem;font-weight:900}
.elementary-snapshot>strong{font-family:var(--display);font-size:2rem;font-weight:400;line-height:1.15;color:var(--text)}
.elementary-snapshot>p{margin:0;color:var(--accent);font-weight:900}
.elementary-snapshot>small{max-width:260px;color:var(--caption);font-size:.76rem;line-height:1.6}
.elementary-habit-section{background:#fff}
.elementary-habit-layout{display:grid;gap:30px}
.elementary-habit-list{display:grid;gap:0;border-top:1px solid #dbe9e0}
.elementary-habit-list article{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid #e5eee8}
.elementary-habit-list article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--lemon);color:#615d30;font-size:.72rem;font-weight:900}
.elementary-habit-list h3{margin:0;font-family:var(--display);font-size:1.24rem;font-weight:400}
.elementary-habit-list p{margin:6px 0 0;color:var(--subtext);font-size:.88rem;line-height:1.75}
.elementary-routine-section{background:linear-gradient(180deg,#f7fcf9,#eef9f3)}
.elementary-routine-track{display:grid;gap:12px}
.elementary-routine-track article{position:relative;padding:24px 22px;border:1px solid #dcebe2;border-radius:22px;background:#fff}
.elementary-routine-track article>span{display:inline-flex;margin-bottom:12px;padding:6px 10px;border-radius:999px;background:#e7f7ee;color:var(--accent);font-size:.72rem;font-weight:900}
.elementary-routine-track strong{display:block;font-family:var(--display);font-size:1.3rem;font-weight:400}
.elementary-routine-track p{margin:8px 0 0;color:var(--subtext);font-size:.87rem;line-height:1.74}
.elementary-subject-section{background:#fff}
.elementary-subject-layout{display:grid;gap:28px}
.elementary-subject-grid{display:grid;gap:14px}
.elementary-subject-card{padding:24px;border-radius:24px;border:1px solid #dcebe2;background:linear-gradient(145deg,#fff,#fbfefc);box-shadow:var(--shadow-soft)}
.elementary-subject-card>div{display:flex;align-items:end;gap:10px}
.elementary-subject-card strong{font-family:var(--display);font-size:1.75rem;font-weight:400}
.elementary-subject-card>div span{color:var(--accent);font-size:.76rem;font-weight:900}
.elementary-subject-card p{margin:13px 0 0;color:var(--subtext);line-height:1.78}
.elementary-subject-card ul{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0 0;padding:0;list-style:none}
.elementary-subject-card li{padding:7px 10px;border-radius:999px;background:#f0f8f3;color:#456b58;font-size:.72rem;font-weight:800}
.elementary-grade-section{background:#fffdf3}
.elementary-grade-ladder{display:grid;gap:12px}
.elementary-grade-ladder article{display:grid;grid-template-columns:92px 1fr;gap:20px;padding:22px;border:1px solid #ece6c8;border-radius:22px;background:rgba(255,255,255,.9)}
.elementary-grade-mark{display:grid;align-content:start;gap:7px}
.elementary-grade-mark strong{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--accent);color:#fff;font-family:var(--display);font-size:1.15rem;font-weight:400}
.elementary-grade-mark span{color:#817a4c;font-size:.7rem;font-weight:900}
.elementary-grade-ladder h3{margin:0;font-family:var(--display);font-size:1.3rem;font-weight:400}
.elementary-grade-ladder p{margin:8px 0 0;color:var(--subtext);font-size:.87rem;line-height:1.74}
.elementary-grade-points{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.elementary-grade-points span{padding:6px 9px;border-radius:9px;background:#f7f2d9;color:#6e673d;font-size:.71rem;font-weight:800}
.school-management-section--elementary{background:linear-gradient(145deg,#e8f7ef 0%,#f5fbf7 100%);color:var(--text)}
.school-management-section--elementary .school-management-intro>p,.school-management-section--elementary .school-management-steps p{color:var(--subtext)}
.school-management-section--elementary .school-management-intro .school-local-badge{background:#fff;color:var(--accent)}
.school-management-section--elementary .school-management-proof strong{color:var(--text)}
.school-management-section--elementary .school-management-proof span{border-color:#d6e8de;background:#fff;color:#456b58}
.school-management-section--elementary .school-management-steps article{border-color:#d9e9e0;background:#fff}
.school-management-section--elementary .school-management-steps h3{color:var(--text)}

.school-guide-hero--high{background:linear-gradient(140deg,#f5faf7 0%,#eef6f1 55%,#fff9dc 100%)}
.school-guide-hero--high::before{width:360px;height:360px;left:auto;right:-180px;bottom:-190px;background:rgba(31,95,69,.1)}
.high-snapshot{padding:28px;border:1px solid rgba(30,143,99,.14);border-radius:28px;background:rgba(255,255,255,.92);color:var(--text);box-shadow:0 20px 50px rgba(31,74,54,.08)}
.high-snapshot>p{margin:0;color:var(--accent);font-size:.75rem;font-weight:900;letter-spacing:.04em}
.high-snapshot>strong{display:block;margin-top:13px;font-family:var(--display);font-size:2rem;font-weight:400}
.high-snapshot>div{display:flex;gap:8px;margin-top:18px}
.high-snapshot>div span{padding:7px 10px;border:1px solid #d8e8df;border-radius:999px;background:#eef8f2;color:#456b58;font-size:.72rem;font-weight:850}
.high-snapshot>small{display:block;margin-top:18px;color:var(--caption);font-size:.74rem;line-height:1.6}
.high-priority-section{background:#fff}
.high-priority-grid{display:grid;gap:12px;margin-top:30px}
.high-priority-grid article{padding:22px 20px;border-top:3px solid var(--accent);background:#f8fbf9}
.high-priority-grid article>span{color:var(--accent);font-size:.72rem;font-weight:900}
.high-priority-grid h3{margin:12px 0 7px;font-family:var(--display);font-size:1.25rem;font-weight:400}
.high-priority-grid p{margin:0;color:var(--subtext);font-size:.87rem;line-height:1.74}
.high-subject-section{background:#193f31;color:#fff}
.high-subject-layout{display:grid;gap:28px}
.high-subject-section .section-heading h2{color:#fff}
.high-subject-section .section-heading p{color:rgba(255,255,255,.7)}
.high-subject-board{display:grid;gap:10px}
.high-subject-board article{padding:20px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06)}
.high-subject-board header{display:flex;justify-content:space-between;gap:12px;align-items:end}
.high-subject-board header strong{font-family:var(--display);font-size:1.5rem;font-weight:400}
.high-subject-board header small{color:#d6f2e2;font-size:.7rem;font-weight:900}
.high-subject-board p{margin:12px 0 0;color:rgba(255,255,255,.74);font-size:.87rem;line-height:1.75}
.high-subject-board footer{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.high-subject-board footer span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.1);font-size:.7rem;font-weight:800}
.high-grade-section{background:#f5f9f6}
.high-grade-layout{display:grid;gap:28px}
.high-grade-path{display:grid;gap:0;border-left:2px solid #b9d8c6;margin-left:18px}
.high-grade-path article{position:relative;padding:4px 0 28px 30px}
.high-grade-path article::before{content:"";position:absolute;left:-8px;top:7px;width:14px;height:14px;border:3px solid #f5f9f6;border-radius:50%;background:var(--accent)}
.high-grade-path article>div{display:flex;gap:10px;align-items:center}
.high-grade-path article>div strong{font-family:var(--display);font-size:1.25rem;font-weight:400;color:var(--accent)}
.high-grade-path article>div span{padding:5px 8px;border-radius:999px;background:#e8f4ed;color:#4b705d;font-size:.68rem;font-weight:900}
.high-grade-path h3{margin:10px 0 0;font-family:var(--display);font-size:1.28rem;font-weight:400}
.high-grade-path p{margin:8px 0 0;color:var(--subtext);font-size:.87rem;line-height:1.74}
.high-grade-path ul{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 0;padding:0;list-style:none}
.high-grade-path li{padding:6px 9px;border:1px solid #d8e7de;border-radius:9px;background:#fff;color:#466b58;font-size:.7rem;font-weight:800}
.high-week-section{background:#fff}
.high-week-layout{display:grid;gap:28px}
.high-week-flow{display:grid;gap:0;border-top:1px solid #dbe8e0}
.high-week-flow article{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid #e4eee8}
.high-week-flow article>span{color:var(--accent);font-size:.76rem;font-weight:900}
.high-week-flow strong{font-family:var(--display);font-size:1.15rem;font-weight:400}
.high-week-flow p{margin:6px 0 0;color:var(--subtext);font-size:.86rem;line-height:1.72}
.school-management-section--high{background:linear-gradient(145deg,#153b2e,#234f3d)}

@media(min-width:720px){
  .elementary-routine-track{grid-template-columns:repeat(3,minmax(0,1fr))}
  .elementary-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .high-priority-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .high-subject-board{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:980px){
  .elementary-hero-grid,.high-hero-grid{grid-template-columns:1.28fr .72fr;gap:54px}
  .elementary-habit-layout{grid-template-columns:.72fr 1.28fr;align-items:start}
  .elementary-subject-layout{grid-template-columns:.7fr 1.3fr;align-items:start}
  .high-subject-layout,.high-grade-layout,.high-week-layout{grid-template-columns:.72fr 1.28fr;align-items:start}
}
@media(max-width:719px){
  .school-guide-hero--elementary,.school-guide-hero--high{padding-block:40px 42px}
  .elementary-snapshot,.high-snapshot{padding:20px 18px;border-radius:22px}
  .elementary-snapshot::before{width:48px;height:48px;right:18px;top:18px}
  .elementary-snapshot>strong,.high-snapshot>strong{font-size:1.62rem}
  .elementary-habit-list article{grid-template-columns:38px 1fr;gap:12px;padding:17px 0}
  .elementary-routine-track article,.elementary-subject-card{padding:19px 17px}
  .elementary-grade-ladder article{grid-template-columns:1fr;gap:14px;padding:18px}
  .elementary-grade-mark{display:flex;align-items:center;gap:10px}
  .elementary-grade-mark strong{width:48px;height:48px;border-radius:15px}
  .high-priority-grid article{padding:18px 16px}
  .high-subject-board article{padding:18px 16px}
  .high-grade-path{margin-left:11px}
  .high-grade-path article{padding-left:24px}
  .high-week-flow article{grid-template-columns:58px 1fr;gap:12px;padding:17px 0}
}


/* ===== V16.7: verified tuition PDF links ===== */
.tuition-info-row dd{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.tuition-pdf-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1px solid rgba(30,143,99,.22);border-radius:999px;background:#eef9f3;color:var(--accent);font-size:.82rem;font-weight:900;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.tuition-pdf-link:hover{transform:translateY(-1px);background:#e4f6ed;border-color:rgba(30,143,99,.36)}
.tuition-pdf-note{display:block;color:var(--caption);font-size:.72rem;line-height:1.55;font-weight:600}
@media(max-width:719px){.tuition-pdf-link{min-height:36px;padding:7px 12px;font-size:.8rem}.tuition-pdf-note{font-size:.7rem}}


/* V16.8.3 school trust + internal links */
.school-trust-strip{padding:18px 0 8px;background:#fff;border-bottom:1px solid rgba(31,74,54,.08)}
.school-trust-strip__inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}
.school-trust-strip__meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:.88rem;color:var(--text-secondary,#436b59)}
.school-trust-strip__label{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--mint,#beebd3);color:#145c42;font-weight:700}
.school-trust-strip__meta strong{color:var(--text,#1f4a36)}
.school-trust-strip__meta a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.school-trust-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.school-trust-links a,.school-related-school-row a{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid rgba(30,143,99,.16);border-radius:999px;background:#f7fcf9;font-size:.86rem;font-weight:650;color:#1f4a36}
.school-related-school-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:10px;padding-bottom:8px}
.school-related-school-row>span{font-size:.84rem;font-weight:700;color:#436b59;margin-right:2px}
@media(max-width:719px){.school-trust-strip{padding:14px 0 6px}.school-trust-strip__inner{grid-template-columns:1fr;gap:12px}.school-trust-strip__meta{font-size:.82rem;gap:7px 9px}.school-trust-links{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}.school-trust-links::-webkit-scrollbar{display:none}.school-trust-links a{white-space:nowrap;flex:0 0 auto}.school-related-school-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.school-related-school-row::-webkit-scrollbar{display:none}.school-related-school-row a,.school-related-school-row>span{white-space:nowrap;flex:0 0 auto}}

/* V16.8.5 school Hero readability: keep the school + "공부," lead separate from the continuation. */
.school-guide-hero__copy h1.school-hero-title{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
.school-hero-title__prefix,.school-hero-title__tail{display:block}
.school-hero-title__prefix{white-space:nowrap}
@media(max-width:719px){
  .school-guide-hero__copy h1.school-hero-title{line-height:1.13;text-wrap:balance}
  .school-guide-hero__copy h1.school-hero-title--long{font-size:clamp(1.75rem,7vw,2.5rem)}
  .school-guide-hero__copy h1.school-hero-title--xlong{font-size:clamp(1.42rem,5.5vw,2rem)}
}

/* V16.8.6 consultation: student identity + pill-style multi-select */
.subject-choice-fieldset{margin:0;padding:0;border:0;min-width:0}
.subject-choice-fieldset legend{margin:0 0 9px;padding:0;color:#fff;font-size:.78rem;font-weight:850}
.subject-choice-fieldset legend small{display:inline;color:rgba(255,255,255,.75);font-size:.7rem;font-weight:650;text-align:left}
.subject-choice-grid{display:flex;flex-wrap:wrap;gap:8px}
.subject-choice{position:relative;display:inline-flex!important;align-items:center;justify-content:center;min-width:72px;min-height:43px;padding:9px 16px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:.84rem!important;font-weight:850!important;cursor:pointer;user-select:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.subject-choice:hover{border-color:rgba(255,255,255,.78);background:rgba(255,255,255,.18);transform:translateY(-1px)}
.subject-choice:has(input:checked){border-color:#fff3b0;background:#fff3b0;color:#1f4a36;box-shadow:0 0 0 2px rgba(255,255,255,.14),0 7px 18px rgba(16,95,64,.18)}
.subject-choice input[type="checkbox"]{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.subject-choice:has(input:focus-visible){outline:3px solid rgba(255,243,176,.95);outline-offset:2px}
.subject-choice span{line-height:1.2;white-space:nowrap}
.subject-choice--undecided{min-width:108px}
.subject-choice-fieldset>.form-help{display:block;margin-top:8px;color:rgba(255,255,255,.8);font-size:.69rem;font-weight:550;text-align:left}
.school-consult-form>label,.school-consult-form .form-row>label{color:#fff}
.form-row--identity{grid-template-columns:minmax(0,1fr)!important}
@media (min-width:720px){.form-row--identity{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:430px){.subject-choice-grid{gap:7px}.subject-choice{min-width:64px;min-height:41px;padding:8px 14px;font-size:.82rem!important}.subject-choice--undecided{min-width:104px}}


/* V16.8.8 typography stabilization — S-Core Dream across the site */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: var(--body); font-weight: 400; letter-spacing: -.012em; }
button, input, select, textarea { font-family: var(--body); }
.hero h1,
.section-heading h2,
.consult-card h2,
.page-hero h1,
.branch-hero h1,
.branch-hero h2,
.school-guide-hero__copy h1,
.school-direct-consult-copy h2 { font-family: var(--display); font-weight: 700; letter-spacing: -.04em; }
.hero h1 { line-height: 1.17; }
.section-heading h2, .consult-card h2 { line-height: 1.22; }
.brand-copy strong, .button, .desktop-nav a { font-weight: 600; }
.branch-result-card h3, .directory-card h2, .directory-card h3,
.empathy-grid h3, .care-card h3, .fit-card h3, .process-card h3 { font-family: var(--display); font-weight: 600; letter-spacing: -.025em; }
.hero-card, .branch-result-card, .directory-card, .review-card, .process-card, .care-card, .fit-card { min-width: 0; }
.hero-card *, .branch-result-card *, .directory-card *, .review-card *, .process-card *, .care-card *, .fit-card * { min-width: 0; }
.consult-disabled-note { display:grid; gap:10px; align-content:center; padding:18px; border:1px solid rgba(255,255,255,.2); border-radius:20px; background:rgba(255,255,255,.1); }
.consult-disabled-note strong { font-size:1rem; }
.consult-disabled-note p { margin:0; color:rgba(255,255,255,.82); font-size:.86rem; line-height:1.65; }
.consult-disabled-note .button { width:100%; }
.font-attribution { margin-top:6px!important; font-size:.68rem!important; color:var(--caption)!important; }
@media (max-width:719px) {
  .hero h1 { font-size:clamp(2.2rem,9.3vw,3.2rem); line-height:1.18; }
  .section-heading h2, .consult-card h2 { line-height:1.24; }
}


/* V16.8.9 final responsive + consultation form polish */
.mini-consult-form { gap: 13px; }
.mini-consult-form input:not([type="checkbox"]):not([type="hidden"]),
.mini-consult-form select,
.mini-consult-form textarea { width:100%; border:1px solid rgba(255,255,255,.3); border-radius:13px; outline:none; background:#fff; color:var(--text); box-shadow:0 1px 0 rgba(31,74,54,.03); transition:border-color .16s ease,box-shadow .16s ease; }
.mini-consult-form input:not([type="checkbox"]):not([type="hidden"]),
.mini-consult-form select { min-height:48px; padding:0 13px; }
.mini-consult-form textarea { min-height:88px; padding:12px 13px; resize:vertical; line-height:1.55; }
.mini-consult-form input:not([type="checkbox"]):not([type="hidden"]):focus,
.mini-consult-form select:focus,
.mini-consult-form textarea:focus { border-color:#fff3b0; box-shadow:0 0 0 3px rgba(255,243,176,.32); }
.mini-consult-form input:not([type="checkbox"]):not([type="hidden"])::placeholder,
.mini-consult-form textarea::placeholder { color:#8da496; }
.mini-consult-form label > small { display:inline; margin-left:3px; color:rgba(255,255,255,.72); text-align:left; }
.mini-consult-form .form-help { display:block; margin-top:5px; color:rgba(255,255,255,.76); font-size:.69rem; line-height:1.45; text-align:left; font-weight:500; }
.consult-preview-note { display:grid; gap:4px; padding:11px 13px; border:1px solid rgba(255,243,176,.4); border-radius:13px; background:rgba(255,243,176,.12); color:#fff; }
.consult-preview-note strong { color:#fff3b0; font-size:.8rem; }
.consult-preview-note span { font-size:.72rem; line-height:1.5; color:rgba(255,255,255,.82); }
.mini-consult-form .button[disabled] { cursor:not-allowed; opacity:.72; box-shadow:none; transform:none; }
.subject-choice.is-selected { border-color:#fff3b0; background:#fff3b0; color:#1f4a36; box-shadow:0 0 0 2px rgba(255,255,255,.14),0 7px 18px rgba(16,95,64,.18); }
.privacy-consent-box { padding:12px 13px; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:rgba(255,255,255,.07); }
.privacy-consent-details { margin-top:7px; }
.privacy-consent-details summary { cursor:pointer; color:#fff3b0; font-size:.72rem; font-weight:700; }
.privacy-consent-details dl { display:grid; gap:7px; margin:9px 0; }
.privacy-consent-details dl div { display:grid; grid-template-columns:64px 1fr; gap:8px; font-size:.68rem; line-height:1.5; }
.privacy-consent-details dt { color:rgba(255,255,255,.68); }
.privacy-consent-details dd { margin:0; color:rgba(255,255,255,.9); }
.privacy-consent-details p,.minor-privacy-notice { margin:7px 0 0; color:rgba(255,255,255,.72); font-size:.67rem; line-height:1.5; }
.privacy-policy-link { display:inline-block; margin-top:7px; color:#fff3b0; font-size:.7rem; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.check-label--privacy { align-items:flex-start; }
.check-label--privacy input { flex:0 0 auto; margin-top:2px; }
.check-label--privacy span { line-height:1.45; }
@media (max-width:719px) {
  .consult-card { padding:22px 16px; border-radius:24px; }
  .mini-consult-form { padding:14px; border-radius:18px; }
  .mini-consult-form input:not([type="checkbox"]):not([type="hidden"]),.mini-consult-form select { min-height:47px; }
  .subject-choice { flex:1 1 calc(33.333% - 7px); min-width:0; }
  .subject-choice--undecided { flex-basis:100%; }
  .privacy-consent-details dl div { grid-template-columns:1fr; gap:2px; }
}

.mobile-sticky-cta { transition: transform .2s ease, opacity .2s ease; }
.mobile-sticky-cta.is-hidden { transform:translateY(calc(100% + 26px)); opacity:0; pointer-events:none; }

/* V16.8.11 UX polish — neutral finder, readable care flow, hierarchical region picker */
.four-c-note {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
}
.four-c-note > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  font-family: var(--body);
  font-size: .74rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.01em;
  white-space: nowrap;
}
.four-c-note p { width:100%; line-height:1.68; }
.four-c-note strong { margin-bottom:3px; line-height:1.45; }

.consult-region-picker { display:grid; gap:10px; }
.consult-region-picker select:disabled { color:#93a79c; background:#f1f6f3; cursor:not-allowed; }
.region-picker-help { margin-top:-5px!important; }

@media (min-width:720px) {
  .four-c-note { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:16px; }
  .consult-region-picker { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* V16.8.12 — real branch map */
.branch-map-embed{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#eef8f2;min-height:285px}
.branch-map-frame{display:block;width:100%;height:285px;border:0;background:#eef8f2}
.branch-map-caption{display:grid;gap:3px;padding:12px 14px;border-top:1px solid var(--border);background:rgba(255,255,255,.96)}
.branch-map-caption strong{font-size:.92rem;color:var(--text)}
.branch-map-caption span{font-size:.76rem;line-height:1.55;color:var(--subtext);word-break:keep-all}
@media (max-width:720px){.branch-map-embed,.branch-map-frame{min-height:240px;height:240px}.branch-map-caption{padding:11px 12px}}

/* V16.8.12 — same-page consultation panel */
.inline-consult-panel{padding-top:18px;background:linear-gradient(180deg,#f2fbf5,#ecf8f1)}
.inline-consult-panel[hidden]{display:none!important}
.inline-consult-panel.is-open{animation:inlineConsultReveal .24s ease-out both}
.inline-consult-copy{display:grid;align-content:center;gap:10px}
.inline-consult-branch{display:inline-flex;width:max-content;max-width:100%;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:.8rem;font-weight:800}
@keyframes inlineConsultReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* V16.8.13 — full-frame branch map, semantic hero wrapping, complete trust steps */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Branch hero: keep meaningful Korean phrases together instead of arbitrary character wrapping. */
.branch-hero h2.branch-hero-title{
  display:grid;
  gap:.02em;
  max-width:15ch;
  font-size:clamp(2.15rem,4.55vw,3.55rem);
  line-height:1.14;
  word-break:keep-all;
  overflow-wrap:normal;
  text-wrap:balance;
}
.branch-hero-copy,.branch-visual{min-width:0}
.branch-hero-title>span{display:block;width:auto;max-width:100%;min-width:0}
.branch-hero-title--wplus{max-width:14ch}
.branch-hero-title--glorid{max-width:14ch}
.branch-hero-title--modu{max-width:16ch}
.branch-hero-description{max-width:670px!important;line-height:1.78;word-break:keep-all;text-wrap:pretty}
.branch-hero-description__break{display:block}

/* School hero: prefix/tail remain semantic blocks but are free to wrap at word boundaries. */
.school-guide-hero__copy h1.school-hero-title{
  max-width:16ch;
  word-break:keep-all;
  overflow-wrap:normal;
  text-wrap:balance;
}
.school-hero-title__prefix,.school-hero-title__tail{
  display:block;
  width:fit-content;
  max-width:100%;
  white-space:normal;
  word-break:keep-all;
  overflow-wrap:normal;
  text-wrap:balance;
}
.school-guide-hero__lead,.fallback-school-hero-lead{word-break:keep-all;text-wrap:pretty}
.school-hero-lead__break{display:block}
.fallback-school-hero-title{display:grid;gap:.04em;max-width:15ch;word-break:keep-all;overflow-wrap:normal;text-wrap:balance}
.fallback-school-hero-title>span{display:block;width:fit-content;max-width:100%}

/* Map fills the whole visual card. The queried address centers the map; our pin marks that center clearly. */
.map-card{
  padding:0;
  gap:0;
  overflow:hidden;
  grid-template-rows:minmax(380px,1fr) auto;
}
.branch-map-embed{
  position:relative;
  min-height:380px;
  height:100%;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#eef8f2;
}
.branch-map-frame{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  border:0;
  background:#eef8f2;
}
.branch-map-pin{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:38px;
  height:48px;
  transform:translate(-50%,-100%);
  pointer-events:none;
  filter:drop-shadow(0 5px 8px rgba(31,74,54,.28));
}
.branch-map-pin::before{
  content:"";
  position:absolute;
  left:4px;
  top:3px;
  width:30px;
  height:30px;
  border:3px solid #fff;
  border-radius:50% 50% 50% 0;
  background:var(--accent);
  transform:rotate(-45deg);
  box-shadow:0 0 0 1px rgba(31,74,54,.12);
}
.branch-map-pin__dot{
  position:absolute;
  z-index:2;
  left:14px;
  top:13px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff3b0;
  box-shadow:0 0 0 2px rgba(255,255,255,.72);
}
.map-card-actions{padding:16px 20px 20px;background:#fff}
.map-card-actions .button{width:100%}


/* V16.8.14 — prevent hero/trust-panel collision on compact desktop widths */
@media (min-width:980px) and (max-width:1199px){
  .branch-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(350px,370px);
    gap:34px;
  }
  .branch-hero h2.branch-hero-title{
    max-width:100%;
    font-size:clamp(2.35rem,4.35vw,3.15rem);
    line-height:1.13;
  }
  .branch-hero-title--wplus,.branch-hero-title--glorid{font-size:clamp(2.28rem,4.15vw,3rem)!important}
  .branch-trust-panel{min-height:0;padding:28px 26px;border-radius:26px}
  .branch-trust-panel>strong{font-size:1.62rem}
  .branch-trust-panel>p{font-size:.8rem}
  .trust-list{gap:8px}
  .trust-list>div{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:11px 12px}
  .trust-list b{width:32px;height:32px}
  .trust-list strong{font-size:.82rem;line-height:1.4}
}

@media (min-width:1200px){
  .branch-hero h2.branch-hero-title{font-size:clamp(2.65rem,4vw,3.55rem)}
}

@media(max-width:719px){
  .branch-hero h2.branch-hero-title{max-width:13ch;font-size:clamp(1.95rem,8.9vw,2.9rem);line-height:1.15}
  .branch-hero-title--wplus,.branch-hero-title--glorid{max-width:12.5ch;font-size:clamp(1.82rem,8.35vw,2.65rem)!important}
  .branch-hero-title--modu{max-width:14ch;font-size:clamp(1.9rem,8.7vw,2.78rem)!important}
  .branch-hero-description{font-size:.93rem;line-height:1.72}
  .school-guide-hero__copy h1.school-hero-title{max-width:14ch;line-height:1.14}
  .school-hero-title__prefix,.school-hero-title__tail{max-width:14ch}
  .fallback-school-hero-title{max-width:13ch;font-size:clamp(2rem,9vw,3rem)!important;line-height:1.15}
  .map-card{grid-template-rows:minmax(330px,68vh) auto}
  .branch-map-embed,.branch-map-frame{min-height:330px;height:100%}
  .map-card-actions{padding:14px 16px 16px}
}


/* V16.8.15 — final Hero compaction: keep long branch/school headlines readable within ~3 lines. */
@media (min-width:720px) and (max-width:979px){
  .branch-hero h2.branch-hero-title{
    max-width:100%;
    font-size:clamp(2.65rem,5.25vw,3.2rem);
    line-height:1.12;
    letter-spacing:-.035em;
  }
  .branch-hero-title>span{
    width:fit-content;
    max-width:100%;
    white-space:nowrap;
  }
  .branch-hero-title--wplus,.branch-hero-title--glorid{font-size:clamp(2.5rem,5vw,3.05rem)!important}
  .branch-hero-title--modu{font-size:clamp(2.55rem,5.1vw,3.1rem)!important}
  .school-guide-hero__copy h1.school-hero-title{max-width:19ch}
  .school-hero-title__prefix,.school-hero-title__tail{max-width:19ch}
}

@media (max-width:719px){
  .branch-hero h2.branch-hero-title{
    max-width:100%;
    font-size:clamp(1.9rem,8vw,2.55rem);
    line-height:1.12;
    letter-spacing:-.035em;
  }
  .branch-hero-title--wplus,.branch-hero-title--glorid{max-width:100%;font-size:clamp(1.82rem,7.55vw,2.38rem)!important}
  .branch-hero-title--modu{max-width:100%;font-size:clamp(1.88rem,7.75vw,2.45rem)!important}
  .school-guide-hero__copy h1.school-hero-title{max-width:100%;letter-spacing:-.025em}
  .school-hero-title__prefix,.school-hero-title__tail{display:inline;max-width:none;width:auto}
  .school-hero-title__prefix::after{content:" ";}
  .school-guide-hero__copy h1.school-hero-title--long{font-size:clamp(1.62rem,6.5vw,2.18rem)}
  .school-guide-hero__copy h1.school-hero-title--xlong{font-size:clamp(1.36rem,5.55vw,1.88rem)}
  .fallback-school-hero-title{max-width:100%;font-size:clamp(1.85rem,7.8vw,2.55rem)!important;line-height:1.13}
}
