/* StartupWeek — site chrome: header, nav, sub-nav, footer, theme toggle */
.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.9rem 1.25rem;
  background:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:.06rem solid var(--border-soft);
}
@media (min-width:640px){.site-header{padding:1rem 2.5rem}}
@media (min-width:1100px){.site-header{padding:1rem 3.5rem}}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;letter-spacing:.16em;font-size:.85rem;color:var(--text-strong)}
.brand img{width:1.6rem;height:1.6rem;object-fit:contain}

.site-nav{display:none;align-items:center;gap:1.6rem;font-size:.85rem;font-weight:600}
@media (min-width:860px){.site-nav{display:flex}}
.site-nav a{color:var(--text-body);transition:color .15s}
.site-nav a:hover,.site-nav a.active{color:var(--text-strong)}
.site-nav .dropdown{position:relative}
.site-nav .dropdown-panel{
  position:absolute;top:calc(100% + .8rem);left:50%;transform:translateX(-50%);
  min-width:14rem;background:var(--surface);border:.06rem solid var(--border);border-radius:.7rem;
  padding:.5rem;box-shadow:0 1rem 2.5rem rgba(0,0,0,.35);
  opacity:0;visibility:hidden;translate:0 .3rem;transition:opacity .15s,translate .15s,visibility .15s;
}
.site-nav .dropdown:hover .dropdown-panel,.site-nav .dropdown:focus-within .dropdown-panel{opacity:1;visibility:visible;translate:0 0}
.site-nav .dropdown-panel a{display:block;padding:.55rem .7rem;border-radius:.5rem;font-weight:500}
.site-nav .dropdown-panel a:hover{background:var(--surface-tint)}

.header-actions{display:flex;align-items:center;gap:.6rem}
.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.3rem;height:2.3rem;border-radius:50%;
  border:.06rem solid var(--border);background:var(--surface-tint);color:var(--text-strong);
  cursor:pointer;font-size:1rem;line-height:1;
}
.theme-toggle:hover{border-color:var(--accent)}
:root[data-theme="light"] .theme-toggle .icon-moon{display:none}
:root:not([data-theme="light"]) .theme-toggle .icon-sun{display:none}

.menu-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.3rem;height:2.3rem;border-radius:.5rem;border:.06rem solid var(--border);
  background:var(--surface-tint);color:var(--text-strong);cursor:pointer;
}
@media (min-width:860px){.menu-toggle{display:none}}

.mobile-nav{display:none;flex-direction:column;gap:.2rem;padding:.75rem 1.25rem 1.1rem;background:var(--bg);border-bottom:.06rem solid var(--border-soft)}
.mobile-nav.open{display:flex}
@media (min-width:860px){.mobile-nav{display:none !important}}
.mobile-nav a{padding:.65rem .3rem;font-size:.95rem;color:var(--text-body);border-bottom:.06rem solid var(--border-soft)}
.mobile-nav a:last-child{border-bottom:0}
.mobile-nav .group-label{padding:.65rem .3rem .1rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}

.subnav{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.25rem;max-width:78rem;margin:0 auto}
@media (min-width:640px){.subnav{padding:1.2rem 2.5rem}}
@media (min-width:1100px){.subnav{padding:1.2rem 3.5rem}}
.subnav a{
  font-size:.82rem;font-weight:600;padding:.5rem 1rem;border-radius:2rem;
  border:.06rem solid var(--border);color:var(--text-body);
}
.subnav a.active{background:var(--accent-tint-strong);color:var(--text-strong);border-color:var(--border)}

.site-footer{border-top:.06rem solid var(--border-soft);padding:3rem 1.25rem 2.4rem;margin-top:3rem}
@media (min-width:640px){.site-footer{padding:3.2rem 2.5rem 2.6rem}}
.footer-inner{max-width:78rem;margin:0 auto;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}
.footer-brand{max-width:22rem}
.footer-brand .brand{margin-bottom:.8rem}
.footer-brand p{font-size:.85rem;color:var(--text-body);line-height:1.55}
.footer-cols{display:flex;flex-wrap:wrap;gap:2.5rem}
.footer-col h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.7rem;font-weight:700}
.footer-col a,.footer-col div{display:block;font-size:.85rem;color:var(--text-body);margin-bottom:.5rem}
.footer-bottom{max-width:78rem;margin:2rem auto 0;padding-top:1.4rem;border-top:.06rem solid var(--border-soft);font-size:.75rem;color:var(--text-faint);display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;justify-content:space-between}
