/* EINHAR / SHARED FLOATING DOCK
   Home, Work, Writing, Contact, Brand and an accessible Legal flyout.
   Steady type sizes and measured icon motion across every public page. */
html body .world-floating-menu.einhar-dock{
  --dock-surface:rgba(35,37,36,.96);
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:row!important;
  gap:2px!important;
  width:max-content!important;
  max-width:calc(100vw - 20px)!important;
  min-height:56px!important;
  padding:5px!important;
  overflow:visible!important;
  border:0!important;
  border-radius:17px!important;
  background:var(--dock-surface)!important;
  box-shadow:0 8px 28px rgba(0,0,0,.34)!important;
  isolation:isolate;
  z-index:420!important;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
html body .einhar-dock::before,
html body .einhar-dock::after{display:none!important;content:none!important}
html body .einhar-dock .dock-destination,
html body .einhar-dock .dock-legal-trigger{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  position:relative!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:45px!important;
  margin:0!important;
  padding:11px clamp(10px,1.18vw,16px)!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#f4f4ef!important;
  text-decoration:none!important;
  font:550 clamp(15px,1.15vw,18px)/1.2 "Einhar Sans",Arial,sans-serif!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .34s ease,color .34s ease,transform .4s cubic-bezier(.22,.8,.25,1)!important;
}
html body .einhar-dock .dock-destination:active,
html body .einhar-dock .dock-legal-trigger:active{
  transform:scale(.975);
}
html body .einhar-dock .dock-destination:focus-visible,
html body .einhar-dock .dock-legal-trigger:focus-visible,
html body .einhar-dock .dock-legal-popover a:focus-visible{
  outline:2px solid #f4f4ef!important;
  outline-offset:2px!important;
}
html body .einhar-dock .dock-home{--dock-color:#f4f4ef;--dock-ink:#111}
html body .einhar-dock .dock-work{--dock-color:#bdff30;--dock-ink:#10120c}
html body .einhar-dock .dock-writing{--dock-color:#4169ff;--dock-ink:#fff}
html body .einhar-dock .dock-contact{--dock-color:#ff913d;--dock-ink:#10100c}
html body .einhar-dock .dock-brand{--dock-color:#c6a2ff;--dock-ink:#181024}
html body .einhar-dock .dock-legal{--dock-color:#f4f4ef;--dock-ink:#111}
html body .einhar-dock .dock-destination:is(:hover,:focus-visible,[aria-current="page"]),
html body .einhar-dock .dock-legal:is([open],[data-current="true"]) > .dock-legal-trigger,
html body .einhar-dock .dock-legal > .dock-legal-trigger:is(:hover,:focus-visible){
  background:var(--dock-color)!important;
  color:var(--dock-ink)!important;
}
html body .einhar-dock .dock-icon{
  display:block!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:22px!important;
  flex:0 0 0px!important;
  overflow:visible!important;
  stroke:currentColor;
  fill:none;
  opacity:0;
  margin:0;
  transform:translateY(6px) scale(.76);
  transform-origin:center;
  transition:width .64s cubic-bezier(.22,1,.36,1),
    min-width .64s cubic-bezier(.22,1,.36,1),
    max-width .64s cubic-bezier(.22,1,.36,1),
    flex-basis .64s cubic-bezier(.22,1,.36,1),
    opacity .48s ease,transform .74s cubic-bezier(.22,1,.36,1)!important;
}
html body .einhar-dock .dock-icon :is(path,rect,circle,line,polyline){
  stroke-dasharray:var(--stroke-length,90);
  stroke-dashoffset:var(--stroke-length,90);
  transition:stroke-dashoffset 1s cubic-bezier(.22,1,.36,1)!important;
}
html body .einhar-dock :is(.dock-destination:hover,.dock-destination:focus-visible,.dock-destination[aria-current="page"],.dock-legal-trigger:hover,.dock-legal-trigger:focus-visible) .dock-icon,
html body .einhar-dock .dock-legal:is([open],[data-current="true"]) .dock-icon{
  width:22px!important;min-width:22px!important;max-width:22px!important;
  flex-basis:22px!important;
  opacity:1!important;
  margin-right:8px!important;
  transform:translateY(0) scale(1);
}
html body .einhar-dock :is(.dock-destination:hover,.dock-destination:focus-visible,.dock-destination[aria-current="page"],.dock-legal-trigger:hover,.dock-legal-trigger:focus-visible) .dock-icon :is(path,rect,circle,line,polyline),
html body .einhar-dock .dock-legal:is([open],[data-current="true"]) .dock-icon :is(path,rect,circle,line,polyline){
  stroke-dashoffset:0;
}
html body .einhar-dock .dock-label{display:inline-flex!important;align-items:baseline;line-height:inherit!important}
html body .einhar-dock .dock-letter{
  display:inline-block;
  white-space:pre;
  transform:translateY(0);
  opacity:1;
}
html body .einhar-dock :is(.dock-destination:hover,.dock-destination:focus-visible,.dock-legal-trigger:hover,.dock-legal-trigger:focus-visible) .dock-letter,
html body .einhar-dock .dock-legal[open] > .dock-legal-trigger .dock-letter{
  animation:dock-letters-build .68s cubic-bezier(.22,.85,.24,1) both;
  animation-delay:calc(var(--letter-index,0) * 44ms);
}
@keyframes dock-letters-build{
  from{opacity:.32;transform:translateY(5px) scaleY(.91)}
  to{opacity:1;transform:translateY(0) scaleY(1)}
}
html body .einhar-dock .dock-legal{
  position:relative;
  display:flex!important;
  flex:0 0 auto;
  align-items:center;
  margin:0!important;
  padding:0!important;
  background:none!important;
}
html body .einhar-dock .dock-legal > summary{
  list-style:none!important;
  -webkit-appearance:none;
}
html body .einhar-dock .dock-legal > summary::-webkit-details-marker{display:none}
html body .einhar-dock .dock-chevron{
  display:block!important;
  width:11px;height:11px;min-width:11px;
  flex:0 0 11px;
  margin-left:6px;
  stroke:currentColor;
  transition:transform .22s ease!important;
}
html body .einhar-dock .dock-legal[open] .dock-chevron{transform:rotate(180deg)}
html body .einhar-dock .dock-legal-popover{
  position:absolute!important;
  z-index:10!important;
  bottom:calc(100% + 10px)!important;
  right:0!important;
  top:auto!important;left:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:3px!important;
  width:246px!important;
  max-width:calc(100vw - 24px)!important;
  padding:16px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:18px!important;
  background:#232625!important;
  color:#f4f4ef!important;
  box-shadow:0 19px 58px rgba(0,0,0,.62)!important;
  -webkit-backdrop-filter:blur(24px);
  backdrop-filter:blur(24px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(9px) scale(.97);
  transform-origin:100% 100%;
  transition:opacity .18s ease,transform .24s cubic-bezier(.18,.78,.22,1),visibility .18s ease;
}
html body .einhar-dock .dock-legal-popover::after{
  content:"";
  position:absolute;
  bottom:-12px;
  left:0;right:0;height:14px;
  background:transparent;
}
html body .einhar-dock .dock-legal[open] .dock-legal-popover{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
html body .einhar-dock .dock-legal-caption{
  display:block;
  color:#a6aaa8;
  font:530 11px/1.3 "Einhar Sans",Arial,sans-serif;
  letter-spacing:.015em;
  padding:2px 11px 12px;
}
html body .einhar-dock .dock-legal-popover a{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:11px!important;
  font:560 15px/1.25 "Einhar Sans",Arial,sans-serif!important;
  letter-spacing:-.022em!important;
  color:#f4f4ef!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:11px!important;
  transition:background .18s ease,color .18s ease!important;
}
html body .einhar-dock .dock-legal-popover a span{
  font-size:12px;color:#939896;
}
html body .einhar-dock .dock-legal-popover a[href="/privacy"]:is(:hover,:focus-visible,[aria-current="page"]){
  background:#ff59b7!important;
  color:#190914!important;
}
html body .einhar-dock .dock-legal-popover a[href="/terms"]:is(:hover,:focus-visible,[aria-current="page"]){
  background:#3af39a!important;
  color:#071d12!important;
}
html body .einhar-dock .dock-legal-popover a:is(:hover,:focus-visible,[aria-current="page"]) span{
  color:inherit!important;opacity:.7;
}
@media(max-width:760px){
  html body .world-floating-menu.einhar-dock{
    min-height:43px!important;
    border-radius:16px!important;
    gap:1px!important;
    padding:4px!important;
  }
  html body .einhar-dock .dock-destination,
  html body .einhar-dock .dock-legal-trigger{
    padding:9px clamp(7px,1.7vw,12px)!important;
    font-size:clamp(12px,2.75vw,13px)!important;
    min-height:36px!important;
    border-radius:12px!important;
  }
  html body .einhar-dock .dock-icon{display:block!important;height:20px!important}
  html body .einhar-dock .dock-chevron{margin-left:3px!important;width:9px;height:9px;min-width:9px;flex-basis:9px}
  html body .einhar-dock .dock-legal-popover{
    width:230px!important;
    bottom:calc(100% + 9px)!important;
  }
}
@media(max-width:360px){
  html body .einhar-dock .dock-destination,
  html body .einhar-dock .dock-legal-trigger{
    padding:9px 5px!important;
    font-size:12px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html body .einhar-dock .dock-letter{animation:none!important}
  html body .einhar-dock .dock-icon,
  html body .einhar-dock .dock-icon :is(path,rect,circle,line,polyline),
  html body .einhar-dock .dock-destination,
  html body .einhar-dock .dock-legal-trigger,
  html body .einhar-dock .dock-legal-popover,
  html body .einhar-dock .dock-chevron{transition:none!important}
}

/* Same six-destination dock geometry on every public page. */
html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand) .world-floating-menu.einhar-dock{
  box-sizing:border-box!important;
  min-height:56px!important;
  padding:5px!important;
  gap:2px!important;
}
html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand) .world-floating-menu.einhar-dock :is(a.dock-destination,summary.dock-legal-trigger){
  box-sizing:border-box!important;
  display:inline-flex!important;
  height:45px!important;
  min-height:45px!important;
  max-height:45px!important;
  width:auto!important;
  padding:11px clamp(10px,1.18vw,16px)!important;
  background:transparent!important;
  color:#f4f4ef!important;
  border-radius:13px!important;
  border:0!important;
  font:550 clamp(15px,1.15vw,18px)/1.2 "Einhar Sans",Arial,sans-serif!important;
  letter-spacing:-.025em!important;
}
html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand) .world-floating-menu.einhar-dock a.dock-destination:is(:hover,:focus-visible,[aria-current="page"]),
html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand) .world-floating-menu.einhar-dock .dock-legal:is([open],[data-current="true"])>summary.dock-legal-trigger,
html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand) .world-floating-menu.einhar-dock summary.dock-legal-trigger:is(:hover,:focus-visible){
  background:var(--dock-color)!important;
  color:var(--dock-ink)!important;
}
@media(max-width:760px){
  html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand) .world-floating-menu.einhar-dock{
    min-height:47px!important;
    padding:4px!important;
    gap:1px!important;
  }
  html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand) .world-floating-menu.einhar-dock :is(a.dock-destination,summary.dock-legal-trigger){
    min-height:39px!important;
    height:39px!important;
    max-height:39px!important;
    padding:9px clamp(6px,1.4vw,10px)!important;
    font-size:clamp(12px,2.8vw,14px)!important;
    line-height:1.2!important;
  }
}
@media(max-width:360px){
  html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand) .world-floating-menu.einhar-dock :is(a.dock-destination,summary.dock-legal-trigger){
    padding:9px 5px!important;
    font-size:12px!important;
  }
}

/* Legal flyout is a separate two-item menu, not another row of dock buttons.
   Explicit layout constraints prevent older page-wide link rules from stretching
   its items outside the popover. */
html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand)
nav.world-floating-menu.einhar-dock .dock-legal .dock-legal-popover{
  box-sizing:border-box!important;
  width:190px!important;
  min-width:0!important;
  max-width:calc(100vw - 24px)!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:2px!important;
  padding:9px!important;
  border:1px solid rgba(244,244,239,.085)!important;
  border-radius:17px!important;
  background:#222524!important;
  box-shadow:0 17px 54px rgba(0,0,0,.58)!important;
}
html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand)
nav.world-floating-menu.einhar-dock .dock-legal .dock-legal-popover>a.dock-legal-link{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:43px!important;
  min-height:43px!important;
  max-height:43px!important;
  margin:0!important;
  padding:0 13px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#f4f4ef!important;
  font:550 16px/1.25 "Einhar Sans",Arial,sans-serif!important;
  letter-spacing:-.024em!important;
  text-align:left!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  transform:none!important;
  overflow:hidden!important;
  opacity:1!important;
  transition:background .17s ease,color .17s ease!important;
}
html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand)
nav.world-floating-menu.einhar-dock .dock-legal .dock-legal-popover>a.dock-legal-link:is(:hover,:focus-visible,[aria-current="page"]){
  background:rgba(244,244,239,.085)!important;
  color:#fff!important;
  transform:none!important;
}
html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand)
nav.world-floating-menu.einhar-dock .dock-legal .dock-legal-popover>a.dock-legal-link:focus-visible{
  outline:2px solid #f4f4ef!important;
  outline-offset:-2px!important;
}
@media(max-width:760px){
  html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand)
  nav.world-floating-menu.einhar-dock .dock-legal .dock-legal-popover{
    width:188px!important;
    max-width:calc(100vw - 24px)!important;
    padding:8px!important;
  }
  html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand)
  nav.world-floating-menu.einhar-dock .dock-legal .dock-legal-popover>a.dock-legal-link{
    font-size:15px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
}

