/* Public-facing Teach Hub refinements. Authenticated workspaces keep their theme. */
body#page-top[data-role='guest'] {
    --site-ink: #20251f;
    --site-muted: #5b645d;
    --site-primary: #675200;
    --site-primary-dark: #413500;
    --site-border: #e2e5dc;
    color: var(--site-ink);
    background: #f8f9f5 !important;
    font-family: 'Segoe UI', system-ui, sans-serif;
}
body#page-top[data-role='guest'] :focus-visible { outline: 3px solid #947500 !important; outline-offset: 4px; }
body#page-top[data-role='guest'] .navbar-public {
    background: rgba(255,255,255,.97) !important;
    color: #20251f !important;
    border: 0 !important;
    border-bottom: 1px solid #e2e5dc !important;
    box-shadow: none !important;
}
body#page-top[data-role='guest'] .navbar-container { max-width: 1200px; margin-inline: auto; min-height: 76px; padding: 12px 24px; }
body#page-top[data-role='guest'] .brand-logo { width: 42px; height: 42px; object-fit: contain; }
body#page-top[data-role='guest'] .navbar-brand { flex-shrink: 0; }
body#page-top[data-role='guest'] .navbar-public .navbar-brand span { max-width: none !important; overflow: visible !important; text-overflow: clip !important; }
body#page-top[data-role='guest'] .teach-hub-wordmark { font-weight: 800; letter-spacing: -.025em; white-space: nowrap; }
body#page-top[data-role='guest'] .teach-word { color: #20251f; }
body#page-top[data-role='guest'] .hub-word { color: #c29a00; }
body#page-top[data-role='guest'] .navbar-mobile-menu { background: #fff !important; color: #20251f !important; }
body#page-top[data-role='guest'] .navbar-mobile-menu:not(.show) { display: none !important; }
body#page-top[data-role='guest'] .navbar-mobile-menu.show { display: block !important; }
body#page-top[data-role='guest'] .btn { min-height: 44px; border-radius: 10px !important; font-weight: 600; padding: .7rem 1.15rem; text-shadow: none !important; }
body#page-top[data-role='guest'] .btn-primary,
body#page-top[data-role='guest'] .btn-gradient-primary,
body#page-top[data-role='guest'] .hero-cta .btn-light {
    background: #ffda27 !important; border: 1px solid #ffda27 !important; color: #20251f !important; box-shadow: none !important;
}
body#page-top[data-role='guest'] .btn-primary:hover,
body#page-top[data-role='guest'] .btn-gradient-primary:hover,
body#page-top[data-role='guest'] .hero-cta .btn-light:hover { background: #edc600 !important; border-color: #edc600 !important; }
body#page-top[data-role='guest'] .btn-outline-primary { background: transparent !important; color: #413500 !important; border: 1px solid #8a783c !important; }
body#page-top[data-role='guest'] .btn-outline-primary:hover { background: #fff6c9 !important; }
body#page-top[data-role='guest'] .hero-section { background: linear-gradient(90deg,rgba(7,24,35,.9),rgba(7,48,59,.4)),url('../img/teach_hub-background.jpg') center / cover no-repeat !important; background-attachment: scroll !important; padding: clamp(56px,7vw,104px) 0 !important; }
body#page-top[data-role='guest'] .teach-hub-hero-logo { display: flex; justify-content: center; align-items: center; gap: 16px; margin-bottom: 28px; }
body#page-top[data-role='guest'] .teach-hub-logo-mark { display: grid; place-items: center; width: 64px; height: 64px; border: 2px solid #ffda27; color: #ffda27; border-radius: 20px; font-size: 32px; }
body#page-top[data-role='guest'] .teach-hub-logo-words { display: flex; flex-direction: column; align-items: flex-start; background: #fff; color: #20251f; border-radius: 22px; padding: 12px 20px; font-size: 38px; font-weight: 800; line-height: 1.05; letter-spacing: -.045em; }
body#page-top[data-role='guest'] .hub-logo-word { color: #d5aa00; }
body#page-top[data-role='guest'] .hero-learning-device { color: #ffda27; }
body#page-top[data-role='guest'] .hero-section .hero-title { color: #fff !important; font-size: clamp(2.5rem,5vw,4.6rem) !important; letter-spacing: -.045em; line-height: 1.08 !important; max-width: 13ch; }
body#page-top[data-role='guest'] .hero-subtitle { color: #f2f5f1 !important; font-size: 1.15rem; max-width: 48ch; line-height: 1.7; }
body#page-top[data-role='guest'] .hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }
body#page-top[data-role='guest'] .hero-cta .btn-outline-light { background: rgba(0,0,0,.2) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.8) !important; }
body#page-top[data-role='guest'] .hero-proof { color: #fff !important; }
body#page-top[data-role='guest'] .teach-hub-hero-logo .logo-word span { animation: none !important; opacity: 1 !important; transform: none !important; }
body#page-top[data-role='guest'] .hero-stats { background: #fff !important; border-bottom: 1px solid #e2e5dc; }
body#page-top[data-role='guest'] .hero-stats strong { color: #20251f !important; }
body#page-top[data-role='guest'] .hero-stats span { color: #5b645d !important; }
body#page-top[data-role='guest'] .features-section,
body#page-top[data-role='guest'] #how-it-works,
body#page-top[data-role='guest'] #benefits { background: #f8f9f5 !important; padding-block: 80px !important; }
body#page-top[data-role='guest'] #benefits { background: #fff !important; }
body#page-top[data-role='guest'] #how-it-works::before,
body#page-top[data-role='guest'] #how-it-works::after { display: none !important; }
body#page-top[data-role='guest'] .section-title { color: #20251f !important; font-size: clamp(1.8rem,3vw,2.65rem); letter-spacing: -.035em; }
body#page-top[data-role='guest'] .section-subtitle { color: #5b645d !important; }
body#page-top[data-role='guest'] .feature-card,
body#page-top[data-role='guest'] .testimonial-card,
body#page-top[data-role='guest'] .card,
body#page-top[data-role='guest'] .card-modern,
body#page-top[data-role='guest'] .card-body {
    background: #fff !important; color: #20251f !important; backdrop-filter: none !important;
    border-color: #e2e5dc !important; box-shadow: 0 8px 28px rgba(32,37,31,.045) !important;
}
body#page-top[data-role='guest'] .card-body { border: 0 !important; box-shadow: none !important; }
body#page-top[data-role='guest'] .card-header { background: #fffdf1 !important; color: #20251f !important; }
body#page-top[data-role='guest'] .feature-title,
body#page-top[data-role='guest'] .testimonial-author-name { color: #20251f !important; }
body#page-top[data-role='guest'] .feature-description,
body#page-top[data-role='guest'] .testimonial-content,
body#page-top[data-role='guest'] .testimonial-author-role { color: #5b645d !important; }
body#page-top[data-role='guest'] .feature-icon { background: #fff4b2 !important; color: #675200 !important; box-shadow: none !important; }
body#page-top[data-role='guest'] :is(#how-it-works, #benefits) .feature-card,
body#page-top[data-role='guest'] .testimonials-section .testimonial-card { background: #fff !important; border: 1px solid #e2e5dc !important; backdrop-filter: none !important; }
body#page-top[data-role='guest'] :is(#how-it-works, #benefits) .feature-title { color: #20251f !important; }
body#page-top[data-role='guest'] :is(#how-it-works, #benefits) .feature-description { color: #5b645d !important; }
body#page-top[data-role='guest'] :is(#how-it-works, #benefits) .feature-icon { background: #fff4b2 !important; color: #675200 !important; }
body#page-top[data-role='guest'] :is(#how-it-works, #benefits) .section-title { color: #20251f !important; }
body#page-top[data-role='guest'] :is(#how-it-works, #benefits) .section-subtitle { color: #5b645d !important; }
body#page-top[data-role='guest'] .testimonials-section { background: #f0f2e9 !important; padding-block: 80px !important; }
body#page-top[data-role='guest'] .testimonials-section .section-title { color: #20251f !important; }
body#page-top[data-role='guest'] .testimonials-section .section-subtitle { color: #5b645d !important; }
body#page-top[data-role='guest'] .testimonial-rating { color: #947500 !important; }
body#page-top[data-role='guest'] .testimonial-badge,
body#page-top[data-role='guest'] .section-kicker { color: #675200 !important; background: transparent !important; font-weight: 700; letter-spacing: .08em; }
body#page-top[data-role='guest'] .page-header { background: #fff7cf !important; color: #20251f !important; padding: 56px 0 !important; }
body#page-top[data-role='guest'] .page-header h1,
body#page-top[data-role='guest'] .page-header p { color: #20251f !important; }
body#page-top[data-role='guest'] .about-content { max-width: 760px; margin-inline: auto; line-height: 1.8; overflow-wrap: anywhere; }
body#page-top[data-role='guest'] .about-content h3 { margin-top: 1.8rem; font-size: 1.25rem; }
body#page-top[data-role='guest'] .about-content h3 i { color: #8a7000; margin-right: .4rem; }
body#page-top[data-role='guest'] .form-control,
body#page-top[data-role='guest'] .form-select { background: #fff !important; color: #20251f !important; border: 1px solid #9aab9c !important; min-height: 46px; }
body#page-top[data-role='guest'] .form-control::placeholder { color: #697269 !important; opacity: 1; }
body#page-top[data-role='guest'] .cta-section { background: #202b24 !important; }
body#page-top[data-role='guest'] .cta-section h2,
body#page-top[data-role='guest'] .cta-section p { color: #fff !important; }
body#page-top[data-role='guest'] .cta-section .btn-light { background: #ffda27 !important; color: #20251f !important; border-color: #ffda27 !important; }
body#page-top[data-role='guest'] .site-footer { background: #202b24 !important; color: #e8eee7 !important; border: 0 !important; margin-top: 0 !important; backdrop-filter: none !important; }
body#page-top[data-role='guest'] .site-footer h5,
body#page-top[data-role='guest'] .site-footer p,
body#page-top[data-role='guest'] .site-footer a,
body#page-top[data-role='guest'] .site-footer li { color: #e8eee7 !important; }
body#page-top[data-role='guest'] .site-footer .hub-word { color: #ffda27 !important; }
body#page-top[data-role='guest'] .site-footer .small { font-size: .78rem; }
body#page-top[data-role='guest'] .site-footer a:hover { text-decoration: underline !important; }
body#page-top[data-role='guest'] > .bg-primary { background: #17211b !important; color: #e8eee7 !important; }
@media (max-width: 767px) {
    body#page-top[data-role='guest'] .navbar-container { padding-inline: 16px; min-height: 68px; }
    body#page-top[data-role='guest'] .hero-cta { justify-content: center; }
    body#page-top[data-role='guest'] .hero-visual { display: none !important; }
    body#page-top[data-role='guest'] .card-body.p-5 { padding: 24px !important; }
    body#page-top[data-role='guest'] .features-section,
    body#page-top[data-role='guest'] #how-it-works,
    body#page-top[data-role='guest'] #benefits,
    body#page-top[data-role='guest'] .testimonials-section { padding-block: 52px !important; }
    body#page-top[data-role='guest'] .hero-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    body#page-top[data-role='guest'] *, body#page-top[data-role='guest'] *::before, body#page-top[data-role='guest'] *::after { animation: none !important; transition: none !important; }
    body#page-top[data-role='guest'] .logo-word span { opacity: 1 !important; transform: none !important; }
}
