/*! NEO hero · v1.3 · Sesy Core · the map first + one navigation rule for every NEO library page
 * Header: scrolling = full · stopped = compact (only the menu) · idle = hidden. Bottom menu: always there.
 * The hero lives OUTSIDE the header box, full width (flex/grid parents included), map height from neo-hero.js (--neo-map-h). */
.nlm,#site-header,#site-nav{transition:transform .35s ease}
/* the theme's own hide-on-scroll is overruled (neo-hero.js removes is-hidden; this is the CSS safety net) */
header.nlm.nlm.is-hidden{transform:none!important}
/* compact: only the menu bar (desktop: a smaller brand row; phones: the brand row folds away) */
html.neo-compact .nlm-hb{display:none}
html.neo-compact header.nlm .nlm-bar{padding-top:2px!important;padding-bottom:2px!important}
html.neo-compact header.nlm .nlb-lock{height:30px!important}
html.neo-compact header.nlm .nlb-brand{padding:2px 4px!important}
html.neo-compact header.nlm .nlm-top{min-height:38px!important}
@media (max-width:781px){
  html.neo-compact header.nlm .nlb-brand,html.neo-compact header.nlm .nlm-brand,html.neo-compact header.nlm .nlm-night,html.neo-compact header.nlm .nlm-cta{display:none!important}
  html.neo-compact header.nlm .nlm-bar{row-gap:0!important}
}
/* hidden: the header slides up (stronger than the theme's transform:none) */
html.neo-hide header.nlm.nlm,html.neo-hide #site-header,html.neo-hide #site-nav{transform:translateY(-110%)!important}
html.nlx-lock header.nlm.nlm{transform:none!important}

/* the bottom menu: always visible, never covers the end of the page, the cookie bar floats above it */

html.neo-has-dock body{padding-bottom:var(--neo-dock-h,96px)}
html.neo-has-dock #moove_gdpr_cookie_info_bar{bottom:var(--neo-dock-h,96px)!important;left:max(8px,1vw)!important;right:max(8px,1vw)!important;width:auto!important;border-radius:14px!important;box-shadow:0 10px 30px rgba(0,0,0,.25)!important}
html.neo-has-dock #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content{padding-top:12px!important;padding-bottom:12px!important}

/* the welcome guide waits until the map has been seen */
.nlm-tour.neo-tour-wait{display:none!important}

