/* Forest, parchment and restrained gold; one coherent fictional AI scene. */
.home-page { --home-ink: #193e34; --home-muted: #52685b; --home-green: #2d6950; background: #e9eee2; }
.home-page .site-header { background: #e7eadc; border-color: #cfd8c6; }
.home-page .nav-links a { color: #193e34; }
.home-page .nav-login { border-color: #b9c9b5; }
.home-page .nav-links .nav-start { background: #193e34; color: #f7f0df; border-radius: 12px; }
.home-hero { background: #173e33; padding: 32px 0 48px; position: relative; isolation: isolate; }
.home-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 85% 95%, #53765338, transparent 57%); }
.home-hero-grid { display: block; position: relative; min-height: 730px; }
.home-hero-copy { position: relative; padding-top: 26px; }
.home-eyebrow { position: relative; z-index: 4; color: #d4decb; letter-spacing: .09em; }
.home-eyebrow::before { background: #d5bb83; box-shadow: 0 0 0 5px #d5bb831a; }
.home-hero h1 { position: relative; z-index: 3; width: 760px; max-width: 100%; margin: 29px 0 22px; line-height: 1.05; }
.home-hero h1 span { display: block; color: #f7f0df; white-space: nowrap; }
.home-hero h1 span::after { content: none; }
.home-title-lead { font-size: clamp(96px, 10.6vw, 146px); font-weight: 750; letter-spacing: -.065em; }
.home-title-line { font-size: 64px; font-weight: 600; letter-spacing: -.06em; margin-top: 15px; }
.home-hero h1 .home-title-emphasis { font-size: 86px; font-weight: 700; color: #e6c78f; letter-spacing: -.055em; margin-top: 7px; }
.home-title-emphasis::before { content: ''; position: absolute; width: 275px; height: 1px; background: #d6bb83; bottom: -10px; left: 0; opacity: .65; }
.home-intro, .home-actions, .home-signup-note, .home-principles { position: relative; z-index: 4; }
.home-intro { max-width: 425px; font-size: 16px; line-height: 1.9; margin: 30px 0 25px; color: #d0dac9; }
.home-actions { width: fit-content; }
.home-actions .home-button { border-radius: 12px; min-height: 54px; }
.home-actions .home-button-primary { background: #e6c78f; color: #193e34; box-shadow: 0 9px 25px #081e1426; }
.home-actions .home-button-primary:hover { background: #f0d7aa; }
.home-actions .home-button-light { background: transparent; color: #f7f0df; border-color: #95ad96; }
.home-signup-note { margin: 16px 0 24px; color: #bacbb9; }
.home-principles { color: #d3dfcc; gap: 16px; width: fit-content; }
.home-principles li::before { color: #e6c78f; }
.home-hero :focus-visible { outline-color: #f2d69c; }
.home-hero-backdrop { position: absolute; z-index: 0; inset: 0 0 0 54%; pointer-events: none; }
.home-hero-edition { position: absolute; right: 0; top: 2px; color: #d3ddc7; font: 22px/1.4 'Noto Serif TC', 'Songti TC', serif; letter-spacing: .1em; }
.home-hero-edition small { display: block; margin-top: 4px; font: 8px/1.5 sans-serif; letter-spacing: .18em; color: #b1c1aa; }
.home-book-line { position: absolute; left: 0; top: -2px; width: 76px; height: 51px; stroke: #b99c67; stroke-width: 1.4; }
.home-hero-figure { position: absolute; z-index: 2; left: 46%; right: 0; top: 64px; bottom: 48px; padding: 0; margin: 0; pointer-events: none; }
.home-hero-figure::before { content: ''; position: absolute; inset: -12px -13px 14px 18px; border: 1px solid #b99c674d; border-radius: 156px 28px 30px 28px; transform: rotate(2deg); }
.home-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; border-radius: 140px 22px 22px 22px; background: #6e7865; box-shadow: 0 22px 55px #061e1533; }
.home-hero-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #173e336b, transparent 17%, transparent 85%, #173e3314); pointer-events: none; }
.home-hero-photo img { width: 100%; height: 100%; max-width: 100%; object-fit: cover; object-position: center 15%; }
.home-topics { background: #d6dfce; border-bottom: 1px solid #c7d2be; padding: 29px 0 32px; }
.home-topics-head h2 { font-size: 18px; }
.home-topics-head p { color: #52664c; }
.home-subject { background: #e9eee1; border: 1px solid #c8d4be; border-radius: 12px; }
.home-subject:hover { background: #f0f1e5; border-color: #879f7d; }
.home-subject b { color: #3c684b; }
.home-tutor-card { background: #f1eee2; border-color: #ccd5c2; border-radius: 14px; }
.home-tutor-controls button { background: #e9eee1; border-color: #b7c8ae; }
.home-tutor-tags span { background: #dfe7d5; }
.home-tutor-education { color: #465e4b; }
.home-tutor-description { color: #566a58; }
.home-tutor-facts { border-color: #d3dcc9; color: #63745f; }
.home-steps-section { background: #dce5d4; }
.home-steps li { background: #efeddf; border: 1px solid #c5d1ba; border-top: 3px solid #779167; border-radius: 12px; }
.home-step-number { color: #627e50; }
.home-value-list > div { border-color: #cbd5bf; }
.home-values .home-button-light { background: #e4e9da; border-color: #b9c9ad; border-radius: 12px; }
.home-final { background: #173e33; border-radius: 18px; }
.home-final .home-button { background: #e6c78f; color: #193e34; border-radius: 12px; }
.home-page .site-footer { background: #d3ddcb; }
.home-page .footer-col a, .home-page .footer-brand p, .home-page .footer-bottom { color: #405d45; }
.home-page .tf-chat-launcher { background: #e6c78f; color: #193e34; border: 1px solid #d2b47c; border-radius: 18px; box-shadow: 0 12px 28px #0d2e2926; }
@media (min-width: 1500px) { .home-hero { padding-top: 46px; } }
@media (max-width: 1200px) and (min-width: 761px) {
  .home-hero-grid { min-height: 710px; }
  .home-title-lead { font-size: 12vw; }
  .home-title-line { font-size: 5.5vw; }
  .home-hero h1 .home-title-emphasis { font-size: 7.5vw; }
  .home-hero-figure { left: 48%; top: 64px; bottom: 72px; }
  .home-hero-photo { border-top-left-radius: 100px; }
  .home-intro { max-width: 42%; font-size: 14px; }
  .home-hero-edition { font-size: 18px; }
}
@media (max-width: 760px) {
  .home-hero { padding: 20px 0 50px; }
  .home-hero-grid { display: grid; grid-template-columns: 1fr; gap: 24px; min-height: 0; }
  .home-hero-copy { padding-top: 10px; }
  .home-eyebrow { font-size: 10px; letter-spacing: .04em; }
  .home-hero h1 { width: 100%; margin: 22px 0 18px; }
  .home-title-lead { font-size: clamp(68px, 19vw, 108px); }
  .home-title-line { display: inline!important; font-size: 42px; margin-top: 0; letter-spacing: -.07em; }
  .home-hero h1 .home-title-emphasis { display: inline; font-size: 50px; margin-top: 0; margin-left: 8px; }
  .home-title-emphasis::before { width: 180px; bottom: -5px; }
  .home-intro { width: 100%; max-width: none; margin: 25px 0 22px; font-size: 14px; line-height: 1.8; }
  .home-actions { flex-direction: row; align-items: center; gap: 10px; }
  .home-actions .home-button { min-height: 48px; font-size: 13px; padding: 11px 18px; gap: 16px; }
  .home-signup-note { font-size: 11px; margin: 14px 0 18px; }
  .home-principles { width: 100%; gap: 12px; font-size: 10px; margin: 0; }
  .home-hero-backdrop { display: none; }
  .home-hero-figure { position: relative; left: auto; right: auto; top: auto; bottom: auto; margin: 0; height: 414px; width: 100%; }
  .home-hero-figure::before { inset: -7px -5px 10px 12px; border-radius: 104px 22px 24px 24px; transform: rotate(1deg); }
  .home-hero-photo { border-radius: 94px 16px 16px 16px; }
  .home-hero-photo img { object-position: center 12%; }
}
@media (max-width: 360px) {
  .home-title-lead { font-size: 66px; }
  .home-title-line { font-size: 34px; }
  .home-hero h1 .home-title-emphasis { font-size: 43px; margin-left: 5px; }
  .home-title-emphasis::before { width: 150px; }
  .home-actions .home-button { padding: 11px 13px; gap: 10px; font-size: 12px; }
  .home-hero-figure { height: 360px; }
  .home-principles { gap: 9px; font-size: 9px; }
}

.home-page .nav-teachers { border: 1px solid #b9c9b5; border-radius: 12px; padding: 10px 16px; }
.home-all-teachers { align-self: center; color: #2d6950; font-size: 13px; font-weight: 650; text-decoration: none; margin-right: 8px; }
@media(max-width:760px) { .home-tutor-controls { flex-wrap: wrap; justify-content: flex-end; } .home-all-teachers { flex-basis: 100%; margin: 0; text-align: right; font-size: 11px; } }
.home-tutor-profile-link { position: absolute; inset: 0; display: block; }
.teacher-detail-link { display: inline-flex; align-items: center; min-height: 44px; color: #193e34; font-size: 13px; font-weight: 650; text-decoration: none; }
