/* Shared header / footer / page chrome. Loaded by every page (home.css or site.css supplies the colour variables). */
:root{--page:min(1160px,calc(100% - 48px))}
.skip{position:absolute;left:-9999px;top:8px;padding:8px 12px;background:var(--paper);z-index:20}
.skip:focus{left:8px}

.site-header{width:var(--page);margin:0 auto;padding:22px 0 18px;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--sans)}
.site-header.over{position:absolute;top:0;left:0;right:0;width:auto;margin:0;padding:22px 64px 18px;border-bottom:0;z-index:6}
.brand{font-size:16px;font-weight:600;letter-spacing:.02em;text-decoration:none;white-space:nowrap;color:var(--ink)}
.brand span{color:var(--red)}
.nav{display:flex;justify-content:flex-end;align-items:center;gap:clamp(12px,2vw,26px);flex-wrap:wrap}
.nav a,.language{font-family:var(--mono);font-size:11px;text-decoration:none;color:var(--ink)}
.nav a:hover{color:var(--red)}
.nav a[aria-current=page]{color:var(--red)}
.nav .nav-cta{padding:7px 14px;border:1px solid var(--red);background:var(--red);color:#fff}
.nav .nav-cta:hover{background:#c82d18;border-color:#c82d18;color:#fff}
.language{padding-left:16px;border-left:1px solid var(--grid-strong);white-space:nowrap}
.language a{padding:2px 4px}
.language a[aria-current=page]{color:var(--red)}

.site-footer{position:relative;z-index:1;width:var(--page);margin:0 auto;padding:44px 0 36px;border-top:1px solid var(--ink);color:var(--soft,var(--ink-soft));font-size:13px;font-family:var(--sans);line-height:1.6}
.home .site-footer{margin-top:clamp(40px,6vh,72px);width:min(1160px,calc(100% - 128px));padding-bottom:72px}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:28px}
.foot-brand p{margin:12px 0 0;max-width:30ch}
.foot-h{margin:0 0 12px;font:11px var(--mono);letter-spacing:.06em;color:var(--ink);text-transform:uppercase}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{padding:3px 0}
.site-footer a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
.site-footer a:hover{color:var(--red);border-color:var(--red)}
.site-footer .brand{border:0}
.site-footer .grp{color:var(--soft,var(--ink-soft));font:11px var(--mono);margin-right:4px}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 28px;margin-top:36px;padding-top:20px;border-top:1px solid var(--grid-strong)}
.foot-base p{margin:0}
.legal-note{flex:1 1 420px;max-width:86ch;font-size:12px}

.facts{position:relative;z-index:1;padding:clamp(48px,9vh,96px) clamp(28px,7vw,120px) clamp(24px,5vh,48px)}
.facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--ink);font-family:var(--mono)}
.fact{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-right:1px solid var(--grid-strong);color:var(--ink);text-decoration:none;transition:background .15s}
.fact:last-child{border-right:0}
.fact:hover{background:var(--paper-2)}
.fact .k{font-size:10px;letter-spacing:.06em;color:var(--ink-soft)}
.fact .v{font-size:15px}
.facts-note{margin-top:16px;font-size:14px;color:var(--ink-soft)}
.facts-note a{color:var(--ink)}
.facts-note a:hover{color:var(--red)}

.toc{display:flex;flex-wrap:wrap;gap:6px 22px;padding:12px 0;border-top:1px solid var(--grid-strong);border-bottom:1px solid var(--grid-strong);font:12px var(--mono)}
.toc a{text-decoration:none}
.page-body .section[id]{scroll-margin-top:16px}
.table-scroll{overflow-x:auto}
.releases{min-width:760px}
.releases th{width:auto}
.releases td.empty,.releases .empty td{color:var(--soft);font-style:normal}
.prose{max-width:68ch;color:var(--soft)}
.prose h2,.prose h3{color:var(--ink);margin-top:1.8em}
.prose ol,.prose ul{padding-left:1.2em}.prose li{padding:4px 0}
.prose a{color:var(--ink)}
.prose img,.prose video{max-width:100%;height:auto}
.releases ul{margin:0;padding-left:1.1em}.releases ul:empty{display:none}
.releases code{word-break:break-all}
.card h2 a{color:inherit;text-decoration:none}.card h2 a:hover{text-decoration:underline}
code{font-family:var(--mono);font-size:.92em}

@media(max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
  .facts-grid{grid-template-columns:1fr 1fr}
  .fact:nth-child(2){border-right:0}
  .fact:nth-child(-n+2){border-bottom:1px solid var(--grid-strong)}
}
@media(max-width:800px){
  .site-header{align-items:flex-start;flex-direction:column;gap:12px}
  .nav{justify-content:flex-start}
  .language{padding-left:0;border-left:0}
  .site-header.over{padding:18px 20px 12px 56px;position:relative}
}
@media(max-width:560px){
  :root{--page:calc(100% - 32px)}
  .foot-grid{grid-template-columns:1fr}
  .nav{gap:12px}
  .nav a,.language{font-size:10px}
}