/* the shell: one full row whatever the parent layout is */
.neo-hero-shell{display:block;width:100%!important;max-width:none!important;flex:0 0 100%!important;grid-column:1/-1!important;margin:0!important;box-sizing:border-box}
.neo-hero-map{display:block;width:100%;max-width:none!important;margin:0!important;padding:10px 0 28px!important;background:var(--paper,#FBF7EF);box-sizing:border-box}
.neo-hero-map .wrap{max-width:none!important;padding-inline:max(12px,1.2vw)!important}

/* the map component (1.3): the search above, everything else inside the map */
.neo-hero-map .atlas{display:grid;gap:10px;grid-template-columns:1fr}
.neo-hero-map .atlas-map{height:var(--neo-map-h,calc(100svh - 260px))!important;min-height:360px;border-radius:22px}

/* the title, buttons and credits of the atlas section follow the map */
.neo-hero-map .row-head{margin-top:22px}
.neo-hero-map .actions-row,.neo-hero-map .note{margin-top:12px}

@media (max-width:700px){
  .neo-hero-map{padding-top:6px!important}
  .neo-hero-map .atlas-bar{flex-wrap:nowrap!important;gap:6px}
  .neo-hero-map .atlas-find{flex:1 1 auto!important;min-width:0}
  .neo-hero-map .atlas-find input{height:42px!important;font-size:.95rem!important}
  .neo-hero-map .atlas-base{flex:none;flex-wrap:nowrap!important}
  .neo-hero-map .atlas-base button,.neo-hero-map .atlas-layers button{height:36px!important;padding:0 11px!important}
  .neo-hero-map .atlas-layers{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .neo-hero-map .atlas-layers::-webkit-scrollbar{display:none}
  .neo-hero-map .atlas-layers button{flex:none!important}
  .neo-hero-map .atlas-map{border-radius:16px}
}
@media (prefers-reduced-motion:reduce){.nlm,#site-header,#site-nav{transition:none}}
/* atlas page and NEO home: the map block sits right in the hero (no .wrap) */
.neo-hero-map>.atlas,.neo-hero-map>.n34>.atlas{margin-inline:max(12px,1.2vw)}


/* ============================== 1.3 ============================== */
/* ---- the front desk of the librarian (bottom menu): one calm, academic bar; Ask = the desk ---- */
html body .nlm-dock{left:50%!important;right:auto!important;transform:translateX(-50%)!important;bottom:max(12px,env(safe-area-inset-bottom))!important;display:flex!important;align-items:stretch!important;gap:2px!important;padding:6px!important;background:var(--nlm-bg,#FBF7EF)!important;color:var(--nlm-fg,#26251F)!important;border:1px solid rgba(38,37,31,.16)!important;border-radius:18px!important;box-shadow:0 22px 44px -22px rgba(20,16,8,.5),0 1px 0 rgba(255,255,255,.6) inset!important;transition:none!important}
html body .nlm-dock::before{content:"";position:absolute;left:18px;right:18px;top:-1px;height:2px;border-radius:2px;background:var(--nlm-c,#8A1022);opacity:.85}
html body .nlm-dock>*{flex:1 1 0!important;min-width:76px!important;min-height:56px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;margin:0!important;padding:7px 10px!important;border:0!important;border-radius:12px!important;background:transparent!important;color:inherit!important;box-shadow:none!important;text-decoration:none!important;cursor:pointer;transition:background .2s,color .2s}
html body .nlm-dock>*:hover,html body .nlm-dock>*:focus-visible{background:rgba(38,37,31,.06)!important;outline:none}
html body .nlm-dock>*:focus-visible{box-shadow:0 0 0 2px var(--nlm-c,#8A1022) inset!important}
html body .nlm-dock .nlm-ic{width:22px!important;height:22px!important;margin:0!important;padding:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:currentColor!important;transform:none!important}
html body .nlm-dock span{margin:0!important;font:700 10px/1 "Space Mono",ui-monospace,Menlo,monospace!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:inherit!important;white-space:nowrap}
html body .nlm-dock .nlm-dock-main{background:var(--nlm-c,#8A1022)!important;color:#fff!important}
html body .nlm-dock .nlm-dock-main:hover{filter:brightness(1.08)}
html body .nlm-dock .nlm-dock-read .nlm-ic{color:var(--nlm-c,#8A1022)!important}
html body .nlm-dock .nlm-dock-wa .nlm-ic{color:#128C4A!important}
html[data-theme=dark] body .nlm-dock{background:#15130F!important;color:#F1EBDD!important;border-color:rgba(241,235,221,.16)!important}
@media (max-width:640px){
  html body .nlm-dock{left:8px!important;right:8px!important;transform:none!important;padding:5px!important}
  html body .nlm-dock>*{min-width:0!important;padding:6px 2px!important;gap:5px!important}
  html body .nlm-dock span{font-size:8.5px!important;letter-spacing:.04em!important}
}

/* ---- the Layers card inside every map (one or two words each), Map/Satellite inside it ---- */
.atlas.neo-mapui .atlas-map{position:relative}
.neo-lyr{position:absolute;top:12px;right:12px;z-index:800;width:max-content;max-width:min(232px,calc(100% - 70px));padding:6px;border-radius:14px;background:rgba(255,253,247,.96);color:#1E1A14;box-shadow:0 10px 30px -10px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.06);font:500 13px/1.2 "Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.neo-lyr-h{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:6px 8px;border:0;background:none;color:inherit;font:700 12px/1 "Space Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.neo-lyr-h svg{width:16px;height:16px;flex:none}
.neo-lyr-h::after{content:"";margin-left:auto;width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.neo-lyr-h[aria-expanded=false]::after{transform:rotate(-45deg)}

.neo-lyr .atlas-base{display:flex!important;gap:0!important;margin:4px 4px 6px!important;padding:3px!important;border-radius:10px;background:rgba(0,0,0,.06)}
.neo-lyr .atlas-base button{flex:1;height:28px!important;padding:0 10px!important;border:0!important;border-radius:8px!important;background:none!important;color:inherit!important;font:600 12px/1 "Instrument Sans",system-ui,sans-serif!important}
.neo-lyr .atlas-base button[aria-pressed=true]{background:#fff!important;color:#1E1A14!important;box-shadow:0 1px 3px rgba(0,0,0,.18)!important}
.neo-lyr .atlas-layers{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:1px!important;overflow:visible!important;padding:0!important}
.neo-lyr .atlas-layers button{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;height:auto!important;min-height:32px;margin:0!important;padding:5px 8px!important;border:0!important;border-radius:8px!important;background:none!important;color:inherit!important;font:500 13px/1.2 "Instrument Sans",system-ui,sans-serif!important;text-align:left;white-space:nowrap;opacity:.55}
.neo-lyr .atlas-layers button:hover{background:rgba(0,0,0,.05)!important}
.neo-lyr .atlas-layers button[aria-pressed=true]{opacity:1}
.neo-lyr .atlas-layers button i{flex:none;width:11px!important;height:11px!important;border-radius:50%!important;background:transparent!important;box-shadow:inset 0 0 0 2px var(--dot,#555)!important}
.neo-lyr .atlas-layers button[aria-pressed=true] i{background:var(--dot,#555)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--dot,#555) 22%,transparent)!important}
html[data-theme=dark] .neo-lyr{background:rgba(21,19,15,.94);color:#F1EBDD}
html[data-theme=dark] .neo-lyr .atlas-base button[aria-pressed=true]{background:#2a261e!important;color:#F1EBDD!important}
/* the Leaflet zoom stays left; the search keeps its row above the map */
.atlas.neo-mapui .atlas-bar{gap:8px}

/* ---- the fly-through: a small pill at the top of the map ---- */
.atlas-tour.neo-tour-pill{flex-wrap:nowrap!important;position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:800;display:flex!important;align-items:center;gap:8px;max-width:calc(100% - 330px);padding:4px 4px 4px 14px;border-radius:999px;background:rgba(255,253,247,.94);color:#1E1A14;box-shadow:0 8px 24px -10px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.06);font:700 11px/1 "Space Mono",ui-monospace,monospace!important;letter-spacing:.06em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.atlas-tour.neo-tour-pill>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.atlas-tour.neo-tour-pill .now{font-weight:700}
.atlas-tour.neo-tour-pill .ctl{gap:4px!important;flex:none;flex-wrap:nowrap!important}
.atlas-tour.neo-tour-pill .ctl button{width:28px!important;height:28px!important;min-width:28px;padding:0!important;border-radius:50%!important;border:0!important;background:rgba(0,0,0,.06)!important;color:inherit!important;font-size:12px!important;line-height:1}
.atlas-tour.neo-tour-pill [data-tour=play]{background:var(--nlm-c,#1E1A14)!important;color:#fff!important}
.atlas-tour.neo-tour-pill [data-k=tour-count]{font-size:10px;opacity:.7;white-space:nowrap}
html[data-theme=dark] .atlas-tour.neo-tour-pill{background:rgba(21,19,15,.92);color:#F1EBDD}
html .neo-lyr .neo-lyr-h[aria-expanded=false]~*{display:none!important}
@media (max-width:700px){
  .neo-lyr{top:10px;right:10px;max-width:calc(100% - 64px)}
  .atlas-tour.neo-tour-pill{top:10px;left:52px;transform:none;max-width:calc(100% - 196px);padding-left:10px}
  .atlas-tour.neo-tour-pill [data-k=tour-count],.atlas-tour.neo-tour-pill [data-tour=prev],.atlas-tour.neo-tour-pill [data-tour=next]{display:none!important}
}

/* ---- the symbols open the page: a small moving band right above the map ---- */
.neo-intro{padding:10px 0 0!important;margin:0!important;background:var(--paper,#FBF7EF)}
.neo-intro .row-head{display:flex!important;align-items:baseline;gap:14px;margin:0 0 6px!important;padding:0 max(12px,1.2vw)}
.neo-intro .row-head h2{margin:0!important;font-size:clamp(15px,1rem + .4vw,22px)!important;line-height:1.2!important}
.neo-intro .row-head>p,.neo-intro .row-head+.neo-more{display:none!important}
.neo-intro .row-head .eyebrow{margin:0!important}
.neo-intro .wrap{max-width:none!important;padding-inline:0!important}
.neo-intro .river{gap:6px!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.neo-intro .river .row:nth-child(n+3){display:none!important}
.neo-intro .river a{width:56px!important;height:56px!important;min-width:56px!important;border-radius:14px!important}
.neo-intro .river a img,.neo-intro .river a svg{width:30px!important;height:30px!important}
@media (max-width:700px){.neo-intro .river a{width:46px!important;height:46px!important;min-width:46px!important}.neo-intro .river a img,.neo-intro .river a svg{width:24px!important;height:24px!important}.neo-intro .row-head .eyebrow{display:none!important}}

/* ---- less text: two lines + More ---- */
.neo-clamp:not(.neo-open){display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.neo-more{margin:4px 0 0;padding:0;border:0;background:none;color:var(--nlm-c,#8A1022);font:700 11px/1.4 "Space Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.neo-more::after{content:" ↓"}.neo-more[aria-expanded=true]::after{content:" ↑"}

/* ---- the reading form: always alone, one column, centred ---- */
.n34 #reading .wrap,.n34 .reading .wrap{display:block!important;max-width:720px!important;margin-inline:auto!important}
.n34 .reading .reading-text{text-align:center;margin-bottom:22px}
.n34 .reading .reading-list{display:none!important}
.n34 .reading .hh-days{justify-content:center}
.sesy-wpform .swf-in,.swf .swf-in{display:block!important;grid-template-columns:1fr!important}
.sesy-wpform .swf-g,.swf .swf-g{grid-template-columns:1fr!important}
.sesy-wpform .swf-as,.swf .swf-as{padding:18px 22px!important}
.sesy-wpform .swf-as h2,.sesy-wpform .swf-as h3,.sesy-wpform .swf-h,.swf .swf-h{font-size:clamp(22px,1.2rem + .8vw,30px)!important;line-height:1.15!important}
