.application-path-dialog { position:fixed; inset:0; margin:auto; max-height:calc(100dvh - 2rem); overflow:auto; }
.home-profile-dialog { position:fixed; inset:0; margin:auto; width:min(680px,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); padding:2rem; border:0; border-radius:1.6rem; background:#fff; color:#172033; text-align:center; overflow:auto; }
.home-profile-dialog::backdrop { background:rgba(16,24,40,.58); backdrop-filter:blur(4px); }
.home-profile-close { position:sticky; top:0; float:right; width:44px; height:44px; margin-right:-.6rem; border:0; border-radius:50%; background:#4b5563; color:#fff; font-size:2rem; cursor:pointer; }
.home-profile-photo { display:block; width:190px; height:190px; margin:0 auto 1rem; border:2px solid #d9eaff; border-radius:50%; object-fit:cover; }
.home-profile-dialog h2 { clear:both; margin:0 0 .5rem; font-size:2rem; }
.home-profile-major { color:#667085; margin-bottom:.35rem; }
.home-profile-dialog .teach-school { font-size:1.1rem; font-weight:800; }
.home-profile-plans,.home-profile-languages { margin:.7rem 0; color:#667085; font-weight:700; }
.home-profile-plans span { display:inline-block; padding:.35rem .65rem; background:#edf5ff; color:#2e6dc2; border-radius:2rem; }
.home-profile-languages span { color:#13703d; }
.home-profile-bio { margin-top:1.2rem; text-align:left; white-space:pre-line; line-height:1.75; color:#4f5d70; font-size:1.08rem; }
body.home-profile-open { overflow:hidden; }
.home-hero-teacher-marquee-group [role="button"]:focus-visible { outline:3px solid #2e6dc2; outline-offset:-3px; }
#teacher-finder.homepage-finder-hero { padding-top:1.2rem; }
#finderModePicker[hidden],#finderSelection[hidden] { display:none !important; }
.finder-selection { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; margin-bottom:.8rem; border:1px solid #d6e3f2; border-radius:1rem; background:#fff; color:#183b60; font-weight:750; }
.finder-selection button { border:1px solid #bcd4ef; background:#fff; color:#2468b6; border-radius:2rem; padding:.55rem .9rem; font:inherit; cursor:pointer; }
#finderModePicker { margin-top:.8rem; }
#teacher-finder .homepage-finder-mode { width:100%; }
@media(max-width:599px) { .home-profile-dialog { padding:1.3rem; } .home-profile-photo { width:160px; height:160px; } }
/* Teacher overview restores the v10 title above the interactive carousel. */
.hero.teachers-overview .hero-inner { display:block; max-width:1180px; }
.teachers-overview-copy { text-align:center; margin:0 auto 1.5rem; }
.teachers-overview .page-title { font-size:clamp(2.5rem,5vw,4rem); }
.teachers-overview .page-subtitle { margin-inline:auto; }
.teachers-overview .hero-right { max-width:100%; }
.home-teacher-detail-hint { grid-column:2; text-align:center; color:#6b7b8e; font-size:.8rem; line-height:1.5; font-weight:400; margin:.6rem 0 0; }
.directory-teacher-card { position:relative; padding-top:3.3rem; }
.directory-teacher-card > .directory-teacher-card__detail { position:absolute; top:.65rem; right:1rem; display:inline-flex; width:auto; min-height:32px; padding:.2rem 0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:#718096; font-size:.82rem; font-weight:400; }
.directory-teacher-card > .directory-teacher-card__detail:hover { color:#2e6dc2; background:transparent; border:0; box-shadow:none; }
@media(max-width:900px) { .home-teacher-detail-hint { padding-inline:1rem; } }
.finder-section-title { margin:0 0 1rem; color:#172033; font-size:clamp(1.4rem,3vw,1.9rem); font-weight:800; text-align:center; }
.homepage-finder-hero .teacher-region-step--simple { display:block; width:min(100%,760px); margin:0 auto; min-height:0; padding:1.1rem; border-radius:1.2rem; background:#fff; box-shadow:none; }
.teacher-region-step--simple h3 { margin:0 0 .8rem; color:#617086; font-size:1rem; font-weight:500; }
.homepage-finder-hero .teacher-region-step--simple .teacher-region-option { display:flex; justify-content:space-between; align-items:center; min-height:64px; padding:.9rem 1.1rem; border-radius:.8rem; }
.homepage-finder-hero .teacher-region-step--simple .teacher-region-option strong { font-size:1.2rem; }
.homepage-finder-hero .teacher-region-step--simple > .finder-discount-note { margin:.75rem 0 0; max-width:none; color:#738297; font-size:.78rem; font-weight:400; }

/* Shared finder choices */
#teacher-finder [hidden] { display:none !important; }
#teacher-finder .homepage-finder-intro,
#teacher-finder .homepage-trial-panel,
#teacher-finder .teacher-directory__toolbar { padding:1.2rem; background:#fff; border:1px solid #d8e6fa; border-radius:24px; box-shadow:none; }
#teacher-finder .homepage-finder-mode__label,
#teacher-finder .homepage-trial-panel__heading h2 { font-size:1rem; font-weight:600; color:#64748b; margin:0 0 1rem; }
#teacher-finder .homepage-finder-mode__tabs,
#teacher-finder .teacher-region-segment--compact { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; padding:0; background:transparent; border:0; }
#teacher-finder .homepage-finder-mode__tab,
#teacher-finder .teacher-region-segment--compact button { border:1px solid #d8e4f2; border-radius:16px; padding:1.1rem; min-height:72px; background:#fff; color:#17304a; box-shadow:none; font-size:1.15rem; text-align:left; }
#teacher-finder .homepage-finder-mode__tab span { display:block; font-size:.75rem; margin-top:.35rem; }
#teacher-finder .teacher-region-segment--compact button[aria-pressed="true"] { background:#edf5ff; border-color:#4a90e2; }
#teacher-finder .homepage-trial-option { min-height:0; padding:1rem; border:1px solid #d8e4f2; border-radius:16px; box-shadow:none; transform:none; }
#teacher-finder .homepage-trial-option:hover { border-color:#c1d4ec; transform:none; box-shadow:none; }
#teacher-finder .homepage-trial-option[aria-pressed="true"] { border-color:#4a90e2; background:#edf5ff; }
#teacher-finder .homepage-trial-option__top strong { font-size:1.1rem; }
#teacher-finder .homepage-trial-option > span:not(.homepage-trial-option__top), #teacher-finder .homepage-trial-option small { font-size:.85rem; }
#teacher-finder .teacher-directory__eyebrow { display:none; }
#teacher-finder #teacherDirectoryTitle { font-size:1.35rem; margin:0 0 .65rem; }
#teacher-finder #teacherDirectorySummary { font-size:.95rem; margin-bottom:1rem; }
.teach-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; }
.teach-tags .tag { display:inline-flex !important; align-items:center; padding:.35rem .7rem !important; border:1px solid #cde0ff !important; border-radius:999px !important; background:linear-gradient(135deg,#eff6ff,#eef2ff) !important; color:#36639b !important; font-size:.75rem !important; font-weight:600 !important; line-height:1.3; }
.teach-tags .tag:nth-child(even) { background:#eef9f5 !important; color:#38786a !important; border-color:#d1e9df !important; }

.flip-teacher-card .teach-tags { margin-top:20px!important; gap:8px; }
.flip-teacher-card .teach-tags .tag:nth-child(n) { background:#e9f3ff!important; color:#2c68ad!important; border:1px solid #d6e7fb!important; }
.flip-teacher-card .flip-teacher-hint { order:-1; position:static; font-size:1rem!important; font-weight:800; color:#256bc0; margin:0 0 14px!important; padding:8px 10px; background:#edf5ff; border-radius:10px; text-align:center; }
.flip-teacher-card .teach-major { font-size:1.08rem!important; font-weight:700; color:#334c68; line-height:1.45; }

/* Compact carousel: a quiet top link, two-line introduction. */
.flip-teacher-card .flip-teacher-hint { display:flex!important; justify-content:flex-end; align-items:center; gap:7px; background:transparent!important; border:0!important; padding:0 0 4px!important; color:#2866ad!important; font-size:.86rem!important; font-weight:700!important; margin:0 0 12px!important; }
.flip-teacher-hint span { display:inline-grid; place-items:center; width:23px; height:23px; border:1px solid #cee0f4; border-radius:50%; }
.flip-teacher-card .hero-teacher-bio { display:-webkit-box!important; -webkit-box-orient:vertical; -webkit-line-clamp:2!important; overflow:hidden; line-height:1.5!important; min-height:0!important; max-height:3em!important; }
.flip-teacher-card .teach-tags { margin-top:14px!important; }

.teacher-summary-tags .teacher-category-flag,.teach-tags .teacher-category-flag { background:transparent; padding:0 3px; font-size:22px; line-height:1.3; vertical-align:middle; }


.flip-teacher-card .teach-tags .tag.teacher-category-flag:nth-child(n),
.teach-tags .tag.teacher-category-flag,
.teacher-summary-tags .teacher-category-flag {
  background:transparent!important; border:0!important; border-radius:0!important;
  padding:0!important; box-shadow:none!important; font-size:30px!important;
  line-height:1.2!important; min-width:0; vertical-align:middle;
}


/* Apply the reference spacing to both source cards and the visible marquee copies. */
.teacher-keyword-meta,.teacher-keyword-strengths { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; }
.hero .home-hero-teacher-marquee-group { align-items:flex-start; }
.hero .home-hero-teacher-marquee-group .flip-teacher-card { width:290px; flex-basis:290px; min-height:374px; height:auto; padding:18px 16px 22px; }
.hero .home-hero-teacher-marquee-group .teach-avatar { width:108px; height:108px; margin:4px auto 8px; flex-shrink:0; }
.hero .home-hero-teacher-marquee-group .teach-name { margin:0; line-height:1.35; }
.hero .home-hero-teacher-marquee-group .teach-school { min-height:0; margin:4px 0 0; line-height:1.4; }
.hero .home-hero-teacher-marquee-group .teach-major { min-height:0; margin:5px 0 0; line-height:1.4; text-wrap:balance; }
.hero .home-hero-teacher-marquee-group .teach-tags,
.teacher-flip-deck .flip-teacher-card .teach-tags { display:flex; flex-direction:column; flex-wrap:nowrap; gap:12px; min-height:0; padding:0; margin:20px 0 0!important; }
.hero .home-hero-teacher-marquee-group .teach-tags .tag:not(.teacher-category-flag),
.teacher-flip-deck .flip-teacher-card .teach-tags .tag:not(.teacher-category-flag) { min-height:28px; padding:5px 10px!important; font-family:'Pretendard',sans-serif; font-size:12px!important; font-weight:600!important; line-height:1.35; white-space:nowrap; }
.teacher-keyword-strengths { flex-wrap:nowrap; }
.teacher-keyword-strengths:empty,.teacher-keyword-meta:empty { display:none; }
.hero .home-hero-teacher-marquee-group .teacher-keyword-strengths .tag { display:block!important; flex:0 1 auto; min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.hero .home-hero-teacher-marquee-group .teacher-category-flag { flex:0 0 auto; align-self:center; font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif; }
@media(max-width:599px) {
 .hero .home-hero-teacher-marquee-group .flip-teacher-card { width:260px; flex-basis:260px; padding:16px 14px 22px; }
 .hero .home-hero-teacher-marquee-shell { padding-bottom:6px; }
}

/* Natural stacked spacing inside equal-size moving cards. */
.hero .home-hero-teacher-marquee-group .flip-teacher-card {
 box-sizing:border-box; height:380px; min-height:380px; max-height:380px;
 display:flex; flex-direction:column; gap:0; padding:14px 14px 18px; text-align:center;
}
.hero .home-hero-teacher-marquee-group .flip-teacher-card > * { flex-shrink:0; }
.hero .home-hero-teacher-marquee-group .flip-teacher-hint { margin:0 0 4px!important; }
.hero .home-hero-teacher-marquee-group .teach-avatar { width:144px; height:144px; margin:4px auto 6px; }
.hero .home-hero-teacher-marquee-group .teach-name { margin:0; font-size:20px; line-height:1.35; }
.hero .home-hero-teacher-marquee-group .teach-school { margin:4px 0 0; font-size:13.4px; line-height:1.4; }
.hero .home-hero-teacher-marquee-group .teach-major { margin:5px 0 0; line-height:1.4; text-wrap:balance; }
.hero .home-hero-teacher-marquee-group .teach-major--long { font-size:13px!important; }
.hero .home-hero-teacher-marquee-group .teach-tags { margin:12px 0 0!important; gap:8px; }

/* Use spare space for readable keywords without changing the shared card size. */
.hero .home-hero-teacher-marquee-group .teacher-keywords-roomy .teach-tags .tag:not(.teacher-category-flag) {font-size:13px!important;min-height:30px;padding:5px 10px!important;}
.hero .home-hero-teacher-marquee-group .teacher-keywords-roomy .teach-tags {gap:8px;margin-top:10px!important;}
.hero .home-hero-teacher-marquee-group .teacher-keywords-compact .teach-tags {gap:6px;margin-top:9px!important;}
.hero .home-hero-teacher-marquee-group .teacher-keywords-compact .teach-tags .tag:not(.teacher-category-flag) {font-size:11px!important;min-height:25px;padding:4px 8px!important;}
