Commit 2bdc6e85 authored by tao355667's avatar tao355667

feat: refine Qiyouxue colors and typography

parent b80c7dca
......@@ -10,6 +10,7 @@
"dependencies": {
"@astrojs/node": "9.5.5",
"@astrojs/sitemap": "^3.7.3",
"@fontsource-variable/noto-sans-sc": "5.3.0",
"astro": "5.18.2",
"gray-matter": "^4.0.3",
"mammoth": "^1.12.0",
......@@ -741,6 +742,15 @@
"node": ">=18"
}
},
"node_modules/@fontsource-variable/noto-sans-sc": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/@fontsource-variable/noto-sans-sc/-/noto-sans-sc-5.3.0.tgz",
"integrity": "sha512-lNar1dF7Ik/lHNPo/7JWG0TolXY29LtsqYgMvEysooZ5bsO9uH4shJmRrwyJ3PjyTPljhpMJEK0jDuLSU4vJ1w==",
"license": "OFL-1.1",
"funding": {
"url": "https://github.com/sponsors/ayuhito"
}
},
"node_modules/@img/colour": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz",
......
......@@ -21,6 +21,7 @@
"dependencies": {
"@astrojs/node": "9.5.5",
"@astrojs/sitemap": "^3.7.3",
"@fontsource-variable/noto-sans-sc": "5.3.0",
"astro": "5.18.2",
"gray-matter": "^4.0.3",
"mammoth": "^1.12.0",
......
:root {
--primary: #1473E6;
--primary-dark: #073B83;
--deep: #103C5B;
--primary-dark: #1473E6;
--deep: #0E61C8;
--light: #F1F7FF;
--bg: #FCFDFC;
--surface: #fff;
......@@ -33,13 +33,13 @@ button, .button { min-height: 40px; padding: 0 17px; display: inline-flex; align
#captcha-image { width: 132px; height: 46px; flex: 0 0 auto; cursor: pointer; background: var(--light); border: 1px solid var(--border); border-radius: 9px; }
input, textarea, select { width: 100%; padding: 11px 13px; color: var(--text); background: white; border: 1px solid var(--border); border-radius: 9px; }
input:focus, textarea:focus, select:focus { outline: 2px solid rgba(20,115,230,.14); border-color: var(--primary); }
.topbar { min-height: 68px; padding: 12px 28px; position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 22px; color: white; background: #4F94D4; }
.topbar { min-height: 68px; padding: 12px 28px; position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 22px; color: white; background: var(--primary); }
.topbar > div:first-child { display: flex; align-items: center; gap: 13px; }
.topbar strong { color: var(--primary); font-size: 19px; }
.topbar span { font-size: 13px; opacity: .76; }
.top-actions { display: flex; align-items: center; gap: 9px; }
.topbar .ghost { color: white; border-color: rgba(255,255,255,.24); }
.pending-badge { padding: 5px 10px; color: #9fd8ff; background: rgba(67,183,232,.12); border: 1px solid rgba(67,183,232,.3); border-radius: 999px; }
.pending-badge { padding: 5px 10px; color: #cfe2ff; background: rgba(20,115,230,.12); border: 1px solid rgba(20,115,230,.3); border-radius: 999px; }
.view { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 44px 0 70px; }
.view-head { margin-bottom: 26px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.view-head p { margin: 0 0 5px; color: var(--primary-dark); font-size: 11px; font-weight: 700; letter-spacing: .16em; }
......@@ -55,7 +55,7 @@ input:focus, textarea:focus, select:focus { outline: 2px solid rgba(20,115,230,.
.status { padding: 2px 8px; border-radius: 999px; }
.status.live { color: #0D966A; background: #DFF8EE; }
.status.new-draft { color: #145da8; background: #eaf3ff; }
.status.edited-draft { color: #0d7794; background: #e8f9fc; }
.status.edited-draft { color: #145da8; background: #eaf3ff; }
.row-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.row-actions button:disabled { cursor: default; opacity: .48; transform: none; }
.row-more-actions summary { min-height: 34px; padding-inline: 13px; font-size: 12px; }
......
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="630" viewBox="0 0 1200 630">
<rect width="1200" height="630" fill="#FCFDFC"/>
<rect x="0" y="0" width="18" height="630" fill="#43D4E8"/>
<rect x="0" y="0" width="18" height="630" fill="#1473e6"/>
<rect x="740" y="70" width="360" height="490" rx="32" fill="#F1F7FF" stroke="#DCE8EF" stroke-width="2"/>
<circle cx="920" cy="245" r="96" fill="#1473E6"/>
<path d="M854 230h132M854 258h132M880 200l40-32 40 32" fill="none" stroke="#fff" stroke-width="15" stroke-linecap="round"/>
<circle cx="1010" cy="145" r="25" fill="#43D4E8"/>
<circle cx="1010" cy="145" r="25" fill="#1473e6"/>
<text x="82" y="118" fill="#1473E6" font-family="sans-serif" font-size="20" font-weight="700" letter-spacing="4">QIYOUXUE · 1 ON 1</text>
<text x="82" y="255" fill="#142033" font-family="sans-serif" font-size="76" font-weight="800">先看清问题</text>
<text x="82" y="355" fill="#1473E6" font-family="sans-serif" font-size="76" font-weight="800">再规划每一步</text>
<text x="82" y="442" fill="#526070" font-family="sans-serif" font-size="28">小学 · 初中 · 高中在线一对一个性化辅导</text>
<rect x="82" y="508" width="210" height="54" rx="9" fill="#43D4E8"/>
<rect x="82" y="508" width="210" height="54" rx="9" fill="#1473e6"/>
<text x="187" y="543" text-anchor="middle" fill="#142033" font-family="sans-serif" font-size="20" font-weight="700">启优学一对一</text>
</svg>
......@@ -3,7 +3,7 @@ import logo from "../../pic/启优学LOGO-白色透明.png";
import { site } from "../data/site";
---
<footer class="site-footer"><div class="container footer-grid">
<div class="footer-brand"><a href="/" class="footer-logo" aria-label="启优学首页"><img src={logo.src} width="1214" height="910" loading="lazy" alt="启优学一对一" /></a><p>优质师资直达,个性化辅导看得见。</p><div class="footer-tags"><span>小学</span><span>初中</span><span>高中</span></div></div>
<div class="footer-brand"><a href="/" class="footer-logo" aria-label="启优学首页"><img src={logo.src} width="1214" height="910" loading="lazy" alt="启优学一对一" /></a><p>优质师资直达,个性化辅导看得见。</p></div>
<div><h2>了解启优学</h2><a href="/about/">关于我们</a><a href="/methodology/">教学服务</a><a href="/articles/">学习资讯</a><a href="/faq/">常见问题</a></div>
<div><h2>学习需求</h2>{site.services.map((item) => <a href={`/services/${item.slug}/`}>{item.name}</a>)}</div>
<div class="footer-contact"><h2>课程咨询</h2><a class="footer-phone" href={`tel:${site.contact.phone}`}>{site.contact.phoneDisplay}</a><p>周一至周日 · 7×24 小时</p><a href={`mailto:${site.contact.email}`}>{site.contact.email}</a><a class="footer-arrow" href="/contact/">预约学情分析</a></div>
......
......@@ -85,7 +85,7 @@ export const site = {
faq: [
{ q: "启优学一对一是什么?", a: "启优学一对一是面向小学、初中、高中学生的在线一对一辅导品牌,主要提供小初高校内学科个性化辅导服务。课程以学情诊断为起点,根据年级、学科基础、教材版本、薄弱点和学习目标匹配教师。" },
{ q: "主要提供哪些课程?", a: "覆盖基础夯实、同步校内、偏科补弱、阶段复习、升学冲刺和拔高培优等学习场景。课程根据学生实际学情制定,不是统一模板课。" },
{ q: "覆盖哪些年级和科目?", a: "覆盖小学1—6年级、初中1—3年级和高中1—3年级,支持语文、数学、英语、物理、化学、生物、地理、道德与法治等常见校内学科。具体开课情况以咨询确认为准。" },
{ q: "覆盖哪些年级和科目?", a: "覆盖小学1-6年级、初中1-3年级和高中1-3年级,支持语文、数学、英语、物理、化学、生物、地理、道德与法治等常见校内学科。具体开课情况以咨询确认为准。" },
{ q: "可以只辅导一科吗?", a: "可以,尤其适合单科拖分、偏科明显或某一学科基础断层的学生。平台会先判断具体知识漏洞,再匹配对应学科教师,不强制多科打包。" },
{ q: "如何匹配教师?", a: "根据学生年级、学科、教材版本、当前基础、学习目标和沟通特点进行匹配。匹配成功后通常安排固定教师长期授课;如适配度明显不合适,可联系课程服务人员协助评估调整。" },
{ q: "课程如何开展?", a: "通过专属线上平台授课,支持课堂互动、课程回放和学习记录。课堂中教师会通过提问、作答和即时纠错检查理解情况。" },
......
---
import "../styles/global.css";
import "@fontsource-variable/noto-sans-sc";
import logo from "../../pic/启优学LOGO-透明.png";
import { getImage } from "astro:assets";
import { site } from "../data/site";
......
......@@ -12,7 +12,7 @@ const latest = (await getPublishedArticles()).slice(0, 3);
const jsonLd = [{ "@context": "https://schema.org", "@type": "Service", name: "启优学在线一对一个性化辅导", provider: { "@id": new URL("/#organization", Astro.site).href }, areaServed: { "@type": "Country", name: "中国" }, audience: { "@type": "EducationalAudience", educationalRole: "student" }, description: site.home.subhead }, { "@context": "https://schema.org", "@type": "FAQPage", mainEntity: site.faq.slice(0, 4).map((item) => ({ "@type": "Question", name: item.q, acceptedAnswer: { "@type": "Answer", text: item.a } })) }];
---
<Base title={site.seo.title} jsonLd={jsonLd}><Header /><main id="main-content">
<section class="home-hero"><div class="container home-hero__grid"><div class="home-hero__copy" data-reveal><div class="hero-label"><strong>小初高在线辅导</strong></div><h1>不是多上一节课<br /><em>是让每一步更适合孩子</em></h1><p>{site.home.subhead}</p><div class="hero__actions"><a class="button" href="/contact/">免费领取学情分析</a><a class="button button--outline" href="#workflow">了解学习流程</a></div><div class="hero__proof"><span>固定教师</span><span>互动课堂</span><span>课程回放</span><span>阶段复盘</span></div></div><div class="home-hero__visual" data-reveal><div class="image-frame"><Image src={heroImage} widths={[580, 760, 980]} sizes="(max-width: 760px) 100vw, 52vw" alt="启优学老师与学生在线一对一互动学习" format="webp" loading="eager" fetchpriority="high" /></div></div></div><div class="container stage-ruler" aria-label="覆盖学段"><span>小学 1—6 年级</span><i></i><span>初中 1—3 年级</span><i></i><span>高中 1—3 年级</span></div></section>
<section class="home-hero"><div class="container home-hero__grid"><div class="home-hero__copy" data-reveal><div class="hero-label"><strong>小初高在线辅导</strong></div><h1>不是多上一节课<br /><em>是让每一步更适合孩子</em></h1><p>{site.home.subhead}</p><div class="hero__actions"><a class="button" href="/contact/">免费领取学情分析</a><a class="button button--outline" href="#workflow">了解学习流程</a></div><div class="hero__proof"><span>固定教师</span><span>互动课堂</span><span>课程回放</span><span>阶段复盘</span></div></div><div class="home-hero__visual" data-reveal><div class="image-frame"><Image src={heroImage} widths={[580, 760, 980]} sizes="(max-width: 760px) 100vw, 52vw" alt="启优学老师与学生在线一对一互动学习" format="webp" loading="eager" fetchpriority="high" /></div></div></div><div class="container stage-ruler" aria-label="覆盖学段"><span>小学 1-6 年级</span><i></i><span>初中 1-3 年级</span><i></i><span>高中 1-3 年级</span></div></section>
<section class="stat-band"><div class="container stat-grid">{site.home.stats.map((stat) => <div data-reveal><strong>{stat.value}</strong><p>{stat.label}</p></div>)}</div><p class="data-note">师资数据来源于启优学一对一教务系统内部统计,截至 2026 年 7 月;相关数据会随师资及业务情况动态更新。</p></section>
......
......@@ -3,4 +3,4 @@ import Base from "../../layouts/Base.astro"; import Header from "../../component
const title = `学科辅导|${site.brand.name}`; const description = "启优学一对一覆盖基础巩固、偏科补弱、校内同步、阶段复习与升学冲刺等小初高学习需求。";
const jsonLd = { "@context": "https://schema.org", "@type": "ItemList", name: "启优学学科辅导", itemListElement: site.services.map((item, index) => ({ "@type": "ListItem", position: index + 1, name: item.name, url: new URL(`/services/${item.slug}/`, Astro.site).href })) };
---
<Base {title} {description} {jsonLd}><Header /><main id="main-content"><section class="page-hero"><div class="container page-hero__inner" data-reveal><div class="breadcrumb"><a href="/">首页</a> / 学科辅导</div><h1>同一个年级<br /><em>也应该有不同的学习路径</em></h1><p>覆盖小学、初中和高中常见校内学科。从当前基础、教材进度和具体问题出发,确定近期最需要解决的任务。</p></div></section><nav class="anchor-nav"><div class="container">{site.services.map((item) => <a href={`#${item.slug}`}>{item.name}</a>)}</div></nav><section class="section-pad section-blue"><div class="container service-list">{site.services.map((item) => <article id={item.slug} class="service-detail"><div class="service-detail__content" data-reveal><div class="service-detail__summary"><h2>{item.name}</h2><p class="lead">{item.intro}</p><a class="button button--outline" href={`/services/${item.slug}/`}>查看适配方式</a></div><div class="service-detail__delivery"><ul>{item.features.map((feature) => <li>{feature}</li>)}</ul><div class="capability-pills">{item.capabilities.map((capability) => <span>{capability.label}</span>)}</div></div></div></article>)}</div></section><section class="section-pad section-white"><div class="container"><SectionHeading title="学段不同,学习重点也不同" description="小学关注基础与习惯,初中梳理知识结构与偏科问题,高中更重视知识体系、题型方法与复习节奏。" align="center" /><div class="stage-grid">{[["小学","1—6 年级","语文 · 数学 · 英语"],["初中","1—3 年级","语数英 · 物理 · 化学 · 道法 · 地理"],["高中","1—3 年级","语数英 · 物化生 · 政史地"]].map(([name,grade,subjects])=><article data-reveal><span>{grade}</span><h3>{name}</h3><p>{subjects}</p></article>)}</div></div></section><CTA title="不确定孩子适合哪种学习安排?" text="先提供年级、教材进度、近期试卷与最希望解决的问题,再判断一对一是否适合。" /></main><Footer /></Base>
<Base {title} {description} {jsonLd}><Header /><main id="main-content"><section class="page-hero"><div class="container page-hero__inner" data-reveal><div class="breadcrumb"><a href="/">首页</a> / 学科辅导</div><h1>同一个年级<br /><em>也应该有不同的学习路径</em></h1><p>覆盖小学、初中和高中常见校内学科。从当前基础、教材进度和具体问题出发,确定近期最需要解决的任务。</p></div></section><nav class="anchor-nav"><div class="container">{site.services.map((item) => <a href={`#${item.slug}`}>{item.name}</a>)}</div></nav><section class="section-pad section-blue"><div class="container service-list">{site.services.map((item) => <article id={item.slug} class="service-detail"><div class="service-detail__content" data-reveal><div class="service-detail__summary"><h2>{item.name}</h2><p class="lead">{item.intro}</p><a class="button button--outline" href={`/services/${item.slug}/`}>查看适配方式</a></div><div class="service-detail__delivery"><ul>{item.features.map((feature) => <li>{feature}</li>)}</ul><div class="capability-pills">{item.capabilities.map((capability) => <span>{capability.label}</span>)}</div></div></div></article>)}</div></section><section class="section-pad section-white"><div class="container"><SectionHeading title="学段不同,学习重点也不同" description="小学关注基础与习惯,初中梳理知识结构与偏科问题,高中更重视知识体系、题型方法与复习节奏。" align="center" /><div class="stage-grid">{[["小学","1-6 年级","语文 · 数学 · 英语"],["初中","1-3 年级","语数英 · 物理 · 化学 · 道法 · 地理"],["高中","1-3 年级","语数英 · 物化生 · 政史地"]].map(([name,grade,subjects])=><article data-reveal><span>{grade}</span><h3>{name}</h3><p>{subjects}</p></article>)}</div></div></section><CTA title="不确定孩子适合哪种学习安排?" text="先提供年级、教材进度、近期试卷与最希望解决的问题,再判断一对一是否适合。" /></main><Footer /></Base>
:root{--brand-blue:#1473e6;--brand-blue-dark:#276fb5;--brand-blue-light:#43b7e8;--brand-accent:#43d4e8;--brand-accent-soft:#eaf8ff;--bg-page:#fff;--bg-card:#fff;--bg-blue-soft:#f1f7ff;--bg-accent-soft:#f5faff;--text-primary:#1f2937;--text-secondary:#526070;--text-muted:#8491a3;--border:#d8e5f4;--divider:#e6edf6;--primary-hover:#0e61c8;--accent-hover:#25b9dd;--shadow-card:0 6px 24px rgba(20,115,230,.06);--shadow-hover:0 10px 32px rgba(20,115,230,.1);--container:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text-primary);background:var(--bg-page);font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB",sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}body,button,input,textarea{font-family:inherit}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{color:inherit}address{font-style:normal}h1,h2,h3,p,ul,ol,blockquote{margin-top:0}h1,h2,h3,strong{line-height:1.25}h1,h2,h3{font-family:inherit}::selection{color:#fff;background:var(--brand-blue)}.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.section-pad{padding:104px 0}.section-white{background:#fff}.section-blue,.section-muted{background:var(--bg-blue-soft)}.section-accent{background:var(--bg-accent-soft)}.skip-link{position:fixed;z-index:1000;top:12px;left:12px;padding:10px 16px;color:#fff;background:var(--brand-blue);transform:translateY(-150%)}.skip-link:focus{transform:none}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}[data-reveal].is-visible{opacity:1;transform:none}
.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--brand-blue);font-size:11px;font-weight:800;letter-spacing:.16em}.eyebrow>span{width:28px;height:2px;background:var(--brand-accent)}.eyebrow--light,.section-heading--light .eyebrow{color:#d8eefb}.section-heading{max-width:700px}.section-heading--center{margin-inline:auto;text-align:center}.section-heading--center .eyebrow{justify-content:center}.section-heading h2{margin-bottom:20px;font-size:clamp(34px,4vw,54px);letter-spacing:-.045em}.section-heading>p{margin:0;color:var(--text-secondary);font-size:17px}.section-heading--light h2{color:#fff}.section-heading--light>p{color:#c9deea}.section-intro-row{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:48px}.text-link{color:var(--brand-blue);font-weight:750;white-space:nowrap}.text-link span{color:var(--brand-accent)}.text-link--light{color:#fff}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 25px;border:1px solid var(--brand-blue);border-radius:9px;color:#fff;background:var(--brand-blue);font-size:14px;font-weight:800;letter-spacing:.02em;transition:background .2s,border-color .2s,transform .2s}.button:hover{border-color:var(--primary-hover);background:var(--primary-hover);transform:translateY(-2px)}.button--small{min-height:42px;padding:0 18px;font-size:13px}.button--accent{border-color:var(--brand-accent);color:var(--text-primary);background:var(--brand-accent)}.button--accent:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.button--outline{color:var(--brand-blue);background:#fff}.button--outline:hover{color:#fff}.button--ghost{border-color:rgba(255,255,255,.55);background:transparent}.button--white{border-color:#fff;color:var(--brand-blue-dark);background:#fff}.hero__actions{display:flex;flex-wrap:wrap;gap:12px}
:root{--brand-blue:#1473e6;--brand-blue-dark:#1473e6;--brand-accent:#1473e6;--brand-accent-soft:#eaf3ff;--bg-page:#fff;--bg-card:#fff;--bg-blue-soft:#f1f7ff;--bg-accent-soft:#f4f8ff;--text-primary:#1f2937;--text-secondary:#526070;--text-muted:#8491a3;--border:#d8e5f4;--divider:#e6edf6;--primary-hover:#0e61c8;--accent-hover:#0e61c8;--shadow-card:0 6px 24px rgba(20,115,230,.06);--shadow-hover:0 10px 32px rgba(20,115,230,.1);--container:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text-primary);background:var(--bg-page);font-family:"Noto Sans SC Variable","Noto Sans SC",sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}button,input,textarea{font-family:inherit}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{color:inherit}address{font-style:normal}h1,h2,h3,p,ul,ol,blockquote{margin-top:0}h1,h2,h3,strong{line-height:1.25}h1,h2,h3{font-family:inherit}::selection{color:#fff;background:var(--brand-blue)}.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.section-pad{padding:104px 0}.section-white{background:#fff}.section-blue,.section-muted{background:var(--bg-blue-soft)}.section-accent{background:var(--bg-accent-soft)}.skip-link{position:fixed;z-index:1000;top:12px;left:12px;padding:10px 16px;color:#fff;background:var(--brand-blue);transform:translateY(-150%)}.skip-link:focus{transform:none}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}[data-reveal].is-visible{opacity:1;transform:none}
.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--brand-blue);font-size:11px;font-weight:700;letter-spacing:.16em}.eyebrow>span{width:28px;height:2px;background:var(--brand-accent)}.eyebrow--light,.section-heading--light .eyebrow{color:#d8eefb}.section-heading{max-width:700px}.section-heading--center{margin-inline:auto;text-align:center}.section-heading--center .eyebrow{justify-content:center}.section-heading h2{margin-bottom:20px;font-size:clamp(34px,4vw,54px);font-weight:600;letter-spacing:-.025em}.section-heading>p{margin:0;color:var(--text-secondary);font-size:17px}.section-heading--light h2{color:#fff}.section-heading--light>p{color:#c9deea}.section-intro-row{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:48px}.text-link{color:var(--brand-blue);font-weight:600;white-space:nowrap}.text-link span{color:var(--brand-accent)}.text-link--light{color:#fff}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 25px;border:1px solid var(--brand-blue);border-radius:9px;color:#fff;background:var(--brand-blue);font-size:14px;font-weight:600;letter-spacing:.02em;transition:background .2s,border-color .2s,transform .2s}.button:hover{border-color:var(--primary-hover);background:var(--primary-hover);transform:translateY(-2px)}.button--small{min-height:42px;padding:0 18px;font-size:13px}.button--accent{border-color:var(--brand-accent);color:var(--text-primary);background:var(--brand-accent)}.button--accent:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.button--outline{color:var(--brand-blue);background:#fff}.button--outline:hover{color:#fff}.button--ghost{border-color:rgba(255,255,255,.55);background:transparent}.button--white{border-color:#fff;color:var(--brand-blue-dark);background:#fff}.hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.site-header{position:sticky;z-index:100;top:0;height:76px;border-bottom:1px solid rgba(220,232,239,.8);background:rgba(252,253,252,.96);transition:box-shadow .25s}.site-header.is-scrolled{box-shadow:0 8px 24px rgba(7,59,131,.08)}.site-header__inner{display:flex;align-items:center;height:100%;gap:24px}.brand{width:132px;height:62px;overflow:hidden}.brand img{width:100%;height:100%;object-fit:cover;object-position:center}.desktop-nav{margin-left:auto}.desktop-nav>ul{display:flex;margin:0;padding:0;list-style:none}.nav-item{position:relative}.nav-link{position:relative;display:block;padding:27px 13px 24px;color:#304957;font-size:14px;font-weight:650}.nav-link::after{position:absolute;right:13px;bottom:16px;left:13px;height:2px;content:"";background:var(--brand-accent);transform:scaleX(0);transition:transform .25s}.nav-link:hover,.nav-link[aria-current=page]{color:var(--brand-blue)}.nav-link:hover::after,.nav-link[aria-current=page]::after{transform:scaleX(1)}.nav-dropdown{position:absolute;top:calc(100% - 4px);left:50%;visibility:hidden;width:220px;padding-top:10px;opacity:0;transform:translate(-50%,8px);transition:.2s}.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{visibility:visible;opacity:1;transform:translate(-50%,0)}.nav-dropdown ul{margin:0;padding:8px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow-hover);list-style:none}.nav-dropdown a{display:flex;justify-content:space-between;padding:10px 12px;border-radius:7px;font-size:13px}.nav-dropdown a:hover{color:var(--brand-blue);background:var(--bg-blue-soft)}.mobile-nav{display:none;margin-left:auto}.mobile-nav summary{display:grid;width:40px;height:40px;padding:10px;cursor:pointer;list-style:none}.mobile-nav summary span{height:2px;background:var(--brand-blue-dark)}
.home-hero{overflow:hidden;padding:56px 0 0;background:#fff}.home-hero__grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:8px}.hero-label{display:flex;align-items:center;margin-bottom:20px;color:var(--brand-blue);font-size:14px;font-weight:600}.home-hero h1{margin-bottom:25px;font-size:clamp(46px,5.6vw,76px);line-height:1.1;letter-spacing:-.04em}.home-hero h1 em,.page-hero h1 em{color:var(--brand-blue);font-style:normal}.home-hero__copy{position:relative;z-index:2}.home-hero__copy>p{max-width:600px;margin-bottom:32px;color:var(--text-secondary);font-size:18px}.hero__proof{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}.hero__proof span{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}.hero__proof span::before{width:6px;height:6px;border-radius:50%;content:"";background:var(--brand-accent)}.home-hero__visual{position:relative;margin-left:-36px}.image-frame{position:relative;overflow:hidden;background:#fff}.image-frame::before{position:absolute;z-index:1;inset:0 auto 0 0;width:18%;content:"";background:rgba(255,255,255,.64);filter:blur(18px);transform:translateX(-50%)}.image-frame img{width:100%;aspect-ratio:1.22;object-fit:cover;mix-blend-mode:multiply}.stage-ruler{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:32px;padding:20px 0;border-top:1px solid var(--divider);color:var(--brand-blue-dark);font-size:14px;font-weight:750}.stage-ruler i{width:5px;height:5px;border-radius:50%;background:var(--brand-accent)}
.stat-band{padding:46px 0;background:#eaf4ff}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat-grid>div{padding:0 30px;border-right:1px solid #c8def5;text-align:center}.stat-grid>div:last-child{border:0}.stat-grid strong{display:block;color:var(--brand-blue);font-size:clamp(30px,4vw,48px);font-weight:700;letter-spacing:-.03em}.stat-grid p{margin:8px 0 0;color:#315575;font-size:13px}.data-note{max-width:900px;margin:24px auto 0;color:#67819a;font-size:11px;text-align:center}.need-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.need-card{display:flex;min-height:280px;padding:28px;flex-direction:column;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow-card);transition:.25s}.need-card:hover{border-color:#b9d7fa;box-shadow:var(--shadow-hover);transform:translateY(-3px)}.need-card h3{margin:12px 0 14px;font-size:27px}.need-card p{color:var(--text-secondary)}.need-card>strong{margin-top:auto;color:var(--brand-blue);font-size:13px}.learning-map{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.learning-map__copy{position:sticky;top:120px;align-self:start}.learning-map__copy .button{margin-top:30px}.learning-map__steps article{padding:26px 0;border-bottom:1px solid var(--divider)}.learning-map__steps h3{margin:0 0 8px;font-size:24px}.learning-map__steps p{margin:0;color:var(--text-secondary)}.teacher-section{background:#eaf4ff}.teacher-layout{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}.teacher-layout h2{margin-bottom:22px;font-size:clamp(38px,4.6vw,60px);letter-spacing:-.04em}.teacher-layout h2 em{color:var(--brand-blue);font-style:normal}.teacher-layout>div>p{color:var(--text-secondary);font-size:17px}.teacher-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.teacher-tags span{padding:7px 11px;border:1px solid #bfd8f3;border-radius:6px;color:#315575;background:#fff;font-size:12px}.teacher-ledger{padding:26px;border:1px solid #c8def5;border-radius:18px;background:#fff;color:var(--text-primary);box-shadow:var(--shadow-card)}.ledger-head{padding-bottom:20px;border-bottom:2px solid var(--brand-blue)}.teacher-ledger>div:not(:first-child){padding:16px 0;border-bottom:1px solid var(--divider)}.feedback-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.feedback-board{overflow:hidden;border:1px solid #cfe3fb;border-radius:16px;background:#fff;box-shadow:var(--shadow-card)}.feedback-board__head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;color:#fff;background:#4f94d4}.feedback-board__head span{font-size:12px}.feedback-score{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--divider)}.feedback-score strong{color:var(--brand-blue)}.feedback-board ul{margin:0;padding:8px 24px 20px;list-style:none}.feedback-board li{padding:16px 0;border-bottom:1px solid var(--divider)}.feedback-board li:last-child{border:0}.feedback-board li p{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.feedback-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.feedback-points span{padding:8px 12px;border:1px solid #cfe3fb;border-radius:8px;background:#fff;color:var(--brand-blue-dark);font-size:12px;font-weight:750}.faq-preview,.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}.faq-preview>div:first-child{position:sticky;top:110px;align-self:start}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{display:grid;grid-template-columns:1fr 24px;gap:14px;align-items:center;padding:23px 0;cursor:pointer;list-style:none}.faq-list summary>strong{font-size:17px}.faq-list summary>i{position:relative;width:18px;height:18px}.faq-list summary>i::before,.faq-list summary>i::after{position:absolute;top:8px;left:3px;width:12px;height:2px;content:"";background:var(--brand-blue)}.faq-list summary>i::after{transform:rotate(90deg);transition:.2s}.faq-list details[open] summary>i::after{transform:none}.faq-list details>div{padding:0 38px 20px 0;color:var(--text-secondary)}
.stat-band{padding:46px 0;background:#eaf4ff}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat-grid>div{padding:0 30px;border-right:1px solid #c8def5;text-align:center}.stat-grid>div:last-child{border:0}.stat-grid strong{display:block;color:var(--brand-blue);font-size:clamp(30px,4vw,48px);font-weight:700;letter-spacing:-.03em}.stat-grid p{margin:8px 0 0;color:#315575;font-size:13px}.data-note{max-width:900px;margin:24px auto 0;color:#67819a;font-size:11px;text-align:center}.need-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.need-card{display:flex;min-height:280px;padding:28px;flex-direction:column;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow-card);transition:.25s}.need-card:hover{border-color:#b9d7fa;box-shadow:var(--shadow-hover);transform:translateY(-3px)}.need-card h3{margin:12px 0 14px;font-size:27px}.need-card p{color:var(--text-secondary)}.need-card>strong{margin-top:auto;color:var(--brand-blue);font-size:13px}.learning-map{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.learning-map__copy{position:sticky;top:120px;align-self:start}.learning-map__copy .button{margin-top:30px}.learning-map__steps article{padding:26px 0;border-bottom:1px solid var(--divider)}.learning-map__steps h3{margin:0 0 8px;font-size:24px}.learning-map__steps p{margin:0;color:var(--text-secondary)}.teacher-section{background:#eaf4ff}.teacher-layout{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}.teacher-layout h2{margin-bottom:22px;font-size:clamp(38px,4.6vw,60px);letter-spacing:-.04em}.teacher-layout h2 em{color:var(--brand-blue);font-style:normal}.teacher-layout>div>p{color:var(--text-secondary);font-size:17px}.teacher-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.teacher-tags span{padding:7px 11px;border:1px solid #bfd8f3;border-radius:6px;color:#315575;background:#fff;font-size:12px}.teacher-ledger{padding:26px;border:1px solid #c8def5;border-radius:18px;background:#fff;color:var(--text-primary);box-shadow:var(--shadow-card)}.ledger-head{padding-bottom:20px;border-bottom:2px solid var(--brand-blue)}.teacher-ledger>div:not(:first-child){padding:16px 0;border-bottom:1px solid var(--divider)}.feedback-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.feedback-board{overflow:hidden;border:1px solid #cfe3fb;border-radius:16px;background:#fff;box-shadow:var(--shadow-card)}.feedback-board__head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;color:#fff;background:#1473e6}.feedback-board__head span{font-size:12px}.feedback-score{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--divider)}.feedback-score strong{color:var(--brand-blue)}.feedback-board ul{margin:0;padding:8px 24px 20px;list-style:none}.feedback-board li{padding:16px 0;border-bottom:1px solid var(--divider)}.feedback-board li:last-child{border:0}.feedback-board li p{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.feedback-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.feedback-points span{padding:8px 12px;border:1px solid #cfe3fb;border-radius:8px;background:#fff;color:var(--brand-blue-dark);font-size:12px;font-weight:750}.faq-preview,.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}.faq-preview>div:first-child{position:sticky;top:110px;align-self:start}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{display:grid;grid-template-columns:1fr 24px;gap:14px;align-items:center;padding:23px 0;cursor:pointer;list-style:none}.faq-list summary>strong{font-size:17px}.faq-list summary>i{position:relative;width:18px;height:18px}.faq-list summary>i::before,.faq-list summary>i::after{position:absolute;top:8px;left:3px;width:12px;height:2px;content:"";background:var(--brand-blue)}.faq-list summary>i::after{transform:rotate(90deg);transition:.2s}.faq-list details[open] summary>i::after{transform:none}.faq-list details>div{padding:0 38px 20px 0;color:var(--text-secondary)}
.page-hero{min-height:430px;padding:92px 0 78px;background:var(--bg-blue-soft)}.page-hero__inner{max-width:930px}.breadcrumb{margin-bottom:34px;color:var(--text-muted);font-size:12px}.breadcrumb a:hover{color:var(--brand-blue)}.page-hero h1{margin-bottom:24px;font-size:clamp(45px,6vw,72px);line-height:1.12;letter-spacing:-.055em}.page-hero p{max-width:760px;margin:0;color:var(--text-secondary);font-size:18px}.anchor-nav{position:sticky;z-index:20;top:76px;border-block:1px solid var(--border);background:rgba(255,255,255,.96)}.anchor-nav .container{display:grid;grid-template-columns:repeat(4,1fr)}.anchor-nav a{padding:18px;border-right:1px solid var(--border);color:var(--text-secondary);font-size:13px;text-align:center}.anchor-nav a span{margin-right:8px;color:var(--brand-blue)}.service-list{display:grid;gap:18px}.service-detail{scroll-margin-top:150px;border:1px solid var(--border);border-radius:16px;background:#fff}.service-detail__content{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;padding:46px}.service-detail__summary h2{margin-bottom:16px;font-size:40px}.service-detail__summary .lead{color:var(--text-secondary);font-size:17px}.service-detail__delivery ul{margin:0 0 24px;padding:0;list-style:none}.service-detail__delivery li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--divider);color:var(--text-secondary)}.service-detail__delivery li span{color:var(--brand-blue);font-weight:900}.capability-pills{display:flex;flex-wrap:wrap;gap:8px}.capability-pills span{padding:7px 11px;border-radius:6px;background:var(--bg-blue-soft);color:var(--brand-blue);font-size:12px}.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:45px}.stage-grid article{padding:32px;border-top:4px solid var(--brand-accent);background:var(--bg-blue-soft)}.stage-grid span{color:var(--brand-blue);font-size:12px}.stage-grid h3{margin:18px 0 9px;font-size:32px}.stage-grid p{margin:0;color:var(--text-secondary)}
.service-hero{padding:86px 0;background:#fff}.service-hero__inner{display:grid;grid-template-columns:1fr .85fr;gap:75px;align-items:center}.service-hero h1{font-size:clamp(44px,5vw,68px);letter-spacing:-.04em}.service-hero h1 em{display:block;margin-top:16px;color:var(--text-secondary);font-size:18px;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.7}.plan-sheet{padding:26px;border:1px solid var(--border);border-radius:16px;background:var(--bg-blue-soft);box-shadow:var(--shadow-card)}.plan-sheet>div:first-child{padding-bottom:18px;border-bottom:2px solid var(--brand-blue)}.plan-sheet article{padding:14px 0;border-bottom:1px solid var(--border)}.plan-sheet article small{color:var(--brand-blue)}.plan-sheet article p{margin:2px 0 0}.plan-sheet>p{margin:15px 0 0;color:var(--text-muted);font-size:10px}.service-cap-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.service-cap-layout>div:first-child>h2{font-size:43px}.service-cap-layout>div:first-child>p{color:var(--text-secondary)}.service-cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-cap-grid article{padding:25px;border:1px solid var(--border);border-radius:12px;background:#fff}.service-cap-grid h3{margin:0 0 9px}.service-cap-grid p{margin:0;color:var(--text-secondary)}.service-feature-layout{max-width:900px}.large-check-list{margin:0;padding:0;list-style:none}.large-check-list li{padding:22px 0;border-bottom:1px solid var(--divider)}.large-check-list p{margin:0;font-size:18px}.process-section,.delivery-section,.principle-section{color:#fff;background:#4f94d4}.process-grid,.method-flow{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px}.process-grid article{padding:25px;border-right:1px solid rgba(255,255,255,.24)}.process-grid h3{margin:0;font-size:23px}.related-services{background:var(--bg-blue-soft)}.related-services .container{display:grid;grid-template-columns:repeat(3,1fr)}.related-services a{padding:25px;border-right:1px solid var(--border);text-align:center}
.service-hero{padding:86px 0;background:#fff}.service-hero__inner{display:grid;grid-template-columns:1fr .85fr;gap:75px;align-items:center}.service-hero h1{font-size:clamp(44px,5vw,68px);letter-spacing:-.04em}.service-hero h1 em{display:block;margin-top:16px;color:var(--text-secondary);font-size:18px;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.7}.plan-sheet{padding:26px;border:1px solid var(--border);border-radius:16px;background:var(--bg-blue-soft);box-shadow:var(--shadow-card)}.plan-sheet>div:first-child{padding-bottom:18px;border-bottom:2px solid var(--brand-blue)}.plan-sheet article{padding:14px 0;border-bottom:1px solid var(--border)}.plan-sheet article small{color:var(--brand-blue)}.plan-sheet article p{margin:2px 0 0}.plan-sheet>p{margin:15px 0 0;color:var(--text-muted);font-size:10px}.service-cap-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.service-cap-layout>div:first-child>h2{font-size:43px}.service-cap-layout>div:first-child>p{color:var(--text-secondary)}.service-cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-cap-grid article{padding:25px;border:1px solid var(--border);border-radius:12px;background:#fff}.service-cap-grid h3{margin:0 0 9px}.service-cap-grid p{margin:0;color:var(--text-secondary)}.service-feature-layout{max-width:900px}.large-check-list{margin:0;padding:0;list-style:none}.large-check-list li{padding:22px 0;border-bottom:1px solid var(--divider)}.large-check-list p{margin:0;font-size:18px}.process-section,.delivery-section,.principle-section{color:#fff;background:#1473e6}.process-grid,.method-flow{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px}.process-grid article{padding:25px;border-right:1px solid rgba(255,255,255,.24)}.process-grid h3{margin:0;font-size:23px}.related-services{background:var(--bg-blue-soft)}.related-services .container{display:grid;grid-template-columns:repeat(3,1fr)}.related-services a{padding:25px;border-right:1px solid var(--border);text-align:center}
.about-intro-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.story-column p{padding:0 0 26px;border-bottom:1px solid var(--divider);color:var(--text-secondary);font-size:17px}.advantage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:45px}.advantage-grid article{padding:28px;border:1px solid var(--border);border-radius:14px;background:#fff}.advantage-grid h3{margin:0 0 10px;font-size:21px}.advantage-grid p{margin:0;color:var(--text-secondary)}.principle-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.principle-layout h2{font-size:46px}.principle-layout>div:first-child>p{color:#eef7ff}.principle-layout article{padding:19px 0;border-bottom:1px solid rgba(255,255,255,.24)}.principle-layout article h3{margin:0 0 6px}.principle-layout article p{margin:0;color:#eef7ff}.vision-section{background:var(--bg-accent-soft)}.vision-card{padding:58px;border:1px solid #cfe3fb;border-radius:18px;background:#fff}.vision-card blockquote{max-width:950px;margin:0 0 25px;font-size:clamp(28px,4vw,48px);font-weight:700;line-height:1.35}.vision-card p{margin:0;color:var(--text-secondary)}.method-flow article{padding:25px;border-right:1px solid var(--border)}.method-flow h2{margin:0 0 12px;font-size:26px}.method-flow p{color:var(--text-secondary)}.delivery-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:75px}.delivery-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.delivery-grid article{padding:25px;border:1px solid rgba(255,255,255,.25);border-radius:12px}.delivery-grid h3{margin:0 0 8px}.delivery-grid p{margin:0;color:#eef7ff}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.principle-grid article{padding:30px;border:1px solid var(--border);border-radius:14px;background:#fff}.principle-grid h3{margin:0 0 10px}.principle-grid p{margin:0;color:var(--text-secondary)}.faq-layout aside{position:sticky;top:120px;align-self:start}.faq-layout aside h2{font-size:38px}.faq-layout aside p{color:var(--text-secondary)}
.contact-hero{padding:95px 0;color:#fff;background:#4f94d4}.contact-hero__grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}.contact-hero__grid>div:first-child{max-width:760px}.contact-hero h1{font-size:clamp(46px,6vw,72px);letter-spacing:-.04em}.contact-hero p{color:#eef7ff;font-size:18px}.contact-hours{display:grid;place-items:center;width:190px;aspect-ratio:1;border:1px solid rgba(255,255,255,.35);border-radius:50%}.contact-hours span{color:#fff;font-size:48px;font-weight:700}.contact-hours strong{margin-top:-35px}.contact-hours p{margin:-35px 0 0;font-size:13px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-grid article{min-height:250px;padding:30px;border:1px solid var(--border);border-radius:14px;background:#fff}.contact-grid h2{margin:0 0 15px}.contact-big-link{display:block;color:var(--brand-blue-dark);font-size:30px;font-weight:700}.contact-big-link--small{font-size:20px}.contact-grid article>p{margin-top:12px;color:var(--text-muted)}.visit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.visit-grid h2{font-size:46px}.visit-grid>div>p{color:var(--text-secondary)}.visit-grid ol{margin:0;padding:0;list-style:none}.visit-grid li{padding:18px 0;border-bottom:1px solid var(--divider)}.visit-grid li p{margin:5px 0 0;color:var(--text-secondary)}.contact-bottom{padding:90px 0;color:#fff;background:#4f94d4;text-align:center}.contact-bottom h2{font-size:52px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.article-card{border:1px solid var(--border);border-radius:14px;background:#fff}.article-card>a{display:flex;min-height:300px;padding:26px;flex-direction:column}.article-card__meta{display:flex;justify-content:space-between;color:var(--text-muted);font-size:11px}.article-card__meta span{color:var(--brand-blue)}.article-card h2{margin-top:38px;font-size:21px}.article-card p{color:var(--text-secondary)}.article-card>a>strong{margin-top:auto;color:var(--brand-blue);font-size:12px}
.article-layout{display:grid;grid-template-columns:250px 1fr;gap:40px}.article-sidebar{align-self:start;padding:24px;border:1px solid var(--border);border-radius:12px;background:#fff}.article-sidebar h2{font-size:18px}.article-sidebar a{display:flex;justify-content:space-between;padding:8px 0;color:var(--text-secondary);font-size:13px}.article-sidebar a:hover,.article-sidebar a.is-active{color:var(--brand-blue)}.article-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px}.pagination a,.pagination span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--border);border-radius:6px;background:#fff}.pagination [aria-current=page]{color:#fff;background:var(--brand-blue)}.article-detail-head{padding:90px 0;color:#fff;background:#4f94d4}.article-detail-head__inner{max-width:960px}.article-detail-category{display:inline-block;margin-bottom:20px;padding:6px 10px;border-radius:5px;color:var(--text-primary);background:var(--brand-accent);font-size:11px}.article-detail-head h1{font-size:clamp(40px,5vw,64px)}.article-detail-head__inner>p{color:#eef7ff;font-size:18px}.article-detail-meta{display:flex;gap:20px;color:#e5f3ff;font-size:12px}.article-detail-layout{display:grid;grid-template-columns:220px minmax(0,760px);justify-content:center;gap:70px;padding:70px 0}.article-detail-layout aside{color:var(--text-muted);font-size:13px}.article-detail-layout aside a{color:var(--brand-blue);font-weight:750}.article-prose{font-size:17px}.article-prose h2{margin-top:45px;font-size:30px}.article-prose h3{margin-top:30px}.article-prose p,.article-prose li{color:var(--text-secondary)}.article-prose img{border-radius:12px}.article-prose a{color:var(--brand-blue);text-decoration:underline}.article-prose blockquote{margin:25px 0;padding:20px;border-left:4px solid var(--brand-accent);background:var(--bg-accent-soft)}
.cta-band{padding:78px 0;color:#fff;background:var(--brand-blue)}.cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.cta-band h2{margin-bottom:14px;font-size:clamp(34px,4vw,52px)}.cta-band p{max-width:720px;margin:0;color:#edf7ff}.cta-band__actions{display:flex;align-items:center;gap:22px;flex-shrink:0}.site-footer{padding:70px 0 0;color:#e4f2ff;background:#4f94d4}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .8fr 1fr;gap:50px}.footer-logo{display:block;width:150px;height:74px;overflow:hidden;border-radius:4px}.footer-logo img{width:100%;height:100%;object-fit:cover}.footer-brand>p{max-width:330px;margin-top:18px}.footer-tags{display:flex;gap:7px}.footer-tags span{padding:5px 9px;border:1px solid rgba(255,255,255,.3);border-radius:5px;font-size:11px}.footer-grid h2{margin:0 0 18px;color:#fff;font-size:15px}.footer-grid>div:not(:first-child)>a{display:block;margin:9px 0;color:#eef7ff;font-size:13px}.footer-grid a:hover{color:#fff}.footer-phone{color:#fff!important;font-size:23px!important;font-weight:700}.footer-contact p{font-size:12px}.footer-arrow{margin-top:22px!important;color:#fff!important}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:55px;padding:22px 0;border-top:1px solid rgba(255,255,255,.25);font-size:11px}.footer-bottom p{margin:0}.contact-dialog{width:min(920px,calc(100% - 32px));padding:0;border:0;border-radius:18px;background:transparent}.contact-dialog::backdrop{background:rgba(31,64,96,.55)}.contact-dialog__panel{position:relative;padding:38px;border:1px solid var(--border);border-radius:18px;background:#fff}.contact-dialog__close{position:absolute;top:14px;right:15px;width:38px;height:38px;border:0;border-radius:50%;background:var(--bg-blue-soft);font-size:24px;cursor:pointer}.contact-dialog__heading{max-width:640px}.contact-dialog__heading h2{margin-bottom:10px;font-size:36px}.contact-dialog__heading p{color:var(--text-secondary)}.contact-dialog__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.contact-dialog__grid article{padding:22px;border:1px solid var(--border);border-radius:12px;background:var(--bg-blue-soft)}.contact-dialog__grid h3{margin:0 0 8px}.contact-dialog__grid p{margin:6px 0 0;color:var(--text-muted);font-size:12px}.contact-dialog__primary{color:var(--brand-blue-dark);font-size:21px;font-weight:700}.contact-dialog__email,.contact-dialog__website{font-size:15px}.not-found{display:grid;place-items:center;min-height:70vh;padding:80px 0;background:var(--bg-blue-soft);text-align:center}.not-found>div>span{display:block;color:var(--brand-blue);font-size:100px;font-weight:700}
.contact-hero{padding:95px 0;color:#fff;background:#1473e6}.contact-hero__grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}.contact-hero__grid>div:first-child{max-width:760px}.contact-hero h1{font-size:clamp(46px,6vw,72px);letter-spacing:-.04em}.contact-hero p{color:#eef7ff;font-size:18px}.contact-hours{display:grid;place-items:center;width:190px;aspect-ratio:1;border:1px solid rgba(255,255,255,.35);border-radius:50%}.contact-hours span{color:#fff;font-size:48px;font-weight:700}.contact-hours strong{margin-top:-35px}.contact-hours p{margin:-35px 0 0;font-size:13px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-grid article{min-height:250px;padding:30px;border:1px solid var(--border);border-radius:14px;background:#fff}.contact-grid h2{margin:0 0 15px}.contact-big-link{display:block;color:var(--brand-blue-dark);font-size:30px;font-weight:700}.contact-big-link--small{font-size:20px}.contact-grid article>p{margin-top:12px;color:var(--text-muted)}.visit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.visit-grid h2{font-size:46px}.visit-grid>div>p{color:var(--text-secondary)}.visit-grid ol{margin:0;padding:0;list-style:none}.visit-grid li{padding:18px 0;border-bottom:1px solid var(--divider)}.visit-grid li p{margin:5px 0 0;color:var(--text-secondary)}.contact-bottom{padding:90px 0;color:#fff;background:#1473e6;text-align:center}.contact-bottom h2{font-size:52px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.article-card{border:1px solid var(--border);border-radius:14px;background:#fff}.article-card>a{display:flex;min-height:300px;padding:26px;flex-direction:column}.article-card__meta{display:flex;justify-content:space-between;color:var(--text-muted);font-size:11px}.article-card__meta span{color:var(--brand-blue)}.article-card h2{margin-top:38px;font-size:21px}.article-card p{color:var(--text-secondary)}.article-card>a>strong{margin-top:auto;color:var(--brand-blue);font-size:12px}
.article-layout{display:grid;grid-template-columns:250px 1fr;gap:40px}.article-sidebar{align-self:start;padding:24px;border:1px solid var(--border);border-radius:12px;background:#fff}.article-sidebar h2{font-size:18px}.article-sidebar a{display:flex;justify-content:space-between;padding:8px 0;color:var(--text-secondary);font-size:13px}.article-sidebar a:hover,.article-sidebar a.is-active{color:var(--brand-blue)}.article-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px}.pagination a,.pagination span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--border);border-radius:6px;background:#fff}.pagination [aria-current=page]{color:#fff;background:var(--brand-blue)}.article-detail-head{padding:90px 0;color:#fff;background:#1473e6}.article-detail-head__inner{max-width:960px}.article-detail-category{display:inline-block;margin-bottom:20px;padding:6px 10px;border-radius:5px;color:var(--text-primary);background:var(--brand-accent);font-size:11px}.article-detail-head h1{font-size:clamp(40px,5vw,64px)}.article-detail-head__inner>p{color:#eef7ff;font-size:18px}.article-detail-meta{display:flex;gap:20px;color:#e5f3ff;font-size:12px}.article-detail-layout{display:grid;grid-template-columns:220px minmax(0,760px);justify-content:center;gap:70px;padding:70px 0}.article-detail-layout aside{color:var(--text-muted);font-size:13px}.article-detail-layout aside a{color:var(--brand-blue);font-weight:750}.article-prose{font-size:17px}.article-prose h2{margin-top:45px;font-size:30px}.article-prose h3{margin-top:30px}.article-prose p,.article-prose li{color:var(--text-secondary)}.article-prose img{border-radius:12px}.article-prose a{color:var(--brand-blue);text-decoration:underline}.article-prose blockquote{margin:25px 0;padding:20px;border-left:4px solid var(--brand-accent);background:var(--bg-accent-soft)}
.cta-band{padding:78px 0;color:#fff;background:var(--brand-blue)}.cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.cta-band h2{margin-bottom:14px;font-size:clamp(34px,4vw,52px)}.cta-band p{max-width:720px;margin:0;color:#edf7ff}.cta-band__actions{display:flex;align-items:center;gap:22px;flex-shrink:0}.site-footer{padding:70px 0 0;color:#fff;background:#000}.site-footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .8fr 1fr;gap:50px}.footer-logo{display:block;width:150px;height:74px;overflow:hidden;border-radius:4px}.footer-logo img{width:100%;height:100%;object-fit:cover}.footer-brand>p{max-width:330px;margin-top:18px}.footer-grid h2{margin:0 0 18px;color:#fff;font-size:15px}.footer-grid>div:not(:first-child)>a{display:block;margin:9px 0;color:#fff;font-size:13px}.footer-grid a:hover{color:#fff}.footer-phone{color:#fff!important;font-size:23px!important;font-weight:700}.footer-contact p{font-size:12px}.footer-arrow{margin-top:22px!important;color:#fff!important}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:55px;padding:22px 0;border-top:1px solid rgba(255,255,255,.3);font-size:11px}.footer-bottom p{margin:0}.contact-dialog{width:min(920px,calc(100% - 32px));padding:0;border:0;border-radius:18px;background:transparent}.contact-dialog::backdrop{background:rgba(31,64,96,.55)}.contact-dialog__panel{position:relative;padding:38px;border:1px solid var(--border);border-radius:18px;background:#fff}.contact-dialog__close{position:absolute;top:14px;right:15px;width:38px;height:38px;border:0;border-radius:50%;background:var(--bg-blue-soft);font-size:24px;cursor:pointer}.contact-dialog__heading{max-width:640px}.contact-dialog__heading h2{margin-bottom:10px;font-size:36px}.contact-dialog__heading p{color:var(--text-secondary)}.contact-dialog__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.contact-dialog__grid article{padding:22px;border:1px solid var(--border);border-radius:12px;background:var(--bg-blue-soft)}.contact-dialog__grid h3{margin:0 0 8px}.contact-dialog__grid p{margin:6px 0 0;color:var(--text-muted);font-size:12px}.contact-dialog__primary{color:var(--brand-blue-dark);font-size:21px;font-weight:700}.contact-dialog__email,.contact-dialog__website{font-size:15px}.not-found{display:grid;place-items:center;min-height:70vh;padding:80px 0;background:var(--bg-blue-soft);text-align:center}.not-found>div>span{display:block;color:var(--brand-blue);font-size:100px;font-weight:700}
@media(max-width:1080px){.desktop-nav,.header-cta{display:none}.mobile-nav{display:block}.mobile-nav[open]>nav{position:absolute;top:76px;right:0;left:0;max-height:calc(100vh - 76px);padding:20px 24px 28px;overflow:auto;border-bottom:1px solid var(--border);background:#fff;box-shadow:var(--shadow-hover)}.mobile-nav__group{padding:12px 0;border-bottom:1px solid var(--divider)}.mobile-nav__primary{font-weight:800}.mobile-subnav{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.mobile-subnav a{padding:5px 8px;border-radius:5px;background:var(--bg-blue-soft);font-size:12px}.mobile-nav nav>.button{width:100%;margin-top:18px}.brand{margin-right:auto}.home-hero__grid{gap:25px}.need-grid{grid-template-columns:1fr 1fr}.teacher-layout,.feedback-layout{gap:50px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-contact{grid-column:2/4}}
@media(max-width:760px){.container{width:min(calc(100% - 32px),var(--container))}.section-pad{padding:72px 0}.section-intro-row{display:block;margin-bottom:34px}.section-intro-row>.text-link{display:inline-block;margin-top:18px}.section-heading h2{font-size:36px}.home-hero{padding-top:38px}.home-hero__grid,.learning-map,.teacher-layout,.feedback-layout,.faq-preview,.faq-layout,.service-hero__inner,.service-cap-layout,.service-feature-layout,.about-intro-layout,.principle-layout,.delivery-layout,.contact-hero__grid,.visit-grid{grid-template-columns:1fr;gap:40px}.home-hero h1{font-size:45px}.home-hero__copy>p{font-size:16px}.home-hero__visual{margin-top:10px;margin-left:0}.stage-ruler{gap:10px;font-size:11px}.stat-grid{grid-template-columns:1fr 1fr;row-gap:28px}.stat-grid>div:nth-child(2){border:0}.stat-grid strong{font-size:34px}.need-grid,.service-cap-grid,.stage-grid,.advantage-grid,.delivery-grid,.principle-grid,.article-grid,.article-list-grid,.contact-grid,.contact-dialog__grid{grid-template-columns:1fr}.need-card{min-height:260px}.need-card h3{margin-top:0}.learning-map__copy,.faq-preview>div:first-child,.faq-layout aside{position:static}.teacher-layout h2{font-size:40px}.feedback-layout .feedback-board{order:2}.faq-list details>div{padding-left:0}.page-hero{min-height:auto;padding:68px 0}.page-hero h1{font-size:43px}.anchor-nav{top:76px;overflow:auto}.anchor-nav .container{width:max-content;grid-template-columns:repeat(4,150px)}.service-detail__content{grid-template-columns:1fr;gap:25px;padding:28px}.service-hero{padding:62px 0}.process-grid,.method-flow{grid-template-columns:1fr 1fr}.process-grid article,.method-flow article{border-bottom:1px solid rgba(255,255,255,.24)}.related-services .container{display:block}.related-services a{border-bottom:1px solid var(--border)}.principle-layout h2,.visit-grid h2{font-size:38px}.contact-hours{display:none}.contact-grid article{min-height:auto}.contact-big-link{font-size:25px}.article-layout,.article-detail-layout{grid-template-columns:1fr}.article-sidebar{display:none}.article-detail-layout{padding:48px 16px}.cta-band__inner,.cta-band__actions{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/3}.footer-contact{grid-column:1/3}.footer-bottom{flex-direction:column}.contact-dialog__panel{padding:26px 20px}.contact-dialog__heading h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
@media print{.site-header,.site-footer,.cta-band,.mobile-nav{display:none}[data-reveal]{opacity:1;transform:none}}
.brand{display:flex;width:108px;height:68px;align-items:center;overflow:visible}.brand img{width:100%;height:auto;max-height:66px;object-fit:contain}.footer-logo{display:flex;width:148px;height:100px;align-items:center;overflow:visible;border-radius:0}.footer-logo img{width:100%;height:auto;max-height:96px;object-fit:contain}
.image-frame{aspect-ratio:1.22}.image-frame img{height:100%;aspect-ratio:auto}.article-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.article-tab{display:flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text-secondary);font-size:13px}.article-tab span{color:var(--text-muted);font-size:11px}.article-tab:hover,.article-tab.active{border-color:var(--brand-blue);color:var(--brand-blue)}.article-tab.active{background:var(--brand-accent-soft)}.article-empty{padding:60px;border:1px dashed var(--border);background:#fff;color:var(--text-muted);text-align:center}.article-pagination{display:flex;justify-content:center;gap:7px;margin-top:36px}.article-pagination>a,.article-pagination>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--border);border-radius:6px;background:#fff}.article-pagination .active{border-color:var(--brand-blue);color:#fff;background:var(--brand-blue)}
.home-hero h1,.page-hero h1,.teacher-layout h2{font-weight:600;letter-spacing:-.025em}.stage-ruler{font-weight:600}.stat-grid strong{font-weight:600}.nav-link{font-weight:500}.mobile-nav__primary{font-weight:600}.need-card>strong,.footer-phone{font-weight:600}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment