/* Shared responsive, accessibility and utility styles. */
.u-05a5c18c6a { color:#fff;margin-bottom:1rem }
.u-0a18ca67ee { list-style:none;display:inline-flex;gap:2rem }
.u-15833155be { border:1px solid #475569;color:#cbd5e1 }
.u-1bf43e03eb { color:#cbd5e1;font-size:0.95rem;margin-bottom:1rem }
.u-1ea1685244 { color:#fff;text-decoration:underline }
.u-4f5ba8cf10 { display:flex;gap:3rem;justify-content:center;opacity:0.5;flex-wrap:wrap }
.u-54c2afb7ba { text-align:right }
.u-5dcdf2dee8 { color:#94a3b8 }
.u-6be0d8ba2c { text-align:left }
.u-729d2fa421 { color:#fff }
.u-73e43db788 { font-weight:bold;font-size:1.2rem;color:#fff }
.u-7545ca5a73 { color:#fff;margin-bottom:0.5rem;font-size:1.25rem }
.u-7cd8fa8034 { font-size:0.9rem;margin-top:0.5rem;opacity:0.8 }
.u-80d654f9c8 { text-decoration:none }
.u-94bdb0f61b { margin-top:4rem;border-top:1px solid rgba(255,255,255,0.1);padding-top:2rem }
.u-973d8cf994 { background:rgba(16,185,129,0.1);color:var(--success);padding:0.2rem 0.5rem;border-radius:4px }
.u-b055dd1351 { margin-bottom:0.25rem;color:#fff }
.u-b48c230a8c { display:flex;gap:1rem;justify-content:center }
.u-b66fe72b31 { display:flex;align-items:center;gap:1.5rem;background:linear-gradient(to right, rgba(30, 41, 59, 0.8), rgba(15, 23, 42, 0.8));border:1px solid rgba(59, 130, 246, 0.2) }
.u-ba1082e119 { width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #3b82f6 }
.u-bba13135fc { color:#64748b;max-width:300px }
.u-c485cceb75 { color:#60a5fa;margin-bottom:0.5rem;font-size:1.1rem }
.u-d81e9e2d8b { font-size:0.8rem;color:var(--primary);margin-top:5px }
.u-dc2e428fc7 { color:var(--primary) }
.u-dc3690b777 { color:#94a3b8;font-size:0.9rem;margin:0 }
.u-e791439fd7 { color:#60a5fa;text-decoration:none }
.u-ea8a3195a2 { display:grid;grid-template-columns:1fr 1fr;gap:1rem;list-style:none;margin:0 }
.u-edfc83a5b1 { margin-left:auto;color:var(--primary);text-decoration:none;font-weight:600 }
.u-f194ef2b3f { text-align:center;margin-top:4rem;color:#475569 }
.u-f73b4b6c1d { grid-template-columns:1fr 1fr;padding:0 }

:root { color-scheme: dark; }
html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body { min-width: 0; overflow-wrap: anywhere; }
main { display: block; min-width: 0; }
a { text-underline-offset: .18em; }
a:focus-visible, button:focus-visible { outline: 3px solid #93c5fd; outline-offset: 4px; border-radius: .25rem; }
.skip-link { position: fixed; z-index: 1000; top: .5rem; left: .5rem; padding: .75rem 1rem; background: #f8fafc; color: #0f172a; font-weight: 700; border-radius: .5rem; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
nav { min-width: 0; }
nav ul { flex-wrap: wrap; }
nav .logo { white-space: nowrap; }
nav a:hover, nav a:focus-visible { color: #fff; }
nav a[aria-current="page"] { color: #fff; text-decoration: underline; }
footer p, footer { color: #b6c5d9; }
footer a, footer a:visited { color: #93c5fd; }
.page-home footer p, .page-about footer p, .page-author footer p, .page-course footer p { color: #b6c5d9; }
.page-home footer a, .page-home footer a:visited { color: #93c5fd; }
.page-home .btn:not(.btn-outline), .page-author .btn { background: #2563eb; color: #fff; }
.page-home .btn:not(.btn-outline):visited, .page-author .btn:visited { color: #fff; }
.page-home .instructor-info p, .page-home .trust-text { color: #aebdd4; }
.page-home .instructor-info p { font-size: .86rem; }
.page-home .grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.page-home .card, .page-home .instructor-info { min-width: 0; }
.page-home .card-meta { gap: .75rem; flex-wrap: wrap; }
.page-home .preview-status { color: #c4b5fd; font-weight: 600; }
.page-home .card-title { color: #fff; margin-bottom: .5rem; font-size: 1.25rem; }
.page-home .card-description { color: #cbd5e1; font-size: .95rem; margin-bottom: 1rem; }
.page-home .instructor a { color: #93c5fd; }
.page-home .instructor a.course-link { margin-left: auto; font-weight: 700; text-decoration: none; white-space: nowrap; }
.page-home .footer-grid { max-width: 1300px; }
.page-home .stat-item { min-width: 0; text-align: center; }
.page-home .card:hover { will-change: transform; }
.page-course .content a, .page-about .content a { color: #93c5fd; }
.page-author .role { color: #93c5fd; }
.page-course .availability-note { background: rgba(96,165,250,.08); border: 1px solid rgba(147,197,253,.38); border-radius: .75rem; padding: 1.25rem 1.5rem; margin: 1.5rem 0 2rem; color: #e2e8f0; }
.page-course .availability-note strong { display: block; color: #bfdbfe; font-size: 1.05rem; }
.page-course .availability-note p { margin: .35rem 0 0; }
.page-course .instructor-panel { flex-wrap: wrap; }
.page-course .instructor-panel img { max-width: 80px; }
.page-course .related-courses ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-404 .container, .page-410 .container { box-sizing: border-box; }
.page-404 .btn, .page-410 .btn { background: #b91c1c; color: #fff; }
@media (max-width: 900px) {
  .page-home header { padding: 5.25rem 1.5rem; }
  .page-home .hero-h1 { font-size: clamp(2.3rem, 7vw, 4rem); }
  .page-home .grid { gap: 1.4rem; padding: 0 1.25rem; }
  .page-home .stats { gap: 1.5rem; margin: 3rem 1.5rem; }
  .page-about .container, .page-author .container, .page-course .container { padding: 2.5rem 1.25rem; }
  .page-about .hero-text, .page-course .hero-text { padding: 2rem; }
  .page-course .hero h1, .page-about .hero h1 { font-size: clamp(1.8rem, 5vw, 3rem); }
  .page-home footer { padding: 3rem 1.25rem; }
  .page-home .footer-grid { gap: 2rem; }
}
@media (max-width: 600px) {
  nav { flex-wrap: wrap; justify-content: center; gap: .5rem 1rem; padding: 1rem; }
  nav ul { justify-content: center; gap: .6rem 1.35rem; }
  nav a { font-size: .94rem; }
  .page-home header { padding: 4.2rem 1rem; }
  .page-home .hero-h1 { font-size: clamp(2.1rem, 10vw, 3rem); }
  .page-home .lead { font-size: 1.05rem; margin-bottom: 1.75rem; }
  .page-home header > div { flex-wrap: wrap; }
  .page-home header .btn { font-size: .91rem; }
  .page-home .trust-bar { padding: 1.5rem 1rem; }
  .page-home .trust-bar span { font-size: .92rem; }
  .page-home .stats { gap: .75rem; margin: 2.5rem .9rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-home .stat-item h3 { font-size: clamp(1.5rem, 6vw, 2.2rem); }
  .page-home .stat-item p { font-size: .85rem; line-height: 1.45; }
  .page-home .section-title { margin-bottom: 2rem; padding: 0 1rem; }
  .page-home .section-title h2 { font-size: clamp(1.8rem, 7vw, 2.4rem); }
  .page-home .grid { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; padding: 0 1rem; }
  .page-home .card-content { padding: 1.25rem; }
  .page-home .card-img { height: 205px; }
  .page-home .instructor { flex-wrap: wrap; }
  .page-home footer .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .page-home footer .footer-grid > div { text-align: left; }
  .page-home footer ul { flex-wrap: wrap; gap: .75rem 1.5rem; }
  .page-about .container, .page-author .container, .page-course .container { padding: 1.6rem 1rem; }
  .page-about .hero, .page-course .hero { border-radius: 1rem; margin-bottom: 2rem; }
  .page-about .hero img, .page-course .hero img { height: 255px; }
  .page-about .hero-text, .page-course .hero-text { padding: 1.25rem; right: 0; }
  .page-about .hero h1, .page-course .hero h1 { font-size: clamp(1.65rem, 7vw, 2.3rem); }
  .page-about .content h2 { font-size: 1.5rem; }
  .page-author .profile-header { padding: 1.4rem; border-radius: 1rem; gap: 1.4rem; }
  .page-author .profile-info h1 { font-size: clamp(1.65rem, 6vw, 2.2rem); }
  .page-author .role { font-size: 1rem; }
  .page-course .module { padding: 1.4rem; }
  .page-course .module h3 { font-size: 1.3rem; }
  .page-course .related-courses ul { grid-template-columns: minmax(0, 1fr); }
  .page-course .instructor-panel { gap: .9rem; }
  .page-course .instructor-panel > div { flex: 1 1 200px; min-width: 0; }
  .page-course .instructor-panel h3 { font-size: 1.2rem; }
  .page-404 .container, .page-410 .container { padding: 2rem 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .page-home .card:hover { transform: none; }
}
