.international-page { background: #f8f7f4; }
.international-page .toefl-hero { background-image: url('/public/static/images/international/redesign/header.png'); }
.international-page .toefl-intro { align-items: start; padding-top: 86px; padding-bottom: 120px; }
.international-page .toefl-intro h2 small { font-size: 20px; line-height: 1.45; }
.international-page .toefl-stats span { white-space: normal; }
.international-process { padding: 90px 0 130px; background: #294b5c; color: #fff; }
.international-process .toefl-section-title > p { color: rgba(255,255,255,.7); }
.international-process-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 40px; margin-top: 80px; }
.international-process-grid article { position: relative; height: 180px; border-radius: 8px; background: #516d7c; }
.international-step-front, .international-step-detail { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; margin: 0; padding: 28px 32px; border-radius: inherit; transition: opacity .25s ease; }
.international-step-front strong { font-size: 48px; font-weight: 500; line-height: 1; }
.international-step-front h3 { margin: 13px 0 0; font-size: 24px; font-weight: 600; }
.international-step-detail { background: #66899c; color: #fff; font-size: 16px; line-height: 1.65; opacity: 0; }
.international-process-grid article:hover .international-step-front, .international-process-grid article:focus .international-step-front { opacity: 0; }
.international-process-grid article:hover .international-step-detail, .international-process-grid article:focus .international-step-detail { opacity: 1; }
.international-process-grid article:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.international-services { padding-top: 110px; padding-bottom: 60px; }
.international-service-banner { display: flex; align-items: center; min-height: 420px; margin: 65px 0 0; padding: 55px 5%; background: #294b5c url('/public/static/images/international/redesign/application-1.png') center / cover no-repeat; }
.international-service-banner ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 30px; width: 55%; margin: 0 0 0 auto; padding: 0; list-style: none; }
.international-service-banner li { position: relative; padding-left: 44px; color: #fff; font-size: 26px; font-weight: 600; line-height: 1.4; }
.international-service-banner li::before { content: ''; position: absolute; top: 1px; left: 0; width: 36px; height: 36px; background: url('/public/static/images/international/redesign/icon.png') center / contain no-repeat; }
.international-feature { display: grid; grid-template-columns: 40% 60%; align-items: start; margin: 40px 0 0; padding: 65px 5%; background: #bde8eb center / cover no-repeat; }
.international-first { min-height: 460px; background-image: url('/public/static/images/international/redesign/application-2.png'); }
.international-target { min-height: 540px; background-image: url('/public/static/images/international/redesign/application-3.png'); }
.international-feature h3 { margin: 0; font-size: 64px; font-weight: 600; line-height: 1.1; }
.international-feature h3 > span { display: block; margin-top: 16px; font-size: 30px; }
.international-feature ul { margin: 0; padding: 0; list-style: none; }
.international-feature li { display: grid; grid-template-columns: 115px minmax(0, 1fr); align-items: center; gap: 22px; margin: 0 0 18px; }
.international-feature-word { position: relative; justify-self: end; width: 46px; height: 46px; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 50px; background: #19c79a; color: #fff; font-family: inherit; font-size: 20px; cursor: pointer; transition: width .25s ease; }
.international-feature-word > span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; white-space: nowrap; transition: opacity .2s ease; }
.international-feature-word .feature-word { opacity: 0; }
.international-feature-word:hover, .international-feature-word:focus { width: calc(var(--word-length) * .65em + 32px); }
.international-feature-word:hover .feature-letter, .international-feature-word:focus .feature-letter { opacity: 0; }
.international-feature-word:hover .feature-word, .international-feature-word:focus .feature-word { opacity: 1; }
.international-feature-word:focus-visible { outline: 2px solid #002e5d; outline-offset: 3px; }
.international-feature li > p { margin: 0; color: #69898b; font-size: 20px; line-height: 1.5; }
.international-courses { padding-top: 70px; padding-bottom: 135px; }
.international-course-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; margin-top: 65px; }
.international-course-grid article { min-height: 340px; padding: 36px 40px; border: 1px solid #dededb; border-radius: 10px; background: linear-gradient(180deg, #f1faff 0, #fff 28%); transition: transform .2s ease, box-shadow .2s ease; }
.international-course-grid article:hover { transform: translateY(-4px); box-shadow: 0 14px 35px rgba(27,48,77,.09); }
.international-course-grid h3 { margin: 0 0 28px; font-size: 28px; font-weight: 600; }
.international-course-grid p { margin: 0; color: #777; font-size: 17px; line-height: 1.85; }
@media (max-width: 1100px) {
  .international-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .international-step-front, .international-step-detail { padding: 20px; }
  .international-step-front strong { font-size: 38px; }
  .international-step-front h3 { font-size: 20px; }
  .international-step-detail { font-size: 14px; line-height: 1.5; }
  .international-service-banner li { padding-left: 30px; font-size: 18px; }
  .international-service-banner li::before { width: 24px; height: 24px; }
  .international-feature h3 { font-size: 46px; }
  .international-feature h3 > span { font-size: 24px; }
  .international-feature li { grid-template-columns: 90px minmax(0, 1fr); gap: 15px; }
  .international-feature-word { width: 36px; height: 36px; font-size: 16px; }
  .international-feature li > p { font-size: 16px; }
  .international-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .international-course-grid article { min-height: 0; padding: 30px; }
}
@media (max-width: 767px) {
  .international-page .toefl-hero h1 { font-size: 34px; }
  .international-page .toefl-eyebrow { font-size: 10px; letter-spacing: .1em; }
  .international-page .toefl-intro { padding-top: 56px; padding-bottom: 64px; }
  .international-page .toefl-intro h2 small { font-size: 16px; }
  .international-process { padding: 56px 0 64px; }
  .international-process-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 34px; }
  .international-process-grid article { height: auto; }
  .international-step-front, .international-step-detail { position: static; opacity: 1; }
  .international-step-front { padding-bottom: 10px; }
  .international-step-detail { padding-top: 0; background: none; color: #e0e7ea; }
  .international-process-grid article:hover .international-step-front, .international-process-grid article:focus .international-step-front { opacity: 1; }
  .international-services { padding-top: 56px; padding-bottom: 30px; }
  .international-service-banner { min-height: 0; margin-top: 34px; padding: 170px 20px 28px; background-position: left top; background-size: auto 220px; }
  .international-service-banner ul { width: 100%; gap: 18px 12px; }
  .international-service-banner li { font-size: 14px; padding-left: 26px; }
  .international-service-banner li::before { width: 20px; height: 20px; }
  .international-feature { grid-template-columns: 1fr; gap: 30px; min-height: 0; margin-top: 20px; padding: 30px 20px 110px; background-size: auto 100%; }
  .international-first { background-position: left bottom; }
  .international-target { background-position: right bottom; }
  .international-feature h3 { font-size: 40px; }
  .international-feature h3 > span { margin-top: 10px; font-size: 22px; }
  .international-feature li { grid-template-columns: 124px minmax(0, 1fr); gap: 12px; }
  .international-feature-word { font-size: 14px; }
  .international-feature li > p { font-size: 14px; color: #3e6062; }
  .international-courses { padding-top: 30px; padding-bottom: 64px; }
  .international-course-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 34px; }
  .international-course-grid article { padding: 28px 24px; }
  .international-course-grid h3 { font-size: 23px; margin-bottom: 18px; }
  .international-course-grid p { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .international-step-front, .international-step-detail, .international-course-grid article, .international-feature-word, .international-feature-word > span { transition: none; }
}
