.site-header{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 20px;border-bottom:1px solid var(--line)}
.brand{font-weight:700}
.site-header nav{display:flex;gap:18px}
.site-header nav a[aria-current=true]{text-decoration:underline;text-underline-offset:5px;font-weight:700}
main{width:min(1200px,100%);margin-inline:auto;padding:24px 20px 100px}
.page{display:grid;gap:24px;align-items: start;}
.section{display:grid;gap:12px}
.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.grid{display:grid;gap:16px}
.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bottom-nav{display:none}
.spacer{height:1px;background:var(--line)}

@media(max-width:639px){
  .site-header nav{display:none}
  .bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);inset-inline:0;bottom:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);z-index:20}
  .bottom-nav a{text-align:center;padding:8px 4px;font-size:13px}
  .bottom-nav a[aria-current=true]{text-decoration:underline;font-weight:700}
  main{padding:18px 16px 100px}
  .two-col{grid-template-columns:1fr}
}

@media(min-width:640px) and (max-width:1023px){
  .site-header nav{display:none}
  .bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);inset-inline:0;bottom:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);z-index:20}
  .bottom-nav a{text-align:center;padding:8px 4px;font-size:13px}
  .bottom-nav a[aria-current=true]{text-decoration:underline;font-weight:700}
}

@media(min-width:1024px){
  main{padding-bottom:40px}
  .home-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  .home-grid .session-section{grid-column:1/-1}
  .home-grid > .section{align-self:stretch}
}