/* First review stage: Home and About only. */
.first-stage { background: #fff; color: #273b42; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.first-stage .navbar { padding: 16px clamp(20px, 3vw, 48px); gap: 30px; align-items: center; justify-content: center; border-bottom: 1px solid #e5eae8; background: rgba(255,255,255,.98); }
.first-stage .site-name { color: #153e43; font-size: 1.1rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.first-stage .nav-links { gap: 12px 32px; align-items: center; justify-content: center; flex-wrap: wrap; min-width: 0; }
.first-stage .nav-links a { font-size: 1.15rem; line-height: 1.35; display: block; padding: 8px 0; }
.first-stage .site-name { display: none; }
.first-stage a[aria-current="page"] { color: #1c6265; text-decoration: underline; text-underline-offset: 6px; }
.first-stage .hamburger { background: white; color: #153e43; border: 1px solid #cbdad7; border-radius: 8px; font: inherit; font-weight: 600; font-size: .95rem; padding: 8px 14px; min-height: 44px; }
.first-stage .hamburger span { margin-right: 7px; }
.first-stage .mobile-menu { position: sticky; top: 77px; z-index: 998; background: #fff; max-height: calc(100dvh - 77px); overflow-y: auto; padding: 8px 16px 16px; box-shadow: 0 12px 24px rgba(20,50,50,.08); }
.first-stage .mobile-menu[hidden] { display: none; }
.first-stage .mobile-menu:not([hidden]) { display: flex; }
.first-stage .mobile-menu a { min-height: 44px; padding: 10px 14px; border-radius: 6px; font-size: .95rem; }
.first-stage .mobile-menu a:hover { background: #eff5f3; }
.first-stage .skip-link { position: fixed; left: 20px; top: -100px; z-index: 2000; padding: 12px 20px; background: #153e43; color: #fff; border-radius: 6px; }
.first-stage .skip-link:focus { top: 12px; }
.first-stage a:focus-visible, .first-stage button:focus-visible { outline: 3px solid #c58b32; outline-offset: 4px; }
.first-stage .hero.home { height: clamp(430px, 44vw, 590px); background-image: url("images/site/home-desktop.webp"); opacity: 1; animation: none; }
.first-stage .hero.home::before { background: linear-gradient(90deg, rgba(8,29,33,.16) 0%, rgba(8,29,33,.07) 48%, rgba(8,29,33,0) 100%); }
.first-stage .hero-content { width: min(1120px, calc(100% - 80px)); top: 50%; text-align: left; }
.first-stage .hero-content h1 { font-size: clamp(2.4rem, 4.8vw, 4.3rem); letter-spacing: .025em; line-height: 1.12; text-shadow: 0 2px 14px rgba(0,0,0,.2); max-width: 750px; }
.first-stage .hero-content h3 { margin-top: 24px; font-size: clamp(1.05rem, 1.6vw, 1.35rem); font-weight: 500; line-height: 1.5; }
.first-stage .hero-content h4 { font-size: 1rem; font-weight: 400; line-height: 1.5; }
.first-stage .section:not(.home-talks) { max-width: 960px; margin: 0 auto; padding: 70px 32px; }
.first-stage .section:not(.home-talks) h2 { color: #153e43; font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.25; margin-bottom: 22px; }
.first-stage .section:not(.home-talks) p { text-align: left; font-size: 1.08rem; line-height: 1.85; max-width: 76ch; }
.first-stage .section:not(.home-talks) .btn { background: #1a5258; border-radius: 8px; padding: 12px 22px; min-height: 44px; }
.first-stage .section:not(.home-talks) .btn:hover { background: #123c41; }
.first-stage .hero-about { margin-top: 0; height: 520px; background-image: url("images/site/about-desktop.webp"); background-position: center 65%; }
.first-stage .about-container { max-width: 900px; margin: 32px auto 0; padding: 48px clamp(24px, 5vw, 64px) 64px; position: relative; background: #fff; border-radius: 16px 16px 0 0; box-shadow: 0 -12px 40px rgba(20,50,50,.04); }
.first-stage .about-container h1 { color: #153e43; font-size: clamp(2.1rem, 3.8vw, 3rem); line-height: 1.2; margin-bottom: 28px; letter-spacing: -.025em; }
.first-stage .about-container p { text-align: left; line-height: 1.85; margin-bottom: 24px; }
.first-stage .about-container a { color: #1c6265; text-decoration: underline; text-underline-offset: 3px; }
.first-stage .about-container h2 { font-size: 1.55rem; color: #153e43; margin: 20px 0; }
.first-stage .about-container ul { list-style: none; display: grid; gap: 12px; }
.first-stage .about-container li { padding: 16px 20px; background: #f1f6f4; border-left: 3px solid #3d7976; border-radius: 0 8px 8px 0; margin: 0; line-height: 1.6; }
.first-stage footer { margin-top: 32px; padding: 28px 24px; color: #536665; background: #f5f7f6; font-size: .9rem; }
@media (max-width: 900px) {
 .first-stage .nav-links { display: none; }
 .first-stage .hamburger { display: block; }
 .first-stage .navbar { min-height: 77px; }
}
@media (min-width: 901px) { .first-stage .mobile-menu:not([hidden]) { display: none; } }
@media (max-width: 600px) {
 .first-stage .navbar { padding: 14px 20px; }
 .first-stage .hero.home { height: 460px; background-image: url("images/site/home-mobile.webp"); }
 .first-stage .hero.home::before { background: linear-gradient(90deg, rgba(8,29,33,.2), rgba(8,29,33,.05)); }
 .first-stage .hero-content { width: calc(100% - 48px); }
 .first-stage .hero-content h1 { font-size: clamp(2.1rem, 9vw, 3rem); }
 .first-stage .hero-content h3 { max-width: 28ch; }
 .first-stage .hero-content h4 { max-width: 32ch; font-size: .95rem; }
 .first-stage .section:not(.home-talks) { padding: 44px 24px; }
 .first-stage .section:not(.home-talks) p { font-size: 1rem; line-height: 1.8; }
 .first-stage .hero-about { height: 290px; background-image: url("images/site/about-mobile.webp"); }
 .first-stage .about-container { margin: 24px 12px 0; padding: 32px 20px 36px; border-radius: 12px 12px 0 0; font-size: 1rem; }
 .first-stage .about-container p { line-height: 1.8; }
 .first-stage .about-container li { padding: 14px 16px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .first-stage *, .first-stage *::after { transition: none; } }

@media (max-width: 1400px) and (min-width: 901px) { .first-stage .nav-links a { font-size: .95rem; } .first-stage .nav-links { gap: 10px 24px; } }
@media (max-width: 900px) { .first-stage .site-name { display: block; } .first-stage .navbar { justify-content: space-between; } .first-stage .mobile-menu a { font-size: 1.05rem; } }
