@keyframes thSchoolsFadeInUp { from { opacity: 0;
    transform: translateY(20px); }
  to { opacity: 1;
    transform: translateY(0); } }

@keyframes thSchoolsSlideInLeft { from { opacity: 0;
    transform: translateX(-20px); }
  to { opacity: 1;
    transform: translateX(0); } }

@keyframes thSchoolsSlideInRight { from { opacity: 0;
    transform: translateX(20px); }
  to { opacity: 1;
    transform: translateX(0); } }

.th-schools-overview-2026 { background-color: #ffffff; color: #3c4549; line-height: 1.5; font-family: "Quicksand", Arial, Helvetica, sans-serif; overflow-x: hidden; }

.th-schools-overview-2026 *, .th-schools-overview-2026 *::before, .th-schools-overview-2026 *::after { margin: 0; padding: 0; box-sizing: border-box; }

.th-schools-overview-2026 a { text-decoration: none; }

.th-schools-overview-2026 ul, .th-schools-overview-2026 ol { list-style: none; }

.th-schools-overview-2026 h1, .th-schools-overview-2026 h2, .th-schools-overview-2026 h3, .th-schools-overview-2026 h4, .th-schools-overview-2026 h5, .th-schools-overview-2026 h6 { color: #3c4549; font-weight: 700; line-height: 1.2; }

.th-schools-overview-2026 p { font-weight: 500; }

.th-schools-overview-2026 img, .th-schools-overview-2026 svg { display: block; max-width: 100%; vertical-align: middle; }

.th-schools-overview-2026-btn-primary, .th-schools-overview-2026-btn-outline, .th-schools-overview-2026-cta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; font-family: inherit; font-weight: 600; font-size: 1rem; padding: 0.75rem 1.5rem; border-radius: 0.5rem; cursor: pointer; text-align: center; line-height: 1.2; transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, color 0.3s ease; }

.th-schools-overview-2026-btn-primary img, .th-schools-overview-2026-btn-outline img, .th-schools-overview-2026-cta-btn img { width: 1.25rem; height: 1.25rem; }

.th-schools-overview-2026-btn-primary { background-color: #375b9a; color: #ffffff; }

.th-schools-overview-2026-btn-primary:hover { color: #ffffff; background-color: #4a448d; transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); }

.th-schools-overview-2026-btn-outline { background-color: transparent; color: #375b9a; border: 1px solid #375b9a; }

.th-schools-overview-2026-btn-outline:hover { color: #375b9a; background-color: #eff6ff; transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); }

.th-schools-overview-2026-hero { background-color: #ffffff; padding: 5rem 1.5rem; text-align: center; overflow: hidden; }

@media (min-width: 768px) { .th-schools-overview-2026-hero { padding: 8rem 1.5rem; } }

.th-schools-overview-2026-hero-inner { max-width: 56rem; margin: 0 auto; animation: thSchoolsFadeInUp 0.8s ease-out forwards; }

.th-schools-overview-2026-hero-eyebrow { font-size: 1.25rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: #4d70ac; margin-bottom: 1rem; }

.th-schools-overview-2026-hero h1 { font-size: 1.875rem; font-weight: 800; line-height: 1.15; margin-bottom: 1.5rem; }

@media (min-width: 1024px) { .th-schools-overview-2026-hero h1 { font-size: 3rem; } }

.th-schools-overview-2026-hero-subhead { font-size: 1.125rem; color: #3c4549; max-width: 42rem; margin: 0 auto 2rem; }

@media (min-width: 768px) { .th-schools-overview-2026-hero-subhead { font-size: 1.25rem; } }

.th-schools-overview-2026-hero-ctas { display: flex; flex-direction: column; gap: 1rem; justify-content: center; align-items: center; }

@media (min-width: 640px) { .th-schools-overview-2026-hero-ctas { flex-direction: row; } }

.th-schools-overview-2026-hero-video { position: relative; width: 100%; max-width: 48rem; height: 16rem; margin: 4rem auto 0; border-radius: 0.75rem; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); overflow: hidden; }

@media (min-width: 768px) { .th-schools-overview-2026-hero-video { height: 24rem; } }

.th-schools-overview-2026-hero-video iframe { width: 100%; height: 100%; border: 0; border-radius: 0.75rem; }

.th-schools-overview-2026-hero-caption { font-size: 0.875rem; color: #6b7685; max-width: 42rem; margin: 1rem auto 0; }

.th-schools-overview-2026-stats { padding: 4rem 1.5rem; background-image: linear-gradient(to right, #92fe9d, #00c9ff); }

@media (min-width: 768px) { .th-schools-overview-2026-stats { padding: 5rem 1.5rem; } }

.th-schools-overview-2026-stats-inner { max-width: 80rem; margin: 0 auto; text-align: center; }

.th-schools-overview-2026-stats-inner h2 { font-size: 1.5rem; font-weight: 700; margin-bottom: 4rem; }

@media (min-width: 1024px) { .th-schools-overview-2026-stats-inner h2 { font-size: 2.25rem; } }

.th-schools-overview-2026-stats-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }

@media (min-width: 768px) { .th-schools-overview-2026-stats-grid { grid-template-columns: repeat(2, 1fr); } }

@media (min-width: 1024px) { .th-schools-overview-2026-stats-grid { grid-template-columns: repeat(5, 1fr); } }

.th-schools-overview-2026-stat-card { padding: 2rem; background-color: #ffffff; border: 1px solid rgba(226, 232, 240, 0.5); border-radius: 0.75rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; align-items: center; text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease; animation: thSchoolsFadeInUp 0.8s ease-out; }

.th-schools-overview-2026-stat-card:hover { transform: translateY(-5px) scale(1.03); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); }

.th-schools-overview-2026-stat-card h3 { font-size: 1.25rem; font-weight: 600; color: #375b9a; margin-bottom: 0.5rem; }

@media (min-width: 1024px) { .th-schools-overview-2026-stat-card h3 { font-size: 1.5rem; } }

.th-schools-overview-2026-stat-icon { display: flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; margin-bottom: 1.5rem; border-radius: 9999px; background-color: rgba(55, 91, 154, 0.1); }

.th-schools-overview-2026-stat-icon img { width: 2rem; height: 2rem; }

.th-schools-overview-2026-stat-figure { margin-bottom: 1rem; }

.th-schools-overview-2026-stat-number { display: block; font-size: 1.875rem; font-weight: 700; color: #3c4549; margin-bottom: 0.25rem; }

@media (min-width: 768px) { .th-schools-overview-2026-stat-number { font-size: 2.25rem; } }

.th-schools-overview-2026-stat-stars { display: flex; justify-content: center; align-items: center; gap: 0.25rem; height: 2.25rem; margin-bottom: 0.25rem; }

.th-schools-overview-2026-stat-stars img { width: 1.5rem; height: 1.5rem; }

.th-schools-overview-2026-stat-desc { display: block; font-size: 0.875rem; font-weight: 500; color: #6b7685; }

.th-schools-overview-2026-stat-card p { font-size: 0.875rem; color: #6b7685; line-height: 1.6; }

.th-schools-overview-2026-value { padding: 4rem 1.5rem; background-color: rgba(249, 250, 251, 0.5); }

@media (min-width: 768px) { .th-schools-overview-2026-value { padding: 6rem 1.5rem; } }

.th-schools-overview-2026-value-inner { max-width: 72rem; margin: 0 auto; }

.th-schools-overview-2026-value-inner h2 { font-size: 1.5rem; font-weight: 700; text-align: center; margin-bottom: 4rem; }

@media (min-width: 1024px) { .th-schools-overview-2026-value-inner h2 { font-size: 2.25rem; } }

.th-schools-overview-2026-value-list { display: flex; flex-direction: column; gap: 3rem; }

.th-schools-overview-2026-value-row { display: flex; flex-direction: column; align-items: center; gap: 2rem; animation: thSchoolsFadeInUp 0.8s ease-out forwards; }

@media (min-width: 768px) { .th-schools-overview-2026-value-row { flex-direction: row; } }

@media (min-width: 768px) { .th-schools-overview-2026-value-row-reverse { flex-direction: row-reverse; } }

.th-schools-overview-2026-value-card { flex: 1; width: 100%; background-color: #ffffff; border: 1px solid #f3f4f6; border-radius: 1rem; padding: 2rem; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); transition: box-shadow 0.3s ease; }

.th-schools-overview-2026-value-card:hover { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); }

.th-schools-overview-2026-value-card-head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }

.th-schools-overview-2026-value-card-head h3 { font-size: 1.25rem; font-weight: 600; }

@media (min-width: 1024px) { .th-schools-overview-2026-value-card-head h3 { font-size: 1.5rem; } }

.th-schools-overview-2026-value-card p { color: #6b7685; line-height: 1.6; }

.th-schools-overview-2026-value-icon { flex-shrink: 0; width: 3rem; height: 3rem; border-radius: 0.75rem; display: flex; align-items: center; justify-content: center; }

.th-schools-overview-2026-value-icon img { width: 1.5rem; height: 1.5rem; }

.th-schools-overview-2026-value-icon-1 { background-image: linear-gradient(135deg, #375b9a, #2563eb); }

.th-schools-overview-2026-value-icon-2 { background-image: linear-gradient(135deg, #0891b2, #0f766e); }

.th-schools-overview-2026-value-icon-3 { background-image: linear-gradient(135deg, #d96079, #db2777); }

.th-schools-overview-2026-value-icon-4 { background-image: linear-gradient(135deg, #10b981, #16a34a); }

.th-schools-overview-2026-value-image { flex-shrink: 0; width: 100%; max-width: 24rem; }

.th-schools-overview-2026-value-image img { width: 100%; height: auto; object-fit: contain; }

.th-schools-overview-2026-testimonials { padding: 4rem 1.5rem; background-image: linear-gradient(to bottom right, #3759a2, #4b134f); color: #ffffff; }

@media (min-width: 768px) { .th-schools-overview-2026-testimonials { padding: 6rem 1.5rem; } }

.th-schools-overview-2026-testimonials-inner { max-width: 56rem; margin: 0 auto; text-align: center; }

.th-schools-overview-2026-testimonials-inner h2 { font-size: 1.5rem; font-weight: 700; color: #ffffff; margin-bottom: 3rem; }

@media (min-width: 1024px) { .th-schools-overview-2026-testimonials-inner h2 { font-size: 2.25rem; } }

.th-schools-overview-2026-testimonials-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }

@media (min-width: 768px) { .th-schools-overview-2026-testimonials-grid { grid-template-columns: repeat(2, 1fr); } }

.th-schools-overview-2026-testimonial { position: relative; overflow: hidden; padding: 2rem; border-radius: 0.75rem; background-color: rgba(255, 255, 255, 0.1); backdrop-filter: blur(4px); border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1); text-align: center; animation: thSchoolsFadeInUp 0.8s ease-out forwards; }

.th-schools-overview-2026-testimonial-quote { margin-bottom: 1.25rem; opacity: 0.9; }

.th-schools-overview-2026-testimonial-quote img { width: 3rem; height: 3rem; }

.th-schools-overview-2026-testimonial blockquote { position: relative; z-index: 1; background: none; border: none; margin: 0; padding: 0; text-align: inherit; }

.th-schools-overview-2026-testimonial blockquote p { font-size: 1.125rem; font-style: italic; font-weight: 500; color: #ffffff; line-height: 1.6; }

.th-schools-overview-2026-testimonial figcaption { margin-top: 1.5rem; font-style: italic; font-size: 1.125rem; font-weight: 600; color: #ffffff; }

.th-schools-overview-2026-topics { padding: 4rem 1.5rem; background-color: #ffffff; }

@media (min-width: 768px) { .th-schools-overview-2026-topics { padding: 6rem 1.5rem; } }

.th-schools-overview-2026-topics-inner { max-width: 64rem; margin: 0 auto; }

.th-schools-overview-2026-topics-inner h2 { font-size: 1.5rem; font-weight: 700; text-align: center; margin-bottom: 3rem; }

@media (min-width: 1024px) { .th-schools-overview-2026-topics-inner h2 { font-size: 2.25rem; } }

.th-schools-overview-2026-topics-grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; }

@media (min-width: 768px) { .th-schools-overview-2026-topics-grid { grid-template-columns: repeat(2, 1fr); } }

.th-schools-overview-2026-topic { background-color: transparent; border: 3px solid; border-radius: 0.75rem; padding: 2rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; }

.th-schools-overview-2026-topic:hover { transform: translateY(-5px) scale(1.03); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); }

.th-schools-overview-2026-topic img { width: 2.5rem; height: 2.5rem; margin-bottom: 1rem; }

.th-schools-overview-2026-topic h3 { font-size: 1.25rem; font-weight: 600; line-height: 1.3; color: inherit; margin-bottom: 0.75rem; }

@media (min-width: 1024px) { .th-schools-overview-2026-topic h3 { font-size: 1.5rem; } }

.th-schools-overview-2026-topic p { line-height: 1.6; color: inherit; }

.th-schools-overview-2026-topic p a { color: inherit; font-weight: 700; text-decoration: underline; transition: opacity 0.2s ease; }

.th-schools-overview-2026-topic p a:hover { opacity: 0.7; }

.th-schools-overview-2026-topic:nth-child(odd) { animation: thSchoolsSlideInLeft 0.8s ease-out; }

.th-schools-overview-2026-topic:nth-child(even) { animation: thSchoolsSlideInRight 0.8s ease-out; }

.th-schools-overview-2026-topic-1 { border-color: #375b9a; color: #375b9a; }

.th-schools-overview-2026-topic-2 { border-color: #30b88c; color: #30b88c; }

.th-schools-overview-2026-topic-3 { border-color: #d96079; color: #d96079; }

.th-schools-overview-2026-topic-4 { border-color: #c14da0; color: #c14da0; }

.th-schools-overview-2026-institutions { padding: 5rem 1.5rem; background-image: linear-gradient(to right, #ffffff, #ece9e6); }

@media (min-width: 768px) { .th-schools-overview-2026-institutions { padding: 8rem 1.5rem; } }

.th-schools-overview-2026-institutions-inner { max-width: 80rem; margin: 0 auto; text-align: center; }

.th-schools-overview-2026-institutions-header { margin-bottom: 4rem; }

.th-schools-overview-2026-institutions-header h2 { font-size: 1.875rem; font-weight: 700; margin-bottom: 1.5rem; }

@media (min-width: 768px) { .th-schools-overview-2026-institutions-header h2 { font-size: 2.25rem; } }

.th-schools-overview-2026-institutions-header p { font-size: 1.25rem; color: #6b7685; max-width: 48rem; margin: 0 auto; }

.th-schools-overview-2026-institutions-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }

@media (min-width: 768px) { .th-schools-overview-2026-institutions-grid { grid-template-columns: repeat(4, 1fr); } }

@media (min-width: 1024px) { .th-schools-overview-2026-institutions-grid { grid-template-columns: repeat(6, 1fr); } }

.th-schools-overview-2026-institution { padding: 0.75rem; background-color: #ffffff; border: 1px solid #e5e7eb; border-radius: 0.75rem; transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; }

.th-schools-overview-2026-institution:hover { transform: scale(1.05); border-color: #d1d5db; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1); }

.th-schools-overview-2026-institution img { width: 100%; height: 4rem; object-fit: contain; margin: 0 auto; }

.th-schools-overview-2026-cta { padding: 4rem 1.5rem; background-image: linear-gradient(to right, #375b9a, #4a448d); color: #ffffff; text-align: center; }

@media (min-width: 768px) { .th-schools-overview-2026-cta { padding: 6rem 1.5rem; } }

.th-schools-overview-2026-cta-inner { max-width: 48rem; margin: 0 auto; animation: thSchoolsFadeInUp 0.8s ease-out forwards; }

.th-schools-overview-2026-cta-inner h2 { font-size: 1.5rem; font-weight: 700; color: #ffffff; margin-bottom: 1.5rem; }

@media (min-width: 1024px) { .th-schools-overview-2026-cta-inner h2 { font-size: 2.25rem; } }

.th-schools-overview-2026-cta-inner p { font-size: 1.125rem; font-weight: 400; color: #ffffff; margin-bottom: 2rem; line-height: 1.6; }

@media (min-width: 768px) { .th-schools-overview-2026-cta-inner p { font-size: 1.25rem; } }

.th-schools-overview-2026-cta-btn { background-color: #ffffff; color: #375b9a; font-weight: 600; font-size: 1.125rem; padding: 1rem 2.5rem; }

.th-schools-overview-2026-cta-btn:hover { color: #375b9a; background-color: #f3f4f6; transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); }

@media (prefers-reduced-motion: reduce) { .th-schools-overview-2026 *, .th-schools-overview-2026 *::before, .th-schools-overview-2026 *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }

#contact_form.modal { max-width: 37rem; width: 100%; }

#contact_form { font-family: "Quicksand", Arial, Helvetica, sans-serif; }

#contact_form .col-container { margin: 0; }

#contact_form .col, #contact_form .col-center { width: 100%; margin: 0; padding: 0; float: none; }

#contact_form .box { padding: 2rem; }

#contact_form h3 { font-size: 1.5rem; font-weight: 700; color: #3c4549; margin: 0 0 1.5rem; }

#contact_form .input-text, #contact_form textarea, #contact_form .form-textarea { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 0.5rem; padding: 0.75rem 1rem; font-size: 1rem; color: #3c4549; transition: border-color 0.2s ease, box-shadow 0.2s ease; }

#contact_form .input-text:focus, #contact_form textarea:focus, #contact_form .form-textarea:focus { background: #ffffff; border-color: #375b9a; box-shadow: 0 0 0 3px rgba(55, 91, 154, 0.15); }

#contact_form textarea, #contact_form .form-textarea { min-height: 9rem; }

#contact_form .form-item { margin-bottom: 1rem; }

#contact_form .form-item label { top: 0.85rem; left: 1rem; right: 1rem; color: #6b7685; font-weight: 500; }

#contact_form .recaptcha-container { margin: 1.25rem 0; }

#contact_form .button.primary { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(to right, #375b9a, #4a448d); background-color: #375b9a; color: #ffffff; font-weight: 600; font-size: 1rem; padding: 0.75rem 2rem; border: none; border-radius: 0.5rem; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease; }

#contact_form .button.primary:hover { color: #ffffff; transform: translateY(-2px); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); opacity: 0.95; }

#contact_form .contact-alternative { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #e2e8f0; color: #6b7685; font-size: 0.875rem; line-height: 1.5; }

#contact_form .contact-alternative a { color: #375b9a; font-weight: 600; }

#contact_form .contact-alternative .secondary-heading h5 { color: #3c4549; font-weight: 700; font-size: 1rem; margin: 0 0 0.25rem; }

#contact_form .contact-alternative + .contact-alternative { margin-top: 1rem; padding-top: 0; border-top: none; }