/* A recognizable house is the Home destination. Its outlined icon stays
   visible on narrow screens, even when Home is not selected. */
html body .einhar-dock .dock-home .dock-icon{
  fill:none!important;
  stroke:currentColor!important;
}
html body .einhar-dock .dock-home .dock-icon path{
  fill:none!important;
  stroke:currentColor!important;
}
@media(max-width:760px){
  html body .einhar-dock :is(.dock-destination:hover,.dock-destination:focus-visible,.dock-destination[aria-current="page"],.dock-legal-trigger:hover,.dock-legal-trigger:focus-visible) .dock-icon,
  html body .einhar-dock .dock-legal:is([open],[data-current="true"]) .dock-icon{
    width:20px!important;min-width:20px!important;max-width:20px!important;
    height:20px!important;flex-basis:20px!important;margin-right:5px!important;
  }
  html body .einhar-dock .dock-destination.dock-home .dock-icon{
    display:block!important;
    width:21px!important;min-width:21px!important;max-width:21px!important;
    height:21px!important;flex-basis:21px!important;
    margin-right:0!important;
    opacity:1!important;
    transform:none!important;
  }
  html body .einhar-dock .dock-destination.dock-home .dock-label{
    display:none!important;
  }
  html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand)
  .world-floating-menu.einhar-dock .dock-home{
    padding:8px 9px!important;
    min-width:39px!important;
    width:39px!important;
  }
}
@media(max-width:360px){
  html body .einhar-dock .dock-destination.dock-contact .dock-label{
    display:none!important;
  }
  html body .einhar-dock .dock-destination.dock-contact .dock-icon{
    display:block!important;
    width:20px!important;min-width:20px!important;max-width:20px!important;
    flex-basis:20px!important;height:20px!important;
    margin-right:0!important;opacity:1!important;transform:none!important;
  }
  html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand)
  .world-floating-menu.einhar-dock .dock-contact{
    min-width:36px!important;width:36px!important;padding:9px 8px!important;
  }
}

/* Phone sizes that have enough width keep readable navigation labels.
   At 360px and below, Home and Contact use their clear icons instead. */
@media(min-width:375px) and (max-width:760px){
  html body:is(.page-home,.page-work,.journal-page,.page-legal,.page-brand)
  .world-floating-menu.einhar-dock :is(a.dock-destination,summary.dock-legal-trigger){
    font-size:clamp(13px,3.45vw,14.5px)!important;
  }
}
