:root {
  --navy: #063263;
  --royal: #0046c7;
  --teal: #13c7c5;
  --sky: #90dce9;
  --paper: #f4f5fb;
  --ink: #111b3b;
  --muted: #6f6270;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; padding-top: 112px; color: var(--ink); background: var(--paper); font-family: "Arial Narrow", "Noto Sans KR", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.page-shell { width: min(1120px, calc(100% - 48px)); margin: 0 auto; }
.section { padding: 96px 0; scroll-margin-top: 120px; }
.centered { text-align: center; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 100; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(6,50,99,.12); box-shadow: 0 7px 24px rgba(7,27,58,.08); backdrop-filter: blur(14px); }
.notice-bar { min-height: 27px; padding: 6px max(24px,calc((100% - 1120px)/2)); background: var(--navy); color: #fff; font-size: 12px; letter-spacing: .02em; }
.header-row { width: min(1120px,calc(100% - 48px)); min-height: 85px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.brand { display: flex; align-items: center; gap: 13px; }
.brand img { width: 62px; height: 62px; object-fit: contain; }
.brand-logo { position: relative; display: block; flex: 0 0 auto; width: 62px; height: 62px; }
.brand-logo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.brand-globe { z-index: 0; }
.brand-emblem { z-index: 1; }
.brand strong { color: var(--navy); font-size: 20px; line-height: .92; letter-spacing: -.3px; }
.brand small { display: block; margin-top: 6px; font-size: 11px; white-space: nowrap; }
nav { display: flex; align-items: center; gap: 10px; }
nav a { color: var(--navy); font-weight: 850; font-size: 16px; padding: 11px 15px; border-radius: 999px; transition: background .2s,color .2s,transform .2s; }
nav a:hover { background: #e5f8fa; color: var(--royal); transform: translateY(-1px); }
nav a[aria-current="page"] { background: var(--navy); color: #fff; }
.menu-toggle { display: none; width: 46px; height: 46px; border: 0; border-radius: 13px; background: #e7f7f9; padding: 11px; cursor: pointer; }
.menu-toggle > span:not(.sr-only) { display: block; height: 2px; margin: 5px 0; border-radius: 2px; background: var(--navy); transition: transform .2s,opacity .2s; }
.hero { min-height: 650px; overflow: hidden; position: relative; background: linear-gradient(130deg,#67e2d5 0%,#b9eef1 47%,#8ccce7 100%); }
.hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 70% 36%,rgba(255,255,255,.65),transparent 34%); mix-blend-mode: soft-light; }
.hero-inner { position: relative; min-height: 650px; display: flex; align-items: center; z-index: 2; }
.hero-copy { max-width: 780px; }
.eyebrow { display: none; }
.hero h1 { margin: 0; color: #fff; font-size: clamp(54px,6vw,82px); letter-spacing: -3px; line-height: .98; }
.hero h2 { color: #fff; font-size: clamp(29px,3vw,42px); line-height: 1.25; margin: 30px 0; }
.mission { font-size: clamp(18px,2vw,25px); margin: 0 0 42px; }
.hero-mark { position: absolute; width: 330px; aspect-ratio: 1; right: -52px; bottom: -15px; pointer-events: none; }
.hero-mark img { position: absolute; object-fit: contain; }
.hero-house { inset: 0; width: 100%; height: 100%; opacity: .83; filter: brightness(0) invert(1); }
.hero-sparkle-center { left: 43%; top: 1%; width: 17%; }
.hero-sparkle-a { left: 11%; top: 44%; width: 18%; }
.hero-sparkle-b { left: 43%; top: 26%; width: 22%; }
.hero-sparkle-c { left: 68%; top: 53%; width: 16%; }
.pill { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; border-radius: 999px; padding: 0 28px; font-weight: 900; font-size: 16px; box-shadow: inset 0 0 0 2px rgba(0,0,0,.15),0 2px 3px rgba(0,0,0,.16); }
.silver { background: linear-gradient(#fff,#e4e5e8); color: var(--navy); border: 3px solid rgba(255,255,255,.8); }
.yellow { background: linear-gradient(#fff244,#e6cc00); color: #111; font-size: 12px; }
.about { background: #f4f5fb; }
.about-grid { display: grid; grid-template-columns: 1.55fr .95fr; gap: 90px; }
.section-kicker { margin: 0 0 26px; color: #049ca8; font-size: clamp(30px,4vw,46px); font-weight: 950; letter-spacing: -.8px; }
.section-kicker.blue { color: var(--royal); }
.section-kicker.dark { color: #0d1c3d; font-size: clamp(42px,5vw,68px); line-height: 1.03; }
.about h2,.books h2 { color: #77666b; font-size: 28px; }
.lead-copy { font-size: 19px; line-height: 1.7; color: #6d6264; }
.button-row { display: flex; gap: 16px; margin-top: 32px; }
.why h3 { color: #77666b; margin: 0 0 28px; font-size: 23px; }
.why article { display: flex; gap: 14px; margin: 0 0 24px; }
.feature-dot { color: #2bcbd4; font-size: 36px; line-height: 1; }
.why h4 { color: #77666b; font-size: 19px; margin: 0 0 5px; }
.why p { margin: 0; color: #807579; line-height: 1.45; }
.feedback { background: #95deea; }
.feedback-intro { font-size: 20px; line-height: 1.7; }
.quotes { display: grid; grid-template-columns: repeat(3,1fr); gap: 38px; margin: 58px 0; }
.quotes blockquote { margin: 0; min-height: 155px; border-radius: 34px; background: rgba(255,255,255,.88); padding: 35px 30px; display: flex; flex-direction: column; justify-content: center; font-size: 18px; line-height: 1.55; }
.quotes strong { color: var(--navy); margin-top: 13px; }
.student-video { font-size: 21px; }
.watch { display: inline-block; margin-top: 16px; padding: 14px 25px; background: #ff2630; color: #fff; border-radius: 999px; font-weight: 900; font-size: 20px; }
.contact { background: #f4f5fb; }
.contact-grid { display: grid; grid-template-columns: 1.55fr .85fr; gap: 70px; align-items: center; }
.photo-grid { display: grid; grid-template-columns: repeat(2,1fr); column-gap: 18px; row-gap: 28px; }
.photo-grid img { width: 100%; aspect-ratio: 1.95/1; object-fit: cover; }
.photo-grid img:nth-child(2) { object-position: center top; }
.contact-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.contact-copy h2 { font-size: 45px; margin: 0; }
.contact-copy h3 { margin: 27px 0 6px; font-size: 18px; }
.contact-copy p,.contact-copy a { line-height: 1.6; }
.contact-icon { width: 50px; height: 52px; object-fit: contain; flex: 0 0 auto; }
.socials { display: flex; gap: 15px; margin-top: 13px; }
.socials a { width: 46px; height: 46px; color: #fff; display: grid; place-items: center; border-radius: 14px; font-weight: 900; font-size: 24px; }
.socials .blog { background: #2ec718; font-size: 15px; }
.socials .blog img { width: 46px; height: 46px; object-fit: contain; }
.socials .facebook { background: #3d61a3; border-radius: 50%; }
.socials .instagram { background: linear-gradient(45deg,#ff8a00,#e51c66,#6746d5); border-radius: 13px; }
.staff { background: radial-gradient(circle at 30% 40%,#dcffb8,transparent 33%),linear-gradient(125deg,#fff 20%,#b9f1e2 58%,#9fe6ed 100%); }
.staff-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; }
.staff h2 { color: var(--royal); font-size: 37px; }
.staff h3 { font-size: 24px; }
.staff li { margin: 10px 0; line-height: 1.5; }
.staff-portrait { position: relative; align-self: end; }
.staff-portrait p { background: #fa5966; color: #fff; padding: 22px; border: 5px solid #fff; border-radius: 30px; font-weight: 800; text-align: center; }
.staff-portrait img { max-height: 520px; margin: 0 auto; object-fit: contain; }
.programs { background: #fff; }
.section-title { font-size: clamp(30px,4vw,48px); margin: -10px 0 52px; }
.program-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.program-card { padding: 30px 24px; border-radius: 28px; background: linear-gradient(160deg,#dcfbff,#f4f5fb); border: 1px solid #c7e9ed; min-height: 330px; }
.program-card>span { color: var(--teal); font-size: 40px; font-weight: 900; }
.program-card h3 { color: var(--navy); font-size: 21px; }
.program-card h4 { color: var(--royal); }
.program-card p { line-height: 1.55; }
.program-story { margin: 0 0 45px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 50px; align-items: stretch; background: var(--navy); color: #fff; border-radius: 34px; overflow: hidden; padding-left: 50px; }
.program-story > div { padding: 28px 0; align-self: center; }
.program-story h3 { font-size: 36px; }
.program-story p { font-size: 18px; line-height: 1.7; }
.program-story img { height: 100%; min-height: 420px; width: 100%; object-fit: cover; }
.program-highlights { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 36px 0 78px; }
.program-highlights span { background: var(--navy); color: #fff; border-radius: 999px; padding: 12px 20px; font-weight: 800; }
.immersion-title { margin-bottom: 24px; }
.immersion-intro,.resource-intro,.level-test-copy { font-size: 18px; line-height: 1.7; }
.immersion-intro { max-width: 980px; margin: 0 0 42px; }
.immersion-grid,.resource-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.immersion-grid article,.resource-grid article { background: #f3f7fb; border-radius: 25px; overflow: hidden; padding-bottom: 24px; }
.immersion-grid img,.resource-grid img { width: 100%; aspect-ratio: 1.55/1; object-fit: cover; }
.immersion-grid h3,.immersion-grid h4,.immersion-grid p,.resource-grid h3,.resource-grid p,.resource-grid span { margin-left: 24px; margin-right: 24px; }
.immersion-grid h3 { font-size: 25px; margin-top: 8px; }
.immersion-grid h4 { color: var(--royal); }
.tuition { text-align: center; margin: 36px 0 0; color: #676a79; }
.programs-page { background: #dceaf9; }
.regular-programs { background: #dceaf9; padding-top: 78px; }
.regular-programs .section-kicker { margin-bottom: 16px; font-size: clamp(44px,5vw,66px); color: var(--navy); }
.program-page-title { margin: 0 0 14px; color: var(--navy); font-size: clamp(30px,3vw,42px); }
.regular-copy { max-width: 1080px; color: #13375f; font-size: 18px; line-height: 1.55; }
.regular-copy p { margin: 8px 0; }
.program-contact { width: fit-content; display: flex; align-items: center; gap: 8px; margin: 22px 0 26px; padding: 7px 24px; color: var(--navy); background: linear-gradient(#fff,#edf0f5); border-radius: 999px; box-shadow: inset 0 0 10px rgba(6,50,99,.15); }
.program-contact img { width: 48px; height: 48px; object-fit: contain; }
.program-contact span,.program-contact small,.program-contact strong { display: block; }
.program-contact small { font-size: 14px; font-weight: 800; }
.program-contact strong { font-size: 26px; letter-spacing: .02em; }
.original-program-grid .program-card { position: relative; overflow: hidden; min-height: 300px; padding: 40px 22px 28px; color: #fff; background: #073fb5; border: 0; }
.original-program-grid .program-card h2 { position: relative; z-index: 1; max-width: 72%; margin: 8px 0 28px; color: #fff; font-size: 29px; }
.original-program-grid .program-card h3 { position: relative; z-index: 1; margin: 0 0 10px; color: #fff; font-size: 16px; }
.original-program-grid .program-card p { position: relative; z-index: 1; margin: 0; color: #fff; }
.program-icon { position: absolute; z-index: 0; top: 16px; right: 8px; width: 105px; height: 105px; object-fit: contain; }
.original-program-grid article:nth-child(2) .program-icon { width: 118px; height: 118px; right: -5px; }
.original-program-grid article:nth-child(3) .program-icon { width: 100px; height: 100px; }
.original-program-grid article:nth-child(4) .program-icon { width: 106px; height: 106px; }
.original-highlights { margin: 28px 0 0; text-align: center; color: #101827; font-size: clamp(18px,2.2vw,27px); font-weight: 900; }
.immersion-overview { background: #073fb5; color: #fff; }
.immersion-overview h2 { margin: 0 0 45px; color: #fff; font-size: clamp(36px,4vw,52px); }
.immersion-overview .immersion-intro { max-width: 1080px; margin-bottom: 54px; color: #fff; font-size: 20px; }
.immersion-menu { display: grid; grid-template-columns: repeat(3,1fr); gap: 48px; }
.immersion-menu > a { min-height: 210px; display: grid; grid-template-columns: 86px 1fr; align-items: start; gap: 16px; padding: 25px; color: var(--navy); background: #e7f1ff; border-radius: 28px; transition: transform .2s,box-shadow .2s; }
.immersion-menu > a:hover { transform: translateY(-5px); box-shadow: 0 18px 35px rgba(0,0,0,.2); }
.immersion-menu img { width: 86px; height: 86px; object-fit: contain; }
.immersion-menu > a:first-child > img { padding: 11px; background: #ff7d35; border-radius: 50%; }
.immersion-menu h3 { margin: 6px 0 4px; font-size: 24px; }
.immersion-menu h4 { margin: 0; font-size: 15px; }
.immersion-menu p { margin: 2px 0 20px; font-weight: 800; }
.immersion-menu span { display: inline-block; padding: 8px 13px; color: #fff; background: linear-gradient(90deg,#17b7c3,#006ccc); border-radius: 10px; font-size: 13px; font-weight: 900; }
.immersion-detail { scroll-margin-top: 110px; background: linear-gradient(135deg,#66d7ef,#61cbed); }
.game-detail { color: #fff; background: #073fb5; }
.film-detail { background: linear-gradient(135deg,#75d8ee,#bceef5); }
.immersion-detail-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; }
.detail-card { padding: 40px; background: rgba(255,255,255,.94); border-radius: 32px; }
.detail-heading { display: flex; align-items: center; gap: 18px; }
.detail-heading img { width: 92px; height: 92px; object-fit: contain; }
.chef-detail .detail-heading img { padding: 12px; background: #ff7d35; border-radius: 50%; }
.detail-heading h2 { margin: 0; color: var(--navy); font-size: clamp(34px,4vw,48px); }
.detail-card h3 { margin: 30px 0; color: var(--navy); font-size: 30px; line-height: 1.18; }
.detail-card p { color: #17416e; font-size: 18px; line-height: 1.6; }
.detail-card a { font-weight: 900; }
.detail-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: center; }
.detail-gallery img { width: 100%; aspect-ratio: 1.2/1; object-fit: contain; }
.detail-gallery img:last-child { transform: translateY(42px); }
.detail-description { margin-top: 55px; padding: 30px 36px; color: #123a63; background: rgba(255,255,255,.9); border-radius: 25px; font-size: 18px; line-height: 1.75; }
.game-original-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: start; gap: clamp(48px,6vw,84px); }
.game-card-column { min-width: 0; }
.game-card { min-height: 590px; padding: 42px 44px; background: #fff; }
.game-card .detail-heading img { width: 96px; height: 96px; }
.game-card .detail-heading h2 { font-size: clamp(38px,4vw,54px); }
.game-card h3 { margin: 42px 0 34px; color: #a8b6c3; font-size: clamp(28px,3vw,39px); }
.game-card .game-invite { color: #152e52; font-size: 19px; line-height: 1.75; }
.game-schedule { margin-top: 44px; }
.game-schedule p { margin: 5px 0; color: #152e52; font-size: 18px; }
.back-programs { display: inline-flex; margin-top: 28px; padding: 12px 23px; color: #073fb5; background: #fff; border-radius: 999px; font-size: 13px; font-weight: 900; letter-spacing: .04em; }
.game-right-column { min-width: 0; }
.game-photo-stack { position: relative; min-height: 500px; margin: 18px 0 30px; }
.game-photo-stack img { position: absolute; width: 72%; max-width: 440px; aspect-ratio: 4/3; object-fit: cover; border: 9px solid #fff; box-shadow: 0 18px 40px rgba(0,19,81,.3); }
.game-photo-stack img:first-child { top: 0; left: 0; transform: rotate(-5deg); }
.game-photo-stack img:last-child { right: 0; bottom: 0; transform: rotate(5deg); }
.game-description { margin: 0; color: #fff; font-size: 18px; line-height: 1.75; }
.film-visual { display: grid; place-items: center; }
.film-visual img { width: min(380px,75%); }
.tuition-section { position: relative; overflow: hidden; min-height: 730px; padding: 62px 0 440px; color: #061c39; background: linear-gradient(135deg,#f2fbff 0%,#dceff7 54%,#c5e4ed 100%); }
.tuition-section::after { content: ""; position: absolute; z-index: 0; right: 0; bottom: 0; left: 0; height: 430px; background: url("assets/tuition-original.jpg") center bottom/cover no-repeat; }
.tuition-section::before { content: ""; position: absolute; z-index: 1; right: 0; bottom: 390px; left: 0; height: 75px; background: linear-gradient(to bottom,#d7ebf3 0%,rgba(215,235,243,0) 100%); pointer-events: none; }
.tuition-content { position: relative; z-index: 2; }
.tuition-eyebrow { margin: 0 0 7px; color: #087c9c; font-size: 13px; font-weight: 900; letter-spacing: .16em; }
.tuition-content h2 { margin: 0 0 24px; color: #061c39; font-size: clamp(34px,4vw,48px); }
.tuition-rates { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; max-width: 790px; }
.tuition-rate { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 112px; padding: 22px 26px; background: rgba(255,255,255,.94); border: 1px solid rgba(7,63,181,.1); border-radius: 20px; box-shadow: 0 14px 34px rgba(16,72,99,.12); }
.tuition-rate strong { color: #11375e; font-size: 17px; line-height: 1.35; }
.tuition-rate span { flex: 0 0 auto; color: #073fb5; font-size: clamp(23px,2.4vw,31px); font-weight: 900; letter-spacing: -.035em; }
.tuition-rate small { font-size: .55em; letter-spacing: 0; }
.books { background: linear-gradient(120deg,#daf7ee,#d6eefc); }
.books-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.books-grid img { width: 100%; max-height: 420px; object-fit: cover; border-radius: 36px; }
.books p { font-size: 19px; line-height: 1.7; }
.level-test { margin-top: 32px; }
.level-test h3 { color: var(--navy); font-size: 26px; margin-bottom: 8px; }
.coming { display: inline-block; background: #ff5260; color: #fff; font-weight: 900; padding: 13px 22px; border-radius: 999px; margin-top: 16px; }
.resources { background: linear-gradient(135deg,#24d7c4,#84dced); }
.resource-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: -20px 0 45px; }
.resource-tags span { background: rgba(255,255,255,.8); border-radius: 999px; padding: 9px 16px; font-weight: 800; }
.resource-intro { max-width: 980px; margin: -12px 0 45px; }
.resource-grid article { background: rgba(255,255,255,.9); }
.resource-grid h3 { font-size: 24px; }
.resource-grid p { line-height: 1.55; }
.resource-grid span { color: #ff4456; font-weight: 900; }
.faqs { background: #fff; }
.article-subtitle { color: var(--royal); font-size: 21px; font-weight: 900; margin: -30px 0 34px; }
.article-guide { display: flex; align-items: center; flex-wrap: wrap; margin: -14px 0 32px; color: #647086; font-size: 14px; }
.guide-dot { width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; }
.guide-dot.english { background: #073fb5; }
.guide-dot.korean { background: #20a550; }
.faq-news-visual { position: relative; overflow: hidden; width: min(640px,100%); margin: 0 0 48px; padding: 9px; background: #9ce3ed; border-radius: 22px; }
.faq-news-visual img { display: block; width: 100%; aspect-ratio: 2.55/1; object-fit: cover; border-radius: 15px; }
.faq-news-visual strong { position: absolute; top: 26px; left: 68px; color: #ffe75b; font-size: 14px; text-shadow: 0 2px 4px rgba(0,0,0,.5); }
.article-grid { display: grid; grid-template-columns: 1fr; gap: 0; overflow: hidden; border-radius: 28px; }
.article-card { position: relative; display: flex; flex-direction: column; min-height: 210px; padding: 38px 42px 38px 330px; background: #fff; border: 0; border-bottom: 1px solid rgba(7,43,88,.08); transition: filter .2s; }
.article-card:nth-child(n+4):nth-child(-n+6) { background: #c8edf3; }
.article-card:nth-child(n+7) { background: #0794b4; }
.article-card:nth-child(3),.article-card:nth-child(6),.article-card:nth-child(9) { border-bottom: 12px solid #fff; }
.article-card:hover { filter: brightness(.985); }
.article-card::before,.article-card::after { content: ""; position: absolute; top: 50%; left: 42px; width: 240px; height: 156px; transform: translateY(-50%); background-position: center; background-size: cover; background-repeat: no-repeat; border-radius: 16px; }
.article-card:nth-child(1)::before { background-image: url("assets/9ad1687bd6930a53.jpg"); }
.article-card:nth-child(2)::before { background-image: url("assets/d1424d72b89047b2.jpg"); }
.article-card:nth-child(3)::before { background-image: url("assets/352cc6f50551f23d.jpg"); }
.article-card:nth-child(4)::before { background-image: url("assets/b2c2fa059d5082a5.jpg"); }
.article-card:nth-child(5)::before { background-image: url("assets/7d684aa29ea1db2d.jpg"); }
.article-card:nth-child(6)::before { background-image: url("assets/7078e5de4bc96b43-educentral-mark.jpg"); }
.article-card:nth-child(7)::before { width: 120px; background-image: url("assets/432daeeca18f6a16.jpg"); border-radius: 16px 0 0 16px; }
.article-card:nth-child(7)::after { left: 162px; width: 120px; background-image: url("assets/051462f0089adb9d.jpg"); border-radius: 0 16px 16px 0; }
.article-card:nth-child(8)::before { background-image: url("assets/10fde0ff71a60907.jpg"); }
.article-card:nth-child(9)::before { background-image: url("assets/760fec12011fdfd1.jpg"); }
.article-grid h3 { margin: 10px 0 6px; color: var(--navy); font-size: 21px; line-height: 1.3; }
.article-grid p { margin: 0; color: #284760; line-height: 1.5; }
.article-card:nth-child(n+7) h3,.article-card:nth-child(n+7) p { color: #fff; }
.article-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: auto; padding-top: 20px; }
.article-link { position: relative; min-width: 122px; padding: 9px 30px 9px 13px; color: #e9323d; background: #fff; border: 1px solid rgba(7,43,88,.08); border-radius: 10px; transition: transform .2s,box-shadow .2s; }
.article-link:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(7,43,88,.16); }
.article-link.english { color: #e9323d; background: #d6f4f7; }
.article-link.korean { color: #e9323d; background: #fff; }
.article-link small,.article-link strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.article-link small { margin-bottom: 2px; color: #274968; font-size: 9px; font-weight: 800; opacity: .76; letter-spacing: .08em; }
.article-link strong { font-size: 13px; }
.article-link b { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); font-size: 16px; }
.article-note { margin: 22px 0 0; color: #757e8e; font-size: 13px; }
.inner-page { min-height: calc(100vh - 112px); }
.page-hero { position: relative; overflow: hidden; padding: 86px 0 82px; color: #fff; background: linear-gradient(130deg,#063263,#087f99 60%,#28c7bf); }
.page-hero::after { content: ""; position: absolute; width: 420px; height: 420px; right: -110px; top: -170px; border: 70px solid rgba(255,255,255,.09); border-radius: 50%; }
.page-hero .page-shell { position: relative; z-index: 1; }
.page-eyebrow { margin: 0 0 16px; color: #8ff6ef; font-size: 15px; font-weight: 900; letter-spacing: .14em; }
.page-hero h1 { max-width: 850px; margin: 0; font-size: clamp(42px,5vw,68px); line-height: 1.08; letter-spacing: -2px; }
.page-hero p:last-child { max-width: 760px; margin: 25px 0 0; font-size: 20px; line-height: 1.65; }
.books-hero { background: linear-gradient(130deg,#075b73,#18a8aa 58%,#8bdcc9); }
.resources-hero { background: linear-gradient(130deg,#063263,#0066c7 56%,#13c7c5); }
.faqs-hero { color: var(--navy); background: #99dfe9; }
.faqs-hero::after { display: none; }
.faqs-hero .page-eyebrow { color: #075bb8; }
.faqs-hero h1,.faqs-hero p:last-child { color: var(--navy); }
.page-cta { background: #082d58; color: #fff; padding: 54px 0; }
.page-cta .page-shell { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.page-cta p { margin: 0 0 7px; color: #90e8e2; font-weight: 800; }
.page-cta h2 { margin: 0; font-size: clamp(25px,3vw,36px); }
footer { background: #071b3a; color: #fff; padding: 44px 0; }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: 55px; align-items: center; }
footer .brand strong,footer .brand small { color: #fff; }
footer .brand img { width: 78px; height: 78px; }
footer a,footer p { display: block; margin: 7px 0; }
.back-top { background: #e9323d; color: #fff; padding: 13px 22px; border-radius: 999px; font-weight: 900; }

@media (max-width: 900px) {
  .header-row { width: min(100% - 30px,760px); }
  nav { gap: 2px; }
  nav a { font-size: 13px; padding: 9px 8px; }
  .about-grid,.contact-grid,.staff-grid,.books-grid { grid-template-columns: 1fr; }
  .program-grid { grid-template-columns: repeat(2,1fr); }
  .program-story { grid-template-columns: 1fr; padding: 35px 35px 0; }
  .quotes,.article-grid { grid-template-columns: 1fr; }
  .immersion-menu { grid-template-columns: 1fr; gap: 20px; }
  .immersion-menu > a { min-height: 0; }
  .immersion-detail-grid { grid-template-columns: 1fr; gap: 42px; }
  .game-original-grid { grid-template-columns: 1fr; gap: 50px; }
  .game-card { min-height: 0; }
  .game-photo-stack { width: min(100%,680px); margin-inline: auto; }
}

@media (max-width: 760px) {
  body { padding-top: 91px; }
  .page-shell { width: min(100% - 30px,520px); }
  .section { padding: 72px 0; }
  .notice-bar { min-height: 23px; padding: 4px 15px; font-size: 10px; }
  .header-row { min-height: 68px; }
  .brand img,.brand-logo { width: 48px; height: 48px; }
  .brand strong { font-size: 16px; }
  .brand small { display: none; }
  .menu-toggle { display: block; }
  nav { position: absolute; left: 15px; right: 15px; top: calc(100% + 8px); display: grid; gap: 5px; padding: 12px; background: rgba(255,255,255,.98); border: 1px solid #d9e7ee; border-radius: 18px; box-shadow: 0 18px 45px rgba(7,27,58,.18); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s,transform .2s,visibility .2s; }
  nav a { padding: 12px 15px; font-size: 15px; }
  .menu-open nav { opacity: 1; visibility: visible; transform: translateY(0); }
  .menu-open .menu-toggle > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-open .menu-toggle > span:nth-child(2) { opacity: 0; }
  .menu-open .menu-toggle > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .hero { min-height: 690px; }
  .hero-inner { min-height: 690px; align-items: flex-start; }
  .hero-copy { padding-top: 95px; }
  .hero h1 { font-size: 50px; letter-spacing: -2px; }
  .hero h2 { font-size: 27px; }
  .mission { font-size: 17px; }
  .hero-mark { width: 220px; right: -65px; bottom: -35px; }
  .about-grid { gap: 55px; }
  .quotes,.immersion-grid,.resource-grid,.article-grid,.program-grid { grid-template-columns: 1fr; }
  .faq-news-visual { margin-bottom: 35px; }
  .faq-news-visual strong { top: 20px; left: 34px; font-size: 11px; }
  .article-grid { border-radius: 20px; }
  .article-card { min-height: 0; padding: 205px 22px 28px; }
  .article-card::before,.article-card::after { top: 24px; left: 22px; width: calc(100% - 44px); height: 158px; transform: none; }
  .article-card:nth-child(7)::before { left: 22px; width: calc(50% - 22px); }
  .article-card:nth-child(7)::after { left: 50%; width: calc(50% - 22px); }
  .article-actions { gap: 8px; }
  .article-link { flex: 1 1 120px; }
  .button-row { align-items: flex-start; flex-direction: column; }
  .photo-grid { grid-template-columns: repeat(2,1fr); column-gap: 8px; row-gap: 12px; }
  .contact-copy h2 { font-size: 38px; }
  .staff-grid { gap: 25px; }
  .staff-portrait { overflow: hidden; }
  .staff-portrait img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 420px;
    object-fit: contain;
    object-position: center;
  }
  .program-story { padding: 25px 25px 0; }
  .program-story > div { padding: 0; }
  .program-story img { min-height: 0; height: 280px; }
  .program-highlights { align-items: stretch; flex-direction: column; margin-bottom: 58px; text-align: center; }
  .regular-programs { padding-top: 60px; }
  .regular-copy { font-size: 16px; }
  .program-contact { padding: 6px 16px; }
  .program-contact strong { font-size: 21px; }
  .original-program-grid .program-card { min-height: 275px; }
  .original-highlights { line-height: 1.7; }
  .immersion-overview .immersion-intro { font-size: 17px; }
  .immersion-menu > a { grid-template-columns: 70px 1fr; padding: 22px; }
  .immersion-menu img { width: 70px; height: 70px; }
  .detail-card { padding: 28px 24px; }
  .detail-heading img { width: 70px; height: 70px; }
  .detail-card h3 { font-size: 25px; }
  .detail-gallery { gap: 8px; }
  .detail-gallery img:last-child { transform: translateY(20px); }
  .detail-description { margin-top: 38px; padding: 24px; font-size: 16px; }
  .game-card { padding: 28px 24px; }
  .game-card h3 { margin: 30px 0 24px; }
  .game-card .game-invite,.game-schedule p,.game-description { font-size: 16px; }
  .game-schedule { margin-top: 30px; }
  .game-photo-stack { min-height: 390px; margin-top: 0; }
  .game-photo-stack img { width: 76%; border-width: 6px; }
  .tuition-section { min-height: 840px; padding: 50px 0 390px; }
  .tuition-section::after { height: 365px; background-position: center bottom; }
  .tuition-section::before { bottom: 330px; }
  .tuition-content h2 { margin-bottom: 20px; }
  .tuition-rates { grid-template-columns: 1fr; gap: 12px; }
  .tuition-rate { min-height: 94px; padding: 18px 20px; }
  .tuition-rate strong { font-size: 15px; }
  .tuition-rate span { font-size: 24px; }
  .page-hero { padding: 66px 0 62px; }
  .page-hero h1 { font-size: 39px; letter-spacing: -1.4px; }
  .page-hero p:last-child { font-size: 17px; }
  .page-cta .page-shell { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
}
