:root{
  --navy:#14284b; --navy-2:#1f3a66; --gold:#c8a24a; --gold-soft:#f3e7c4;
  --bg:#f7f5ef; --card:#ffffff; --ink:#1d2330; --muted:#5d6472; --line:#e3ded2;
  --mark:#ffe28a;
  --serif: Georgia, "Times New Roman", serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans)}
a{color:var(--navy-2)}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
button,select,input{font:inherit}

/* header */
.site-head{background:var(--navy);color:#fff;border-bottom:4px solid var(--gold);position:static}
.head-inner{display:flex;gap:16px;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:10px;flex-wrap:wrap}
.brand{color:#fff;text-decoration:none;display:flex;flex-direction:column;min-width:0}
.brand-title{font-family:var(--serif);font-size:24px;font-weight:700;letter-spacing:.2px;line-height:1.15}
.brand-sub{font-size:13px;color:var(--gold-soft);opacity:.9}
.search{display:flex;flex:1 1 380px;max-width:560px;min-width:0}
.search input{flex:1;min-width:0;border:2px solid transparent;border-radius:8px 0 0 8px;padding:10px 12px;font-size:16px;background:#fff;color:var(--ink)}
.search input:focus{outline:none;border-color:var(--gold)}
.search button{border:0;background:var(--gold);color:var(--navy);font-weight:700;padding:0 18px;border-radius:0 8px 8px 0;cursor:pointer}
.search button:hover{background:#d8b45c}
.filters{display:flex;align-items:flex-start;gap:10px;padding-bottom:12px}
.filters-label{font-size:13px;color:var(--gold-soft);text-transform:uppercase;letter-spacing:.08em;flex:none;padding-top:5px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{flex:none;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:999px;padding:4px 12px;font-size:14px;cursor:pointer}
.chip:hover{border-color:var(--gold)}
.chip[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:700}

main{padding-top:20px;padding-bottom:40px;min-height:60vh;outline:none}
.loading,.empty{color:var(--muted);padding:40px 0;text-align:center}

/* browse */
.summary{color:var(--muted);margin:0 0 8px;font-size:14px}
.year-group{margin:18px 0 30px}
.year-head{font-family:var(--serif);color:var(--navy);font-size:28px;margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid var(--gold);display:flex;align-items:baseline;gap:10px}
.year-head small{font-family:var(--sans);font-size:14px;color:var(--muted);font-weight:400}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .12s,box-shadow .12s}
.card:hover,.card:focus-visible{transform:translateY(-2px);box-shadow:0 6px 18px rgba(20,40,75,.15);outline:none}
.card:focus-visible{box-shadow:0 0 0 3px var(--gold)}
.thumb{aspect-ratio:756/900;background:#eee;display:block;width:100%;object-fit:cover;border-bottom:1px solid var(--line)}
.card-body{padding:8px 10px 10px}
.card-date{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:15px;line-height:1.25}
.card-meta{font-size:12.5px;color:var(--muted)}

/* search results */
.results-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.results-head h1{font-family:var(--serif);color:var(--navy);font-size:24px;margin:0}
.results-head .muted{color:var(--muted);font-size:14px}
.sort{font-size:14px;color:var(--muted)}
.sort select{margin-left:6px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:#fff}
.result{display:grid;grid-template-columns:96px 1fr;gap:14px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:12px;margin-bottom:12px}
.result img{width:96px;aspect-ratio:756/900;object-fit:cover;border:1px solid var(--line);border-radius:4px;background:#eee}
.result h2{font-family:var(--serif);font-size:18px;margin:0 0 2px}
.result h2 a{color:var(--navy);text-decoration:none}
.result h2 a:hover{text-decoration:underline}
.result .meta{font-size:13px;color:var(--muted);margin-bottom:6px}
.hits{list-style:none;margin:0;padding:0}
.hits li{padding:6px 0;border-top:1px dashed var(--line);font-size:14.5px}
.hits li:first-child{border-top:0}
.hits a.pg{font-weight:700;color:var(--navy-2);text-decoration:none;margin-right:6px;white-space:nowrap}
.hits a.pg:hover{text-decoration:underline}
.more{font-size:13px;color:var(--muted)}
mark{background:var(--mark);color:inherit;padding:0 1px;border-radius:2px}
.tip{background:var(--gold-soft);border:1px solid #e6d49e;border-radius:8px;padding:10px 12px;font-size:14px;color:#4a3d12;margin-bottom:14px}

/* viewer */
.viewer{display:flex;flex-direction:column;gap:10px}
.vbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.vtitle{display:flex;flex-direction:column;min-width:0}
.vtitle strong{font-family:var(--serif);color:var(--navy);font-size:18px;line-height:1.2}
.vtitle span{font-size:13px;color:var(--muted)}
.vctrl{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.inav{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:8px;cursor:pointer;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
.btn:hover{border-color:var(--gold);background:#fffaf0}
.btn:disabled{opacity:.4;cursor:default}
.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.primary:hover{background:var(--navy-2)}
.btn[aria-pressed="true"]{background:var(--gold-soft);border-color:var(--gold)}
.pagesel{height:38px;border:1px solid var(--line);border-radius:8px;padding:0 6px;background:#fff;color:var(--navy);font-weight:600}
.vmain{display:grid;grid-template-columns:1fr;gap:10px}
.vmain.with-text{grid-template-columns:minmax(0,1fr) 340px}
.stage{position:relative;background:#d9d6cd;border-radius:10px;overflow:auto;height:calc(100vh - 230px);min-height:420px;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
.stage img{display:block;margin:0 auto;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.2);max-width:none;user-select:none;-webkit-user-drag:none;cursor:zoom-in}
.stage.zoomed img{cursor:grab}
.stage .spin{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);pointer-events:none}
.textpanel{position:relative;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;overflow:auto;height:calc(100vh - 230px);min-height:420px;font-size:14px;line-height:1.55}
.textpanel h3{margin:0 0 6px;font-family:var(--serif);color:var(--navy);font-size:16px}
.textpanel .note{font-size:12px;color:var(--muted);margin:0 0 10px}
.pagehits{font-size:13px;margin:4px 0 0;color:var(--muted)}
.pagehits a{margin-right:6px}
.hidden{display:none!important}

.site-foot{color:var(--muted);font-size:12.5px;padding-bottom:24px;border-top:1px solid var(--line);padding-top:12px}

@media (max-width:760px){
  .brand-title{font-size:20px}
  .brand-sub{display:none}
  .head-inner{padding-top:10px;gap:10px}
  .search{flex-basis:100%;max-width:none}
  .grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
  .year-head{font-size:24px}
  .vmain.with-text{grid-template-columns:1fr}
  .stage{height:calc(100vh - 290px);min-height:360px}
  .textpanel{height:auto;max-height:60vh;min-height:0}
  .result{grid-template-columns:64px 1fr;gap:10px}
  .result img{width:64px}
  .hide-sm{display:none}
}
/* only when the parent page resizes the iframe to fit (optional) */
.autoheight .site-head{position:static}
.autoheight main{min-height:0}
.autoheight .stage,.autoheight .textpanel{height:820px;min-height:0}
@media (max-width:760px){
  .autoheight .stage{height:560px}
  .autoheight .textpanel{height:auto;max-height:480px}
}
/* inside a fixed-size frame: keep the viewer within the frame */
.embedded:not(.autoheight) .stage,.embedded:not(.autoheight) .textpanel{height:calc(100vh - 200px);min-height:320px}
@media (max-width:760px){.embedded:not(.autoheight) .stage{height:calc(100vh - 250px);min-height:280px}}

/* easy-to-see red scrollbars */
html{scrollbar-color:#c8102e #e9e4d6;scrollbar-width:auto}
.stage,.textpanel{scrollbar-color:#c8102e #cfcabd}
::-webkit-scrollbar{width:14px;height:14px}
::-webkit-scrollbar-track{background:#e9e4d6}
::-webkit-scrollbar-thumb{background:#c8102e;border-radius:8px;border:3px solid #e9e4d6}
::-webkit-scrollbar-thumb:hover{background:#9e0c24}
::-webkit-scrollbar-corner{background:#e9e4d6}
@media print{.site-head,.site-foot,.vbar{display:none}}

.media-link{margin-left:auto;color:var(--gold-soft);font-size:14px;font-weight:700;text-decoration:none;border:1px solid var(--gold);border-radius:999px;padding:4px 12px;white-space:nowrap}
.media-link:hover{background:var(--gold);color:var(--navy)}
/* year filter layout */
.filters{flex-wrap:wrap;align-items:center}
.chips{flex:1 1 0;min-width:0}
@media (max-width:760px){
  .site-head{position:static}
  .filters{gap:8px;padding-bottom:10px}
  .filters-label{display:none}
  .chips{flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;
    -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .chips::-webkit-scrollbar{display:none}
  .chip{padding:5px 12px}
  .media-link{margin-left:0;font-size:13px;padding:3px 10px}
}
.viewonly{display:inline-flex;align-items:center;height:38px;padding:0 10px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:13px;white-space:nowrap}
.media-hits{margin-top:28px}
.media-hits-head{font-family:var(--serif);color:var(--navy);font-size:22px;margin:0 0 4px;padding-top:14px;border-top:2px solid var(--gold)}
.media-hits-head .muted{font-family:var(--sans);font-size:14px;font-weight:400}
.media-hits .note{color:var(--muted);font-size:13px;margin:0 0 12px}
.media-jump{margin-left:8px;font-weight:700;white-space:nowrap}
.media-link2{margin-left:6px}
@media (max-width:760px){.media-link2{margin-left:0}}
@media (max-width:760px){.filters .media-link{margin-left:0!important;flex:none}}
@media (max-width:760px){.filters .media-link{font-size:12px;padding:3px 9px}}
.tag-arch{display:inline-block;font-family:var(--sans);font-size:12px;font-weight:700;color:var(--navy);background:var(--gold-soft);border-radius:999px;padding:1px 8px;vertical-align:middle}
.found{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pill{display:inline-block;font-size:13px;font-weight:700;border:1px solid var(--navy);color:var(--navy);background:#fff;border-radius:999px;padding:3px 11px;text-decoration:none}
.pill:hover{background:var(--gold-soft)}
.pill-on{background:var(--navy);color:#fff}
.pill[hidden]{display:none}
.prev .result{margin-bottom:10px}
.prev-head{font-family:var(--serif);color:var(--navy);font-size:20px;margin:18px 0 8px}
.prev-head .muted{font-family:var(--sans);font-size:14px;font-weight:400}
.prev-more{display:inline-block;margin:0 0 6px;font-weight:700;color:var(--navy)}

.brand{flex-direction:row;align-items:center;gap:12px}.brand-text{display:flex;flex-direction:column}.bslogo{height:48px;background:#fff;border-radius:8px;padding:4px 8px;flex:none}
@media (max-width:760px){.bslogo{height:36px;padding:3px 6px}}

.idx-note{font-size:12.5px;color:var(--muted);background:#fbf6e6;border-left:3px solid var(--gold);padding:6px 10px;margin:8px 0;border-radius:0 6px 6px 0}
.card-idx .idx-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:360/429;background:#eef0f4;color:var(--navy);text-align:center;padding:12px;gap:6px}
.card-idx .idx-ph b{font-family:var(--serif);font-size:18px}.card-idx .idx-ph small{font-size:12.5px;color:var(--muted)}
.result-idx{display:block}.result-idx .hits li{margin-bottom:10px}.idx-h{display:block;font-weight:700;color:var(--navy);text-decoration:none;font-family:var(--serif);font-size:16.5px}
.idx-page{max-width:820px}.idx-page h1{font-family:var(--serif);color:var(--navy);margin:16px 0 2px;font-size:26px}
.idx-story{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:14px 0}
.idx-story.sel{border:2px solid var(--gold)}.idx-story h2{font-family:var(--serif);color:var(--navy);font-size:19px;margin:0 0 2px}.idx-story p{margin:8px 0;line-height:1.5}
.idx-tags{font-size:13px;margin:5px 0;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.idx-tags span{color:var(--muted);font-weight:700;margin-right:2px}
.idx-tags a{background:#eef0f4;color:var(--navy);border-radius:999px;padding:2px 9px;text-decoration:none}

/* lighter header: slim navy bar, light section + year bar */
.site-head{position:static;border-bottom-width:3px}
.head-inner{padding-top:8px;padding-bottom:8px}
.site-head .bslogo{height:40px}
.site-head .brand-title{font-size:21px}
.filterbar{background:#fff;border-bottom:1px solid var(--line)}
.filterbar .filters{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding-top:8px;padding-bottom:8px;flex-wrap:nowrap}
.filterbar .filters.hidden{display:none}
.navrow,.filterbar .chips{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:1px;flex:none;mask-image:none;-webkit-mask-image:none}
.navrow::-webkit-scrollbar,.filterbar .chips::-webkit-scrollbar{display:none}
.filterbar .media-link{margin:0!important;flex:none;color:var(--navy);background:var(--bg);border:1px solid var(--line);font-size:14px;padding:5px 12px}
.filterbar .media-link:hover{background:var(--gold-soft);color:var(--navy)}
.yearrow{display:flex;align-items:center;gap:8px;min-width:0}
.filterbar .filters-label{display:inline;color:var(--muted);padding-top:0;font-size:12px}
.filterbar .chips{flex:1 1 0;min-width:0}
.filterbar .chip{color:var(--ink);border-color:var(--line);background:#fff;padding:4px 11px;font-size:13.5px}
.filterbar .chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
@media (max-width:760px){.site-head .bslogo{height:34px}.filterbar .media-link{font-size:13px;padding:4px 10px}}

/* touch screens: comfortable tap targets */
@media (pointer:coarse){.filterbar .chip,.filterbar .media-link,.btn,.pill{min-height:38px;display:inline-flex;align-items:center}.filterbar .chip{padding:6px 13px}.filterbar .media-link{padding:6px 13px}}

/* all years reachable: wrap on tablets and computers, swipe (with a fade hint) on phones */
@media (min-width:700px){.filterbar .chips{flex-wrap:wrap;overflow:visible}}
@media (min-width:1000px){.navrow{flex-wrap:wrap;overflow:visible}}
@media (max-width:699px){.yearrow{position:relative}.yearrow:after{content:"›";position:absolute;right:0;top:0;bottom:0;width:34px;display:flex;align-items:center;justify-content:flex-end;font-size:22px;color:var(--navy);background:linear-gradient(90deg,rgba(255,255,255,0),#fff 60%);pointer-events:none}.filterbar .chips{padding-right:30px}}

/* home tiles */
.home{padding:6px 0 30px}
.home-h{font-family:Georgia,"Times New Roman",serif;color:#14284b;font-size:clamp(22px,4.2vw,34px);margin:14px 0 4px;line-height:1.15}
.home-p{color:#5d6472;margin:0 0 16px;font-size:clamp(14px,2.4vw,17px)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.tile{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #e3ded2;border-top:5px solid #c8a24a;border-radius:14px;padding:18px 16px;text-decoration:none;color:#1d2330;box-shadow:0 1px 3px rgba(0,0,0,.06);min-height:112px}
.tile:hover,.tile:focus-visible{background:#f3e7c4;outline:none;border-color:#c8a24a}
.tile-ic{flex:none;width:56px;height:56px;border-radius:14px;background:#14284b;display:flex;align-items:center;justify-content:center}
.tile-ic svg{width:34px;height:34px;fill:none;stroke:#f5c542;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.tile-tx{display:flex;flex-direction:column;gap:4px;min-width:0}
.tile-tx b{font-family:Georgia,"Times New Roman",serif;font-size:21px;color:#14284b;line-height:1.15}
.tile-tx span{font-size:15px;line-height:1.35;color:#333}
.tile-tx small{font-size:13px;color:#5d6472}
.crumbs{margin:10px 0 0;font-size:15px}.crumbs a{color:#14284b}
@media (max-width:560px){.tiles{grid-template-columns:1fr;gap:10px}.tile{padding:14px 12px;min-height:0;align-items:center}.tile-ic{width:50px;height:50px}.tile-tx b{font-size:19px}}
@media (min-width:561px) and (max-width:900px){.tiles{grid-template-columns:1fr 1fr}}
@media (max-height:480px) and (orientation:landscape){.tiles{grid-template-columns:1fr 1fr}.tile{min-height:0;padding:12px}}
body.at-home .navrow .media-link:not([style]){display:none}
html.kiosk body.at-home .filterbar{display:none}
html.kiosk .tile{min-height:140px;padding:24px 20px}html.kiosk .tile-tx b{font-size:25px}html.kiosk .tile-tx span{font-size:17px}html.kiosk .tile-ic{width:68px;height:68px}html.kiosk .tile-ic svg{width:42px;height:42px}
html.kiosk .tiles{grid-template-columns:repeat(2,1fr)!important;gap:20px}
html.kiosk .home-h{font-size:clamp(30px,5vw,48px)}html.kiosk .home-p{font-size:20px;margin-bottom:22px}
@media (max-width:600px){html.kiosk .tiles{grid-template-columns:1fr!important}}
@media (min-width:1400px){html.kiosk .tiles{grid-template-columns:repeat(4,1fr)!important}}

.pgnav{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:6px 0 4px}.pgnav .pgb{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:58px;padding:8px 16px;border:1px solid var(--line,#e3ded2);border-radius:12px;background:#fff;color:#14284b;font:700 17px Georgia,serif;text-decoration:none;cursor:pointer;text-align:left}.pgnav .pgb.nx{align-items:flex-end;text-align:right;background:#f5c542;border-color:#f5c542}.pgnav .pgb.alt{background:#14284b;color:#fff;border-color:#14284b}.pgnav .pgb small{font:700 12px system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;opacity:.8}.pgnav .pgc{font:600 15px system-ui,sans-serif;color:#5d6472;white-space:nowrap}@media (max-width:560px){.pgnav{grid-template-columns:1fr 1fr}.pgnav .pgc{grid-column:1/-1;grid-row:1;text-align:center}}
.home-stats{margin:18px 0 4px;text-align:center;color:#5d6472;font-size:14px;line-height:1.5}.home-stats b{color:#14284b}.home-stats em{font-style:normal;font-weight:700;color:#8a6d1f}html.kiosk .home-stats{font-size:18px}
.home-stats{font-size:clamp(16px,2.6vw,20px)!important}.home-stats .hs-n{font:700 1.5em Georgia,serif;color:#14284b}
.btn.txtbtn{background:#f5c542;border-color:#e0ad1f;color:#14284b;font-weight:700}.btn.txtbtn:hover{background:#f8d36a}.btn.txtbtn[aria-pressed="true"]{background:#14284b;border-color:#14284b;color:#fff}
