/* Site chrome: the header, section tabs, language switch and heading rhythm shared by EVERY page.
   Loaded by public/index.html (the section pages are built from it) and by scripts/generate-guides.mjs.
   Selectors start with ":root body" so they win over the older per-page header rules whatever the load order.
   To change the header or the heading spacing, change it here and nowhere else. */

/* Header */
:root body .guide-header{background:#fbfefd;color:#15363a;border-top:0;border-bottom:1px solid #cfe3e2;box-shadow:none}
:root body .guide-brand{color:#15363a;font-weight:800;letter-spacing:-.03em}
:root body .site-nav-link{color:#587276;font-size:.85rem;letter-spacing:0;text-transform:none;border-radius:999px}
:root body .site-nav-link:hover,:root body .site-nav-link:focus-visible,:root body .site-nav-link.is-current{background:#e2f4f1;color:#14798a;box-shadow:none}
:root body .site-lang{border-color:#cfe3e2}
:root body .site-lang a,:root body .site-lang button{color:#587276}
:root body .site-lang .active{background:#14798a;color:#fff}

/* Sub-navigation under the header */
:root body .site-subnav{background:#fff;border-bottom:1px solid #cfe3e2}
:root body .site-subnav a{color:#587276}
:root body .site-subnav a:hover,:root body .site-subnav a:focus-visible{background:#e9f7f5}
:root body .site-subnav a.is-current{background:#14798a;color:#fff}

/* Phone tab bar */
@media(max-width:900px){
  :root body .site-tabs{background:#fbfefd;border-color:#cfe3e2}
  :root body .site-tab{color:#587276}
  :root body .site-tab.is-current{color:#14798a}
}

/* Heading rhythm: tight enough to feel designed, loose enough that letters never touch. */
:root body h1,:root body.migration-page h1{letter-spacing:-.025em;line-height:1.04}
:root body h2,:root body.migration-page h2{letter-spacing:-.02em}
