.english-index-page { background: linear-gradient(180deg,#edf7ff 0%,#f8fbff 52%,#eef6ff 100%); color:#142f55; }
.english-index-page .page-shell { max-width: 1100px; }
.english-index-page .topbar { margin-bottom: 14px; }
.english-index-page .hero { position: relative; min-height: 250px; overflow: hidden; padding: 28px 34px; border: 1px solid #dcebf4; border-radius: 22px; background: #e8f7ff url('../../assets/toeic-hero-banner.png') center / cover no-repeat; box-shadow: 0 12px 30px #577b9715; }
.english-index-page .hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.7) 38%,rgba(255,255,255,0) 72%); pointer-events:none; }
.english-index-page .hero__copy { position: relative; z-index: 1; max-width: 620px; }
.english-index-page .hero h1 { margin: 8px 0 8px; color:#112d50; font-size: clamp(2.5rem,5vw,4rem); line-height:1.08; }
.english-index-page .hero h1 span { color:#147ca8; }
.english-hero__lead { max-width: 510px; margin:0; color:#5d7890; font-size:13px; line-height:1.6; }
.english-hero__chips { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0 12px; }
.english-hero__chips span { padding:7px 12px; border-radius:999px; background:#fff; color:#35637a; font-size:11px; box-shadow:0 3px 10px #377c9414; }
.english-index-page .hero__card { display:none; }
.english-index-page .hero__card-title { color:#197795; }
.english-index-page .section-heading h2 { color:#132e50; }
.english-index-page .entry-grid { gap:14px; }
.english-index-page .entry-card { border-color:#e1edf4; border-radius:16px; background:#ffffffdf; box-shadow:0 7px 18px #5578910a; }
.english-index-page .level-chip.active { background:#20a0b5; border-color:#20a0b5; box-shadow:0 6px 14px #20a0b533; }
.english-index-page .exam-countdown-card { margin-top:14px; border-color:#d4e9f3; background:linear-gradient(110deg,#e9f8ff,#fffaf2); }
.english-score-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:14px 0 24px; }
.english-score-card {
  min-width:0;
  padding:0;
  overflow:hidden;
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 18px #75abc408;
}
.english-score-card__body {
  position:relative;
  box-sizing:border-box;
  min-height:126px;
  padding:16px 22px 14px;
}
.english-score-card__heading { display:flex; align-items:center; gap:10px; color:#638095; font-size:11px; }
.english-score-card__icon { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:9px; color:#fff; box-shadow:0 3px 8px #527a9314; }
.english-score-card .score-icon { width:20px; height:20px; }
.english-score-card strong { display:block; position:relative; z-index:1; margin:5px 0 5px; color:#0b2344; font-size:28px; font-weight:800; line-height:1.15; }
.english-score-card small { display:block; position:relative; z-index:1; color:#70889d; font-size:10px; line-height:1.5; }
.english-score-card--blue .english-score-card__body { border:1px solid #7de4eb; border-radius:16px; background:linear-gradient(115deg,#20bed2,#27b3c8 52%,#48d5dc); }
.english-score-card--blue .english-score-card__heading,
.english-score-card--blue strong,
.english-score-card--blue small { color:#fff; }
.english-score-card--blue .english-score-card__icon { background:#ffffff20; border:1px solid #ffffff55; }
.english-score-card--pink { background:linear-gradient(115deg,#fffcfa,#fff3f4); }
.english-score-card--green { background:linear-gradient(115deg,#f0fcf7,#f7fdfb); }
.english-score-card--pink .english-score-card__icon { background:linear-gradient(135deg,#ffc6a9,#ff8567); }
.english-score-card--green .english-score-card__icon { background:linear-gradient(135deg,#79debd,#26b995); }
.english-score-card .english-score-card__decoration { position:absolute; right:20px; top:34px; width:48px; height:48px; pointer-events:none; }
.english-score-card--blue .english-score-card__decoration { color:#a1eef0; opacity:.65; }
.english-score-card--pink .english-score-card__decoration { color:#ffcbd0; }
.english-score-card--green .english-score-card__decoration { color:#b9eadc; }
.english-score-card__actions { display:flex; gap:7px; padding:6px 12px 7px; background:#fff; }
.english-score-card__actions a { flex:1; min-width:0; padding:4px 3px; border-radius:999px; color:#758fa5; background:#eff7fc; font-size:10px; line-height:1.4; text-align:center; text-decoration:none; }
.english-score-card__actions a:nth-child(2) { color:#fff; background:linear-gradient(100deg,#159aad,#35becb); }
.english-score-card__actions a:focus-visible { outline:2px solid #159aad; outline-offset:2px; }
@media (min-width:701px) and (max-width:900px) {
  .english-score-card__body { min-height:98px; padding:12px 17px 10px; }
  .english-score-card__icon { flex-basis:27px; width:27px; height:27px; }
  .english-score-card__heading { gap:8px; font-size:9px; }
  .english-score-card strong { font-size:24px; margin:3px 0; }
  .english-score-card small { font-size:8px; }
  .english-score-card .english-score-card__decoration { width:40px; height:40px; right:16px; top:29px; }
  .english-score-card__actions a { font-size:8px; }
}
.english-index-page .feature-grid { gap:12px; padding:12px; border:1px solid #e4eef5; border-radius:18px; background:#ffffffaa; }
.english-index-page .feature-card { border-color:#e2edf4; border-radius:14px; background:#fff; box-shadow:0 5px 14px #55789108; }
.english-index-page .feature-card__link { background:#e1f3f8; color:#27718b; }
.english-index-page #toeic-part-practice { padding:14px 16px 16px; border:0; border-radius:20px; background:linear-gradient(115deg,#f8fcff,#f4faff); box-shadow:none; }
.english-index-page #toeic-part-practice .feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.english-index-page #toeic-part-practice .feature-card { position:relative; display:grid; grid-template-columns:39px minmax(0,1fr) auto; grid-template-rows:39px 1fr auto; align-items:center; gap:10px; min-width:0; min-height:185px; box-sizing:border-box; padding:12px; border:1px solid #e8eff7; border-radius:15px; background:linear-gradient(130deg,#fff,#fcfdff); box-shadow:none; }
.english-index-page #toeic-part-practice .feature-card__icon-link { grid-column:1; grid-row:1; display:grid; place-items:center; width:39px; height:39px; margin:0; padding:0; border:1px solid #ffe4dc; border-radius:10px; background:#fff; color:#ff9565; box-shadow:none; }
.english-index-page #toeic-part-practice .feature-card:nth-child(3n+2) .feature-card__icon-link { color:#347bff; border-color:#e0ebff; }
.english-index-page #toeic-part-practice .feature-card:nth-child(3n) .feature-card__icon-link { color:#9163ff; border-color:#ede4ff; }
.english-index-page #toeic-part-practice .feature-card:nth-child(4) .feature-card__icon-link { color:#2abc9a; border-color:#d8f3e9; }
.english-index-page #toeic-part-practice .feature-card__icon-link svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.english-index-page #toeic-part-practice .feature-card h3 { grid-column:2; grid-row:1; margin:0; padding:0; color:#112845; font-size:15px; font-weight:750; line-height:1.4; }
.english-index-page #toeic-part-practice .feature-card p { grid-column:1 / -1; grid-row:2; align-self:start; margin:0 2px; padding:0; color:#7c8ba1; font-size:12px; line-height:1.5; }
.english-index-page #toeic-part-practice .feature-card__link { grid-column:1 / -1; grid-row:3; display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:34px; box-sizing:border-box; margin:0; padding:6px 10px; border:0; border-radius:999px; background:#e0f0f7; color:#20617b; font-size:11px; line-height:1.3; }
.english-index-page #toeic-part-practice .feature-card__link::after { content:'→'; font-size:16px; }
.english-index-page #toeic-part-practice .feature-card__link:hover { background:#cfe7f2; }
.english-index-page #toeic-part-practice .portal-module-card__badge--counter { position:static; grid-column:3; grid-row:1; min-width:0; padding:4px 7px; border:1px solid #e2edf5; border-radius:999px; background:#f0f7fc; color:#7390a4; box-shadow:none; font-size:9px; line-height:1.4; white-space:nowrap; transform:none; }
.english-index-page #toeic-part-practice a:focus-visible { outline:2px solid #268eaf; outline-offset:3px; }
@media (min-width:601px) and (max-width:900px) {
  .english-index-page #toeic-part-practice { padding:12px; }
  .english-index-page #toeic-part-practice .feature-grid { gap:10px; }
  .english-index-page #toeic-part-practice .feature-card { grid-template-columns:30px minmax(0,1fr) auto; grid-template-rows:34px 1fr auto; min-height:145px; padding:10px; gap:7px; }
  .english-index-page #toeic-part-practice .feature-card__icon-link { width:30px; height:30px; }
  .english-index-page #toeic-part-practice .feature-card h3 { font-size:12px; }
  .english-index-page #toeic-part-practice .feature-card p { font-size:10px; }
  .english-index-page #toeic-part-practice .portal-module-card__badge--counter { font-size:8px; padding:3px 4px; }
  .english-index-page #toeic-part-practice .feature-card__link { min-height:28px; font-size:9px; }
}
@media (max-width:600px) {
  .english-index-page #toeic-part-practice .feature-grid { grid-template-columns:1fr; }
  .english-index-page #toeic-part-practice .feature-card { min-height:160px; }
}

@media (max-width:600px) {
  .english-index-page .english-score-summary { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:5px; }
  .english-index-page .english-score-card { min-width:0; }
  .english-index-page .english-score-card__body { min-height:106px; padding:8px 6px; }
  .english-index-page .english-score-card__heading { gap:3px; font-size:6px; }
  .english-index-page .english-score-card__icon { flex-basis:17px; width:17px; height:17px; border-radius:4px; }
  .english-index-page .english-score-card .score-icon { width:11px; height:11px; }
  .english-index-page .english-score-card strong { font-size:13px; }
  .english-index-page .english-score-card small { font-size:5.5px; line-height:1.25; }
  .english-index-page .english-score-card .english-score-card__decoration { right:3px; top:27px; width:22px; height:22px; }
  .english-index-page .english-score-card__actions { gap:2px; padding:3px 2px; }
  .english-index-page .english-score-card__actions a { padding:2px 1px; font-size:5px; }
  .english-index-page #foundation .feature-grid,
  .english-index-page #toeic-part-practice .feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .english-index-page #foundation .feature-card,
  .english-index-page #toeic-part-practice .feature-card { min-height:106px !important; }
  .english-index-page #foundation .feature-card p,
  .english-index-page #toeic-part-practice .feature-card p { -webkit-line-clamp:2; }
}

@media (max-width:600px) {
  .english-index-page .english-score-summary { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:5px; }
  .english-index-page .english-score-card { min-width:0; }
  .english-index-page .english-score-card__body { min-height:106px; padding:8px 6px; }
  .english-index-page .english-score-card__heading { gap:3px; font-size:6px; }
  .english-index-page .english-score-card__icon { flex-basis:17px; width:17px; height:17px; border-radius:4px; }
  .english-index-page .english-score-card .score-icon { width:11px; height:11px; }
  .english-index-page .english-score-card strong { font-size:13px; }
  .english-index-page .english-score-card small { font-size:5.5px; line-height:1.25; }
  .english-index-page .english-score-card .english-score-card__decoration { right:3px; top:27px; width:22px; height:22px; }
  .english-index-page .english-score-card__actions { gap:2px; padding:3px 2px; }
  .english-index-page .english-score-card__actions a { padding:2px 1px; font-size:5px; }
}

/* Match the compact Japanese mobile layout without changing desktop rules. */
@media (max-width:600px) {
  .english-index-page .page-shell { width:calc(100% - 12px); }
  .english-index-page .topbar { min-height:42px; padding:5px 8px; }
  .english-index-page .topbar__home-icon { width:26px; height:26px; }
  .english-index-page .topbar__brand-copy strong { font-size:10px; }
  .english-index-page .topbar__brand-copy span { font-size:8px; }
  .english-index-page .topbar__login { padding:5px 7px; font-size:8px; }
  .english-index-page .hero { min-height:170px; border-radius:14px; }
  .english-index-page .hero__copy { padding:15px 13px; }
  .english-index-page .hero .eyebrow { font-size:8px; margin-bottom:5px; }
  .english-index-page .hero h1 { max-width:245px; font-size:1.75rem; line-height:1.02; }
  .english-index-page .english-hero__lead { max-width:250px; font-size:8px; line-height:1.4; }
  .english-index-page .english-hero__chips { gap:3px; margin:6px 0; }
  .english-index-page .english-hero__chips span { padding:3px 5px; font-size:7px; }
  .english-index-page .hero__actions .primary-btn { min-height:28px; padding:5px 9px; font-size:8px; }
  .english-index-page main { gap:8px; }
  .english-index-page #entry-options .entry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .english-index-page #entry-options .entry-card { min-height:108px; padding:9px 7px 8px 31px; border-radius:10px; }
  .english-index-page #entry-options .entry-card::before { left:8px; top:9px; width:19px; height:19px; border-radius:5px; font-size:11px; }
  .english-index-page #entry-options .entry-card .entry-card__tag { font-size:7px; margin-bottom:2px; }
  .english-index-page #entry-options .entry-card h3 { font-size:10px; margin-bottom:3px; }
  .english-index-page #entry-options .entry-card > p:not(.entry-card__tag) { display:-webkit-box; overflow:hidden; margin-bottom:4px; font-size:7px; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .english-index-page #entry-options .level-picker { gap:3px; }
  .english-index-page #entry-options .level-chip { width:26px; height:26px; font-size:8px; }
  .english-index-page #entry-options .assessment-box { gap:3px; margin-bottom:4px; }
  .english-index-page #entry-options .assessment-row { min-height:20px; padding:0 5px; border-radius:6px; font-size:6px; }
  .english-index-page #entry-options .assessment-row strong { font-size:6px; }
  .english-index-page #entry-options .entry-link { min-height:20px; padding:3px 5px; font-size:7px; }
  .english-index-page #entry-options .exam-countdown-card { min-height:82px; padding:8px; border-radius:10px; }
  .english-index-page #entry-options .exam-countdown-card__label { padding:3px 6px; font-size:6px; }
  .english-index-page #entry-options .exam-countdown-card__copy strong { margin:3px 0; font-size:16px; }
  .english-index-page #entry-options .exam-countdown-card__copy p { font-size:7px; }
  .english-index-page #entry-options .exam-countdown-card__timer { gap:3px; margin-top:4px; }
  .english-index-page #entry-options .exam-countdown-card__timer span { min-height:34px; border-radius:7px; }
  .english-index-page #entry-options .exam-countdown-card__timer strong { font-size:12px; }
  .english-index-page #entry-options .exam-countdown-card__timer small { font-size:6px; }
  .english-score-summary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin:0; }
  .english-score-card { border-radius:10px; }
  .english-score-card__body { min-height:92px; padding:8px 7px; }
  .english-score-card__heading { gap:4px; font-size:7px; white-space:nowrap; }
  .english-score-card__icon { flex-basis:19px; width:19px; height:19px; border-radius:5px; }
  .english-score-card .score-icon { width:13px; height:13px; }
  .english-score-card strong { margin:4px 0 2px; font-size:16px; white-space:nowrap; }
  .english-score-card small { font-size:6px; line-height:1.35; }
  .english-score-card .english-score-card__decoration { right:5px; top:28px; width:27px; height:27px; opacity:.65; }
  .english-score-card__actions { gap:2px; padding:4px 3px; }
  .english-score-card__actions a { padding:3px 1px; font-size:6px; }
  .english-index-page #foundation,
  .english-index-page #toeic-part-practice { padding:9px; border-radius:13px; }
  .foundation-heading { margin-bottom:7px; }
  .foundation-heading h2 { gap:5px; font-size:12px; }
  .foundation-heading h2 svg { width:16px; height:16px; }
  .foundation-heading > a { font-size:7px; }
  .foundation-heading > a span { margin-left:4px; }
  .english-index-page #foundation .feature-grid,
  .english-index-page #toeic-part-practice .feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .english-index-page #foundation .feature-card,
  .english-index-page #toeic-part-practice .feature-card { min-height:108px; padding:7px 5px 5px; border-radius:9px; }
  .english-index-page #foundation .feature-card__header-row { gap:5px; margin:0 1px 4px; }
  .english-index-page #foundation .feature-card__icon-link,
  .english-index-page #toeic-part-practice .feature-card__icon-link { flex-basis:25px; width:25px; height:25px; border-radius:6px; }
  .english-index-page #foundation .feature-card__icon-link svg,
  .english-index-page #toeic-part-practice .feature-card__icon-link svg { width:17px; height:17px; }
  .english-index-page #foundation .feature-card h3,
  .english-index-page #toeic-part-practice .feature-card h3 { font-size:8px; line-height:1.2; }
  .english-index-page #foundation .feature-card p,
  .english-index-page #toeic-part-practice .feature-card p { display:-webkit-box; overflow:hidden; margin:0 1px 4px; font-size:6px; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
  .english-index-page #foundation .feature-card__link,
  .english-index-page #toeic-part-practice .feature-card__link { min-height:20px; padding:3px 2px; font-size:6px; gap:3px; }
  .english-index-page #foundation .feature-card__link::after,
  .english-index-page #toeic-part-practice .feature-card__link::after { font-size:9px; }
  .english-index-page #toeic-part-practice .feature-card { grid-template-columns:25px minmax(0,1fr); grid-template-rows:25px 1fr auto; gap:3px 4px; }
  .english-index-page #toeic-part-practice .portal-module-card__badge--counter { grid-column:2; grid-row:1; justify-self:end; padding:2px 3px; font-size:6px; }
}
.english-index-page #foundation {
  padding:14px 16px 16px;
  border:0;
  border-radius:20px;
  background:linear-gradient(115deg,#f8fcff,#f4faff);
  box-shadow:none;
}
.foundation-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; }
.foundation-heading h2 { display:flex; align-items:center; gap:12px; margin:0; color:#102947; font-size:18px; font-weight:750; line-height:1.4; }
.foundation-heading h2 svg { width:23px; height:23px; color:#1593ad; }
.foundation-heading > a { color:#287e9c; font-size:11px; text-decoration:none; white-space:nowrap; }
.foundation-heading > a span { margin-left:10px; }
.english-index-page #foundation .feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.english-index-page #foundation .feature-card { display:flex; flex-direction:column; min-width:0; min-height:185px; box-sizing:border-box; gap:0; padding:12px; border:1px solid #e8eff7; border-radius:15px; background:linear-gradient(130deg,#fff,#fcfdff); box-shadow:none; }
.english-index-page #foundation .feature-card__header-row { display:flex; align-items:center; gap:20px; margin:0 3px 9px; }
.english-index-page #foundation .feature-card__icon-link { display:grid; place-items:center; flex:0 0 39px; width:39px; height:39px; margin:0; padding:0; border:1px solid #ffe3e9; border-radius:10px; background:#fff; color:#ff527d; box-shadow:none; }
.english-index-page #foundation .feature-card:nth-child(2) .feature-card__icon-link { color:#347bff; border-color:#e0ebff; }
.english-index-page #foundation .feature-card:nth-child(3) .feature-card__icon-link { color:#9163ff; border-color:#ede4ff; }
.english-index-page #foundation .feature-card__icon-link svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.english-index-page #foundation .feature-card h3 { margin:0; color:#112845; font-size:15px; font-weight:750; line-height:1.4; }
.english-index-page #foundation .feature-card p { margin:0 2px 12px; color:#7c8ba1; font-size:12px; line-height:1.5; }
.english-index-page #foundation .feature-card__link { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:34px; box-sizing:border-box; margin-top:auto; padding:6px 10px; border:0; border-radius:999px; background:#e0f0f7; color:#20617b; font-size:11px; line-height:1.3; }
.english-index-page #foundation .feature-card__link::after { content:'→'; font-size:16px; }
.english-index-page #foundation .feature-card__link:hover { background:#cfe7f2; }
.english-index-page #foundation a:focus-visible { outline:2px solid #268eaf; outline-offset:3px; }
@media (min-width:601px) and (max-width:900px) {
  .english-index-page #foundation { padding:12px; }
  .foundation-heading h2 { font-size:15px; gap:10px; }
  .foundation-heading > a { font-size:9px; }
  .english-index-page #foundation .feature-grid { gap:10px; }
  .english-index-page #foundation .feature-card { min-height:145px; padding:10px; }
  .english-index-page #foundation .feature-card__header-row { gap:16px; margin-bottom:6px; }
  .english-index-page #foundation .feature-card__icon-link { flex-basis:34px; width:34px; height:34px; }
  .english-index-page #foundation .feature-card h3 { font-size:12px; }
  .english-index-page #foundation .feature-card p { font-size:10px; margin-bottom:10px; }
  .english-index-page #foundation .feature-card__link { min-height:28px; font-size:9px; }
}
@media (max-width:600px) {
  .english-index-page #foundation .feature-grid { grid-template-columns:1fr; }
  .english-index-page #foundation .feature-card { min-height:160px; }
  .foundation-heading h2 { font-size:16px; gap:8px; }
}

/* Improve legibility for the supporting copy in the two learning sections. */
.english-index-page #foundation .feature-card p,
.english-index-page #toeic-part-practice .feature-card p { font-size:13px; line-height:1.6; }
.english-index-page #foundation .feature-card__link,
.english-index-page #toeic-part-practice .feature-card__link { font-size:12px; }
.english-index-page #toeic-part-practice .portal-module-card__badge--counter { padding:5px 8px; font-size:10px; }
@media (max-width:900px) {
  .english-index-page #foundation .feature-card p,
  .english-index-page #toeic-part-practice .feature-card p { font-size:11px; line-height:1.5; }
  .english-index-page #foundation .feature-card__link,
  .english-index-page #toeic-part-practice .feature-card__link { font-size:10px; }
  .english-index-page #toeic-part-practice .portal-module-card__badge--counter { font-size:9px; }
}
.english-index-page #entry-options { padding-top:8px; }
.english-index-page #entry-options { background:transparent; box-shadow:none; }
.english-index-page #entry-options > .section-heading { display:none; }
.english-index-page #entry-options .entry-grid { grid-template-columns:1fr 1fr; gap:12px; }
.english-index-page #entry-options .entry-card { position:relative; min-height:154px; padding:16px 18px 14px 58px; border-radius:15px; background:linear-gradient(145deg,#fff,#f9fcff); }
.english-index-page #entry-options .entry-card::before { content:"◎"; position:absolute; left:16px; top:17px; display:grid; place-items:center; width:29px; height:29px; border-radius:8px; color:#fff; background:linear-gradient(145deg,#23a6b7,#167f9c); font-size:17px; font-weight:700; }
.english-index-page #entry-options .entry-card:nth-child(2)::before { content:"▤"; background:linear-gradient(145deg,#277bd2,#2462aa); }
.english-index-page #entry-options .entry-card .entry-card__tag { margin:0 0 4px; color:#8a98a8; font-size:10px; letter-spacing:.08em; }
.english-index-page #entry-options .entry-card h3 { margin:0 0 5px; color:#173451; font-size:16px; }
.english-index-page #entry-options .entry-card > p:not(.entry-card__tag) { margin:0 0 10px; color:#718298; font-size:10px; line-height:1.45; }
.english-index-page #entry-options .level-picker { gap:10px; }
.english-index-page #entry-options .level-chip { width:48px; height:48px; padding:0; font-size:13px; }
.english-index-page #entry-options .assessment-box { display:grid; gap:8px; margin:0 0 10px; }
.english-index-page #entry-options .assessment-row { min-height:35px; padding:0 12px; border-radius:10px; background:#f5f9fd; font-size:10px; }
.english-index-page #entry-options .assessment-row strong { color:#196d8d; font-size:11px; }
.english-index-page #entry-options .entry-link { min-height:30px; padding:6px 14px; font-size:10px; background:#def0f8; color:#28718b; }
.english-index-page #entry-options .exam-countdown-card { position:relative; min-height:92px; box-sizing:border-box; overflow:hidden; padding:14px 20px; border:0; border-radius:16px; background:transparent !important; box-shadow:none; }
.english-index-page #entry-options .exam-countdown-card::before { display:none; }
.english-index-page #entry-options .exam-countdown-card::after { display:block; content:""; position:absolute; inset:0; z-index:0; background:url('../../assets/toeic-countdown-banner.png') center 72% / cover no-repeat; pointer-events:none; }
.english-index-page #entry-options .exam-countdown-card { backdrop-filter:none; }
.english-index-page #entry-options .exam-countdown-card > * { position:relative; z-index:1; }
.english-index-page #entry-options .exam-countdown-card__copy { max-width:64%; }
.english-index-page #entry-options .exam-countdown-card__label { display:inline-block; padding:4px 9px; border-radius:999px; background:#d5eef5; color:#22768b; font-size:9px; }
.english-index-page #entry-options .exam-countdown-card__copy strong { display:block; margin:5px 0 2px; color:#132f50; font-size:25px; line-height:1.15; }
.english-index-page #entry-options .exam-countdown-card__copy p { margin:0; color:#60788b; font-size:10px; }
.english-index-page #entry-options .exam-countdown-card__timer { gap:8px; }
.english-index-page #entry-options .exam-countdown-card__timer span { min-width:54px; min-height:60px; border-radius:14px; background:#ffffffd9; }
.english-index-page #entry-options .exam-countdown-card__timer strong { color:#185266; font-size:21px; }
.english-index-page #entry-options .exam-countdown-card__timer small { color:#69808d; font-size:9px; }
.english-index-page .hero { display:block; min-height:220px; padding:0; background-position:center; }
.english-index-page .hero::after { background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.56) 42%,rgba(255,255,255,0) 72%); }
.english-index-page .hero__copy { width:52%; max-width:none; height:auto; padding:24px 26px; background:transparent; border:0; border-radius:0; box-shadow:none; backdrop-filter:none; }
.english-index-page .hero h1 { margin:4px 0 6px; font-size:clamp(2rem,3.8vw,3rem); line-height:1.02; }
.english-index-page .english-hero__lead { font-size:11px; line-height:1.5; }
.english-index-page .english-hero__chips { margin:8px 0 10px; }
.english-index-page .english-hero__chips span { padding:5px 9px; font-size:10px; }
.english-index-page .hero__actions { margin-top:8px; }
.english-index-page .hero__actions .primary-btn { padding:9px 16px; font-size:12px; }
@media(max-width:700px){.english-index-page .hero{min-height:200px;padding:0}.english-index-page .hero__copy{width:100%;box-sizing:border-box;padding:20px 18px}.english-index-page .hero::after{background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.68) 78%,rgba(255,255,255,.1))}.english-index-page .hero h1{font-size:2.1rem}.english-score-summary{grid-template-columns:1fr}.english-score-card{min-height:82px}.english-index-page #entry-options .entry-grid{grid-template-columns:1fr}.english-index-page #entry-options .entry-card{min-height:145px}.english-index-page #entry-options .exam-countdown-card{padding:12px}.english-index-page #entry-options .exam-countdown-card__copy{max-width:100%}.english-index-page #entry-options .exam-countdown-card__copy strong{font-size:19px}.english-index-page #entry-options .exam-countdown-card__timer{margin-top:8px}}

@media (max-width:600px) {
  .english-index-page { overflow-x:hidden; }
  .english-index-page .page-shell { width:calc(100% - 20px); max-width:none; margin:0 auto; }
  .english-index-page .topbar { min-height:52px; margin-bottom:10px; padding:7px 10px; border-radius:14px; }
  .english-index-page .topbar__home-icon { width:30px; height:30px; font-size:11px; }
  .english-index-page .topbar__brand-copy strong { font-size:12px; }
  .english-index-page .topbar__brand-copy span { font-size:9px; }
  .english-index-page .topbar__login { padding:7px 9px; font-size:10px; }
  .english-index-page .hero { min-height:310px; border-radius:18px; background-position:62% center; }
  .english-index-page .hero::after { background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.75) 55%,rgba(255,255,255,.18) 100%); }
  .english-index-page .hero__copy { width:100%; padding:24px 18px; }
  .english-index-page .hero .eyebrow { margin-bottom:8px; font-size:10px; }
  .english-index-page .hero h1 { max-width:290px; margin-bottom:9px; font-size:clamp(2rem,11vw,2.5rem); }
  .english-index-page .english-hero__lead { max-width:300px; font-size:11px; line-height:1.6; }
  .english-index-page .english-hero__chips { max-width:310px; gap:5px; margin:10px 0; }
  .english-index-page .english-hero__chips span { padding:5px 8px; font-size:9px; }
  .english-index-page .hero__actions .primary-btn { min-height:38px; padding:8px 14px; font-size:11px; }
  .english-index-page main { display:grid; gap:12px; }
  .english-index-page #entry-options { padding-top:0; }
  .english-index-page #entry-options .entry-grid { gap:10px; }
  .english-index-page #entry-options .entry-card { min-height:0; padding:14px 14px 14px 52px; }
  .english-index-page #entry-options .entry-card::before { left:14px; top:15px; width:27px; height:27px; font-size:15px; }
  .english-index-page #entry-options .entry-card h3 { font-size:15px; }
  .english-index-page #entry-options .entry-card > p:not(.entry-card__tag) { font-size:11px; line-height:1.5; }
  .english-index-page #entry-options .level-picker { flex-wrap:wrap; gap:7px; }
  .english-index-page #entry-options .level-chip { width:43px; height:43px; font-size:12px; }
  .english-index-page #entry-options .assessment-row { min-height:34px; font-size:10px; }
  .english-index-page #entry-options .exam-countdown-card { min-height:148px; padding:12px 14px; border-radius:14px; background-position:center 72%; }
  .english-index-page #entry-options .exam-countdown-card__copy { max-width:100%; }
  .english-index-page #entry-options .exam-countdown-card__copy strong { font-size:21px; }
  .english-index-page #entry-options .exam-countdown-card__copy p { font-size:10px; line-height:1.5; }
  .english-index-page #entry-options .exam-countdown-card__timer { grid-template-columns:repeat(3,1fr); gap:6px; margin-top:8px; }
  .english-index-page #entry-options .exam-countdown-card__timer span { min-width:0; min-height:50px; border-radius:11px; }
  .english-index-page #entry-options .exam-countdown-card__timer strong { font-size:18px; }
  .english-score-summary { gap:10px; margin:0; }
  .english-score-card__body { min-height:108px; padding:13px 16px 12px; }
  .english-score-card strong { font-size:24px; }
  .english-score-card small { max-width:230px; font-size:10px; }
  .english-score-card .english-score-card__decoration { right:15px; top:30px; width:42px; height:42px; }
  .english-score-card__actions { gap:5px; padding:6px 8px; }
  .english-score-card__actions a { font-size:9px; }
  .english-index-page #foundation,
  .english-index-page #toeic-part-practice { padding:12px; border-radius:16px; }
  .foundation-heading { margin-bottom:10px; }
  .foundation-heading h2 { font-size:16px; }
  .foundation-heading h2 svg { width:20px; height:20px; }
  .foundation-heading > a { font-size:10px; }
  .english-index-page #foundation .feature-grid,
  .english-index-page #toeic-part-practice .feature-grid { gap:9px; }
  .english-index-page #foundation .feature-card,
  .english-index-page #toeic-part-practice .feature-card { min-height:148px; padding:11px; border-radius:13px; }
  .english-index-page #foundation .feature-card__header-row { gap:12px; margin-bottom:7px; }
  .english-index-page #foundation .feature-card__icon-link,
  .english-index-page #toeic-part-practice .feature-card__icon-link { flex-basis:34px; width:34px; height:34px; }
  .english-index-page #foundation .feature-card h3,
  .english-index-page #toeic-part-practice .feature-card h3 { font-size:14px; }
  .english-index-page #foundation .feature-card p,
  .english-index-page #toeic-part-practice .feature-card p { font-size:11px; line-height:1.5; }
  .english-index-page #foundation .feature-card__link,
  .english-index-page #toeic-part-practice .feature-card__link { min-height:32px; font-size:10px; }
  .english-index-page #toeic-part-practice .feature-card { grid-template-columns:34px minmax(0,1fr) auto; grid-template-rows:34px 1fr auto; gap:7px; }
  .english-index-page #toeic-part-practice .portal-module-card__badge--counter { padding:4px 6px; font-size:9px; }
}

@media (max-width:600px) {
  .english-index-page #foundation .feature-grid,
  .english-index-page #toeic-part-practice .feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .english-index-page #foundation .feature-card,
  .english-index-page #toeic-part-practice .feature-card { min-height:106px !important; }
  .english-index-page #foundation .feature-card p,
  .english-index-page #toeic-part-practice .feature-card p { -webkit-line-clamp:2; }
}

/* Keep the mobile page as compact as the Japanese home layout. */
@media (max-width:600px) {
  .english-index-page .page-shell {
    width: min(calc(100% - 8px), 560px);
    padding: 8px 0 24px;
  }
  .english-index-page .topbar { margin-bottom: 6px; }
  .english-index-page main { gap: 8px; }
  .english-index-page .section-block { margin-top: 0; }
}

@media (max-width:600px) {
  .english-index-page .english-score-card__body {
    min-height: 82px;
    padding: 7px 6px 6px;
  }
  .english-index-page .english-score-card__actions {
    padding: 2px 3px;
  }
  .english-index-page .english-score-card__actions a {
    padding: 2px 1px;
    line-height: 1.2;
  }
}

@media (max-width:600px) {
  .english-index-page #foundation,
  .english-index-page #toeic-part-practice {
    padding: 5px;
    border-radius: 11px;
  }
  .english-index-page .foundation-heading { margin-bottom: 5px; }
  .english-index-page #foundation .feature-grid,
  .english-index-page #toeic-part-practice .feature-grid { gap: 3px; }
  .english-index-page #foundation .feature-card,
  .english-index-page #toeic-part-practice .feature-card {
    min-height: 98px !important;
    padding: 5px 4px 4px;
    border-radius: 8px;
  }
  .english-index-page #foundation .feature-card__header-row {
    margin: 0 0 3px;
  }
  .english-index-page #foundation .feature-card__icon-link,
  .english-index-page #toeic-part-practice .feature-card__icon-link {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
  }
  .english-index-page #foundation .feature-card__icon-link svg,
  .english-index-page #toeic-part-practice .feature-card__icon-link svg {
    width: 15px;
    height: 15px;
  }
  .english-index-page #foundation .feature-card p,
  .english-index-page #toeic-part-practice .feature-card p {
    margin: 0 0 3px;
    font-size: 5.5px;
    line-height: 1.25;
  }
  .english-index-page #foundation .feature-card__link,
  .english-index-page #toeic-part-practice .feature-card__link {
    min-height: 18px;
    padding: 2px 1px;
    font-size: 5.5px;
  }
}

@media (max-width:600px) {
  .english-index-page #foundation .feature-card__header-row {
    column-gap: 1px;
  }
  .english-index-page #toeic-part-practice .feature-card {
    grid-template-columns: 22px minmax(0, 1fr);
    column-gap: 1px;
  }
}

@media (max-width:600px) {
  .english-index-page .foundation-heading {
    margin-bottom: 4px;
  }
  .english-index-page .foundation-heading h2 {
    gap: 4px;
    font-size: 13px;
    line-height: 1.2;
  }
  .english-index-page .foundation-heading h2 svg {
    width: 17px;
    height: 17px;
  }
  .english-index-page .foundation-heading > a {
    font-size: 8px;
  }
  .english-index-page .foundation-heading > a span {
    margin-left: 3px;
  }
}

@media (max-width:600px) {
  .english-index-page #entry-options .entry-card {
    padding-left: 31px;
  }
  .english-index-page #entry-options .entry-card::before {
    left: 8px;
    top: 9px;
    width: 19px;
    height: 19px;
    border-radius: 5px;
    font-size: 11px;
  }
}
