/* Phone and tablet share the header nodes, safe areas and the same modal screens. */
:root{--ja-header-height:82px;--ja-header-admin:0px}
body{--ja-header-clearance:calc(var(--ja-header-height) + var(--ja-header-admin) + 24px)}
body.admin-bar{--ja-header-admin:32px}
body:has(.ja-home-hero,.ja-about-hero,.ja-page-hero){--ja-header-hero:var(--ja-orange)}
body:has(.ja-legal-main){--ja-header-hero:var(--ja-paper)}
.ja-home-header{position:sticky!important;top:var(--ja-header-admin);z-index:100;overflow:visible!important;min-height:var(--ja-header-height);padding-block:0!important;background:var(--ja-header-hero,var(--ja-paper));border:0!important;box-shadow:none;transition:background-color 140ms cubic-bezier(.2,.8,.2,1),box-shadow 140ms cubic-bezier(.2,.8,.2,1)}
.ja-home-header.is-scrolled{background:var(--ja-paper)}
.ja-home-header:is(.is-moving,.is-scrolled){box-shadow:0 5px 22px #022a5b1c}
.ja-menu-dialog:not([open]){display:none}
body main :is([id],:focus),body .ja-reading-main :is(h2,h3),body.admin-bar .ja-reading-main :is(h2,h3),body .ja-region-reading :is(h2,h3),body.admin-bar .ja-region-reading :is(h2,h3),body .ja-region-group,body .ja-region-group-section{scroll-margin-top:var(--ja-header-clearance)}
@media(min-width:681px){body .ja-reading-sidebar,body.admin-bar .ja-reading-sidebar{top:var(--ja-header-clearance);max-height:calc(100dvh - var(--ja-header-clearance) - 24px)}}
@media(max-width:1340px){
  :root{--ja-header-height:80px}
  .ja-home-header .ja-hd-inner{min-height:var(--ja-header-height);gap:12px}
  .ja-home-header .ja-hd-actions{display:flex!important;margin-left:auto;gap:0}
  .ja-home-header .ja-hd-actions .ja-account-link{display:none}
  .ja-home-header .ja-hd-actions a{width:36px;height:44px}
  .ja-home-header .ja-menu-toggle{display:inline-flex!important;align-items:center;gap:8px;margin:0;padding:8px 0 8px 6px!important;background:transparent!important;border:0!important;border-radius:0;color:var(--ja-navy)!important;min-height:44px;min-width:44px;justify-content:center;font:650 18px/1.25 var(--ja-font-body);box-shadow:none!important;cursor:pointer}
  .ja-home-header .ja-menu-toggle:focus-visible{outline:var(--ja-focus-width) solid var(--ja-navy);outline-offset:4px}
  .ja-menu-glyph{position:relative;display:block;width:17px;height:16px;flex:none}
  .ja-menu-glyph i{position:absolute;display:block;left:0;top:7px;width:17px;height:1.5px;background:currentColor;transition:transform 180ms var(--ja-ease),opacity 120ms var(--ja-ease)}
  .ja-menu-glyph i:first-child{transform:translateY(-5px)}
  .ja-menu-glyph i:last-child{transform:translateY(5px)}
  .has-modal .ja-menu-glyph i:first-child{transform:rotate(45deg)}
  .has-modal .ja-menu-glyph i:nth-child(2){opacity:0}
  .has-modal .ja-menu-glyph i:last-child{transform:rotate(-45deg)}
  .ja-home-header .ja-menu-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:env(safe-area-inset-top) max(var(--ja-gutter),env(safe-area-inset-right)) env(safe-area-inset-bottom) max(var(--ja-gutter),env(safe-area-inset-left));box-sizing:border-box;border:0;background:var(--ja-paper);color:var(--ja-navy);overflow:hidden;opacity:0;transform:translateX(100%);transition:transform 240ms cubic-bezier(.32,.72,0,1),opacity 200ms linear}
  .ja-home-header .ja-menu-dialog.is-entered{opacity:1;transform:translateX(0);transition-duration:400ms,300ms}
  .ja-menu-dialog::backdrop{background:#022a5b38;opacity:0;transition:opacity 200ms var(--ja-ease)}
  .ja-menu-dialog.is-entered::backdrop{opacity:1;transition-duration:360ms}
  .ja-home-header .ja-menu-dialog .ja-hd-inner{display:grid;width:100%!important;height:100%;margin:0!important;grid-template-columns:minmax(0,1fr) 36px auto;grid-template-rows:var(--ja-header-height) minmax(0,1fr);column-gap:12px;row-gap:0;align-items:center}
  .ja-menu-dialog .ja-wordmark{grid-row:1;grid-column:1;max-width:100%}
  .ja-menu-dialog .ja-hd-actions{grid-row:1;grid-column:2}
  .ja-menu-dialog .ja-menu-toggle{grid-row:1;grid-column:3}
  .ja-home-header .ja-menu-dialog #ja-main-nav{grid-row:2;grid-column:1/-1;display:block;position:relative;inset:auto;height:100%;width:100%;min-height:0;max-height:none;padding:0;margin:0;background:var(--ja-paper);border:0;box-shadow:none;overflow:hidden}
  .ja-menu-primary,.ja-menu-secondary{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;padding:20px 2px 32px;scrollbar-width:thin;scrollbar-color:var(--ja-navy) var(--ja-paper);transition:opacity 180ms cubic-bezier(.16,1,.3,1),transform 240ms cubic-bezier(.32,.72,0,1),visibility 0s 220ms}
  .ja-menu-primary{opacity:1;transform:translateX(0);visibility:visible}
  .ja-menu-secondary{opacity:0;transform:translateX(18px);visibility:hidden;pointer-events:none}
  [data-mobile-books=true] .ja-menu-primary{opacity:0;transform:translateX(-18px);visibility:hidden;pointer-events:none}
  [data-mobile-books=true] .ja-menu-secondary{opacity:1;transform:translateX(0);visibility:visible;pointer-events:auto;transition-delay:0s}
  .ja-menu-dialog .ja-nav-books{display:flex;align-items:center;justify-content:flex-start;gap:2px}
  .ja-menu-dialog .ja-nav .ja-menu-primary>a,.ja-menu-dialog .ja-nav-books>a{display:block;padding:12px 0;border:0;color:var(--ja-navy);font:650 25px/1.15 var(--ja-font-body);white-space:normal;text-decoration:none;text-underline-offset:6px;text-decoration-thickness:2px}
  .ja-menu-dialog .ja-nav .ja-menu-primary>a:is(:hover,:focus-visible,.is-current),.ja-menu-dialog .ja-nav-books>a:is(:hover,:focus-visible,.is-current){text-decoration:underline}
  .ja-menu-dialog .ja-submenu-toggle{width:44px;height:48px;border:0!important;background:transparent!important}
  .ja-menu-dialog .ja-nav-books>.ja-submenu-toggle{display:flex;align-items:center;justify-content:flex-start;padding:0 0 0 6px!important}
  .ja-menu-dialog .ja-submenu-toggle svg{transform:rotate(-90deg)!important}
  .ja-menu-dialog .ja-mobile-actions{display:flex;flex-direction:column;margin-top:24px;padding-top:16px;border-top:1px solid var(--ja-line)}
  .ja-menu-dialog .ja-mobile-actions a{font:650 18px/1.3 var(--ja-font-body);padding:12px 0;border:0;text-decoration:none}
  .ja-menu-dialog .ja-mobile-actions a[href*="winkelmand"]{display:none}
  .ja-home-header .ja-menu-dialog .ja-megamenu{display:flex;position:static;width:100%;max-width:none;transform:none;flex-direction:column;gap:28px;padding:20px 0 0;background:var(--ja-paper);border:0;box-shadow:none}
  .ja-menu-dialog .ja-megamenu>div{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%}
  .ja-menu-dialog .ja-megamenu .ja-chrome-label{font:700 25px/1.2 var(--ja-font-display);margin:0 0 8px}
  .ja-menu-dialog .ja-nav .ja-megamenu .ja-chrome-label a{font:inherit;padding:0;min-height:0}
  .ja-menu-dialog .ja-nav .ja-megamenu a{padding:10px 0;min-height:44px;font:500 18px/1.3 var(--ja-font-body);color:var(--ja-navy);text-underline-offset:4px}
  .ja-menu-dialog .ja-megamenu a[aria-current]{font-weight:650;text-decoration:underline}
  .ja-menu-dialog .ja-menu-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 0!important;margin:0;background:transparent!important;border:0!important;color:var(--ja-navy)!important;font:650 18px/1.25 var(--ja-font-body);box-shadow:none;cursor:pointer}
  .ja-menu-back svg{width:21px;height:21px}
  .ja-menu-dialog :focus-visible{outline:var(--ja-focus-width) solid var(--ja-navy);outline-offset:3px}
  .ja-menu-dialog[data-keyboard=true],.ja-menu-dialog[data-keyboard=true]::backdrop,.ja-menu-dialog[data-keyboard=true] *{transition:none!important}
}
@media(max-width:782px){body.admin-bar{--ja-header-admin:46px}}
@media(max-width:640px){:root{--ja-header-height:70px}.ja-home-header .ja-wordmark{width:clamp(118px,33vw,145px)}}
@media(min-width:960px) and (max-width:1340px) and (min-aspect-ratio:6/5){.ja-home-header .ja-menu-dialog{width:max(480px,50vw)}}
@media(prefers-reduced-motion:reduce){
  .ja-home-header{transition:background-color 80ms linear,box-shadow 80ms linear}
  .ja-home-header .ja-menu-dialog,.ja-home-header .ja-menu-dialog.is-entered{transform:none;opacity:0;transition:opacity 80ms linear}
  .ja-home-header .ja-menu-dialog.is-entered{opacity:1}
  .ja-menu-dialog::backdrop,.ja-menu-dialog.is-entered::backdrop{transition-duration:80ms}
  .ja-menu-primary,.ja-menu-secondary,[data-mobile-books=true] .ja-menu-primary,[data-mobile-books=true] .ja-menu-secondary{transform:none;transition:none}
  .ja-menu-glyph i{transition:none}
}

