/* Homepage: use the existing identity, readable text and content-driven grids. */
.tm-home-content{font:400 16px/1.7 var(--tm-font);color:var(--tm-text)}
.tm-home-section{padding-block:64px;scroll-margin-top:110px}
.tm-home-section h2{font:700 clamp(26px,3vw,36px)/1.25 var(--tm-display);margin:0 0 20px;color:var(--tm-navy);text-wrap:balance}
.tm-home-section h3{font:700 19px/1.4 var(--tm-font);margin:0 0 12px;color:var(--tm-navy);overflow-wrap:anywhere}
.tm-home-section p{margin:0 0 16px}
/* A quiet bridge from the hero to subjects: shared alignment, no repeated programme list. */
.tm-home-intro{display:grid;gap:16px}
.tm-home-intro > *{min-width:0}
.tm-home-intro h2{max-width:24ch;margin:0;font-size:var(--tm-fs-h2);text-align:start}
.tm-home-intro p{max-width:65ch;margin:0;text-align:start;text-wrap:pretty}
.tm-home-tint{background:var(--tm-bg-alt)}
.tm-home-heading{max-width:72ch;margin:0 auto 32px;text-align:center}
.tm-home-heading p,.tm-home-note{color:var(--tm-muted)}
.tm-home-subjects,.tm-home-benefits,.tm-home-tutors,.tm-home-testimonials{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.tm-home-subject,.tm-home-tutor,.tm-home-testimonials figure{min-width:0;background:var(--tm-white);border:1px solid var(--tm-line);border-radius:12px;overflow-wrap:anywhere}
.tm-home-subject{padding:28px;display:flex;flex-direction:column;border-top:3px solid var(--tm-teal)}
.tm-home-subject p{flex:1}
.tm-home-subject h3 a:hover,.tm-home-tutor h3 a:hover{color:var(--tm-teal-text);text-decoration:underline}
.tm-home-link{display:inline-flex;align-items:center;min-height:44px;color:var(--tm-teal-text);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.tm-home-benefits article{min-width:0;padding:0 20px;border-left:3px solid var(--tm-mint)}
.tm-home-benefits p{margin:0}
.tm-home-steps{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:0;margin:0}
.tm-home-steps li{min-width:0}
.tm-home-step-number{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--tm-navy);color:var(--tm-white);font-weight:700;margin-bottom:16px}
.tm-home-action{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 28px;margin-top:28px}
.tm-home-note{font:400 14px/1.6 var(--tm-font);margin:12px 0 0}
.tm-home-action .tm-home-note{flex-basis:100%;text-align:center;margin:0}
.tm-home-tutor{overflow:hidden;display:flex;flex-direction:column}
.tm-home-tutor-photo{display:block;background:var(--tm-bg-alt);height:240px}
.tm-home-tutor-photo .tm-listing-photo{width:100%;height:100%;object-fit:contain;display:block}
.tm-home-tutor-body{padding:24px;display:flex;flex:1;flex-direction:column}
.tm-home-tutor-body p{flex:1}
.tm-home-testimonials figure{margin:0;padding:28px;display:flex;flex-direction:column}
.tm-home-testimonials blockquote{margin:0;flex:1}
.tm-home-testimonials figcaption{font-weight:700;color:var(--tm-navy);margin-top:24px}
.tm-home-testimonials figcaption span{display:block;font-size:14px;font-weight:400;color:var(--tm-muted)}
.tm-hero-intro-actions{margin-top:24px}
.tm-hero-actions{display:none}
.tm-hero-title{font-size:clamp(2rem,4.2vw,3.25rem)}
.tm-hero-programs{grid-template-columns:repeat(2,minmax(0,1fr))}
.tm-hero-program{box-shadow:none;border:1px solid var(--tm-line)}
@media(min-width:640px){.tm-home-subjects,.tm-home-benefits,.tm-home-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:992px){
 .tm-home-section{padding-block:64px}
 .tm-home-intro{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(48px,5vw,64px);align-items:start}
 .tm-home-subjects,.tm-home-tutors,.tm-home-testimonials{grid-template-columns:repeat(3,minmax(0,1fr))}
 .tm-home-benefits,.tm-home-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
 .tm-hero-programs{grid-template-columns:repeat(5,minmax(0,1fr))}
 .tm-hero-image{max-height:480px}
}
@media(max-width:639px){.tm-home-section{padding-block:40px}.tm-home-subject,.tm-home-testimonials figure{padding:22px}.tm-hero{padding-top:24px}.tm-hero-title{margin-bottom:16px}.tm-hero-lead{font-size:16px}.tm-hero-inner{gap:24px}.tm-hero-badge{width:36px;height:36px}.tm-hero-program{padding:14px 10px;gap:8px;align-items:flex-start}.tm-hero-program-title{font-size:13px}.tm-hero-program-text{font-size:12px}.tm-hero-program:last-child{grid-column:1/-1}}

/* School names supplied by Tan: a static list, with one reveal via the shared motion layer. */
.tm-home-schools{padding-block:32px 48px;border-top:1px solid var(--tm-line)}
.tm-home-schools .tm-home-schools-title{display:flex;align-items:center;justify-content:center;gap:20px;margin:0 0 28px;color:var(--tm-muted);font:600 var(--tm-fs-small)/1.6 var(--tm-font);letter-spacing:.1em;text-transform:uppercase;text-align:center}
.tm-home-schools-title::before,.tm-home-schools-title::after{content:"";flex:0 1 64px;height:1px;background:var(--tm-line)}
.tm-home-schools-list{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;list-style:none;margin:0;padding:0}
.tm-home-schools .tm-home-schools-list > li{display:flex;min-width:0;max-width:100%}
.tm-home-schools .tm-school{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:0;min-width:0;max-width:100%;padding:10px 22px;border:1px solid color-mix(in srgb,var(--tm-logo) 22%,var(--tm-white));border-radius:999px;background:color-mix(in srgb,var(--tm-logo) 7%,var(--tm-white));color:var(--tm-navy);font:400 var(--tm-fs-body)/1.5 var(--tm-font);text-align:center;text-decoration:none;overflow-wrap:anywhere}
.tm-home-schools a.tm-school::after{content:"";flex:none;width:0;height:14px;margin-left:0;opacity:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat;transition:width .25s ease,margin-left .25s ease,opacity .2s ease}
@media(hover:hover){.tm-home-schools a.tm-school{transition:transform .25s cubic-bezier(.2,.8,.2,1),background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}.tm-home-schools a.tm-school:hover{transform:translateY(-3px);background:var(--tm-navy);border-color:var(--tm-navy);color:var(--tm-white);box-shadow:0 8px 18px var(--tm-shadow)}.tm-home-schools a.tm-school:hover::after{width:14px;margin-left:8px;opacity:1}}
.tm-home-schools a.tm-school:focus-visible{background:var(--tm-navy);border-color:var(--tm-navy);color:var(--tm-white)}.tm-home-schools a.tm-school:focus-visible::after{width:14px;margin-left:8px;opacity:1}
.tm-home-schools a.tm-school:active{transform:translateY(0) scale(.97)}
@media(prefers-reduced-motion:reduce){.tm-home-schools a.tm-school,.tm-home-schools a.tm-school::after{transition:none}.tm-home-schools a.tm-school:hover{transform:none}}
@media(max-width:639px){
 .tm-home-schools{padding-block:28px 36px}
 .tm-home-schools .tm-home-schools-title{gap:12px;letter-spacing:.06em;margin-bottom:24px}
 .tm-home-schools-title::before,.tm-home-schools-title::after{flex-basis:24px}
 .tm-home-schools-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .tm-home-schools .tm-school{width:100%;padding:10px 12px;border-radius:16px;font-size:var(--tm-fs-small)}
}
