@font-face { font-family: Onest; src: url('fonts/onest-cyrillic.woff2') format('woff2'); font-style: normal; font-weight: 400 800; font-display: swap; unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: Onest; src: url('fonts/onest-latin.woff2') format('woff2'); font-style: normal; font-weight: 400 800; font-display: swap; unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2215,U+FEFF,U+FFFD; }
.dt-site-header, .dt-site-header * { box-sizing: border-box; }
.dt-site-header { position: sticky; top: 0; z-index: 20; min-height: 68px; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; padding-inline: max(44px,calc((100% - 1200px)/2)); border-bottom: 1px solid oklch(.901 .0228 135); background: oklch(1 0 0 / .96); backdrop-filter: blur(10px); color: oklch(.2035 .0125 129.2); font-family: Onest,system-ui,sans-serif; font-size:16px; line-height:1.5; }
.dt-site-header a { text-decoration:none; color:inherit; }
.dt-site-header a:hover,.dt-site-header a:focus-visible { color:oklch(.4485 .1256 141.3); }
.dt-site-header .dt-wordmark { display:inline-flex; align-items:baseline; font-size:20px; font-weight:800; letter-spacing:-.035em; white-space:nowrap; }
.dt-wordmark b { font-weight:900; }
.dt-wordmark small { font-size:12px; font-weight:500; letter-spacing:0; }
.dt-main-nav { display:flex; justify-content:center; gap:clamp(18px,2.4vw,34px); padding-inline:26px; }
.dt-main-nav a,.dt-header-search { font-size:13px; font-weight:650; white-space:nowrap; }
.dt-main-nav a { padding-block:24px; }
.dt-main-nav a:hover,.dt-header-search:hover { text-decoration:underline; }
.dt-header-search { min-height:68px; display:inline-flex; align-items:center; padding-left:24px; border-left:1px solid oklch(.901 .0228 135); }
.dt-menu-button { display:none; }
.dt-site-header :focus-visible { outline:3px solid #285ba6; outline-offset:3px; }
body:not(.home) .site-content { margin-top:24px; }
@media(max-width:1080px) and (min-width:992px) {
 .dt-site-header { padding-inline:28px; }
 .dt-main-nav { gap:18px; padding-inline:20px; }
 .dt-main-nav a { font-size:12px; }
}
@media(max-width:991px) {
 .dt-site-header { min-height:60px; grid-template-columns:48px 1fr 48px; padding:0 16px; }
 .dt-wordmark { grid-column:2; justify-self:center; }
 .dt-main-nav { position:fixed; inset:60px 0 auto; z-index:30; display:none; padding:20px 16px 28px; background:#fff; border-bottom:1px solid oklch(.901 .0228 135); max-height:calc(100dvh - 106px); overflow:auto; }
 .dt-main-nav.is-open { display:grid; }
 .dt-main-nav a { min-height:48px; display:flex; align-items:center; padding:0; border-bottom:1px solid oklch(.901 .0228 135); font-size:16px; }
 .dt-header-search { grid-column:3; grid-row:1; justify-self:end; min-height:48px; width:48px; justify-content:center; padding:0; border:0; font-size:0; }
 .dt-header-search::before { content:'⌕'; font-size:26px; line-height:1; }
 .dt-menu-button { grid-column:1; grid-row:1; width:48px; height:48px; padding:12px; display:grid; align-content:center; gap:7px; border:0; border-radius:0; box-shadow:none; background:transparent; color:inherit; cursor:pointer; }
 .dt-menu-button span { height:1px; background:currentColor; transition:transform 180ms ease-out; }
 .dt-menu-button[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); }
 .dt-menu-button[aria-expanded=true] span:last-child { transform:translateY(-4px) rotate(-45deg); }
 body:not(.home) .site-content { margin-top:16px; }
}
/* Align desktop header edges with Reboot's content, not the homepage grid. */
@media(min-width:992px) {
 .dt-site-header { padding-inline:max(45px,calc((100% - 870px)/2)); grid-template-columns:auto minmax(0,1fr) auto; }
 .dt-main-nav { gap:18px; padding-inline:20px; }
 .dt-main-nav a { font-size:12px; }
}
@media(min-width:1200px) {
 .dt-site-header { padding-inline:max(45px,calc((100% - 1100px)/2)); }
 .dt-main-nav { gap:clamp(18px,2.4vw,34px); padding-inline:26px; }
 .dt-main-nav a { font-size:13px; }
}
@media(min-width:821px) and (max-width:991px) {
 .dt-site-header { padding-inline:max(20px,calc((100% - 630px)/2)); }
}
@media(max-width:360px) { .dt-site-header { padding-inline:12px; } }
@media(min-width:783px) { .admin-bar .dt-site-header { top:32px; } }
@media(max-width:782px) { .admin-bar .dt-site-header { top:46px; } }
@media(prefers-reduced-motion:reduce) { .dt-menu-button span { transition:none; } }