@media(max-width:1340px){[data-mobile-books=false] .ja-menu-primary{transition-delay:0s}.ja-menu-toggle:focus:not(:focus-visible),.ja-menu-back:focus:not(:focus-visible){outline:0}}

@media(max-width:1340px){.ja-menu-primary,.ja-menu-secondary,[data-mobile-books=true] .ja-menu-primary,[data-mobile-books=true] .ja-menu-secondary{visibility:visible;transition:opacity 180ms cubic-bezier(.16,1,.3,1),transform 240ms cubic-bezier(.32,.72,0,1)}}

/* Reduced motion keeps the final incoming-screen visibility fix without spatial movement. */
@media(prefers-reduced-motion:reduce) and (max-width:1340px){.ja-menu-primary,.ja-menu-secondary,[data-mobile-books=true] .ja-menu-primary,[data-mobile-books=true] .ja-menu-secondary{transform:none;transition:opacity 80ms linear}}

/* Latest review: let hero copy and imagery breathe within their shared roles. */
:is(.ja-home-hero,.ja-about-hero,.ja-page-hero){--ja-copy-gap:20px;--ja-action-gap:32px}
:is(.ja-home-hero-inner,.ja-about-hero-grid,.ja-region-hero-grid){column-gap:80px!important}
@media(max-width:1024px){:is(.ja-home-hero-inner,.ja-about-hero-grid,.ja-region-hero-grid){column-gap:40px!important}}
@media(max-width:640px){:is(.ja-home-hero,.ja-about-hero,.ja-page-hero){--ja-copy-gap:16px;--ja-action-gap:28px}.ja-home-hero-inner{row-gap:24px!important}}
