/* Typography hierarchy: display 800, headings/actions 700, labels 500–600, copy 400. */
:root{--type-title:clamp(36px,4.5vw,64px);--type-section:clamp(28px,3.4vw,48px);--type-card:clamp(22px,2.1vw,28px)}
body{font-family:var(--body);font-weight:400;line-height:1.75}
input,select,textarea,button{font-family:var(--body)}
main :is(h1,h2,h3,h4){font-family:var(--body);font-style:normal;font-weight:700;letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere}
main h1,.network-subpage h1,.network-subpage .business-hero h1{font-size:var(--type-title);line-height:1.25}
main h2,.network-home h2,.network-subpage h2,.network-closing h2{font-size:var(--type-section);line-height:1.3}
main h3,.curriculum-track-grid h3,.hub-card h3{font-size:var(--type-card);line-height:1.4}
.intro-title-ko{font-size:var(--type-title)!important;line-height:1.25}
.network-hero h1{font-family:var(--display);font-weight:800;letter-spacing:-.025em;line-height:.98}
.network-hero h1.brand-slogan{font-family:var(--body);line-height:1.25}
main p{font-weight:400}
main :is(strong,b){font-weight:700}
.curriculum-track-lead{font-weight:600}
main :is(summary,dt){font-weight:500}
main :is(input,textarea,select){font-size:16px;line-height:1.5}
main :is(.network-button,.branch-booking,.branch-kakao),.header-contact,.network-action a{font-weight:700;line-height:1.5}
main :is(.text-link,.network-secondary,.branch-card-link){font-weight:500;line-height:1.6}
.network-eyebrow{font-size:12px!important;font-weight:500;letter-spacing:.12em;line-height:1.6}
.branch-booking-note,.branch-facts,.calendar-help,.curriculum-note,.business-form .inquiry-consent{font-size:14px;line-height:1.75}
.network-section-head>p,.network-intro,.intro-lead{font-weight:400;max-width:42em}
.trial-request-form h3{font-size:22px}
.trial-request-form legend,.business-form label{font-weight:500}
.trial-choices label{font-weight:400}
.business-form :is(input,textarea,select){font-weight:400}
.network-section :is(.network-button,.branch-kakao,.network-secondary){max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){
 :root{--type-title:clamp(30px,8vw,36px);--type-section:clamp(26px,7vw,30px);--type-card:22px}
 .network-home h2,.network-subpage h2,.network-closing h2{font-size:var(--type-section)}
 .network-subpage .business-hero h1,.network-subpage h1{font-size:var(--type-title)}
 .network-section{padding-block:48px}
 .network-section-head{gap:16px;margin-bottom:28px}
 .curriculum-track-grid h3,.curriculum-layers h3,.curriculum-flow h3,.curriculum-cycle-grid h3{font-size:22px}
 .branch-facts{font-size:14px}.branch-booking-note{font-size:14px!important}
 .network-hero-content>p:not(.network-lead):not(.network-eyebrow){font-size:16px}
 .network-section-head>p,.intro-entry-copy p,.hub-card p{font-size:16px}
 .network-hero h1{font-size:clamp(60px,17vw,92px)}
 .network-hero h1.brand-slogan{font-size:clamp(32px,8.7vw,42px)}
 .branch-preparing .branch-kakao{display:flex;justify-content:center;text-align:center;font-size:16px}
 .branch-preparing .text-link{display:inline-block;margin:16px 0}
}
.curriculum-philosophy .network-section-head>p,.curriculum-philosophy .curriculum-layers p{color:#494b43}
.news-heading h1{font-size:var(--type-title);line-height:1.25;letter-spacing:-.035em}
.news-heading>p:last-child{font-size:16px}
.news-filters a,.news-search button,.news-result{font-size:14px}
.news-row .news-category,.news-row time{font-size:12px}

.branch-social a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:500}.branch-social svg{flex-shrink:0}

/* Opening actions need their own layout, not adjacent inline links. */
.branch-opening-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:28px}
.branch-preparing .branch-opening-actions>a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:56px;padding:16px 22px;margin:0;font-size:16px;line-height:1.5;text-align:center;text-decoration:none;white-space:normal}
.branch-preparing .branch-opening-actions>.branch-opening-consult{font-weight:500}
.branch-preparing .branch-opening-other{display:table;margin:24px 0 0;padding:8px 0;background:transparent;color:inherit;font-size:14px;font-weight:500}
@media(max-width:700px){.branch-opening-actions{flex-direction:column;gap:12px;margin-top:24px}.branch-preparing .branch-opening-actions>a{width:100%;padding:16px 12px}.branch-preparing .branch-opening-other{margin-top:20px}}

/* Main site: visitors choose a branch before branch-specific information. */
.home-branch-access{max-width:1440px;margin:auto;padding:28px 6%;display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:center;border-bottom:1px solid #2A2A27}
.home-branch-access-heading h2{font-size:20px;margin:0 0 5px;line-height:1.4}
.home-branch-access-heading p{font-size:14px;color:#b8b8af;margin:0}
.home-branch-access-links{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.home-branch-access-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #56564d}
.home-branch-access-links strong{display:block;font-size:18px;font-weight:600}
.home-branch-access-links small{display:block;font-size:14px;color:#b8b8af;margin-top:4px;line-height:1.6}
.home-branch-access-links a:hover,.home-branch-access-links a:focus-visible{border-color:#E43522;color:#E43522}
@media(max-width:700px){.home-branch-access{padding:24px;grid-template-columns:1fr;gap:14px}.home-branch-access-links{grid-template-columns:1fr;gap:0}.home-branch-access-links a{min-height:72px}.home-branch-access-heading h2{font-size:18px}}

.curriculum-shared-actions{margin-top:28px;align-items:center;gap:24px}
