/* Shared Libr8 navigation, atmosphere and resource surfaces. */
@font-face{font-family:Libr8Display;src:url('/assets/norwester.otf') format('opentype');font-display:swap}
@property --l8-orbit{syntax:'<angle>';initial-value:0deg;inherits:false}
:root{--l8-gold:#e8b642;--l8-violet:#ba9cff;--l8-green:#65d8a2;--l8-blue:#7dbef5;--l8-red:#ff6262;--l8-accent:var(--l8-red)}
.l8-library-page{--l8-accent:var(--l8-gold)}
.l8-study-page{--l8-accent:var(--l8-violet)}
.l8-heritage-page{--l8-accent:var(--l8-green)}
.l8-timeline-page{--l8-accent:var(--l8-blue)}
.l8-header,.l8-sitemap{box-sizing:border-box;font-family:Libr8Display,Impact,sans-serif;text-transform:uppercase;line-height:1.2}
.l8-header{position:relative;z-index:40;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:20px 0;border-bottom:1px solid #ffffff18;text-align:left}
.l8-brand{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:28px;text-decoration:none;white-space:nowrap}
.l8-brand span{color:var(--l8-accent);font-size:16px}
.l8-desktop-nav,.l8-sitemap nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.l8-link{--l8-link-color:#eee;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 4px;color:#dfdfdf;text-decoration:none;font-size:16px;border-bottom:2px solid transparent;transition:color .18s,border-color .18s,text-shadow .18s}
.l8-news{--l8-link-color:var(--l8-red)}.l8-library{--l8-link-color:var(--l8-gold)}.l8-study{--l8-link-color:var(--l8-violet)}.l8-heritage{--l8-link-color:var(--l8-green)}.l8-timeline,.l8-map{--l8-link-color:var(--l8-blue)}.l8-aid{--l8-link-color:#55e0be}
.l8-link:hover,.l8-link[aria-current],.l8-link:focus-visible{color:var(--l8-link-color);border-bottom-color:var(--l8-link-color);text-shadow:0 0 16px color-mix(in srgb,var(--l8-link-color) 40%,transparent)}
.l8-header a:focus-visible,.l8-sitemap a:focus-visible,.l8-header summary:focus-visible,.l8-sitemap summary:focus-visible{outline:2px solid var(--l8-accent);outline-offset:4px}
.l8-mobile-nav{display:none}
.l8-sitemap{width:100%;margin-top:12px;padding-top:12px;border-top:1px solid #ffffff18;text-align:center}
.l8-sitemap nav{justify-content:center}
.l8-resources{margin-top:6px;color:#c4c4cc;font:14px/1.5 Arial,sans-serif;text-transform:none}
.l8-resources summary{width:fit-content;min-height:44px;margin:auto;padding:12px;cursor:pointer}
.l8-resources nav{gap:4px 18px;padding:4px 0 12px}
.l8-resources a{display:inline-flex;align-items:center;min-height:44px;color:#ddd;text-decoration:underline;text-underline-offset:4px}
.landing-footer{flex-wrap:wrap}.landing-footer>.l8-sitemap{flex:0 0 100%}
.l8-body{position:relative;isolation:isolate;min-height:100svh;overflow-x:clip;background:radial-gradient(ellipse at 15% 0%,color-mix(in srgb,var(--l8-accent) 9%,transparent),transparent 65%),#030303}
.l8-body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--l8-accent);mask:url('/assets/site/world-motif.svg') center 20vh / min(1450px,120vw) auto no-repeat;-webkit-mask:url('/assets/site/world-motif.svg') center 20vh / min(1450px,120vw) auto no-repeat;opacity:.14}
.l8-body .site-shell{width:min(100%,1440px);min-height:100svh;display:flex;flex-direction:column;padding:0 clamp(20px,4vw,64px)}
.l8-body .hero{grid-template-columns:minmax(0,1fr) clamp(90px,12vw,164px);gap:24px;padding-block:clamp(22px,3.4vw,44px)}
.l8-body .tagline{margin:0;color:#f7f3ef;font:400 clamp(36px,4.3vw,64px)/1.04 Libr8Display,Impact,sans-serif;text-transform:uppercase;text-shadow:0 0 30px color-mix(in srgb,var(--l8-accent) 16%,transparent)}
.l8-body .philosophy-intro{color:#d6cde6;font-size:clamp(15px,1.7vw,20px);margin-top:12px}
.l8-body .hero-mark{width:100%;margin:0;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--l8-accent) 18%,transparent))}
.l8-body .hero-mark::before{box-shadow:0 0 30px 8px color-mix(in srgb,var(--l8-accent) 15%,transparent)}
.l8-body .orbit{border-color:color-mix(in srgb,var(--l8-accent) 40%,transparent)}
.l8-body .mark-caption{font-size:8px;white-space:nowrap;color:var(--l8-accent)}
.l8-body .section-grid{flex:1;width:100%;margin:0;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(min-content,1fr);gap:16px;padding:4px 0 24px}
.l8-body .section-card{--l8-card:var(--l8-gold);--rim-color:var(--l8-card);--rim-soft:color-mix(in srgb,var(--l8-card) 25%,transparent);grid-column:span 3;min-width:0;min-height:180px;height:auto;justify-content:center;padding:clamp(18px,2vw,28px);border:1px solid color-mix(in srgb,var(--l8-card) 40%,transparent);border-radius:7px;background:linear-gradient(145deg,color-mix(in srgb,var(--l8-card) 7%,#08080b),#08080bf0);opacity:1;transform:none}
.l8-body .section-card:nth-child(4n+2){--l8-card:var(--l8-blue)}
.l8-body .section-card:nth-child(4n+3){--l8-card:var(--l8-red)}
.l8-body .section-card:nth-child(4n+4){--l8-card:var(--l8-green)}
.l8-library-page .section-card:nth-child(6),.l8-study-page .section-card:nth-child(2){--l8-card:var(--l8-violet)}
.l8-library-page .section-card:nth-child(n+5){grid-column:span 4}
.l8-study-page .section-card{grid-column:span 4;--l8-card:var(--l8-gold)}
.l8-study-page .section-card:last-child{--l8-card:var(--l8-green)}
.l8-body .card-status{margin:0 0 10px;color:var(--l8-card);font-size:12px;line-height:1.3;letter-spacing:.09em}
.l8-body .section-card h2{font-size:clamp(26px,2.5vw,36px);line-height:1.08;overflow-wrap:anywhere}
.l8-body .section-card p{margin-top:10px;font-size:16px;line-height:1.4;color:#c8c5cd}
.l8-body .section-card:focus-visible{outline-color:var(--l8-card)}
.l8-body .footer{display:flex;flex-direction:column;gap:0;padding:16px 0 20px;text-align:center}
.l8-body .footer>p{font:400 22px/1.2 Libr8Display,Impact,sans-serif;color:var(--l8-accent);text-shadow:none}
.l8-body .footer>.l8-sitemap{display:block;font-size:inherit}
.l8-body .footer a{min-height:44px}
/* Archive: existing collections and dialogs keep their behavior. */
.l8-heritage-page{--red:#ff7272;--green:#65d8a2;--mustard:#e8b642;--paper:#f5f3f7;--paper-muted:#c1bdc9}
.l8-heritage-page .page-shell{position:relative;min-height:100svh;width:min(100% - 40px,1320px)}
.l8-heritage-page .hero{grid-template-columns:minmax(0,1fr) 130px;align-items:center;text-align:left}
.l8-heritage-page .hero h1{font-size:clamp(36px,5vw,70px);line-height:1.02;max-width:900px}
.l8-heritage-page .hero-intro{font-size:18px;max-width:760px}
.l8-heritage-page .eyebrow{font-size:12px;color:var(--l8-green)}
.l8-heritage-page .topic-grid{gap:14px;border:0}
.l8-heritage-page :is(.source-card,.topic-card){--l8-card:var(--l8-green);position:relative;isolation:isolate;min-width:0;border:1px solid color-mix(in srgb,var(--l8-card) 40%,transparent);border-radius:7px;background:linear-gradient(145deg,color-mix(in srgb,var(--l8-card) 7%,#08080b),#08080bf5);transition:transform .2s,box-shadow .2s,border-color .2s}
.l8-heritage-page :is(.source-card,.topic-card):nth-child(4n+2){--l8-card:var(--l8-gold)}
.l8-heritage-page :is(.source-card,.topic-card):nth-child(4n+3){--l8-card:var(--l8-blue)}
.l8-heritage-page :is(.source-card,.topic-card):nth-child(4n){--l8-card:var(--l8-violet)}
.l8-heritage-page :is(.source-card,.topic-card)::after,.l8-body .section-card::after{content:'';position:absolute;inset:-1px;height:auto;z-index:2;padding:1px;border-radius:inherit;background:conic-gradient(from var(--l8-orbit),transparent 0deg,transparent 260deg,var(--l8-card) 320deg,transparent 360deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;pointer-events:none;transform:none;opacity:.85;filter:drop-shadow(0 0 4px var(--l8-card));animation:l8-card-orbit 12s linear infinite}
.l8-heritage-page :is(.source-card,.topic-card):hover,.l8-heritage-page :is(.source-card,.topic-card):focus-visible{transform:translateY(-3px);border-color:var(--l8-card);box-shadow:0 0 22px color-mix(in srgb,var(--l8-card) 20%,transparent)}
.l8-heritage-page .topic-card span{font-size:12px}.l8-heritage-page .topic-card .explore-label{color:var(--l8-card);font-size:14px}
.l8-heritage-page .source-card p{font-size:16px}.l8-heritage-page .card-action{font-size:14px}
.l8-heritage-page .site-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px}
/* Timeline map stays behind the chronology; its north tip begins below filters. */
.l8-timeline-page>.l8-header{max-width:1320px;margin:auto;padding:16px 24px;background:#030303}
.l8-timeline-page>.hero{padding-top:24px}
.l8-timeline-page::before{opacity:.2}
.l8-timeline-map{position:absolute;inset:0;z-index:0;pointer-events:none}
.l8-timeline-map>div{position:sticky;top:var(--l8-filter-height,60px);height:calc(100svh - var(--l8-filter-height,60px) - 16px);min-height:240px;background:linear-gradient(160deg,#86cafa,#63c899 58%,#e8b642);mask:url('/assets/site/palestine-outline.svg') center top / auto 100% no-repeat;-webkit-mask:url('/assets/site/palestine-outline.svg') center top / auto 100% no-repeat;opacity:.18}
.l8-timeline-page .spine-track{z-index:1}.l8-timeline-page .card{background:linear-gradient(155deg,color-mix(in srgb,var(--rim) 7%,transparent),transparent 52%),#090909eb}
.l8-timeline-page footer .l8-sitemap{max-width:1250px;margin:12px auto 0}
@keyframes l8-card-orbit{to{--l8-orbit:360deg}}
@media(min-width:781px) and (max-width:1050px){.l8-library-page .section-card,.l8-library-page .section-card:nth-child(n+5){grid-column:span 6}.l8-library-page .section-card:last-child{grid-column:span 12}.l8-study-page .section-card{padding:20px}}
@media(max-width:780px){
 .l8-header{padding:10px 0;gap:10px;flex-wrap:nowrap}.l8-brand{font-size:24px}.l8-brand span{font-size:14px}.l8-desktop-nav{display:none}
 .l8-mobile-nav{display:block;position:relative;font-size:14px}.l8-mobile-nav summary{min-height:44px;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--l8-accent) 45%,transparent);border-radius:5px;cursor:pointer;white-space:nowrap}.l8-mobile-nav summary::after{content:'+';color:var(--l8-accent)}.l8-mobile-nav[open] summary::after{content:'−'}
 .l8-mobile-nav nav{position:absolute;top:calc(100% + 8px);right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(310px,calc(100vw - 32px));padding:12px;background:#09090dfc;border:1px solid #ffffff35;border-radius:7px;box-shadow:0 18px 38px #000a}
 .l8-body::before{mask-position:center 110px;-webkit-mask-position:center 110px;mask-size:150vw auto;-webkit-mask-size:150vw auto;opacity:.12}
 .l8-body .site-shell{padding-inline:16px;min-height:0}.l8-body .hero{grid-template-columns:minmax(0,1fr) 62px;gap:12px;padding:10px 0 18px;place-items:center stretch;text-align:left;overflow:visible}
 .l8-body .tagline{font-size:clamp(26px,5.5vw,38px)}.l8-body .hero-mark{position:relative;top:auto;left:auto;width:62px;opacity:1;transform:none}.l8-body .mark-caption{display:none}.l8-body .philosophy-intro{font-size:14px;line-height:1.3;margin-top:8px}
 .l8-body .section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-bottom:12px;grid-auto-rows:auto;flex:none}
 .l8-body .section-card,.l8-library-page .section-card:nth-child(n+5),.l8-study-page .section-card{grid-column:auto;min-height:0;padding:12px}.l8-body .section-card h2{font-size:25px}.l8-body .section-card p{font-size:14px;line-height:1.3;margin-top:5px}.l8-body .card-status{font-size:12px;margin-bottom:6px}
 .l8-study-page .section-grid{grid-template-columns:1fr}.l8-body .footer{padding:10px 0 18px}.l8-body .footer>p{font-size:20px}
 .l8-sitemap nav{gap:2px 12px}.l8-sitemap .l8-link{font-size:14px}.l8-resources nav{gap:2px 16px}
 .l8-heritage-page .page-shell{width:calc(100% - 32px)}.l8-heritage-page .hero{grid-template-columns:minmax(0,1fr) 62px;padding:22px 0;gap:12px}.l8-heritage-page .hero h1{font-size:clamp(30px,7vw,48px)}.l8-heritage-page .hero-intro{font-size:16px}.l8-heritage-page .hero-mark{display:block}
 .l8-heritage-page .topic-grid{gap:8px}.l8-heritage-page .topic-card{padding:16px 12px}
 .l8-timeline-page>.l8-header{padding:10px 16px}.l8-timeline-page>.hero{padding-top:18px}.l8-timeline-map>div{opacity:.1;mask-position:65% top;-webkit-mask-position:65% top}
}
@media(max-width:420px){.l8-body .section-grid{grid-template-columns:1fr}.l8-body .section-card{padding:10px 12px}.l8-body .section-card h2{font-size:24px}.l8-brand span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.l8-body .section-card::after,.l8-heritage-page :is(.source-card,.topic-card)::after{animation:none}.l8-body .hero-mark,.l8-body .hero-mark *{animation:none!important}.l8-body .section-card,.l8-heritage-page :is(.source-card,.topic-card){transition:none}.l8-body .section-card:hover,.l8-heritage-page :is(.source-card,.topic-card):hover{transform:none}}
/* News: lighter frames, colored edge lights, unchanged original feed. */
.l8-news-page::after{display:none}
.l8-news-page .news-page{position:relative;z-index:1;min-height:100svh;width:min(100%,1320px);padding:0 clamp(16px,4vw,56px) 24px;margin:auto}
.l8-news-page .news-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:28px 0 24px;text-align:left}
.l8-news-heading h1{margin:0;color:#f6f3f5;font:400 clamp(32px,4vw,54px)/1.05 Libr8Display,Impact,sans-serif;text-transform:uppercase;text-shadow:none}
.l8-news-heading p{margin:8px 0 0;color:#c9c2ca;font:16px/1.5 Arial,sans-serif}
.l8-news-page .news-actions{margin:0;gap:10px}
.l8-news-page :is(.news-button,.load-more){min-height:44px;padding:12px 18px;border:1px solid #ff626266;border-radius:6px;color:#fff;background:#170d10;box-shadow:none;text-shadow:none;font:400 16px/1.2 Libr8Display,Impact,sans-serif}
.l8-news-page :is(.news-button,.load-more):hover{border-color:var(--l8-red);box-shadow:0 0 16px #ff626226;transform:translateY(-2px)}
.l8-news-page .news-search{max-width:760px;width:100%;margin:0 auto 20px;padding:16px 18px;border:1px solid #ffffff24;border-radius:7px;background:#0c0b10e8;box-shadow:none;text-align:left}
.l8-news-page .news-search label{margin-bottom:10px;color:#e5dfe8;font:400 16px/1.3 Libr8Display,Impact,sans-serif;text-shadow:none}
.l8-news-page .news-search input{width:100%;min-width:0;min-height:46px;padding:12px;border:1px solid #ffffff30;border-radius:5px;background:#050507;color:white;box-shadow:none;font:16px/1.4 Arial,sans-serif;text-transform:none}
.l8-news-page .news-search input:focus{outline:2px solid var(--l8-red);outline-offset:2px}
.l8-news-page .news-search button{min-height:44px;border:1px solid #ffffff35;background:#17121a;border-radius:5px;font-size:16px}
.l8-news-page #news-search-status{margin:8px 0 0;font:14px/1.4 Arial,sans-serif;color:#c9c2ca}
.l8-news-page #news-search-status:empty{display:none}
.l8-news-page .news-feed{gap:22px;width:min(100%,760px)}
.l8-news-page .news-post-shell{--l8-card:var(--l8-red);isolation:isolate;padding:12px;border:1px solid color-mix(in srgb,var(--l8-card) 38%,transparent);border-radius:8px;background:#08080bea;box-shadow:0 3px 22px #0004;transition:border-color .2s,box-shadow .2s}
.l8-news-page .news-post-shell:nth-child(5n+2){--l8-card:var(--l8-gold)}.l8-news-page .news-post-shell:nth-child(5n+3){--l8-card:var(--l8-green)}.l8-news-page .news-post-shell:nth-child(5n+4){--l8-card:var(--l8-blue)}.l8-news-page .news-post-shell:nth-child(5n){--l8-card:var(--l8-violet)}
/* Paint the orbit underneath an opaque interior, never on top of the post.
   This avoids composite masks losing their cutout on tall embedded cards. */
.l8-news-page .news-post-shell::after{content:none}
@supports (background:conic-gradient(from 0deg,transparent,red)){
 .l8-news-page .news-post-shell{border:2px solid transparent;background:linear-gradient(#08080b,#08080b) padding-box,conic-gradient(from var(--l8-orbit),transparent 0deg,transparent 260deg,var(--l8-card) 325deg,transparent 360deg) border-box,linear-gradient(color-mix(in srgb,var(--l8-card) 38%,#08080b),color-mix(in srgb,var(--l8-card) 38%,#08080b)) border-box;animation:l8-card-orbit 14s linear infinite}
 .l8-news-page .news-post-shell:hover,.l8-news-page .news-post-shell:focus-within{border-color:transparent}
}
.l8-news-page .news-post-shell:hover,.l8-news-page .news-post-shell:focus-within{box-shadow:0 0 20px color-mix(in srgb,var(--l8-card) 12%,transparent)}
.l8-news-page .news-post-links{border-top:1px solid color-mix(in srgb,var(--l8-card) 25%,transparent);padding-top:8px;gap:4px 18px}
.l8-news-page .news-post-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--l8-card);font:400 14px/1.3 Libr8Display,Impact,sans-serif;text-shadow:none}
.l8-news-page .news-rich-article{border:0;background:#0b0b10;padding:20px}.l8-news-page .news-rich-article-kind{color:var(--l8-card)}
.l8-news-page .footer{margin-top:24px}.l8-news-page .news-search-empty{border:1px solid #ffffff30;box-shadow:none;font-size:16px}
@media(max-width:780px){.l8-news-page .news-hero{padding:18px 0;gap:12px}.l8-news-heading p{font-size:14px}.l8-news-page .news-actions{justify-content:flex-start;width:auto}.l8-news-page .news-button{font-size:14px;padding:10px 12px}.l8-news-page .news-search{padding:12px;margin-bottom:14px}.l8-news-page .news-feed{gap:16px}.l8-news-page .news-post-shell{padding:6px}.l8-news-page .news-post-links{padding-inline:6px;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.l8-news-page .news-post-shell{animation:none}.l8-news-page .news-post-shell{transition:none}}
.l8-news-page .news-hero{flex-direction:row}
/* Gaza update and the homepage share the same navigation. */
.l8-genocide{--l8-link-color:#ff8585}.landing>.l8-header{padding:10px 0 14px;margin-bottom:6px}.landing>.l8-header .l8-brand{color:#fff}.landing>.l8-header .l8-brand span{color:#ff8585}
@media(min-width:781px) and (max-width:1180px){.l8-header{gap:8px 18px}.l8-desktop-nav{gap:4px 8px}.l8-header .l8-link{font-size:14px}}


/* Keep Explore Libr8 as the shared navigation at every screen size. */
.l8-header { flex-wrap:nowrap; gap:12px; }
.l8-header .l8-desktop-nav { display:none; }
.l8-header .l8-mobile-nav { display:block; position:relative; flex:0 0 auto; font-size:14px; }
.l8-header .l8-mobile-nav summary { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 12px; border:1px solid #ff626273; border-radius:5px; background:#160909; color:#ffe0e0; cursor:pointer; list-style:none; white-space:nowrap; font-size:.9rem; letter-spacing:.04em; }
.l8-header .l8-mobile-nav summary::-webkit-details-marker { display:none; }
.l8-header .l8-mobile-nav summary::after { content:'+'; color:#ff6262; font:20px/1 sans-serif; }
.l8-header .l8-mobile-nav[open] summary::after { content:'−'; }
.l8-header .l8-mobile-nav nav { position:absolute; top:calc(100% + 8px); right:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:min(350px,calc(100vw - 28px)); max-height:calc(100dvh - 96px); overflow-y:auto; overscroll-behavior:contain; gap:4px; margin:0; padding:10px; background:#100909; border:1px solid #ffffff35; border-radius:7px; box-shadow:0 18px 38px #000a,0 0 22px #ff626214; }
.l8-header .l8-mobile-nav nav a { justify-content:flex-start; min-height:44px; padding:9px 10px; border:0; border-radius:4px; font-size:.84rem; line-height:1.25; letter-spacing:.025em; white-space:normal; }
.l8-header .l8-mobile-nav nav a:is(:hover,[aria-current="page"]) { background:#381717; }
.l8-header .l8-mobile-nav nav a[aria-current="page"] { box-shadow:inset 3px 0 #ff6262; }
@media(max-width:540px) { .l8-header .l8-mobile-nav summary { gap:8px; padding-inline:10px; font-size:.8rem; } }
