/**
 * Daniel Che personal site — universal typographic masthead v1.2.
 * One authoritative header system for Home, Professional, Donate, Media,
 * Get Smart and Privacy/Cookies (RU/EN). Header-only: never style hero images.
 * CHE creative surface and gated Biography have their own identity/shell.
 * Immutable v1.0 tokens and owner-approved page content remain untouched.
 */
.dc-universal-header {
  position:sticky;
  top:0;
  z-index:58;
  background:#171717;
  color:#f9f7f2;
  border-bottom:1px solid #32302b;
  box-shadow:0 2px 9px rgb(0 0 0 / 13%);
}
/* No photographic badge in any canonical personal masthead. */
.dc-universal-header .brand-emblem,
.dc-universal-header .personal-emblem {
  display:none !important;
}
.dc-universal-header .dc-header-brand {
  display:inline-flex;
  align-items:center;
  justify-self:start;
  flex:none;
  gap:0;
  min-width:0;
  color:#f9f7f2;
  text-decoration:none;
  font-size:22px;
  font-weight:850;
  letter-spacing:-.012em;
  line-height:1.14;
  white-space:nowrap;
  -webkit-font-smoothing:antialiased;
}
.dc-universal-header .dc-header-brand .brand-name {
  display:inline-block;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  white-space:nowrap;
}
.dc-universal-header .dc-header-brand .brand-name::after {
  content:".";
  display:inline;
  color:#ffbc11;
  margin-left:.015em;
  font:inherit;
  letter-spacing:0;
}
.dc-universal-header .dc-header-brand:hover .brand-name,
.dc-universal-header .dc-header-brand:focus-visible .brand-name {
  color:#fff;
}
.dc-universal-header .dc-header-brand:focus-visible,
.dc-universal-header a:focus-visible{
  outline:2px solid #ffbc11;
  outline-offset:4px;
  border-radius:2px;
}
/* Both historical shell variants share the same minimum row height. */
.dc-site-v1 .top.dc-universal-header .nav,
.personal-professional .personal-site-header.dc-universal-header .personal-site-inner {
  min-height:52px;
  align-items:center;
  gap:clamp(12px,1.8vw,22px);
}
.dc-site-v1 .top.dc-universal-header .brand.dc-header-brand,
.personal-professional .personal-site-header.dc-universal-header .personal-brand.dc-header-brand{
  font-size:22px;
  font-weight:850;
  line-height:1.14;
  letter-spacing:-.012em;
  gap:0;
}
.dc-site-v1 .top.dc-universal-header .brand.dc-header-brand .brand-name,
.personal-professional .personal-site-header.dc-universal-header .personal-brand.dc-header-brand .brand-name{
  color:#f9f7f2;
  font-weight:inherit;
  font-size:inherit;
  letter-spacing:inherit;
}
.personal-professional .personal-site-header.dc-universal-header {
  min-height:52px;
  backdrop-filter:none;
  box-shadow:0 2px 9px rgb(0 0 0 / 13%);
}
.personal-professional .personal-site-header.dc-universal-header .personal-site-inner{
  min-height:52px;
}
.dc-site-v1 .top.dc-universal-header .language,
.personal-professional .personal-site-header.dc-universal-header .personal-locale-link {
  min-height:40px;
  border:1px solid #46433e;
  padding:7px 12px;
  border-radius:999px;
  background:#272727;
  color:#f9f7f2;
  font-size:12px;
  line-height:1.35;
}
.dc-site-v1 .top.dc-universal-header .nav nav a,
.personal-professional .personal-site-header.dc-universal-header .personal-site-links a{
  min-height:40px;
  line-height:1.35;
  display:inline-flex;
  align-items:center;
}
.personal-professional .personal-site-header.dc-universal-header .personal-site-links a{
  padding-top:0;padding-bottom:0;
}
/* Legal pages use the identical brand and language switch without changing copy. */
.dc-legal-header .dc-legal-header-inner{
  width:min(1100px,calc(100% - 38px));
  margin-inline:auto;
  min-height:52px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.dc-legal-header .dc-legal-locale{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#f9f7f2;
  text-decoration:none;
  font-size:12px;
  font-weight:750;
  min-height:40px;
  padding:8px 13px;
  border:1px solid #46433e;
  background:#272727;
  border-radius:999px;
}
/* Donate intentionally keeps only the brand and language, no navigation menu.
 * All hero photos/artwork and other page sections are out of scope. */
@media(max-width:760px){
  .dc-site-v1 .top.dc-universal-header .nav,
  .personal-professional .personal-site-header.dc-universal-header .personal-site-inner,
  .dc-legal-header .dc-legal-header-inner {
    min-height:48px;
  }
  .dc-universal-header .dc-header-brand,
  .dc-site-v1 .top.dc-universal-header .brand.dc-header-brand,
  .personal-professional .personal-site-header.dc-universal-header .personal-brand.dc-header-brand{
    font-size:20px;
    letter-spacing:-.008em;
  }
  .personal-professional .personal-site-header.dc-universal-header .personal-site-inner{
    padding-top:3px;
    gap:2px 8px;
  }
  /* Mobile menu stays usable, but long translated labels must not grow
   * the masthead into three or four rows (especially RU Media/Get Smart). */
  .dc-site-v1:not(.personal-donate) .top.dc-universal-header .nav{
    display:flex;
    flex-wrap:wrap;
    column-gap:12px;
    row-gap:0;
    min-height:48px;
    padding-block:3px;
  }
  .dc-site-v1:not(.personal-donate) .top.dc-universal-header .nav .dc-header-brand{
    order:1;
    margin-right:auto;
  }
  .dc-site-v1:not(.personal-donate) .top.dc-universal-header .nav .language{
    order:2;
    margin-left:auto;
  }
  .dc-site-v1:not(.personal-donate) .top.dc-universal-header .nav nav{
    order:3;
    display:flex;
    flex:0 0 100%;
    min-width:0;
    max-width:100%;
    width:100%;
    min-height:34px;
    flex-wrap:nowrap;
    justify-content:flex-start;
    align-items:center;
    gap:clamp(12px,3vw,20px);
    white-space:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .dc-site-v1:not(.personal-donate) .top.dc-universal-header .nav nav::-webkit-scrollbar{
    display:none;
  }
  .dc-site-v1:not(.personal-donate) .top.dc-universal-header .nav nav a{
    flex:none;
    min-height:34px;
    padding:4px 0;
    font-size:12px;
    line-height:1.35;
  }
  .dc-site-v1.personal-donate .top.dc-universal-header .nav nav{
    display:none;
  }
  .dc-site-v1 .top.dc-universal-header .language,
  .personal-professional .personal-site-header.dc-universal-header .personal-locale-link{
    min-height:38px;
    padding:6px 11px;
  }
}
@media(max-width:390px){
  .dc-universal-header .dc-header-brand,
  .dc-site-v1 .top.dc-universal-header .brand.dc-header-brand,
  .personal-professional .personal-site-header.dc-universal-header .personal-brand.dc-header-brand{
    font-size:19px;
    letter-spacing:-.007em;
  }
}
@media(prefers-reduced-motion:reduce){
  .dc-universal-header *{transition:none!important}
}
