/* Shared masthead: the same geometry, type and targets on every document. */
html { scrollbar-gutter: stable; }
body.studio-subpage { min-width: 0; }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: #f5f4ef; }
::-webkit-scrollbar-thumb { background: #c5c5bb; border: 3px solid #f5f4ef; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #989a8e; }
.gloryck-header {
  position: relative;
  z-index: 10;
  width: 100%;
  margin: 0;
  padding: 0;
  background: #f5f4ef;
  color: #20211e;
  font-family: 'DM Sans', sans-serif;
  line-height: 1.5;
  view-transition-name: gloryck-header;
}
.gloryck-header, .gloryck-header * { box-sizing: border-box; }
.gloryck-header .gh-frame {
  width: min(1240px, 100%);
  height: 108px;
  margin: 0 auto;
  padding: 0 56px;
  display: flex;
  align-items: center;
  gap: 40px;
  position: relative;
}
.gloryck-header .gh-frame::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 56px;
  right: 56px;
  height: 1px;
  background: #dcdcd4;
}
.gloryck-header a {
  color: #20211e !important;
  text-decoration: none !important;
  text-transform: none;
  letter-spacing: 0;
  -webkit-tap-highlight-color: transparent;
}
.gloryck-header a:focus-visible { outline: 2px solid #b94e2b; outline-offset: 5px; }
.gloryck-header .gh-brand {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  font: 600 29px/1 'DM Sans', sans-serif;
  letter-spacing: -1.3px !important;
}
.gloryck-header .gh-brand span { letter-spacing: inherit !important; }
.gh-brand svg { display: block; width: 30px; height: 30px; flex-shrink: 0; }
.gh-brand .gh-stop { color: #b94e2b; }
.gloryck-header .gh-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 29px;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  border: 0;
  background: none;
}
.gloryck-header .gh-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  position: relative;
  min-width: 40px;
  justify-content: center;
  font: 400 13px/1.5 'DM Sans', sans-serif;
  white-space: nowrap;
  transition: color .18s ease;
}
.gh-nav a::after {
  content: '';
  position: absolute;
  bottom: 5px;
  left: 0;
  right: 0;
  height: 1px;
  background: #b94e2b;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .23s cubic-bezier(.22,1,.36,1);
}
.gh-nav a:hover::after, .gh-nav a[aria-current]::after { transform: scaleX(1); }
.gloryck-header .gh-nav a:hover, .gloryck-header .gh-nav a[aria-current],
.gloryck-header .gh-locale:hover, .gloryck-header .gh-contact:hover { color: #b94e2b !important; }
.gh-actions { display: flex; align-items: center; gap: 25px; flex-shrink: 0; }
.gloryck-header .gh-locale {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 43px;
  min-height: 40px;
  border-left: 1px solid #dcdcd4;
  padding-left: 25px;
  font: 400 11px/1 'IBM Plex Mono', monospace;
  transition: color .18s ease;
}
.gloryck-header .gh-contact {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-height: 44px;
  white-space: nowrap;
  font: 400 13px/1.5 'DM Sans', sans-serif;
  transition: color .18s ease;
}
.gh-contact svg { width: 17px; height: 17px; display: block; transition: transform .23s cubic-bezier(.22,1,.36,1); }
.gh-contact:hover svg { transform: translate(2px,-2px); }
.studio-subpage :is(.wrap,.journal-page,.cb-wrap,.fl-wrap,.hv2-wrap) { padding-top: 80px !important; }
.hero-copy, .system-figure { animation: none; }

/* Native cross-document motion keeps ordinary links, history and no-JS navigation. */
.route-stroke {
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #b94e2b;
  opacity: .35;
  pointer-events: none;
  view-transition-name: copper-stroke;
}
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition { pointer-events: none; }
  ::view-transition-group(gloryck-header), ::view-transition-group(copper-stroke) { animation: none; }
  ::view-transition-old(gloryck-header), ::view-transition-old(copper-stroke) { display: none; }
  ::view-transition-new(gloryck-header) { animation: none; mix-blend-mode: normal; }
  ::view-transition-old(root) { animation: studio-leave 160ms ease-out both; mix-blend-mode: normal; }
  ::view-transition-new(root) { animation: studio-enter 340ms 60ms cubic-bezier(.22,1,.36,1) both; mix-blend-mode: normal; }
  ::view-transition-new(copper-stroke) { animation: copper-sweep 460ms cubic-bezier(.22,1,.36,1) both; transform-origin: left; }
  @keyframes studio-leave { to { opacity: 0; transform: translateY(-5px); } }
  @keyframes studio-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes copper-sweep { 0% { transform: scaleX(.04); opacity: 1; } 65% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(1); opacity: .35; } }
}
@media (min-width:1450px) { .gloryck-header .gh-frame { width: min(1300px,100%); } }
@media (max-width:1050px) {
  .gloryck-header .gh-frame { padding-inline:36px; gap:25px; }
  .gloryck-header .gh-frame::after { left:36px; right:36px; }
  .gloryck-header .gh-nav { gap:20px; }
  .gh-actions { gap:18px; }
  .gloryck-header .gh-locale { padding-left:18px; }
}
@media (max-width:760px) {
  .gloryck-header .gh-frame { height:auto; min-height:125px; padding:18px 24px 0; gap:14px 20px; flex-wrap:wrap; }
  .gloryck-header .gh-frame::after { left:24px; right:24px; }
  .gloryck-header .gh-brand { font-size:27px; }
  .gh-brand svg { width:27px; height:27px; }
  .gh-actions { margin-left:auto; gap:14px; }
  .gloryck-header .gh-locale { border:0; padding:0; min-width:40px; font-size:10px; }
  .gloryck-header .gh-contact { gap:10px; font-size:11px; }
  .gloryck-header .gh-nav { order:3; flex-basis:100%; justify-content:center; gap:38px; padding:2px 0 3px !important; border-top:1px solid #dcdcd4; margin:0 !important; }
  .gloryck-header .gh-nav a { font-size:12px; }
  .gh-nav a::after { bottom:7px; }
  .studio-subpage :is(.wrap,.journal-page,.cb-wrap,.fl-wrap,.hv2-wrap) { padding-top:50px !important; }
}
@media (max-width:500px) {
  .gloryck-header .gh-frame { padding-inline:21px; column-gap:10px; }
  .gloryck-header .gh-frame::after { left:21px; right:21px; }
  .gh-actions { gap:12px; }
  .gloryck-header .gh-contact { font-size:10px; }
  .gh-contact svg { width:14px; height:14px; }
}
@media (max-width:359px) {
  .gloryck-header .gh-frame { padding-inline:16px; gap:14px 8px; }
  .gloryck-header .gh-frame::after { left:16px; right:16px; }
  .gloryck-header .gh-brand { font-size:24px; gap:8px; }
  .gh-brand svg { width:24px; height:24px; }
  .gh-actions { gap:8px; }
  .gloryck-header .gh-contact { gap:7px; font-size:9px; }
  .gloryck-header .gh-nav { gap:29px; }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  .gloryck-header *, .gloryck-header *::after { transition: none !important; }
}
