/* IDI – header, hero, columnists. Glass (.frost) only on floating UI: header, dropdown, search results, popups. */
:root{
  --brand:#0b639b; --brand-2:#2580b5; --brand-glow:#7fb8e0;
  /* light scope (default) */
  --heading:#06284a; --text:#3f5a73; --text-soft:#5f7c96; --accent:#2580b5;
  --bg:#eef4fa; --band:rgba(11,99,155,.07); --line:rgba(11,99,155,.14);
  --heading-grad:linear-gradient(120deg,#06284a 25%,#3b91c5);
  --card-bg:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,255,255,.68)); --card-bd:rgba(255,255,255,.95);
  --shadow:0 14px 40px rgba(6,40,74,.12),0 2px 6px rgba(6,40,74,.06);
  --shadow-lg:0 26px 60px rgba(6,40,74,.22),0 0 0 1px rgba(37,128,181,.25);
  --tag-bg:rgba(11,99,155,.1); --tag-fg:#0b639b; --tag-bd:rgba(11,99,155,.2); --meta-b:#1d3a56;
  --tab-active:#fff; --ring:rgba(11,99,155,.16); --img-bd:#fff; --fade:rgba(255,255,255,.35); --hover-bd:rgba(37,128,181,.45);
  --glass:rgba(14,34,54,.42); --glass-strong:rgba(12,30,50,.78);
  --radius:20px; --gap:24px;
  --font:'Plus Jakarta Sans',system-ui,sans-serif; --serif:'Fraunces',Georgia,serif;
}
/* dark scope */
section.band,.frost,.site-footer,.feat-big,.modal .dialog{color:var(--text);
  --heading:#eef5fc; --text:#b4c4d6; --text-soft:#8197ad; --accent:#bfe0f5;
  --band:rgba(255,255,255,.07); --line:rgba(255,255,255,.1);
  --heading-grad:linear-gradient(120deg,#fff 30%,#bfe0f5);
  --card-bg:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.03)); --card-bd:rgba(255,255,255,.13);
  --shadow:0 12px 36px rgba(0,8,20,.4),inset 0 1px 0 rgba(255,255,255,.08);
  --shadow-lg:0 26px 60px rgba(0,0,0,.55),0 0 0 1px rgba(127,184,224,.18);
  --tag-bg:rgba(127,184,224,.14); --tag-fg:#d6ebfa; --tag-bd:rgba(127,184,224,.28); --meta-b:#e6e8f2;
  --tab-active:linear-gradient(180deg,rgba(127,184,224,.24),rgba(11,99,155,.18)); --ring:rgba(127,184,224,.15); --img-bd:rgba(255,255,255,.85);
  --fade:rgba(8,8,18,.5); --hover-bd:rgba(127,184,224,.45);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--font);color:var(--text);line-height:1.65;background:var(--bg);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5{font-family:var(--serif);color:var(--heading);line-height:1.22;font-weight:600}
.container{width:min(1200px,100% - 40px);margin-inline:auto}
section{padding:72px 0}
section.band{background:var(--band)}
section.white{background:#fff}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

.frost{background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);
  border:1px solid rgba(255,255,255,.65);box-shadow:0 20px 60px rgba(11,99,155,.14),inset 0 1px 0 rgba(255,255,255,.85)}
.card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}

.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:999px;font-weight:600;font-size:.95rem;
  background:var(--heading);color:#fff;border:0;box-shadow:0 8px 22px rgba(11,99,155,.25);
  transition:transform .3s,box-shadow .3s,background .3s;cursor:pointer;font-family:var(--font)}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(11,99,155,.35);background:#2580b5}
.btn.ghost{background:#fff;color:var(--heading);border:1px solid var(--line);box-shadow:none}
.btn.ghost:hover{background:var(--band)}

.sec-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:34px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.sec-head p{max-width:480px}
.eyebrow{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:8px}
.actions-right{display:flex;justify-content:flex-end;margin-top:32px}
.meta{font-size:.85rem;color:var(--text-soft)}
.meta b{color:var(--text);font-weight:600}
.tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:5px 12px;border-radius:999px;background:rgba(11,99,155,.09);color:var(--heading);margin-bottom:12px}

/* Header */
.site-header{position:sticky;top:12px;z-index:60;margin:12px auto 0;width:min(1200px,100% - 24px);padding:10px 22px;display:flex;align-items:center;gap:20px;border-radius:999px}
.site-header .logo img{height:42px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav>a,.dd>a{display:block;padding:9px 16px;border-radius:999px;font-weight:600;font-size:.92rem;color:var(--heading);transition:background .3s}
.nav>a:hover,.nav>a.active,.dd>a:hover,.dd>a.active{background:rgba(11,99,155,.1)}
.dd{position:relative}
.dd-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:190px;padding:8px;border-radius:18px;opacity:0;visibility:hidden;transform:translateY(8px) scale(.98);transition:all .3s;display:flex;flex-direction:column}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:none}
.dd-menu a{padding:10px 14px;border-radius:12px;font-weight:600;font-size:.9rem;color:var(--heading)}
.dd-menu a:hover{background:rgba(11,99,155,.1)}
.search{position:relative;display:flex;align-items:center;background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:999px;padding:2px 4px 2px 14px}
.search input{border:0;background:transparent;font:inherit;font-size:.9rem;padding:8px 6px;width:180px;color:#3f5367;outline:none}
.search button{border:0;background:var(--heading);color:#fff;border-radius:50%;width:34px;height:34px;cursor:pointer}
.results{position:absolute;top:calc(100% + 12px);right:0;width:min(400px,92vw);max-height:70vh;overflow:auto;padding:10px;border-radius:20px;animation:pop .3s}
.results[hidden]{display:none}
.results a{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;padding:8px;border-radius:14px}
.results a:hover,.results a:focus{background:rgba(255,255,255,.85)}
.results img{width:56px;height:44px;object-fit:cover;border-radius:10px}
.results b{display:block;color:var(--heading);font-size:.9rem;line-height:1.3}
.results small{color:var(--text-soft)}
.results p{padding:10px;font-size:.9rem}
#menu-toggle{display:none}
.burger{display:none;margin-left:auto;cursor:pointer;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.8);align-items:center;justify-content:center;font-size:1.3rem;color:var(--heading)}

/* Hero 7:5 */
.hero{padding:32px 0 72px;background:linear-gradient(180deg,var(--bg),var(--band) 55%)}
.hero-columnists .columnists{margin-top:72px}
.hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--gap);align-items:stretch}
.feature{overflow:hidden;display:flex;flex-direction:column}
.feature .img-wrap{overflow:hidden}
.feature img{width:100%;height:360px;object-fit:cover;transition:transform .8s}
.feature:hover img{transform:scale(1.04)}
.feature .body{padding:28px 30px 32px}
.feature h1{font-size:clamp(1.7rem,3vw,2.4rem);margin:4px 0 8px}
.feature p.sum{margin-top:12px}
.latest{padding:10px;display:flex;flex-direction:column}
.latest h3.label{padding:5px 16px 8px;font-size:1.1rem}
.latest-item{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:12px 14px;border-radius:12px;transition:background .3s;flex:1;align-items:center}
.latest-item:hover{background:var(--band)}
.latest-item img{width:96px;height:78px;object-fit:cover;border-radius:10px}
.latest-item h4{font-size:.98rem;margin-bottom:4px;font-family:var(--font);font-weight:700}

/* Columnists */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.col-card{display:block;padding:28px 20px;text-align:center;transition:transform .4s,box-shadow .4s,border-color .4s}
.col-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(11,99,155,.3)}
.col-card img{width:116px;height:116px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:4px solid #fff;box-shadow:0 0 0 2px var(--band)}
.col-card h3{font-size:1.15rem}
.col-card .role{font-size:.85rem;font-weight:600}
.col-card .exp{font-size:.85rem;margin:8px 0}
.pill{display:inline-block;font-size:.76rem;padding:5px 12px;border-radius:999px;background:var(--band);color:var(--heading);font-weight:600}
.day-group{margin-bottom:48px}
.day-group>h2{font-size:1.7rem;margin-bottom:20px;display:flex;align-items:center;gap:14px}
.day-group>h2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(11,99,155,.3),transparent)}
.page-title{padding:56px 0 8px}
.page-title h1{font-size:clamp(2rem,4vw,3rem)}
.page-title p{max-width:640px;margin-top:10px}

/* Modals: smoky backdrop + frosted dialog */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.modal.is-open{display:flex;animation:fade .3s ease}
.modal.closing{animation:fadeout .2s ease forwards}
.modal.closing .dialog{animation:popout .2s ease forwards}
.modal .backdrop{position:absolute;inset:0;background:rgba(12,12,24,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer}
.modal .dialog{position:relative;width:min(580px,100%);max-height:92vh;overflow:auto;padding:32px;border-radius:26px;background:rgba(255,255,255,.78);animation:pop .4s cubic-bezier(.2,.9,.3,1.1)}
.modal.large .dialog{width:min(920px,100%)}
.modal .close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.95);border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--heading);z-index:2;box-shadow:0 2px 10px rgba(11,99,155,.2);transition:transform .3s}
.modal .close:hover{transform:rotate(90deg)}
.modal-body{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:start}
.modal.large .modal-body{grid-template-columns:260px 1fr}
.modal-body>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}
.modal h3{font-size:1.5rem;margin-bottom:4px;padding-right:36px}
.modal .btn{margin-top:18px}
details.bio summary{list-style:none;cursor:pointer;display:inline-flex;margin-top:14px}
details.bio summary::-webkit-details-marker{display:none}
details.bio[open] summary{display:none}
details.bio .more{margin-top:10px;animation:fade .6s}
.recent{margin-top:28px;grid-column:1/-1}
.recent h4{margin-bottom:12px;font-size:1.1rem}
.recent-item{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;padding:10px;border-radius:14px;background:rgba(255,255,255,.75);margin-bottom:10px;transition:background .3s}
.recent-item:hover{background:#fff}
.recent-item img{width:120px;height:78px;object-fit:cover;border-radius:10px}
.recent-item h5{font-size:.98rem;color:var(--heading);font-family:var(--font)}
@keyframes fadeout{to{opacity:0}}
@keyframes popout{to{opacity:0;transform:translateY(12px) scale(.97)}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
@keyframes sheet{from{transform:translateY(100%)}to{transform:none}}

.site-footer{background:#0c2a44;color:#b9c8d6;padding:44px 0 28px}
.site-footer .container{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.site-footer img{height:46px;background:#fff;padding:6px 10px;border-radius:12px}
.site-footer nav{display:flex;gap:22px;flex-wrap:wrap;font-weight:600;font-size:.9rem}
.site-footer nav a:hover{color:#fff}
.site-footer small{width:100%;opacity:.75}

@media(max-width:1024px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .hero-grid{grid-template-columns:1fr}
  .search input{width:110px}
}
@media(max-width:860px){
  .burger{display:flex}
  .nav,.site-header .search{display:none;width:100%}
  .site-header{flex-wrap:wrap;border-radius:28px}
  #menu-toggle:checked~.nav{display:flex;flex-direction:column;align-items:stretch;order:3}
  #menu-toggle:checked~.search{display:flex;order:4}
  .dd-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;border:0;backdrop-filter:none;margin-left:12px}
  .search input{flex:1;width:auto}
  .results{position:static;width:100%;margin-top:8px}
}
@media(max-width:640px){
  section{padding:48px 0}
  .grid-4{grid-template-columns:1fr}
  .modal{align-items:flex-end;padding:0}
  .modal .dialog,.modal.large .dialog{width:100%;max-height:90vh;border-radius:26px 26px 0 0;padding:26px 20px 30px;animation:sheet .4s cubic-bezier(.2,.9,.3,1)}
  .modal-body,.modal.large .modal-body{grid-template-columns:1fr}
  .modal-body>img{max-width:200px;margin-inline:auto}
  .feature img{height:230px}
  .recent-item{grid-template-columns:90px 1fr}
  .recent-item img{width:90px;height:64px}
  .actions-right{justify-content:center}
  .btn{padding:13px 24px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Policy Briefs slider */
.slides{display:grid;position:relative}
.slide{grid-area:1/1;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;opacity:0;visibility:hidden;transform:translateX(36px);
  transition:opacity .7s ease,transform .7s ease,visibility .7s}
.slide.is-active{opacity:1;visibility:visible;transform:none}
.slide .media{position:relative;min-height:380px;overflow:hidden}
.slide .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide .copy{padding:44px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.slide .copy h3{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:14px}
.slide .copy p{margin-bottom:22px}
.titles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin-top:var(--gap)}
.title-tab{font:inherit;text-align:left;cursor:pointer;padding:18px 20px;border-radius:14px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--line);
  font-weight:600;font-size:.95rem;color:var(--text);transition:all .4s}
.title-tab small{display:block;font-weight:500;color:var(--text-soft);font-size:.78rem;margin-bottom:2px}
.title-tab:hover{box-shadow:var(--shadow);color:var(--heading)}
.title-tab.is-active{border-top-color:var(--heading);color:var(--heading);font-weight:800;box-shadow:var(--shadow)}
.actions-center{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:34px}
.featured-block .slide{opacity:1;visibility:visible;transform:none}
.brief-card{display:block;overflow:hidden;transition:transform .4s,box-shadow .4s,border-color .4s}
.brief-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(11,99,155,.3)}
.brief-card .thumb{aspect-ratio:3/2;overflow:hidden}
.brief-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.brief-card:hover .thumb img{transform:scale(1.05)}
.brief-card .info{padding:18px 20px 22px}
.brief-card h3{font-size:1.05rem;font-family:var(--font);font-weight:700}
@media(max-width:860px){
  .slide{grid-template-columns:1fr}
  .slide .media{min-height:240px}
  .slide .copy{padding:28px}
  .titles{grid-template-columns:repeat(2,1fr);gap:12px}
}

/* Video play overlay + player */
.play{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer}
.play span{width:76px;height:76px;border-radius:50%;background:rgba(12,12,24,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.7rem;
  box-shadow:0 10px 30px rgba(0,0,0,.28);transition:transform .4s,background .4s;padding-left:5px}
.play:hover span,.video-card:hover .play span,.play:focus-visible span{transform:scale(1.1);background:rgba(11,99,155,.75)}
.video-card{cursor:pointer}
.video-card .thumb{position:relative}
.video-card .thumb .play span{width:56px;height:56px;font-size:1.3rem}
.video-card .meta{margin-top:6px}
.video-wrap{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#0c1b2b}
.video-wrap iframe,.video-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-wrap .empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#cfe0ee;text-align:center;padding:20px}

/* Books carousel */
.books{overflow:hidden;padding:24px 0 34px}
.track{display:flex;gap:24px;will-change:transform}
.track.anim{transition:transform .9s cubic-bezier(.22,.7,.2,1)}
.book{flex:0 0 calc((100% - 96px) / 5);background:none;border:0;font:inherit;cursor:pointer;text-align:center;transition:transform .4s}
.book:hover,.book:focus-visible{transform:translateY(-8px)}
.book img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;box-shadow:0 14px 30px rgba(11,99,155,.22);margin-bottom:14px}
.book h3{font-size:.98rem;font-family:var(--font);font-weight:700;color:var(--heading)}
.modal.book .modal-body{grid-template-columns:240px 1fr}
.modal.book .modal-body>img{aspect-ratio:2/3;border-radius:8px}
.modal dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font-size:.9rem;margin-top:14px}
.modal dt{font-weight:700;color:var(--heading)}
.btn.disabled{background:#d5dfe8;color:#6b7f92;box-shadow:none;cursor:not-allowed;transform:none}
@media(max-width:1024px){.book{flex-basis:calc((100% - 24px) / 2)}}
@media(max-width:640px){
  .book{flex-basis:calc((100% - 24px) / 2)}
  .modal.book .modal-body{grid-template-columns:1fr}
  .modal.book .modal-body>img{max-width:180px;margin-inline:auto}
}

/* Journal */
.journal{display:grid;grid-template-columns:3fr 7fr;overflow:hidden}
.journal .cover{padding:44px;display:flex;justify-content:center;align-items:center;background:var(--band)}
.journal .cover img{width:min(300px,100%);aspect-ratio:3/4;object-fit:cover;border-radius:8px;box-shadow:0 26px 50px rgba(11,99,155,.3)}
.journal .copy{padding:48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.journal .copy h3{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:14px}
.journal .copy p{margin-bottom:22px}
.back{font-weight:600;font-size:.9rem;color:var(--heading)}
.back:hover{text-decoration:underline}
.issue-layout{display:grid;grid-template-columns:4fr 8fr;gap:var(--gap);align-items:start}
.issue-cover{position:sticky;top:96px}
.issue-cover img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;box-shadow:0 24px 50px rgba(11,99,155,.28)}
.panel{padding:32px;margin-bottom:var(--gap)}
.panel h2{font-size:1.5rem;margin-bottom:14px}
.toc,.articles{list-style:none}
.toc{counter-reset:t}
.toc li{counter-increment:t;display:flex;justify-content:space-between;gap:16px;padding:12px 4px;border-bottom:1px dashed rgba(11,99,155,.25)}
.toc li .t::before{content:counter(t) ". ";color:var(--text-soft)}
.toc li .t{color:var(--heading);font-weight:600}
.toc li .pg{color:var(--text-soft);font-size:.88rem;white-space:nowrap}
.articles li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.articles li:last-child,.toc li:last-child{border-bottom:0}
.articles b{color:var(--heading)}
.issue-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;margin-bottom:12px;border-radius:14px;background:var(--bg);border:1px solid var(--line)}
.issue-row.current{border-color:var(--heading)}
.issue-row b{color:var(--heading)}
.issue-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1024px){.journal,.issue-layout{grid-template-columns:1fr}.issue-cover{position:static;max-width:320px}}
@media(max-width:640px){.journal .copy,.journal .cover{padding:28px}.panel{padding:22px}}

/* Our Fellows */
.fellows{display:grid;grid-template-columns:7fr 5fr;gap:var(--gap);align-items:stretch}
.fellows-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.essay-card .thumb{aspect-ratio:auto;height:200px}
.feat-big{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:520px;padding:0;cursor:pointer;font:inherit;text-align:left;color:#fff;border:0}
.feat-big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.feat-big:hover img{transform:scale(1.05)}
.feat-big .overlay{position:relative;display:block;margin:14px;padding:24px;width:calc(100% - 28px);border-radius:16px;background:rgba(12,12,24,.42);
  backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(255,255,255,.35)}
.feat-big .ft{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;margin:8px 0;color:#fff}
.feat-big .tag{background:rgba(255,255,255,.25);color:#fff}
.feat-big .meta,.feat-big .meta b{color:#eef3f8}
@media(max-width:1024px){.fellows{grid-template-columns:1fr}.feat-big{min-height:400px;order:-1}}
@media(max-width:640px){.fellows-grid{grid-template-columns:1fr}.feat-big{min-height:340px}}

/* Slider arrows */
.slides,.books-wrap{position:relative}
.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:1.7rem;line-height:1;padding-bottom:4px;color:var(--heading);font-family:var(--font);
  background:rgba(255,255,255,.72);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);
  border:1px solid rgba(255,255,255,.7);box-shadow:0 8px 24px rgba(11,99,155,.2);transition:background .3s,transform .3s,color .3s}
.arrow:hover{background:var(--heading);color:#fff;transform:translateY(-50%) scale(1.08)}
.arrow.prev{left:14px}.arrow.next{right:14px}
.books-wrap .arrow.prev{left:-10px}.books-wrap .arrow.next{right:-10px}
@media(max-width:640px){.arrow{width:40px;height:40px;font-size:1.4rem}.arrow.prev{left:8px}.arrow.next{right:8px}.books-wrap .arrow.prev{left:4px}.books-wrap .arrow.next{right:4px}}


/* ===== Mixed light / dark glass theme (#0b639b) ===== */
html{background:#eef4fa}
body{background:linear-gradient(165deg,#f6f9fd 0%,#e4edf7 50%,#eff4fa 100%);background-attachment:fixed;position:relative;min-height:100vh}
body::before,body::after{content:"";position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(90px)}
body::before{width:60vw;height:60vw;left:-18vw;top:-20vw;background:radial-gradient(circle,rgba(11,99,155,.28),transparent 68%);animation:drift 26s ease-in-out infinite alternate}
body::after{width:55vw;height:55vw;right:-16vw;bottom:-18vw;background:radial-gradient(circle,rgba(127,184,224,.26),transparent 70%);animation:drift 32s ease-in-out infinite alternate-reverse}
@keyframes drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(6vw,5vh,0) scale(1.15)}}
::selection{background:var(--brand-glow);color:#0b0d14}
h1,h2,h3,h4,h5{color:var(--heading);letter-spacing:-.01em}
.sec-head h2,.page-title h1{background:var(--heading-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
section.white{background:transparent}
.hero{background:transparent}

/* dark navy bands with smoky glows */
section.band{position:relative;overflow:hidden;color:var(--text);
  background:radial-gradient(ellipse 50% 60% at 10% 0%,rgba(127,184,224,.28),transparent 70%),radial-gradient(ellipse 45% 60% at 95% 100%,rgba(11,99,155,.7),transparent 70%),linear-gradient(135deg,#0b0d14,#0b4a7a 55%,#051f3a)}
section.band::before{content:"";position:absolute;width:520px;height:520px;right:-140px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(120,190,255,.22),transparent 68%);filter:blur(30px);pointer-events:none}
section.band>.container{position:relative}
.eyebrow{color:var(--accent);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--brand-glow),transparent)}

.frost{background:var(--glass);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 60px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.14)}
.card{background:var(--card-bg);border:1px solid var(--card-bd);box-shadow:var(--shadow);
  backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}

.card h1 a,.card h3 a{transition:color .3s}
.feature:hover h1 a{color:var(--brand-2)}

.btn{background:linear-gradient(135deg,var(--brand-2),var(--brand) 60%,#064477);color:#fff;border:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 26px rgba(11,99,155,.4),inset 0 1px 0 rgba(255,255,255,.28);position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.3) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s}
.btn:hover{background:linear-gradient(135deg,#3b91c5,var(--brand-2) 60%,var(--brand));box-shadow:0 14px 34px rgba(127,184,224,.45),inset 0 1px 0 rgba(255,255,255,.3)}
.btn:hover::after{transform:translateX(120%)}
.btn.ghost{background:var(--band);color:var(--heading);border:1px solid var(--line);box-shadow:none}
.btn.ghost:hover{background:var(--line)}
.btn.disabled{background:var(--band);color:var(--text-soft);border-color:var(--line);box-shadow:none}
.btn.disabled::after{display:none}
.tag{background:var(--tag-bg);color:var(--tag-fg);border:1px solid var(--tag-bd)}
.pill{background:var(--tag-bg);color:var(--tag-fg);border:1px solid var(--tag-bd)}
.meta b{color:var(--meta-b)}

/* Header (dark glass floats over both themes) */
.site-header{background:rgba(10,28,46,.9);border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 50px rgba(8,8,18,.35),inset 0 1px 0 rgba(255,255,255,.16)}
.site-header .logo img{background:#fff;padding:4px 12px;border-radius:999px;height:40px;box-shadow:0 4px 16px rgba(0,0,0,.25);transition:transform .3s}
.site-header .logo:hover img{transform:scale(1.04)}
.nav>a,.dd>a{color:#d7e6f5}
.nav>a:hover,.nav>a.active,.dd>a:hover,.dd>a.active{background:rgba(127,184,224,.18);color:#fff}
.dd-menu a{color:#d7e6f5}
.dd-menu a:hover{background:rgba(127,184,224,.18);color:#fff}
.search{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);transition:border-color .3s,box-shadow .3s}
.search:focus-within{border-color:var(--brand-glow);box-shadow:0 0 0 4px rgba(127,184,224,.2)}
.search input{color:#e9ebf4}
.search input::placeholder{color:#8fa6bd}
.search button{background:linear-gradient(135deg,var(--brand-2),var(--brand));transition:transform .3s}
.search button:hover{transform:scale(1.08)}
.results a:hover,.results a:focus{background:rgba(255,255,255,.1)}
.burger{background:rgba(255,255,255,.12);color:#fff}

/* Hero & lists */
.feature .img-wrap{position:relative}
.feature .img-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(255,255,255,.35));pointer-events:none}
.latest-item{border:1px solid transparent}
.latest-item:hover{transform:translateX(4px)}
.latest-item,.latest-item img{transition:all .4s}
.latest-item:hover img{transform:scale(1.05)}
.col-card{position:relative;overflow:hidden}
.col-card::before{content:"";position:absolute;left:50%;top:-40px;width:200px;height:200px;transform:translateX(-50%);background:radial-gradient(circle,rgba(127,184,224,.28),transparent 70%);opacity:0;transition:opacity .5s;pointer-events:none}
.col-card:hover::before{opacity:1}
.col-card:hover,.brief-card:hover{border-color:var(--hover-bd)}
.col-card img{border:3px solid var(--img-bd);box-shadow:0 0 0 6px var(--ring),0 10px 26px rgba(6,40,74,.25);transition:transform .5s}
.col-card:hover img{transform:scale(1.05)}
.col-card .role{color:var(--accent)}
.day-group>h2::after{background:linear-gradient(90deg,var(--hover-bd),transparent)}

/* Modals */
.modal .backdrop{background:radial-gradient(circle at 50% 40%,rgba(11,99,155,.45),rgba(2,9,18,.82));backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%)}
.modal .dialog{background:var(--glass-strong)}
.modal .close{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22);box-shadow:0 4px 14px rgba(0,0,0,.3)}
.modal .close:hover{background:var(--brand-2)}
.modal-body>img{box-shadow:0 14px 34px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.14)}
.recent-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.recent-item:hover{background:rgba(255,255,255,.12)}
.video-wrap{background:#020a14;box-shadow:0 20px 50px rgba(0,0,0,.5)}

/* Sliders */
.slide .media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,var(--fade));pointer-events:none}
.slide .media .play{z-index:1}
.title-tab{background:var(--band);border:1px solid var(--line);border-top:3px solid var(--line);color:var(--text);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.title-tab:hover{background:var(--card-bd);color:var(--heading);transform:translateY(-3px);box-shadow:var(--shadow)}
.title-tab.is-active{background:var(--tab-active);border-top-color:var(--brand-glow);color:var(--heading);box-shadow:var(--shadow)}
.play span{background:rgba(11,99,155,.4);border-color:rgba(255,255,255,.6);box-shadow:0 10px 34px rgba(0,0,0,.35),0 0 0 8px rgba(255,255,255,.1)}
.arrow{background:rgba(10,28,46,.62);color:#fff;border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 24px rgba(8,8,18,.4)}
.arrow:hover{background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff}

/* Books, journal, fellows */
.book img{border-radius:6px;box-shadow:0 18px 38px rgba(0,0,0,.55);transition:box-shadow .4s}
.book:hover img{box-shadow:0 26px 50px rgba(0,0,0,.65),0 0 36px rgba(127,184,224,.4)}
.journal .cover{background:radial-gradient(circle at 50% 40%,rgba(127,184,224,.28),rgba(11,99,155,.08) 65%,transparent)}
.journal .cover img,.issue-cover img{box-shadow:0 30px 60px rgba(8,8,18,.45),0 0 50px rgba(11,99,155,.25)}
.back{color:var(--accent)}
.toc li{border-bottom-color:var(--line)}
.articles li{border-bottom-color:var(--line)}
.articles b,.issue-row b{color:var(--heading)}
.issue-row{background:var(--band);border-color:var(--line);transition:border-color .3s,transform .3s}
.issue-row:hover{transform:translateX(4px);border-color:var(--hover-bd)}
.issue-row.current{border-color:var(--brand-glow);background:rgba(127,184,224,.1)}
.feat-big{border:1px solid rgba(255,255,255,.14)}
.feat-big .overlay{background:rgba(6,26,48,.5);border-color:rgba(255,255,255,.22)}

/* Footer */
.site-footer{background:linear-gradient(180deg,#05213d,#020a14);border-top:1px solid rgba(255,255,255,.1);color:#9db2c7;position:relative}
.site-footer::before{content:"";position:absolute;left:10%;right:10%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--brand-glow),transparent)}
.site-footer img{border-radius:999px}


@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none!important}}



/* ===== Light glass header + hero ===== */
.site-header.frost,.site-header .frost{
  --heading:#06284a; --text:#3f5a73; --text-soft:#5f7c96; --accent:#2580b5; --band:rgba(11,99,155,.07); --line:rgba(11,99,155,.14);
  --meta-b:#1d3a56; --tag-bg:rgba(11,99,155,.1); --tag-fg:#0b639b; --tag-bd:rgba(11,99,155,.2); color:var(--text)}
.site-header{background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.38));
  backdrop-filter:blur(26px) saturate(190%);-webkit-backdrop-filter:blur(26px) saturate(190%);
  border:1px solid rgba(255,255,255,.85);box-shadow:0 16px 44px rgba(6,40,74,.18),inset 0 1px 0 #fff,inset 0 -1px 0 rgba(11,99,155,.06)}
.site-header .logo img{background:none;padding:0;box-shadow:none;border-radius:0;height:42px}
.nav>a,.dd>a,.dd-menu a{color:#06284a}
.nav>a:hover,.nav>a.active,.dd>a:hover,.dd>a.active,.dd-menu a:hover{background:rgba(11,99,155,.1);color:#0b639b}
.search{background:rgba(255,255,255,.6);border:1px solid rgba(11,99,155,.16)}
.search input{color:#06284a}
.search input::placeholder{color:#5f7c96}
.results a:hover,.results a:focus{background:rgba(11,99,155,.08)}
.burger{background:rgba(255,255,255,.7);color:#0b639b}
.dd-menu,.results{background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.7));border:1px solid rgba(255,255,255,.9);box-shadow:0 22px 50px rgba(6,40,74,.22)}

.hero{position:relative;isolation:isolate}
.hero::before,.hero::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(60px);pointer-events:none}
.hero::before{width:520px;height:520px;left:-80px;top:40px;background:radial-gradient(circle,rgba(37,128,181,.55),transparent 70%)}
.hero::after{width:620px;height:620px;right:-120px;top:120px;background:radial-gradient(circle,rgba(127,184,224,.5),rgba(11,99,155,.18) 55%,transparent 72%)}
.feature,.latest{background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.26));
  backdrop-filter:blur(26px) saturate(190%);-webkit-backdrop-filter:blur(26px) saturate(190%);
  border:1px solid rgba(255,255,255,.8);box-shadow:0 24px 60px rgba(6,40,74,.2),inset 0 1px 0 rgba(255,255,255,.95)}
.feature{padding:10px}
.feature .img-wrap{border-radius:calc(var(--radius) - 6px)}
.feature .body{background:none;padding:24px 22px 22px}
.latest-item:hover{background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.9);box-shadow:0 8px 22px rgba(6,40,74,.12)}
.latest-item h4{color:#06284a}
@media(max-width:860px){.site-header{background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.75))}}

/* ===== Policy Briefs: softer, lighter dark ===== */
#briefs.band{background:radial-gradient(ellipse 55% 70% at 8% 0%,rgba(191,224,245,.38),transparent 70%),radial-gradient(ellipse 50% 70% at 96% 100%,rgba(127,184,224,.45),transparent 70%),linear-gradient(135deg,#0b4a7a,#0f6099 55%,#0b5388)}
#briefs.band::before{background:radial-gradient(circle,rgba(190,225,255,.3),transparent 68%)}
#briefs.band .card{background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.07));border-color:rgba(255,255,255,.22);box-shadow:0 18px 44px rgba(3,30,60,.28),inset 0 1px 0 rgba(255,255,255,.22)}
#briefs.band{--text:#d3e2f1;--line:rgba(255,255,255,.18)}
#briefs .title-tab{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);border-top-color:rgba(255,255,255,.22)}
#briefs .title-tab:hover{background:rgba(255,255,255,.18)}
#briefs .title-tab.is-active{background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.12));border-top-color:#d6ebfa;box-shadow:0 12px 30px rgba(3,30,60,.3)}

/* ===== Columnist popup: iOS smoky glass ===== */
.modal:not(.large):not(.book) .backdrop{background:radial-gradient(circle at 50% 35%,rgba(120,180,235,.28),rgba(20,45,78,.5));backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}
.modal:not(.large):not(.book) .dialog{
  background:linear-gradient(155deg,rgba(255,255,255,.26),rgba(120,145,180,.22) 45%,rgba(25,50,90,.46));
  backdrop-filter:blur(44px) saturate(190%) brightness(1.05);-webkit-backdrop-filter:blur(44px) saturate(190%) brightness(1.05);
  border:1px solid rgba(255,255,255,.42);border-radius:30px;
  box-shadow:0 30px 80px rgba(8,40,80,.38),0 2px 0 rgba(255,255,255,.35) inset,0 -1px 0 rgba(255,255,255,.08) inset;
  --heading:#fff; --text:#f0f6fc; --text-soft:#e6e8f2; --meta-b:#fff}
.modal:not(.large):not(.book) .dialog::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(ellipse 70% 40% at 20% 0%,rgba(255,255,255,.3),transparent 70%)}
.modal:not(.large):not(.book) .modal-body>img{border:2px solid rgba(255,255,255,.6);box-shadow:0 16px 40px rgba(8,40,80,.35)}
.modal:not(.large):not(.book) .close{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.5)}
.modal:not(.large):not(.book) .dialog .btn{background:rgba(255,255,255,.92);color:#0b639b;border-color:#fff;box-shadow:0 8px 22px rgba(8,40,80,.25)}
.modal:not(.large):not(.book) .dialog .btn:hover{background:#fff}

/* ===== Book popup: Apple Books style ===== */
.modal.book .backdrop{background:rgba(20,30,45,.38);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}
.modal.book .dialog.frost{
  --heading:#1d1d1f; --text:#3c3c43; --text-soft:#86868b; --accent:#007aff; --line:rgba(60,60,67,.18); --meta-b:#1d1d1f;
  --tag-bg:rgba(60,60,67,.08); --tag-fg:#6e6e73; --tag-bd:transparent;
  width:min(820px,100%);padding:44px 48px 40px;border-radius:22px;
  background:rgba(250,250,252,.86);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
  border:1px solid rgba(255,255,255,.7);box-shadow:0 40px 100px rgba(0,0,0,.35),0 0 0 .5px rgba(0,0,0,.1);
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Plus Jakarta Sans',system-ui,sans-serif;color:var(--text);text-align:left}
.modal.book .close{background:rgba(120,120,128,.16);color:#6e6e73;border:0;box-shadow:none;width:32px;height:32px;font-size:1.3rem}
.modal.book .close:hover{background:rgba(120,120,128,.28);transform:none}
.modal.book .modal-body{grid-template-columns:250px 1fr;gap:44px;align-items:start}
.modal.book .modal-body>img{width:100%;aspect-ratio:2/3;border-radius:4px 8px 8px 4px;border:0;
  box-shadow:0 1px 2px rgba(0,0,0,.2),0 14px 28px rgba(0,0,0,.22),0 30px 60px rgba(0,0,0,.18),inset 4px 0 6px -3px rgba(255,255,255,.35),inset -1px 0 0 rgba(0,0,0,.08)}
.modal.book .modal-body>div{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.modal.book h3{order:1;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Plus Jakarta Sans',system-ui,sans-serif;font-size:clamp(1.7rem,3vw,2.25rem);font-weight:700;letter-spacing:-.025em;line-height:1.12;color:#1d1d1f;padding-right:36px;margin-bottom:6px;
  -webkit-text-fill-color:#1d1d1f;background:none}
.modal.book .modal-body>div>p.meta:nth-of-type(1){order:2;font-size:1.15rem;color:#86868b;margin-bottom:12px}
.modal.book .modal-body>div>p.meta:nth-of-type(1) b{color:#007aff;font-weight:500}
.modal.book .tag{order:3;margin:0 0 20px;padding:0;background:none;border:0;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#86868b}
.modal.book .btn{order:4;margin:0;padding:8px 26px;border-radius:999px;font-size:.95rem;font-weight:700;background:#007aff;border:0;box-shadow:none;color:#fff}
.modal.book .btn::after{display:none}
.modal.book .btn:hover{background:#0a84ff;transform:none;box-shadow:none}
.modal.book .btn.disabled{background:rgba(120,120,128,.16);color:#8e8e93}
.modal.book .modal-body>div>p.meta:nth-of-type(3){order:5;margin-top:10px!important;font-size:.78rem;color:#8e8e93}
.modal.book h4{order:6;width:100%;margin-top:28px!important;padding-top:20px;border-top:1px solid rgba(60,60,67,.18);font-family:inherit;font-size:1.2rem!important;font-weight:700;letter-spacing:-.01em;color:#1d1d1f}
.modal.book .modal-body>div>p:nth-of-type(2){order:7;margin-top:8px!important;font-size:.98rem;line-height:1.6;color:#3c3c43}
.modal.book dl{order:8;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:28px;font-size:.92rem}
.modal.book dl::before{content:"Information";grid-column:1/-1;font-size:1.2rem;font-weight:700;letter-spacing:-.01em;color:#1d1d1f;padding-top:20px;margin-bottom:6px;border-top:1px solid rgba(60,60,67,.18)}
.modal.book dt,.modal.book dd{padding:11px 0;border-bottom:1px solid rgba(60,60,67,.12)}
.modal.book dt{color:#86868b;font-weight:400;text-align:left}
.modal.book dd{color:#1d1d1f;text-align:right}
@media(max-width:640px){
  .modal.book .dialog.frost,.modal.book.large .dialog.frost{padding:30px 22px 34px;border-radius:22px 22px 0 0}
  .modal.book .modal-body{grid-template-columns:1fr;gap:24px}
  .modal.book .modal-body>img{width:170px;margin-inline:auto}
  .modal.book .modal-body>div{align-items:stretch;text-align:center}
  .modal.book .modal-body>div>*{text-align:center}
  .modal.book .btn{align-self:center}
  .modal.book h3{padding-right:0}
  .modal.book dd{text-align:right}
}


#briefs.band{--text-soft:#c3d8ec}

/* ===== Columnist popup: compact, stacked, milky frosted glass ===== */
.modal:not(.large):not(.book) .backdrop{background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.18),rgba(15,45,80,.38));backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%)}
.modal:not(.large):not(.book) .dialog{
  width:min(340px,100%);padding:34px 28px 28px;border-radius:28px;text-align:center;
  background:linear-gradient(160deg,rgba(255,255,255,.82),rgba(244,249,255,.62) 55%,rgba(255,255,255,.72));
  backdrop-filter:blur(30px) saturate(170%);-webkit-backdrop-filter:blur(30px) saturate(170%);
  border:1px solid rgba(255,255,255,.95);
  box-shadow:0 28px 70px rgba(6,40,74,.28),0 2px 0 #fff inset,0 -10px 24px rgba(180,210,240,.25) inset,0 0 0 1px rgba(11,99,155,.06);
  --heading:#06284a; --text:#3f5a73; --text-soft:#5f7c96; --accent:#0b639b; --meta-b:#0b639b; --line:rgba(11,99,155,.14)}
.modal:not(.large):not(.book) .dialog::before{background:linear-gradient(120deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,0) 38%),radial-gradient(ellipse 60% 30% at 80% 100%,rgba(191,224,245,.35),transparent 70%)}
.modal:not(.large):not(.book) .modal-body{grid-template-columns:1fr;gap:16px;justify-items:center}
.modal:not(.large):not(.book) .modal-body>img{width:116px;height:116px;aspect-ratio:1;border-radius:50%;border:4px solid #fff;
  box-shadow:0 0 0 6px rgba(11,99,155,.1),0 14px 30px rgba(6,40,74,.25);max-width:none;margin:0}
.modal:not(.large):not(.book) .modal-body>div{width:100%}
.modal:not(.large):not(.book) h3{padding-right:0;font-size:1.35rem;color:#06284a;margin-bottom:2px}
.modal:not(.large):not(.book) .meta{color:#5f7c96}
.modal:not(.large):not(.book) .meta b{color:#0b639b}
.modal:not(.large):not(.book) .modal-body>div>p:not(.meta){font-size:.92rem;line-height:1.6;color:#3f5a73;margin-top:10px!important}
.modal:not(.large):not(.book) .close{top:12px;right:12px;width:32px;height:32px;font-size:1.2rem;background:rgba(255,255,255,.75);color:#0b639b;border:1px solid rgba(255,255,255,.95);box-shadow:0 4px 12px rgba(6,40,74,.15)}
.modal:not(.large):not(.book) .close:hover{background:#0b639b;color:#fff}
.modal:not(.large):not(.book) .dialog .btn{margin-top:18px;padding:11px 26px;background:linear-gradient(135deg,#2580b5,#0b639b);color:#fff;border:1px solid rgba(255,255,255,.4);box-shadow:0 10px 24px rgba(11,99,155,.35),inset 0 1px 0 rgba(255,255,255,.3)}
.modal:not(.large):not(.book) .dialog .btn:hover{background:linear-gradient(135deg,#3b91c5,#0b639b)}
.modal:not(.large):not(.book) .recent,.modal:not(.large):not(.book) details.bio{text-align:left}
@media(max-width:640px){
  .modal:not(.large):not(.book){align-items:center;padding:20px}
  .modal:not(.large):not(.book) .dialog{width:min(340px,100%);border-radius:28px;padding:32px 24px 26px;animation:pop .4s cubic-bezier(.2,.9,.3,1.1)}
  .modal:not(.large):not(.book) .modal-body>img{max-width:none;margin:0}
}

/* ===== All popups: shared milky frosted glass ===== */
.modal .backdrop,.modal:not(.large):not(.book) .backdrop,.modal.book .backdrop{
  background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.18),rgba(15,45,80,.38));
  backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%)}
.modal .dialog.frost,.modal.book .dialog.frost{
  background:linear-gradient(120deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 38%),linear-gradient(160deg,rgba(255,255,255,.84),rgba(244,249,255,.64) 55%,rgba(255,255,255,.74));
  backdrop-filter:blur(30px) saturate(170%);-webkit-backdrop-filter:blur(30px) saturate(170%);
  border:1px solid rgba(255,255,255,.95);
  box-shadow:0 28px 70px rgba(6,40,74,.28),0 2px 0 #fff inset,0 -10px 24px rgba(180,210,240,.25) inset,0 0 0 1px rgba(11,99,155,.06);
  --heading:#06284a; --text:#3f5a73; --text-soft:#5f7c96; --accent:#0b639b; --meta-b:#0b639b; --line:rgba(11,99,155,.14);
  --tag-bg:rgba(11,99,155,.1); --tag-fg:#0b639b; --tag-bd:rgba(11,99,155,.2); --band:rgba(11,99,155,.07); color:var(--text)}
.modal.book .dialog.frost{--heading:#1d1d1f;--text:#3c3c43;--text-soft:#86868b;--accent:#007aff;--meta-b:#1d1d1f;--tag-bg:rgba(60,60,67,.08);--tag-fg:#6e6e73;--tag-bd:transparent}
.modal .dialog.frost .close{background:rgba(255,255,255,.75);color:#0b639b;border:1px solid rgba(255,255,255,.95);box-shadow:0 4px 12px rgba(6,40,74,.15)}
.modal .dialog.frost .close:hover{background:#0b639b;color:#fff}
.modal.book .dialog.frost .close{background:rgba(120,120,128,.16);color:#6e6e73;border:0;box-shadow:none}
.modal.book .dialog.frost .close:hover{background:rgba(120,120,128,.28);color:#3c3c43}
.modal .dialog.frost .modal-body>img{border:1px solid rgba(255,255,255,.9);box-shadow:0 14px 34px rgba(6,40,74,.22)}
.modal.book .dialog.frost .modal-body>img{border:0}
.modal .dialog.frost .recent-item{background:rgba(255,255,255,.6);border:1px solid rgba(11,99,155,.1)}
.modal .dialog.frost .recent-item:hover{background:#fff}
.modal .dialog.frost .video-wrap{box-shadow:0 16px 40px rgba(6,40,74,.3);border:1px solid rgba(255,255,255,.8)}
.modal .dialog.frost .btn.disabled{background:rgba(11,99,155,.08);color:#5f7c96}

/* ===== Book viewer: Apple Books-style 3-up carousel (centre book active, neighbours faded) ===== */
.modal.viewer{--cw:clamp(380px,34vw,500px);overflow-x:hidden;overflow-y:auto;padding:20px 0}
.modal.viewer .backdrop{background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.22),rgba(10,28,46,.5))}
.modal.viewer .dialog.frost{width:100%;max-width:none;max-height:none;margin:auto;padding:0;background:none;border:0;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible;pointer-events:none;border-radius:0;animation:fade .4s ease}
.modal.viewer .vview{padding:6px 0 10px;touch-action:pan-y}
.modal.viewer .vtrack{display:flex;align-items:stretch;transform:translateX(calc(50% - (var(--i,0) + .5) * var(--cw) + var(--dx,0px)));
  transition:transform .65s cubic-bezier(.22,.8,.24,1);will-change:transform}
.modal.viewer .vtrack.drag{transition:none}
.modal.viewer .vslide{flex:0 0 var(--cw);width:var(--cw);box-sizing:border-box;position:relative;padding:30px 28px 24px;border-radius:28px;pointer-events:auto;cursor:pointer;
  background:linear-gradient(120deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 38%),linear-gradient(160deg,rgba(255,255,255,.86),rgba(244,249,255,.7) 55%,rgba(255,255,255,.78));
  backdrop-filter:blur(30px) saturate(170%);-webkit-backdrop-filter:blur(30px) saturate(170%);
  border:1px solid rgba(255,255,255,.95);box-shadow:0 18px 40px rgba(6,40,74,.18),0 2px 0 #fff inset;
  transform:scale(.84);opacity:.42;
  transition:transform .65s cubic-bezier(.22,.8,.24,1),opacity .65s,box-shadow .65s;user-select:none;-webkit-user-select:none}
.modal.viewer .vslide:not(.on):hover{opacity:.62}
.modal.viewer .vslide:not(.on) *{pointer-events:none}
.modal.viewer .vslide.on{transform:scale(1);opacity:1;cursor:default;z-index:2;box-shadow:0 34px 80px rgba(8,8,18,.4),0 2px 0 #fff inset,0 0 0 1px rgba(11,99,155,.06)}
.modal.viewer .vslide.far{opacity:0;pointer-events:none}
.modal.viewer .vslide img{-webkit-user-drag:none}
/* compact two-column card: cover left, headline right, details full width */
.modal.viewer .modal-body{display:grid;grid-template-columns:136px 1fr;grid-template-rows:auto auto auto auto minmax(56px,1fr) auto auto auto;gap:0 22px;align-items:start;align-content:start}
.modal.viewer .modal-body>div{display:contents}
.modal.viewer .modal-body>img{grid-column:1;grid-row:1/6;width:136px;margin-bottom:-204px}   /* zero height contribution so the text rows don't stretch */
.modal.viewer h3{grid-column:2;grid-row:1;font-size:1.3rem;padding-right:0;margin-bottom:4px}
.modal.viewer .modal-body>div>p.meta:nth-of-type(1){grid-column:2;grid-row:2;font-size:1rem;margin-bottom:6px}
.modal.viewer .tag{grid-column:2;grid-row:3;margin:0 0 14px}
.modal.viewer .btn{grid-column:2;grid-row:4;justify-self:start;padding:7px 22px;font-size:.88rem}
.modal.viewer .modal-body>div>p.meta:nth-of-type(3){grid-column:2;grid-row:5;margin-top:8px!important;align-self:start}
.modal.viewer h4{grid-column:1/-1;grid-row:6;margin-top:22px!important;padding-top:16px;font-size:1.05rem!important}
.modal.viewer .modal-body>div>p:nth-of-type(2){grid-column:1/-1;grid-row:7;font-size:.9rem;line-height:1.55;margin-top:6px!important}
.modal.viewer dl{grid-column:1/-1;grid-row:8;margin-top:20px;font-size:.88rem}
.modal.viewer dl::before{font-size:1.05rem;padding-top:16px}
.modal.viewer dt,.modal.viewer dd{padding:7px 0}
/* controls */
.modal.viewer .close{position:fixed;top:18px;right:18px;z-index:6;pointer-events:auto;background:rgba(255,255,255,.75);color:#0b639b;border:1px solid rgba(255,255,255,.95);width:38px;height:38px}
.modal.viewer .close:hover{background:#0b639b;color:#fff}
.modal.viewer .vnav{position:fixed;top:50%;margin-top:-22px;z-index:6;width:44px;height:44px;border-radius:50%;cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:center;
  font-size:1.7rem;line-height:1;padding-bottom:4px;color:#0b639b;font-family:var(--font);
  background:rgba(255,255,255,.72);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,.95);box-shadow:0 8px 22px rgba(8,8,18,.25);transition:background .3s,color .3s,transform .3s,opacity .3s}
.modal.viewer .vprev{left:20px}.modal.viewer .vnext{right:20px}
.modal.viewer .vnav:hover:not(:disabled){background:#0b639b;color:#fff;transform:scale(1.08)}
.modal.viewer .vnav:disabled{opacity:.3;cursor:default}
.modal.viewer .vfoot{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:14px;pointer-events:auto}
.modal.viewer .vdots{display:flex;gap:8px;align-items:center}
.modal.viewer .vdot{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.5);cursor:pointer;transition:width .4s,background .4s}
.modal.viewer .vdot:hover{background:rgba(255,255,255,.8)}
.modal.viewer .vdot.on{width:22px;background:#fff}
.modal.viewer .vcount{font-size:.75rem;color:rgba(255,255,255,.85);letter-spacing:.04em}
@media(max-width:860px){.modal.viewer .vnav{display:none}}
@media(max-width:640px){
  .modal.viewer{--cw:80vw;align-items:center;padding:56px 0 20px}
  .modal.viewer .vslide{padding:24px 18px 20px;border-radius:24px;transform:scale(.9);opacity:.5}
  .modal.viewer .vslide.on{transform:none;opacity:1}
  .modal.viewer .modal-body{grid-template-columns:96px 1fr;gap:0 16px}
  .modal.viewer .modal-body>img{width:96px;margin-bottom:-144px}
  .modal.viewer h3{font-size:1.08rem}
  .modal.viewer .modal-body>div>p.meta:nth-of-type(1){font-size:.88rem;text-align:left}
  .modal.viewer .modal-body>div>*{text-align:left}
  .modal.viewer dd{text-align:right}
  .modal.viewer .btn{padding:6px 18px}
}
.modal .dialog:focus,.modal .dialog:focus-visible{outline:none}

/* ===== Trending tags: deep-blue ribbon with glass chips (distinct from the light header) ===== */
.trending{margin-top:22px;padding:0;position:relative;overflow:hidden;
  background:radial-gradient(ellipse 30% 160% at 8% 50%,rgba(127,184,224,.45),transparent 70%),radial-gradient(ellipse 35% 160% at 95% 40%,rgba(127,184,224,.4),transparent 70%),linear-gradient(100deg,#06365f,#0b639b 45%,#2580b5);
  border-block:1px solid rgba(255,255,255,.22);box-shadow:0 14px 34px rgba(6,40,74,.22),inset 0 1px 0 rgba(255,255,255,.25)}
.trending::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.045) 0 2px,transparent 2px 14px)}
.trend-bar{position:relative;display:flex;align-items:center;gap:20px;padding-block:13px}
.trend-label{flex:none;display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.1;padding-right:20px;border-right:1px solid rgba(255,255,255,.25)}
.trend-label svg{width:34px;height:34px;padding:8px;border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.3),rgba(255,255,255,.1));border:1px solid rgba(255,255,255,.4);box-shadow:0 6px 14px rgba(3,30,60,.25)}
.trend-label small{display:block;font-size:.66rem;font-weight:600;letter-spacing:.18em;color:#d6ebfa}
.trend-scroll{position:relative;flex:1;min-width:0}
.trend-list{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.trend-list::-webkit-scrollbar{display:none}
.trend-scroll::before,.trend-scroll::after{content:"";position:absolute;top:0;bottom:0;width:56px;z-index:1;pointer-events:none;opacity:0;transition:opacity .35s}
.trend-scroll::before{left:0;background:linear-gradient(90deg,#0b639b 15%,transparent)}
.trend-scroll::after{right:0;background:linear-gradient(270deg,#2580b5 15%,transparent)}
.trend-scroll.can-prev::before,.trend-scroll.can-next::after{opacity:1}
.trend-tag{flex:none;display:inline-flex;align-items:center;gap:9px;padding:5px 16px 5px 6px;border-radius:14px 999px 999px 14px;font-size:.86rem;font-weight:600;color:#fff;white-space:nowrap;
  background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.3);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 12px rgba(3,30,60,.18),inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .35s cubic-bezier(.22,.8,.24,1),background .35s,color .35s,box-shadow .35s,border-color .35s}
.trend-tag i{font-style:normal;font-size:.68rem;font-weight:800;letter-spacing:.04em;min-width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px 999px 999px 10px;
  color:#0b639b;background:linear-gradient(145deg,#fff,#cfe8fb);transition:background .35s,color .35s}
.trend-tag:hover,.trend-tag:focus-visible{transform:translateY(-3px) scale(1.03);color:#0b639b;background:linear-gradient(145deg,#fff,#e3f1fd);border-color:#fff;box-shadow:0 12px 24px rgba(3,30,60,.35)}
.trend-tag:hover i,.trend-tag:focus-visible i{color:#fff;background:linear-gradient(135deg,#2580b5,#0b639b)}
.trend-tag:first-child{background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,.14));border-color:rgba(255,255,255,.55)}
.trend-arrow{position:absolute;top:50%;z-index:2;width:34px;height:34px;margin-top:-17px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;line-height:1;padding-bottom:3px;color:#0b639b;font-family:var(--font);background:rgba(255,255,255,.92);border:1px solid #fff;
  box-shadow:0 6px 16px rgba(3,30,60,.3);transition:transform .3s,background .3s,color .3s;animation:pop .35s}
.trend-arrow[hidden]{display:none}
.trend-arrow.prev{left:0}.trend-arrow.next{right:0}
.trend-arrow:hover{background:#0b639b;color:#fff;transform:scale(1.1)}
@media(max-width:860px){.trend-arrow{width:30px;height:30px;margin-top:-15px;font-size:1.2rem}}
@media(max-width:640px){
  .trend-bar{gap:12px;padding-block:10px}
  .trend-label{padding-right:12px}
  .trend-label>span{display:none}
  .trend-label{border-right:1px solid rgba(255,255,255,.25)}
  .trend-tag{font-size:.82rem}
}

/* ===== Trending tags v3: clean solid white pills ===== */
.trend-list{gap:9px;padding:6px 3px 8px}
.trend-tag{padding:8px 18px;border-radius:999px;gap:6px;font-size:.88rem;font-weight:600;color:#06284a;letter-spacing:.005em;
  background:#fff;border:1px solid rgba(255,255,255,.9);backdrop-filter:none;-webkit-backdrop-filter:none;
  box-shadow:0 3px 10px rgba(3,30,60,.2)}
.trend-tag i{display:none}
.trend-tag::before{content:"#";font-weight:800;color:#7fb8e0;transition:color .3s,transform .3s}
.trend-tag:hover,.trend-tag:focus-visible{transform:translateY(-3px);color:#fff;border-color:transparent;
  background:linear-gradient(135deg,#2580b5,#0b639b);box-shadow:0 0 0 3px rgba(255,255,255,.35),0 10px 22px rgba(3,30,60,.4)}
.trend-tag:hover::before,.trend-tag:focus-visible::before{color:#d6ebfa;transform:rotate(-12deg) scale(1.15)}
.trend-tag:first-child{background:linear-gradient(135deg,#fff,#dcefff);border-color:#fff;color:#0b639b;font-weight:700}
.trend-tag:first-child::before{content:"🔥";font-size:.8rem}
.trend-tag:first-child:hover::before{transform:scale(1.2)}

/* ===== Trending tags v4: simple text links ===== */
.trend-list{gap:4px;align-items:center;padding:4px 2px}
.trend-tag,.trend-tag:first-child{padding:6px 12px;border-radius:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
  color:rgba(255,255,255,.88);font-size:.9rem;font-weight:500;gap:0;position:relative;transform:none}
.trend-tag::before,.trend-tag:first-child::before{content:"";font-size:0;color:transparent}
.trend-tag+.trend-tag::after{content:"";position:absolute;left:-3px;top:50%;width:3px;height:3px;margin-top:-1.5px;border-radius:50%;background:rgba(255,255,255,.45)}
.trend-tag::before{position:absolute;left:12px;right:12px;bottom:2px;top:auto;height:2px;border-radius:2px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,.8,.24,1)}
.trend-tag:hover,.trend-tag:focus-visible,.trend-tag:first-child:hover{transform:none;background:none;box-shadow:none;color:#fff;border:0}
.trend-tag:hover::before,.trend-tag:focus-visible::before,.trend-tag:first-child:hover::before{transform:scaleX(1);color:transparent}
.trend-tag:first-child{color:#fff;font-weight:700}

/* ===== Trending tags v5: plain text, no background, not clickable ===== */
.trending{background:none;border:0;box-shadow:none;overflow:visible;margin-top:10px}
.trending::before{display:none}
.trend-bar{padding-block:8px;gap:16px}
.trend-label{color:#0b639b;padding-right:16px;border-right:1px solid rgba(11,99,155,.25);font-size:.78rem}
.trend-label svg{width:18px;height:18px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#0b639b}
.trend-label small{color:#5f7c96}
.trend-tag,.trend-tag:first-child{color:#1d3a56;font-size:.9rem;font-weight:500;cursor:default;padding:4px 12px}
.trend-tag:first-child{color:#0b639b;font-weight:700}
.trend-tag::before,.trend-tag:first-child::before{display:none}
.trend-tag+.trend-tag::after{background:rgba(11,99,155,.35)}
.trend-scroll::before{background:linear-gradient(90deg,#eef4fa 20%,transparent)}
.trend-scroll::after{background:linear-gradient(270deg,#eef4fa 20%,transparent)}
.trend-arrow{background:#fff;border:1px solid rgba(11,99,155,.18);box-shadow:0 4px 12px rgba(6,40,74,.15)}

/* ===== Trending tags v6: real links, blue hover (never white) ===== */
.trend-tag,.trend-tag:first-child{cursor:pointer;transition:color .3s}
.trend-tag:hover,.trend-tag:focus-visible,.trend-tag:first-child:hover{color:#2580b5;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;text-decoration-color:#7fb8e0}

/* ===== .band sections: light gradient ===== */
section.band,#briefs.band{
  --heading:#06284a; --text:#3f5a73; --text-soft:#5f7c96; --accent:#2580b5; --band:rgba(11,99,155,.07); --line:rgba(11,99,155,.14);
  --heading-grad:linear-gradient(120deg,#06284a 25%,#3b91c5);
  --card-bg:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,255,255,.68)); --card-bd:rgba(255,255,255,.95);
  --shadow:0 14px 40px rgba(6,40,74,.12),0 2px 6px rgba(6,40,74,.06);
  --shadow-lg:0 26px 60px rgba(6,40,74,.22),0 0 0 1px rgba(37,128,181,.25);
  --tag-bg:rgba(11,99,155,.1); --tag-fg:#0b639b; --tag-bd:rgba(11,99,155,.2); --meta-b:#1d3a56;
  --tab-active:#fff; --ring:rgba(11,99,155,.16); --img-bd:#fff; --fade:rgba(255,255,255,.35); --hover-bd:rgba(37,128,181,.45);
  color:var(--text)}
section.band,#briefs.band{background:radial-gradient(ellipse 50% 70% at 6% 0%,rgba(127,184,224,.42),transparent 70%),radial-gradient(ellipse 50% 70% at 96% 100%,rgba(191,224,245,.5),transparent 70%),linear-gradient(135deg,#e6f1fb,#cfe4f6 55%,#e9f3fc)}
section.band::before,#briefs.band::before{background:radial-gradient(circle,rgba(255,255,255,.7),transparent 68%)}
#briefs.band .card{background:var(--card-bg);border-color:var(--card-bd);box-shadow:var(--shadow)}
#briefs .title-tab{background:var(--band);border-color:var(--line);border-top-color:var(--line)}
#briefs .title-tab:hover{background:var(--card-bd)}
#briefs .title-tab.is-active{background:var(--tab-active);border-top-color:var(--brand-glow);box-shadow:var(--shadow)}
.band .arrow{background:rgba(255,255,255,.85);color:#0b639b;border:1px solid #fff;box-shadow:0 8px 22px rgba(6,40,74,.2)}
.band .arrow:hover{background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff}
.band .book img{box-shadow:0 16px 34px rgba(6,40,74,.3)}

/* ===== Article tags (columnist popups) ===== */
.art-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.art-tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.68rem;font-weight:600;line-height:1.5;letter-spacing:.01em;color:#0b639b;
  background:rgba(11,99,155,.08);border:1px solid rgba(11,99,155,.16);white-space:nowrap}
.art-tag::before{content:"#";margin-right:1px;color:#7fb8e0;font-weight:800}

/* ===== Single pages: columnist profile + article ===== */
.single{padding:26px 0 72px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.84rem;color:var(--text-soft);margin-bottom:22px}
.crumbs a{color:#0b639b;font-weight:600;transition:color .3s}
.crumbs a:hover{color:#2580b5;text-decoration:underline}
.crumbs i{font-style:normal;color:#9db2c7}
.crumbs span{color:var(--text);max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.single h1{font-size:clamp(1.9rem,4vw,2.8rem);margin:6px 0 8px}
.single .lede{font-size:1.1rem;color:#1d3a56;font-weight:500}
.single .tag{margin-bottom:6px}
.single-foot{margin-top:34px}
.back-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:999px;font-weight:600;font-size:.92rem;color:#0b639b;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.55));border:1px solid rgba(11,99,155,.18);box-shadow:0 6px 18px rgba(6,40,74,.1);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .3s,background .3s,color .3s}
.back-btn:hover{transform:translateX(-3px);background:#0b639b;color:#fff}
.single-missing{padding:48px;text-align:center}
.single-missing p{margin:10px 0 20px}
/* columnist profile */
.profile{display:grid;grid-template-columns:240px 1fr;gap:36px;padding:36px;align-items:start;margin-bottom:46px;
  background:linear-gradient(120deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 40%),linear-gradient(160deg,rgba(255,255,255,.86),rgba(240,247,255,.6))}
.profile .avatar{width:240px;height:240px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 0 0 8px rgba(11,99,155,.1),0 22px 44px rgba(6,40,74,.28)}
.profile .pbody p{margin-top:12px}
.profile .pbody .art-tags{margin-top:12px}
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.art-card{display:block;overflow:hidden;transition:transform .4s,box-shadow .4s,border-color .4s}
.art-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--hover-bd)}
.art-card .thumb{aspect-ratio:3/2;overflow:hidden}
.art-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.art-card:hover .thumb img{transform:scale(1.05)}
.art-card .info{padding:18px 20px 22px}
.art-card h3{font-size:1.1rem;margin-bottom:4px}
.more-head{margin-top:56px}
.mini-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mini-col{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(255,255,255,.5));border:1px solid rgba(255,255,255,.9);
  box-shadow:0 6px 18px rgba(6,40,74,.08);transition:transform .3s,box-shadow .3s}
.mini-col:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(6,40,74,.16)}
.mini-col img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none}
.mini-col b{display:block;font-size:.9rem;color:var(--heading);line-height:1.25}
.mini-col small{color:var(--text-soft);font-size:.78rem}
/* article */
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--gap);align-items:start}
.article{overflow:hidden}
.article .hero-img{max-height:420px;overflow:hidden}
.article .hero-img img{width:100%;height:100%}
.article .abody{padding:32px clamp(22px,4vw,48px) 40px}
.byline{display:flex;align-items:center;gap:12px;margin:14px 0 14px}
.byline img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 4px 12px rgba(6,40,74,.25)}
.byline .by{display:block;font-weight:700;color:var(--heading);line-height:1.2}
.byline .by:hover{color:#2580b5}
.prose{margin-top:26px;max-width:68ch}
.prose p{margin-bottom:1.15em;font-size:1.04rem;line-height:1.8;color:#3a566f}
.prose .lede{font-size:1.2rem;line-height:1.65}
.prose .note{margin-top:2em;padding-top:1em;border-top:1px solid var(--line);font-size:.8rem}
.article-side{display:flex;flex-direction:column;gap:var(--gap);position:sticky;top:96px}
.author-card{padding:26px;text-align:center}
.author-card img{width:96px;height:96px;border-radius:50%;object-fit:cover;margin:0 auto 12px;border:4px solid #fff;box-shadow:0 0 0 5px rgba(11,99,155,.1),0 12px 26px rgba(6,40,74,.25)}
.author-card p:not(.meta){font-size:.9rem;margin:10px 0 16px}
.more-card{padding:20px}
.more-card h4{margin-bottom:12px;font-size:1.05rem}
.more-card .recent-item{margin-bottom:8px;grid-template-columns:84px 1fr;background:rgba(255,255,255,.6);border:1px solid rgba(11,99,155,.08)}
.more-card .recent-item img{width:84px;height:60px}
.more-card .recent-item h5{font-size:.88rem;line-height:1.3}
@media(max-width:1024px){
  .article-layout{grid-template-columns:1fr}
  .article-side{position:static;display:grid;grid-template-columns:1fr 1fr;align-items:start}
  .art-grid{grid-template-columns:repeat(2,1fr)}
  .mini-cols{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .profile{grid-template-columns:1fr;text-align:center;padding:26px 20px;gap:22px;justify-items:center}
  .profile .avatar{width:170px;height:170px}
  .profile .art-tags{justify-content:center}
  .article-side{grid-template-columns:1fr}
  .art-grid{grid-template-columns:1fr}
  .crumbs span{max-width:24ch}
}
@media(max-width:480px){.mini-cols{grid-template-columns:1fr}}

/* ===== Columnist page: bio expand + article list ===== */
.bio-more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.22,.8,.24,1),opacity .4s}
.bio-more.open{grid-template-rows:1fr;opacity:1}
.bio-inner{overflow:hidden;min-height:0}
.profile .bio-toggle{margin-top:16px;padding:9px 22px;font-size:.88rem;color:#0b639b;background:rgba(11,99,155,.07);border:1px solid rgba(11,99,155,.2);box-shadow:none}
.profile .bio-toggle:hover{background:#0b639b;color:#fff}
.profile .bio-toggle::after{display:none}
.art-list{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.55));border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.art-row{display:grid;grid-template-columns:200px 1fr 36px;gap:22px;align-items:center;padding:18px 22px;position:relative;transition:background .35s}
.art-row+.art-row{border-top:1px solid rgba(11,99,155,.12)}
.art-row::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:linear-gradient(#7fb8e0,#0b639b);transform:scaleY(0);transition:transform .35s}
.art-row:hover{background:rgba(255,255,255,.7)}
.art-row:hover::before{transform:scaleY(1)}
.art-row .thumb{aspect-ratio:3/2;border-radius:14px;overflow:hidden;box-shadow:0 8px 20px rgba(6,40,74,.15)}
.art-row .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.art-row:hover .thumb img{transform:scale(1.06)}
.art-row h3{font-size:1.22rem;margin:2px 0 6px;transition:color .3s}
.art-row:hover h3{color:#2580b5}
.art-row .excerpt{font-size:.94rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.art-row .art-tags{margin-top:10px}
.art-row .go{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#0b639b;background:rgba(11,99,155,.08);transition:transform .35s,background .3s,color .3s}
.art-row:hover .go{transform:translateX(4px);background:#0b639b;color:#fff}
@media(max-width:760px){
  .art-row{grid-template-columns:110px 1fr;gap:14px;padding:16px}
  .art-row .go{display:none}
  .art-row h3{font-size:1.02rem}
  .art-row .excerpt{font-size:.86rem}
}
@media(max-width:480px){
  .art-row{grid-template-columns:1fr}
  .art-row .thumb{aspect-ratio:16/9}
}

/* ===== Shows section (dark) + show page ===== */
section.dark{position:relative;overflow:hidden;
  --heading:#eef5fc; --text:#b4c4d6; --text-soft:#8fa5bb; --accent:#bfe0f5; --band:rgba(255,255,255,.07); --line:rgba(255,255,255,.12);
  --heading-grad:linear-gradient(120deg,#fff 30%,#bfe0f5); --meta-b:#e6e8f2;
  color:var(--text);
  background:radial-gradient(ellipse 50% 60% at 8% 0%,rgba(127,184,224,.32),transparent 70%),radial-gradient(ellipse 45% 60% at 95% 100%,rgba(11,99,155,.75),transparent 70%),linear-gradient(135deg,#051c33,#083a66 55%,#052846)}
section.dark::before{content:"";position:absolute;width:520px;height:520px;right:-140px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(120,190,255,.2),transparent 68%);filter:blur(30px);pointer-events:none}
section.dark>.container{position:relative}
.shows-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.show-card{display:flex;flex-direction:column;overflow:hidden;border-radius:22px;position:relative;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 44px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  transition:transform .45s cubic-bezier(.22,.8,.24,1),box-shadow .45s,border-color .45s}
.show-card:hover{transform:translateY(-8px);border-color:rgba(191,224,245,.55);box-shadow:0 30px 60px rgba(0,0,0,.5),0 0 0 1px rgba(127,184,224,.25),0 0 40px rgba(127,184,224,.2)}
.show-card .thumb{position:relative;aspect-ratio:4/3;overflow:hidden}
.show-card .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,8,18,.75));pointer-events:none}
.show-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.show-card:hover .thumb img{transform:scale(1.07)}
.show-card .sched{position:absolute;left:12px;bottom:12px;z-index:1;padding:5px 12px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:#fff;
  background:linear-gradient(135deg,rgba(37,128,181,.92),rgba(11,99,155,.92));border:1px solid rgba(255,255,255,.3);box-shadow:0 6px 16px rgba(0,0,0,.35)}
.show-card .info{padding:18px 20px 22px}
.show-card h3{font-size:1.15rem;line-height:1.25;margin-bottom:10px;color:#fff}
.show-card .host{display:flex;align-items:center;gap:10px;font-size:.86rem;color:#b9cde0}
.show-card .host img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.7)}
.show-card .host b{color:#fff;font-weight:600}
@media(max-width:1024px){.shows-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.shows-grid{grid-template-columns:1fr}}

/* show page: host banner */
.show-hero{position:relative;overflow:hidden;margin-top:18px;padding:64px 0 72px;color:#d5d9ea;
  --heading:#fff; --text:#d5d9ea; --text-soft:#9fb8d0; --accent:#bfe0f5;
  background:radial-gradient(ellipse 50% 70% at 12% 10%,rgba(127,184,224,.38),transparent 70%),linear-gradient(135deg,#0b0d14,#0b4a7a 60%,#0b639b)}
.show-bg{position:absolute;inset:-10%;background-size:cover;background-position:center;opacity:.2;filter:blur(18px) saturate(1.3);mix-blend-mode:screen}
.show-hero::before{content:"";position:absolute;width:640px;height:640px;right:-120px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(191,224,245,.32),transparent 68%);filter:blur(30px);pointer-events:none}
.show-hero::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 16px);pointer-events:none}
.show-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:center}
.show-hero .crumbs{color:#9fb8d0}
.show-hero .crumbs a{color:#d6ebfa}.show-hero .crumbs a:hover{color:#fff}
.show-hero .crumbs i{color:#6f8fb0}.show-hero .crumbs span{color:#e8f2fb}
.show-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.6rem);background:none;-webkit-text-fill-color:#fff;margin:10px 0 18px}
.show-hero .tag{background:rgba(255,255,255,.14);color:#d6ecff;border-color:rgba(255,255,255,.3)}
.show-hero .lede{color:#e6e8f2;font-size:1.15rem;max-width:56ch}
.show-host{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.show-host img{width:50px;height:50px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.85);box-shadow:0 6px 18px rgba(0,0,0,.4)}
.show-host span{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#9fb8d0}
.show-host b{color:#fff;font-size:1.1rem}
.show-facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.show-facts li{padding:10px 16px;border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.show-facts i{display:block;font-style:normal;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#9fb8d0}
.show-facts b{color:#fff;font-size:.95rem}
.host-about{max-width:60ch;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.host-about h4{color:#fff;font-size:1rem;margin-bottom:6px}
.host-about p{font-size:.92rem;margin-bottom:6px}.host-about p b{color:#fff}
.show-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.show-hero .btn.ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.3)}
.show-hero .btn.ghost:hover{background:rgba(255,255,255,.2)}
.host-photo{position:relative;justify-self:center;width:100%;max-width:400px}
.host-photo::before{content:"";position:absolute;inset:-18px;border-radius:44px;background:linear-gradient(145deg,rgba(191,224,245,.5),rgba(11,99,155,.1));filter:blur(22px);opacity:.8}
.host-photo img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:34px;border:1px solid rgba(255,255,255,.45);box-shadow:0 34px 70px rgba(0,0,0,.55)}
.host-photo .badge{position:absolute;left:18px;right:18px;bottom:18px;padding:12px 16px;border-radius:18px;text-align:center;font-weight:700;font-size:.92rem;color:#fff;
  background:rgba(10,28,46,.5);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%)}
/* episodes carousel */
.show-eps{padding:64px 0 72px}
.ep-scroll{position:relative}
.ep-list{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:8px 4px 26px;margin:0 -4px;overscroll-behavior-x:contain;cursor:grab;outline:none}
.ep-list::-webkit-scrollbar{display:none}
.ep-list.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.ep-card{flex:0 0 clamp(250px,26vw,320px);scroll-snap-align:start;display:flex;flex-direction:column;text-align:left;font:inherit;cursor:pointer;padding:0;overflow:hidden;color:var(--text);
  border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,255,255,.62));border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow);
  transition:transform .4s cubic-bezier(.22,.8,.24,1),box-shadow .4s,border-color .4s}
.ep-card:hover,.ep-card:focus-visible{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--hover-bd)}
.ep-thumb{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}
.ep-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.ep-card:hover .ep-thumb img{transform:scale(1.06)}
.ep-play{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding-left:4px;color:#fff;font-size:1.1rem;
  background:rgba(11,99,155,.45);border:1px solid rgba(255,255,255,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(0,0,0,.3);transition:transform .35s,background .35s}
.ep-card:hover .ep-play{transform:scale(1.12);background:rgba(11,99,155,.85)}
.ep-len{position:absolute;right:10px;bottom:10px;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:700;color:#fff;background:rgba(8,8,18,.65)}
.ep-info{display:flex;flex-direction:column;gap:5px;padding:16px 18px 20px}
.ep-meta{font-size:.78rem;font-weight:600;color:#2580b5;letter-spacing:.02em}
.ep-info b{font-family:var(--serif);font-size:1.08rem;line-height:1.3;color:var(--heading);font-weight:600}
.ep-desc{font-size:.86rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ep-arrow{position:absolute;top:calc(50% - 38px);z-index:3;width:46px;height:46px;margin-top:-23px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:1.7rem;line-height:1;padding-bottom:4px;color:#0b639b;font-family:var(--font);background:rgba(255,255,255,.85);border:1px solid #fff;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 26px rgba(6,40,74,.28);transition:transform .3s,background .3s,color .3s;animation:pop .35s}
.ep-arrow[hidden]{display:none}
.ep-arrow.prev{left:-14px}.ep-arrow.next{right:-14px}
.ep-arrow:hover{background:#0b639b;color:#fff;transform:scale(1.1)}
@media(max-width:1024px){
  .show-hero-in{grid-template-columns:1fr;gap:36px}
  .host-photo{max-width:320px;order:-1;justify-self:start}
  .host-photo img{aspect-ratio:1}
  .ep-arrow.prev{left:-6px}.ep-arrow.next{right:-6px}
}
@media(max-width:640px){
  .show-hero{padding:40px 0 48px}
  .host-photo{max-width:100%}
  .host-photo img{aspect-ratio:4/3}
  .ep-arrow{display:none}
  .ep-card{flex-basis:78vw}
}

/* ===== Show page banner v2: light frosted card over a soft blurred cover ===== */
.show-hero{margin-top:14px;padding:30px 0 56px;color:var(--text);isolation:isolate;
  --heading:#06284a; --text:#3f5a73; --text-soft:#5f7c96; --accent:#2580b5;
  background:radial-gradient(ellipse 50% 90% at 10% 0%,rgba(127,184,224,.45),transparent 70%),radial-gradient(ellipse 50% 90% at 95% 100%,rgba(127,184,224,.4),transparent 70%),linear-gradient(135deg,#eaf3fc,#d5e7f8 55%,#eaf3fc)}
.show-hero::before{content:"";position:absolute;width:520px;height:520px;left:-120px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(11,99,155,.3),transparent 68%);filter:blur(30px);right:auto;z-index:-1}
.show-hero::after{display:none}
.show-bg{inset:-8%;opacity:.28;filter:blur(40px) saturate(1.2);mix-blend-mode:normal;z-index:-1}
.show-hero-in{grid-template-columns:300px 1fr;gap:48px;align-items:center;padding:44px 52px;border-radius:34px;
  background:linear-gradient(120deg,rgba(255,255,255,.6) 0%,rgba(255,255,255,0) 40%),linear-gradient(160deg,rgba(255,255,255,.82),rgba(244,249,255,.58));
  border:1px solid rgba(255,255,255,.95);box-shadow:0 30px 70px rgba(6,40,74,.2),0 2px 0 #fff inset;
  backdrop-filter:blur(30px) saturate(170%);-webkit-backdrop-filter:blur(30px) saturate(170%)}
.show-hero-in{width:min(1200px,100% - 40px)}
.host-photo{order:-1;max-width:300px;justify-self:center;text-align:center}
.host-photo::before{inset:auto;left:50%;top:50%;width:112%;aspect-ratio:1;transform:translate(-50%,-52%);border-radius:50%;background:radial-gradient(circle,rgba(127,184,224,.4),transparent 68%);filter:blur(10px);opacity:1}
.host-photo img{width:260px;height:260px;aspect-ratio:1;border-radius:50%;border:6px solid #fff;margin:0 auto;display:block;
  box-shadow:0 0 0 10px rgba(11,99,155,.1),0 26px 50px rgba(6,40,74,.35)}
.host-photo .badge{position:relative;left:auto;right:auto;bottom:auto;display:inline-block;margin-top:-18px;padding:9px 20px;border-radius:999px;font-size:.84rem;
  color:#fff;background:linear-gradient(135deg,#2580b5,#0b639b);border:1px solid rgba(255,255,255,.5);box-shadow:0 10px 24px rgba(11,99,155,.4);backdrop-filter:none;-webkit-backdrop-filter:none}
.show-hero .crumbs{color:var(--text-soft);margin-bottom:14px}
.show-hero .crumbs a{color:#0b639b}.show-hero .crumbs a:hover{color:#2580b5}
.show-hero .crumbs i{color:#9db2c7}.show-hero .crumbs span{color:var(--text)}
.show-hero .tag{background:rgba(11,99,155,.1);color:#0b639b;border-color:rgba(11,99,155,.2)}
.show-hero h1{background:linear-gradient(120deg,#06284a 25%,#3b91c5);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:clamp(2.1rem,4.6vw,3.3rem);margin:8px 0 14px}
.show-host span{color:var(--text-soft)}
.show-host b{color:#06284a}
.show-host img{border-color:#fff;box-shadow:0 6px 16px rgba(6,40,74,.3)}
.show-hero .lede{color:#1d3a56;font-size:1.12rem}
.show-facts{gap:0;margin:22px 0;padding:14px 0;border-block:1px solid rgba(11,99,155,.14)}
.show-facts li{padding:0 24px;background:none;border:0;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;border-left:1px solid rgba(11,99,155,.14)}
.show-facts li:first-child{padding-left:0;border-left:0}
.show-facts i{color:var(--text-soft)}
.show-facts b{color:#06284a}
.host-about{padding:2px 0 2px 18px;border-radius:0;background:none;border:0;border-left:3px solid #7fb8e0;max-width:62ch}
.host-about h4{color:#06284a}
.host-about p{color:var(--text)}.host-about p b{color:#06284a}
.show-hero .btn.ghost{background:rgba(11,99,155,.07);color:#0b639b;border-color:rgba(11,99,155,.22)}
.show-hero .btn.ghost:hover{background:rgba(11,99,155,.15)}
@media(max-width:1024px){
  .show-hero-in{grid-template-columns:1fr;gap:28px;padding:36px 32px;text-align:left}
  .host-photo{max-width:none;justify-self:start;text-align:left}
  .host-photo img{width:200px;height:200px;margin:0}
  .host-photo::before{left:100px;width:240px;transform:translate(-50%,-52%);top:100px}
}
@media(max-width:640px){
  .show-hero{padding:18px 0 40px}
  .show-hero-in{padding:28px 20px;border-radius:26px}
  .host-photo{justify-self:center;text-align:center}
  .host-photo img{width:170px;height:170px;margin:0 auto}
  .host-photo::before{left:50%;top:85px;width:210px}
  .show-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 0}
  .show-facts li{padding:0 14px}
  .show-facts li:nth-child(odd){padding-left:0;border-left:0}
}

/* ===== Show page banner v3: simple ===== */
.show-hero{margin-top:0;padding:28px 0 36px;background:none;isolation:auto}
.show-hero::before,.show-hero::after,.show-bg{display:none}
.show-hero-in{width:min(1200px,100% - 40px);grid-template-columns:220px 1fr;gap:36px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;align-items:start}
.host-photo{max-width:220px;justify-self:start;text-align:left}
.host-photo::before,.host-photo .badge{display:none}
.host-photo img{width:220px;height:220px;border:4px solid #fff;box-shadow:0 12px 30px rgba(6,40,74,.22);margin:0}
.show-hero .tag,.show-host,.host-about h4{display:none}
.show-hero h1{font-size:clamp(2rem,4vw,2.8rem);margin:4px 0 6px}
.show-hero .lede{font-size:1.05rem;margin:10px 0 0;max-width:60ch}
.show-facts{display:flex;flex-wrap:wrap;gap:4px 18px;margin:12px 0 0;padding:0;border:0}
.show-facts li{padding:0;border:0;display:flex;gap:6px;align-items:baseline;font-size:.92rem}
.show-facts li:first-child{padding:0}
.show-facts i{display:inline;text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--text-soft)}
.show-facts i::after{content:":"}
.show-facts b{font-size:.92rem;font-weight:600}
.host-about{margin-top:12px;padding:0;border:0;max-width:60ch}
.host-about p{margin:0 0 4px;font-size:.95rem}
.show-actions{margin-top:18px}
@media(max-width:760px){
  .show-hero-in{grid-template-columns:1fr;gap:18px}
  .host-photo img{width:130px;height:130px}
}

/* ===== Show page banner v4: wide image banner with big title (reference style) ===== */
.show-crumbs{padding-top:22px}
.show-crumbs .crumbs{margin-bottom:12px}
.show-banner{position:relative;overflow:hidden;min-height:clamp(260px,26vw,340px);display:flex;align-items:flex-end;color:#fff;background:#0b0d14;
  --heading:#fff;--text:#e6e8f2}
.banner-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04)}
.show-banner::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(8,8,18,.96) 0%,rgba(8,26,44,.82) 32%,rgba(11,80,130,.25) 62%,transparent 100%),linear-gradient(0deg,rgba(8,8,18,.55),transparent 45%)}
.banner-in{position:relative;z-index:2;padding-block:34px 30px}
.show-banner h1{font-family:'Anton','Impact','Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1.02;
  font-size:clamp(2.4rem,6vw,4.6rem);max-width:12ch;color:#e8eef5;background:none;-webkit-text-fill-color:#e8eef5;margin:0 0 14px;text-shadow:0 4px 24px rgba(0,0,0,.35)}
.banner-host{display:flex;align-items:center;gap:10px;font-size:.9rem;color:#d5d9ea;margin-bottom:8px}
.banner-host img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.8)}
.banner-host b{color:#fff}
.show-banner .lede{max-width:62ch;margin:0;font-size:1rem;line-height:1.6;color:#e6e8f2;font-weight:400}
.show-info{padding:26px 0 8px}
.show-info .show-facts{margin-top:0}
@media(max-width:640px){
  .show-banner{min-height:300px}
  .show-banner::before{background:linear-gradient(0deg,rgba(8,8,18,.95) 0%,rgba(8,26,44,.7) 55%,rgba(11,80,130,.2) 100%)}
  .banner-in{padding-block:24px}
}

.show-banner{margin-top:14px}


/* =====================================================================
   UNIFIED BLUE THEME — one radial gradient behind everything, glass UI
   (popups keep their own milky-white glass defined above)
   ===================================================================== */
:root{
  --heading:#fff; --text:#dbe9f6; --text-soft:#9aa0b5; --accent:#d6ebfa;
  --bg:#0b0d14; --band:rgba(255,255,255,.08); --line:rgba(255,255,255,.18);
  --heading-grad:linear-gradient(120deg,#fff 30%,#d6ebfa);
  --card-bg:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.06)); --card-bd:rgba(255,255,255,.28);
  --shadow:0 18px 48px rgba(4,4,12,.35),inset 0 1px 0 rgba(255,255,255,.25);
  --shadow-lg:0 30px 70px rgba(4,4,12,.5),0 0 0 1px rgba(255,255,255,.3),0 0 40px rgba(214,235,250,.18);
  --tag-bg:rgba(255,255,255,.16); --tag-fg:#fff; --tag-bd:rgba(255,255,255,.32); --meta-b:#fff;
  --tab-active:rgba(255,255,255,.26); --ring:rgba(255,255,255,.25); --img-bd:rgba(255,255,255,.85);
  --fade:rgba(8,8,18,.35); --hover-bd:rgba(255,255,255,.6);
  --ease:cubic-bezier(.22,.8,.24,1);
}
section.band,#briefs.band,section.dark,section{
  --heading:#fff; --text:#dbe9f6; --text-soft:#9aa0b5; --accent:#d6ebfa; --band:rgba(255,255,255,.08); --line:rgba(255,255,255,.18);
  --heading-grad:linear-gradient(120deg,#fff 30%,#d6ebfa);
  --card-bg:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.06)); --card-bd:rgba(255,255,255,.28);
  --shadow:0 18px 48px rgba(4,4,12,.35),inset 0 1px 0 rgba(255,255,255,.25);
  --shadow-lg:0 30px 70px rgba(4,4,12,.5),0 0 0 1px rgba(255,255,255,.3),0 0 40px rgba(214,235,250,.18);
  --tag-bg:rgba(255,255,255,.16); --tag-fg:#fff; --tag-bd:rgba(255,255,255,.32); --meta-b:#fff;
  --tab-active:rgba(255,255,255,.26); --ring:rgba(255,255,255,.25); --img-bd:rgba(255,255,255,.85); --fade:rgba(8,8,18,.35); --hover-bd:rgba(255,255,255,.6);
  color:var(--text)}

/* --- the one background --- */
html{background:#0b0d14}
body{background:radial-gradient(ellipse at center,#3B91C5 0%,#1675AD 30%,#0b639b 65%,#0b0d14 100%);background-attachment:fixed;color:var(--text);min-height:100vh}
body::before{width:56vw;height:56vw;left:-16vw;top:-18vw;background:radial-gradient(circle,rgba(214,235,250,.30),transparent 68%)}
body::after{width:50vw;height:50vw;right:-14vw;bottom:-16vw;background:radial-gradient(circle,rgba(127,184,224,.28),transparent 70%)}
section,section.band,#briefs.band,section.dark,section.white,.hero{background:none!important;box-shadow:none}
section.band::before,#briefs.band::before,section.dark::before{display:none}
section.band,#briefs.band,section.dark{overflow:visible}
.page-title p{color:var(--text)}
::selection{background:#fff;color:#0b0d14}
:focus-visible{outline-color:#fff}

/* --- glass surfaces --- */
.card,.art-list,.mini-col,.ep-card{background:var(--card-bg);border:1px solid var(--card-bd);box-shadow:var(--shadow);
  backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%)}
.card:hover{border-color:var(--hover-bd)}
.btn.ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35)}
.btn.ghost:hover{background:rgba(255,255,255,.24)}
.btn{box-shadow:0 10px 28px rgba(4,4,12,.35),0 0 24px rgba(214,235,250,.18),inset 0 1px 0 rgba(255,255,255,.3)}
.btn.disabled{background:rgba(255,255,255,.1);color:var(--text-soft);border-color:rgba(255,255,255,.15);box-shadow:none}
.back{color:#d6ebfa}

/* --- header --- */
.site-header.frost{--heading:#fff;--text:#dbe9f6;--text-soft:#9aa0b5;--accent:#d6ebfa;color:#fff;
  background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.35);
  box-shadow:0 18px 48px rgba(4,4,12,.35),inset 0 1px 0 rgba(255,255,255,.4)}
.site-header .logo img{background:#fff;padding:4px 12px;border-radius:999px;height:40px;box-shadow:0 4px 16px rgba(4,4,12,.3)}
.nav>a,.dd>a{color:#fff}
.nav>a:hover,.nav>a.active,.dd>a:hover,.dd>a.active{background:rgba(255,255,255,.2);color:#fff}
.search{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}
.search input{color:#fff}.search input::placeholder{color:#c3d8ea}
.burger{background:rgba(255,255,255,.2);color:#fff}
@media(max-width:860px){.site-header.frost{background:linear-gradient(135deg,rgba(14,40,64,.92),rgba(11,99,155,.88))}}

/* --- trending --- */
.trend-label{color:#fff;border-right-color:rgba(255,255,255,.35)}
.trend-label svg{color:#d6ebfa}
.trend-label small{color:#d6ebfa}
.trend-tag,.trend-tag:first-child{color:rgba(255,255,255,.9)}
.trend-tag:first-child{color:#fff}
.trend-tag+.trend-tag::after{background:rgba(255,255,255,.5)}
.trend-tag:hover,.trend-tag:focus-visible,.trend-tag:first-child:hover{color:#d6ebfa;text-decoration-color:#fff}
.trend-scroll::before,.trend-scroll::after{display:none}
.trend-scroll.can-next .trend-list{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}
.trend-scroll.can-prev .trend-list{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - 56px),transparent)}
.trend-scroll.can-prev.can-next .trend-list{-webkit-mask-image:linear-gradient(90deg,transparent,#000 56px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,transparent,#000 56px,#000 calc(100% - 56px),transparent)}
.trend-arrow{background:rgba(255,255,255,.22);color:#fff;border:1px solid rgba(255,255,255,.5);box-shadow:0 6px 18px rgba(4,4,12,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.trend-arrow:hover{background:#fff;color:#0b639b}

/* --- hero --- */
.feature,.latest{background:var(--card-bg);border:1px solid var(--card-bd);box-shadow:var(--shadow);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
.feature .img-wrap::after{background:linear-gradient(180deg,transparent 60%,rgba(8,8,18,.45))}
.feature:hover h1 a{color:#d6ebfa}
.latest-item h4{color:#fff}
.latest-item:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);box-shadow:none}
.tag,.pill{background:var(--tag-bg);color:var(--tag-fg);border:1px solid var(--tag-bd)}

/* --- image-first reveal cards (columnists + shows) --- */
.rev-card{position:relative;display:block;overflow:hidden;aspect-ratio:3/4;border-radius:26px;isolation:isolate;cursor:pointer;
  background:#0b4a7a;border:1px solid rgba(255,255,255,.3);box-shadow:var(--shadow);
  transition:transform .9s var(--ease),box-shadow .9s var(--ease),border-color .9s var(--ease)}
.rev-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.4s var(--ease),filter 1.1s var(--ease)}
.rev-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(0deg,rgba(8,8,18,.88) 0%,rgba(8,8,18,.4) 38%,rgba(8,8,18,0) 62%);transition:opacity .9s var(--ease)}
.rev-card::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(11,99,155,.55) 55%,rgba(8,8,18,.92));
  backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);transition:opacity .9s var(--ease)}
.rev-over{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px 22px 24px}
.rev-head h3{font-size:1.3rem;line-height:1.2;color:#fff;margin:0 0 4px;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.rev-head .role{font-size:.84rem;font-weight:600;color:#d5d9ea;letter-spacing:.01em}
.rev-more{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-height:0;opacity:0;transform:translateY(22px);overflow:hidden;
  transition:max-height 1s var(--ease),opacity .9s var(--ease) .1s,transform 1s var(--ease) .1s,margin .9s var(--ease)}
.rev-more .exp{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d6ebfa;margin-top:12px}
.rev-more .bio{font-size:.88rem;line-height:1.55;color:#e8f2fb;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rev-more .pill{font-size:.72rem}
.rev-more .cta{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:8px 18px;border-radius:999px;font-size:.82rem;font-weight:700;color:#fff;
  background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.5);box-shadow:0 0 22px rgba(214,235,250,.25);transition:background .4s,color .4s,gap .4s}
.rev-more .cta i{font-style:normal;transition:transform .4s}
.rev-card:hover,.rev-card:focus-visible,.rev-card.is-revealed{transform:translateY(-8px);border-color:rgba(255,255,255,.65);box-shadow:var(--shadow-lg)}
.rev-card:hover>img,.rev-card:focus-visible>img,.rev-card.is-revealed>img{transform:scale(1.08)}
.rev-card:hover::after,.rev-card:focus-visible::after,.rev-card.is-revealed::after{opacity:1}
.rev-card:hover .rev-more,.rev-card:focus-visible .rev-more,.rev-card.is-revealed .rev-more{max-height:320px;opacity:1;transform:none}
.rev-card:hover .cta,.rev-card.is-revealed .cta{background:#fff;color:#0b639b}
.rev-card:hover .cta i{transform:translateX(4px)}
.grid-4 .rev-card{aspect-ratio:3/4}
.shows-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
@media(hover:none){.rev-card .rev-more{max-height:0}.rev-card.is-revealed .rev-more{max-height:320px}}
@media(max-width:560px){.rev-card{aspect-ratio:4/5}}
@media(max-width:1024px){.shows-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.shows-grid{grid-template-columns:1fr}}

/* --- sliders: arrows outside the card, inside the section container --- */
.slider{position:relative;padding-inline:68px}
.slides{position:relative}
.arrow{width:48px;height:48px;background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.45);
  box-shadow:0 10px 28px rgba(4,4,12,.35);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);
  transition:background .5s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease),color .5s}
.slides .arrow.prev{left:-62px}.slides .arrow.next{right:-62px}
.arrow:hover{background:#fff;color:#0b639b;transform:translateY(-50%) scale(1.08);box-shadow:0 0 0 6px rgba(255,255,255,.18),0 14px 32px rgba(4,4,12,.4)}
.arrow:active{transform:translateY(-50%) scale(.96)}
.arrow:focus-visible{outline:2px solid #fff;outline-offset:3px}
.books-wrap .arrow.prev{left:-12px}.books-wrap .arrow.next{right:-12px}
.band .arrow{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.45)}
.band .arrow:hover{background:#fff;color:#0b639b}
.slide{background:var(--card-bg);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
.slide .media::after{background:linear-gradient(90deg,transparent 70%,rgba(8,8,18,.4))}
#videos .slide{grid-template-columns:35fr 65fr;padding:18px;gap:30px;align-items:stretch}
#videos .slide .media{border-radius:20px;min-height:340px;box-shadow:0 14px 34px rgba(4,4,12,.4);transition:box-shadow .8s var(--ease)}
#videos .slide .media img{transition:transform 1.3s var(--ease)}
#videos .slide:hover .media img{transform:scale(1.07)}
#videos .slide:hover .media{box-shadow:0 18px 44px rgba(4,4,12,.5),0 0 40px rgba(214,235,250,.22)}
#videos .slide .copy{padding:18px 26px 18px 8px}
.play span{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 34px rgba(0,0,0,.35),0 0 0 10px rgba(255,255,255,.1);transition:transform .7s var(--ease),background .7s,box-shadow .7s}
.play:hover span,.slide:hover .play span{background:rgba(255,255,255,.4);box-shadow:0 10px 34px rgba(0,0,0,.4),0 0 0 14px rgba(255,255,255,.14)}
.title-tab{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);border-top-color:rgba(255,255,255,.25);color:var(--text)}
.title-tab small{color:var(--text-soft)}
.title-tab:hover,.title-tab.is-active{background:rgba(255,255,255,.22);color:#fff}
.title-tab.is-active{border-top-color:#fff;box-shadow:0 14px 34px rgba(4,4,12,.35)}
.slide .media{border-radius:0}
@media(max-width:860px){
  .slider{padding-inline:0}
  .slides{margin-bottom:68px}
  .slides .arrow{top:auto;bottom:-62px;transform:none}
  .slides .arrow.prev{left:calc(50% - 56px)}.slides .arrow.next{right:calc(50% - 56px)}
  .slides .arrow:hover{transform:scale(1.08)}.slides .arrow:active{transform:scale(.96)}
  #videos .slide{grid-template-columns:1fr;gap:6px}
  #videos .slide .media{min-height:240px}
  #videos .slide .copy{padding:14px 10px 12px}
}

/* --- policy briefs cards / generic hover --- */
.brief-card{background:var(--card-bg)}
.brief-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--hover-bd)}
.brief-card,.slide,.card,.art-row,.mini-col,.ep-card{transition-timing-function:var(--ease)}
.brief-card .thumb img{transition:transform 1.2s var(--ease)}

/* --- books / journal / fellows --- */
.band .book img{box-shadow:0 20px 40px rgba(4,4,12,.5)}
.book:hover img{box-shadow:0 28px 54px rgba(4,4,12,.6),0 0 40px rgba(214,235,250,.3)}
.journal .cover{background:radial-gradient(circle at 50% 40%,rgba(214,235,250,.28),transparent 70%)}
.issue-row{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
.issue-row.current{background:rgba(255,255,255,.16);border-color:#fff}
.toc li{border-bottom-color:rgba(255,255,255,.25)}
.pill{color:#fff}

/* --- footer --- */
.site-footer{background:linear-gradient(180deg,rgba(8,26,44,.35),rgba(6,20,36,.75));border-top:1px solid rgba(255,255,255,.2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#cfe3f4}
.site-footer::before{background:linear-gradient(90deg,transparent,#d6ebfa,transparent)}
.site-footer nav a:hover{color:#fff}

/* --- single pages (columnist / article) --- */
.single .lede,.prose .lede{color:#fff}
.back-btn{color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);box-shadow:0 8px 22px rgba(4,4,12,.25)}
.back-btn:hover{background:#fff;color:#0b639b}
.profile{background:var(--card-bg)}
.profile .avatar,.author-card img,.byline img{border-color:rgba(255,255,255,.85);box-shadow:0 0 0 8px rgba(255,255,255,.12),0 22px 44px rgba(4,4,12,.45)}
.profile .bio-toggle{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4)}
.profile .bio-toggle:hover{background:#fff;color:#0b639b}
.art-tag{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}
.art-tag::before{color:#d6ebfa}
.art-row+.art-row{border-top-color:rgba(255,255,255,.18)}
.art-row:hover{background:rgba(255,255,255,.12)}
.art-row::before{background:linear-gradient(#fff,#d6ebfa)}
.art-row h3{color:#fff}.art-row:hover h3{color:#d6ebfa}
.art-row .go{color:#fff;background:rgba(255,255,255,.16)}
.art-row:hover .go{background:#fff;color:#0b639b}
.mini-col b{color:#fff}.mini-col:hover{border-color:var(--hover-bd)}
.byline .by{color:#fff}.byline .by:hover{color:#d6ebfa}
.prose p{color:#dbe9f6}
.more-card .recent-item{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16)}
.more-card .recent-item:hover{background:rgba(255,255,255,.2)}
.more-card .recent-item h5{color:#fff}
.author-card h3,.more-card h4{color:#fff}
.article .hero-img::after{content:none}

/* --- show page episodes --- */
.show-eps .sec-head h2{background:var(--heading-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ep-card{color:var(--text)}
.ep-card:hover,.ep-card:focus-visible{border-color:var(--hover-bd);box-shadow:var(--shadow-lg)}
.ep-meta{color:#d6ebfa}
.ep-arrow{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.5);box-shadow:0 10px 28px rgba(4,4,12,.35)}
.ep-arrow:hover{background:#fff;color:#0b639b}
.show-banner{border-radius:0;box-shadow:0 20px 50px rgba(4,4,12,.35)}

/* --- entrance animations (added by script.js; removed after they finish) --- */
.js .reveal{opacity:0;transform:translateY(34px) scale(.975)}
.js .reveal.in{opacity:1;transform:none;
  transition:opacity 1.1s var(--ease) var(--d,0s),transform 1.1s var(--ease) var(--d,0s)}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}

/* resets so the new reveal cards ignore the old column/show card rules */
.col-card.rev-card,.show-card.rev-card{padding:0;text-align:left;background:#0b4a7a;backdrop-filter:none;-webkit-backdrop-filter:none;display:block}
.col-card.rev-card>img,.show-card.rev-card>img{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0;box-shadow:none;object-fit:cover}
.rev-card.col-card::before{left:0;top:0;width:auto;height:auto;transform:none;opacity:1;border-radius:0;
  background:linear-gradient(0deg,rgba(8,8,18,.88) 0%,rgba(8,8,18,.4) 38%,rgba(8,8,18,0) 62%)}
.col-card.rev-card:hover>img{transform:scale(1.08)}
/* ===== Cards kept clean: columnists = name + role only; shows = title + basics (schedule on hover) ===== */
.col-card.rev-card .rev-head h3{font-size:1.28rem}
.show-card .rev-more{flex-direction:row;gap:0}
.show-card .rev-more .pill{margin-top:12px}
@media(hover:none){.show-card .rev-more{max-height:60px;opacity:1;transform:none}}

/* ===== Policy Briefs: same 35% / 65% layout as Videos ===== */
#briefs .slide,#videos .slide,.featured-block .slide{grid-template-columns:35fr 65fr;padding:18px;gap:30px;align-items:stretch}
#briefs .slide .media,.featured-block .slide .media{border-radius:20px;min-height:340px;box-shadow:0 14px 34px rgba(4,4,12,.4);transition:box-shadow .8s var(--ease)}
#briefs .slide .media img,.featured-block .slide .media img{transition:transform 1.3s var(--ease)}
#briefs .slide:hover .media img,.featured-block .slide:hover .media img{transform:scale(1.07)}
#briefs .slide:hover .media,.featured-block .slide:hover .media{box-shadow:0 18px 44px rgba(4,4,12,.5),0 0 40px rgba(214,235,250,.22)}
#briefs .slide .copy,.featured-block .slide .copy{padding:18px 26px 18px 8px}
@media(max-width:860px){
  #briefs .slide,.featured-block .slide{grid-template-columns:1fr;gap:6px}
  #briefs .slide .media,.featured-block .slide .media{min-height:240px}
  #briefs .slide .copy,.featured-block .slide .copy{padding:14px 10px 12px}
}


/* =====================================================================
   DARK PREMIUM THEME — charcoal / midnight, muted indigo, violet, restrained teal
   ===================================================================== */
:root,section,section.band,#briefs.band,section.dark,section.white{
  --heading:#f6f7fb; --text:#c9cddb; --text-soft:#9096aa; --accent:#bfe0f5; --accent-2:#5eead4;
  --brand:#2580b5; --brand-2:#3b91c5; --brand-glow:#bfe0f5;
  --bg:#0b0d14; --band:rgba(255,255,255,.06); --line:rgba(255,255,255,.12);
  --heading-grad:linear-gradient(120deg,#ffffff 25%,#d6ebfa 70%,#99f6e4);
  --card-bg:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035)); --card-bd:rgba(255,255,255,.15);
  --shadow:0 22px 54px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.13);
  --shadow-lg:0 32px 74px rgba(0,0,0,.62),0 0 0 1px rgba(191,224,245,.35),0 0 44px rgba(127,184,224,.16);
  --tag-bg:rgba(191,224,245,.13); --tag-fg:#e8f3fb; --tag-bd:rgba(191,224,245,.3); --meta-b:#f6f7fb;
  --tab-active:rgba(255,255,255,.16); --ring:rgba(255,255,255,.18); --img-bd:rgba(255,255,255,.8); --fade:rgba(8,8,18,.4); --hover-bd:rgba(191,224,245,.55);
}
section,section.band,#briefs.band,section.dark{color:var(--text)}

/* --- layered background with soft, slowly drifting ambient lights --- */
html{background:#0b0d14}
body{background:
    radial-gradient(ellipse 70% 55% at 12% 6%,rgba(58,145,197,.30),transparent 62%),
    radial-gradient(ellipse 60% 50% at 92% 14%,rgba(58,145,197,.22),transparent 60%),
    radial-gradient(ellipse 65% 55% at 78% 92%,rgba(45,212,191,.13),transparent 62%),
    radial-gradient(ellipse 60% 50% at 8% 88%,rgba(37,128,181,.18),transparent 62%),
    linear-gradient(165deg,#0b0d14 0%,#11131f 42%,#0d0f19 70%,#090a11 100%);
  background-attachment:fixed;color:var(--text)}
body::before{width:60vw;height:60vw;left:-18vw;top:-20vw;background:radial-gradient(circle,rgba(58,145,197,.30),transparent 68%);filter:blur(80px);animation:driftA 28s ease-in-out infinite alternate}
body::after{width:52vw;height:52vw;right:-16vw;bottom:-18vw;background:radial-gradient(circle,rgba(45,212,191,.17),rgba(58,145,197,.10) 55%,transparent 72%);filter:blur(90px);animation:driftB 34s ease-in-out infinite alternate}
@keyframes driftA{from{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(8vw,10vh,0) scale(1.12)}to{transform:translate3d(14vw,4vh,0) scale(1.05)}}
@keyframes driftB{from{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-9vw,-8vh,0) scale(1.15)}to{transform:translate3d(-4vw,-14vh,0) scale(1.05)}}
::selection{background:#bfe0f5;color:#0b0d14}
:focus-visible{outline-color:#bfe0f5}

/* each section gets its own faint light so they feel related but not identical */
section{position:relative}
section::before{content:"";position:absolute;inset:-6% 0;z-index:-1;pointer-events:none;display:block;opacity:.9;background:none}
#briefs::before{background:radial-gradient(ellipse 50% 60% at 88% 40%,rgba(58,145,197,.16),transparent 70%)}
#videos::before{background:radial-gradient(ellipse 50% 60% at 8% 45%,rgba(45,212,191,.09),transparent 70%)}
#shows::before{background:radial-gradient(ellipse 55% 60% at 50% 30%,rgba(58,145,197,.14),transparent 70%)}
#books::before{background:radial-gradient(ellipse 50% 60% at 15% 50%,rgba(37,128,181,.13),transparent 70%),radial-gradient(ellipse 40% 50% at 92% 60%,rgba(45,212,191,.07),transparent 70%)}
#journal::before{background:radial-gradient(ellipse 50% 60% at 85% 50%,rgba(45,212,191,.09),transparent 70%)}
#fellows::before{background:radial-gradient(ellipse 55% 60% at 20% 40%,rgba(58,145,197,.13),transparent 70%)}
.columnists{position:relative}
.columnists::before{content:"";position:absolute;inset:-8% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 50% 60% at 70% 40%,rgba(127,184,224,.12),transparent 70%)}

/* --- glass cards: lighter than the background so they read clearly --- */
.card,.art-list,.mini-col,.ep-card,.feature,.latest,.slide,.profile{background:var(--card-bg);border:1px solid var(--card-bd);box-shadow:var(--shadow);
  backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}
.card:hover,.brief-card:hover,.ep-card:hover,.mini-col:hover{border-color:var(--hover-bd)}
.feature,.latest{background:linear-gradient(150deg,rgba(255,255,255,.12),rgba(255,255,255,.04))}
.slide{background:linear-gradient(150deg,rgba(255,255,255,.11),rgba(255,255,255,.035))}
.rev-card{background:#0b4a7a;border-color:rgba(255,255,255,.2)}
.rev-card::after{background:linear-gradient(180deg,rgba(191,224,245,.10),rgba(11,60,100,.62) 55%,rgba(8,8,18,.92))}
.rev-card:hover,.rev-card:focus-visible{border-color:rgba(191,224,245,.6)}
.col-card.rev-card,.show-card.rev-card{background:#0b4a7a}

/* --- header / footer --- */
.site-header.frost{background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 50px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.18)}
.nav>a:hover,.nav>a.active,.dd>a:hover,.dd>a.active{background:rgba(191,224,245,.18)}
.search{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
.search:focus-within{border-color:#bfe0f5;box-shadow:0 0 0 4px rgba(191,224,245,.2)}
.search button{background:linear-gradient(135deg,#3b91c5,#2580b5)}
.burger{background:rgba(255,255,255,.12)}
@media(max-width:860px){.site-header.frost{background:linear-gradient(135deg,rgba(14,34,54,.96),rgba(10,28,46,.94))}}
.site-footer{background:linear-gradient(180deg,rgba(6,20,36,.5),rgba(6,7,12,.9));border-top:1px solid rgba(255,255,255,.1)}
.site-footer::before{background:linear-gradient(90deg,transparent,#7fb8e0,#5eead4,transparent)}

/* --- buttons: light primary with dark text, glass secondary --- */
.btn{background:linear-gradient(135deg,#f4f9fd,#d6ebfa);color:#06284a;border:1px solid rgba(255,255,255,.6);
  box-shadow:0 10px 28px rgba(0,0,0,.4),0 0 24px rgba(127,184,224,.22),inset 0 1px 0 #fff}
.btn:hover{background:linear-gradient(135deg,#ffffff,#d6f0fb);box-shadow:0 14px 34px rgba(0,0,0,.5),0 0 30px rgba(94,234,212,.28),inset 0 1px 0 #fff}
.btn::after{background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.7) 50%,transparent 65%)}
.btn.ghost,.back-btn,.profile .bio-toggle,.show-actions .btn.ghost{background:rgba(255,255,255,.08);color:#f6f7fb;border:1px solid rgba(255,255,255,.28);box-shadow:none;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.btn.ghost:hover,.back-btn:hover,.profile .bio-toggle:hover{background:rgba(255,255,255,.2);color:#fff}
.btn.disabled{background:rgba(255,255,255,.07);color:#8a90a6;border-color:rgba(255,255,255,.12);box-shadow:none}
.arrow,.ep-arrow,.trend-arrow,.modal.viewer .vnav{background:rgba(255,255,255,.1);color:#f6f7fb;border:1px solid rgba(255,255,255,.3);box-shadow:0 10px 28px rgba(0,0,0,.45)}
.arrow:hover,.ep-arrow:hover,.trend-arrow:hover,.modal.viewer .vnav:hover:not(:disabled){background:#e8f3fb;color:#06284a}
.band .arrow{background:rgba(255,255,255,.1);color:#f6f7fb}
.band .arrow:hover{background:#e8f3fb;color:#06284a}

/* --- text accents --- */
a{color:inherit}
.back,.crumbs a,.eyebrow{color:#bfe0f5}
.tag,.pill{background:var(--tag-bg);color:var(--tag-fg);border:1px solid var(--tag-bd)}
.rev-head .role{color:#d5d9ea}
.rev-more .pub{font-size:.95rem;font-weight:700;color:#fff;letter-spacing:.01em;margin-top:12px}
.rev-more .pub span{font-weight:600;color:#99f6e4;margin-right:2px}
.rev-more .pub-art{font-size:.8rem;line-height:1.45;color:#d5d9ea}
.col-card .rev-more{gap:4px}
@media(hover:none){.col-card .rev-more{max-height:110px;opacity:1;transform:none}}
.trend-label,.trend-label svg,.trend-label small{color:#d6ebfa}
.trend-tag:hover,.trend-tag:focus-visible,.trend-tag:first-child:hover{color:#99f6e4;text-decoration-color:#5eead4}
.latest-item:hover{background:rgba(191,224,245,.12);border-color:rgba(191,224,245,.28)}
.latest-item:hover h4{color:#fff}
.title-tab.is-active{border-top-color:#bfe0f5;background:linear-gradient(180deg,rgba(191,224,245,.2),rgba(255,255,255,.06))}
.ep-meta,.art-tag::before{color:#99f6e4}
.art-tag{background:rgba(191,224,245,.12);border-color:rgba(191,224,245,.3);color:#e8f3fb}
.art-row::before{background:linear-gradient(#bfe0f5,#5eead4)}
.art-row .go{background:rgba(255,255,255,.1)}
.art-row:hover .go{background:#e8f3fb;color:#06284a}
.byline .by:hover,.feature:hover h1 a,.art-row:hover h3{color:#d6ebfa}
.sec-head h2,.page-title h1,.show-eps .sec-head h2{background:var(--heading-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sec-head h2::after{content:"";display:block;width:100%;height:2px;margin-top:10px;border-radius:2px;background:linear-gradient(90deg,#bfe0f5,#5eead4);transform-origin:left;animation:lineIn 1.1s var(--ease) .35s both}
@keyframes lineIn{from{transform:scaleX(0);opacity:0}to{transform:none;opacity:1}}
.profile .avatar,.author-card img,.byline img{box-shadow:0 0 0 8px rgba(191,224,245,.14),0 22px 44px rgba(0,0,0,.55)}
.show-banner{box-shadow:0 20px 50px rgba(0,0,0,.5)}
.show-banner::before{background:linear-gradient(90deg,rgba(8,8,18,.96) 0%,rgba(8,26,44,.82) 32%,rgba(11,80,130,.22) 62%,transparent 100%),linear-gradient(0deg,rgba(8,8,18,.55),transparent 45%)}
.journal .cover{background:radial-gradient(circle at 50% 40%,rgba(127,184,224,.25),transparent 70%)}
.issue-row.current{border-color:#bfe0f5;background:rgba(191,224,245,.12)}
.toc li{border-bottom-color:rgba(255,255,255,.2)}

/* --- popups: milky glass kept, indigo accents; their buttons stay dark-on-light --- */
.modal .backdrop,.modal:not(.large):not(.book) .backdrop,.modal.book .backdrop,.modal.viewer .backdrop{
  background:radial-gradient(circle at 50% 40%,rgba(58,145,197,.22),rgba(6,7,12,.78));backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%)}
.modal .dialog.frost .btn,.modal.viewer .vslide .btn{background:linear-gradient(135deg,#2580b5,#0b639b);color:#fff;border:1px solid rgba(255,255,255,.4);
  box-shadow:0 10px 24px rgba(11,99,155,.4),inset 0 1px 0 rgba(255,255,255,.3)}
.modal .dialog.frost .btn:hover{background:linear-gradient(135deg,#3b91c5,#2580b5);box-shadow:0 12px 28px rgba(11,99,155,.5)}
.modal .dialog.frost .btn.ghost{background:rgba(11,99,155,.07);color:#0b639b;border-color:rgba(11,99,155,.25);box-shadow:none}
.modal.book .dialog.frost .btn.disabled,.modal.viewer .vslide .btn.disabled{background:rgba(120,120,128,.16);color:#8e8e93;box-shadow:none;border:0}
.modal.viewer .vnav{background:rgba(255,255,255,.14);color:#fff}
.modal.viewer .vdot{background:rgba(255,255,255,.4)}.modal.viewer .vdot.on{background:#fff}
@keyframes pop{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}
.modal .dialog{animation-timing-function:cubic-bezier(.22,.8,.24,1)}

/* --- brand-new stagger helpers for the hero list --- */
.latest-item{transition:background .5s var(--ease),border-color .5s,transform .5s var(--ease)}
.latest{justify-content:space-between}
/* hero right list: header with accent, hairline dividers, compact rows */
.latest{gap:0;padding:8px 8px 6px}
.latest h3.label{display:flex;align-items:center;gap:10px;margin:0 6px 4px;padding:10px 8px 12px;font-size:1.05rem;letter-spacing:.01em;border-bottom:1px solid rgba(255,255,255,.14)}
.latest h3.label::before{content:"";width:4px;height:18px;border-radius:4px;background:linear-gradient(180deg,#d6ebfa,#5aa9dc);box-shadow:0 0 12px rgba(191,224,245,.45)}
.latest-item{grid-template-columns:84px 1fr;gap:14px;padding:9px 12px}
.latest-item+.latest-item::before{content:"";position:absolute;top:0;left:12px;right:12px;height:1px;background:rgba(255,255,255,.09);transition:opacity .4s}
.latest-item:hover::before,.latest-item:hover+.latest-item::before{opacity:0}
.latest-item img{width:84px;height:62px;border-radius:10px;box-shadow:0 4px 12px rgba(2,24,52,.25)}
.latest-item h4{font-size:.95rem;line-height:1.3;margin-bottom:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.latest-item .meta{font-size:.8rem}
.latest-item img{height:60px}
@media(max-width:1024px){.latest-item img{height:58px}}

/* placeholder artwork shifted from saturated blue toward indigo/violet so it sits in the new palette */


.rev-more .pub{margin-top:12px}.rev-more .pub-art{display:none}

/* ===== Blue gradient body + glass section panels (final override) ===== */
html{background:#064477}
body{background:radial-gradient(ellipse at 50% 35%,#4A9ACB 0%,#2580B5 35%,#0B639B 65%,#064477 100%);background-attachment:fixed;min-height:100vh}
body::before{background:radial-gradient(circle,rgba(255,255,255,.16),transparent 68%);filter:blur(80px)}
body::after{background:radial-gradient(circle,rgba(120,200,255,.2),transparent 70%);filter:blur(90px)}
section::before,.columnists::before,#briefs::before,#videos::before,#shows::before,#books::before,#journal::before,#fellows::before{background:none}
:root,section{--accent:#cfe8ff;--hover-bd:rgba(255,255,255,.6)}

/* section panels */
main>section:not(.trending):not(.show-banner):not(.show-hero),.hero .columnists{
  width:min(1264px,100% - 24px);margin:26px auto;border-radius:34px;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.05));
  backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);
  border:1px solid rgba(255,255,255,.28);box-shadow:0 26px 64px rgba(2,24,52,.32),inset 0 1px 0 rgba(255,255,255,.3);
  background-color:transparent}
section.band,#briefs.band,section.white,.hero{background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.05))!important}
.hero{padding-inline:0;border:0!important;box-shadow:none!important;backdrop-filter:none;-webkit-backdrop-filter:none;background:none!important;width:auto;margin:0}
.hero .columnists{margin-top:40px;padding:56px 0 48px}
.hero .columnists>.container{width:min(1200px,100% - 48px)}
.hero-grid{width:min(1264px,100% - 24px)}
.page-title{padding-top:48px}
main>section.single,main>section[style]{padding-top:40px}
@media(max-width:640px){main>section:not(.trending):not(.show-banner):not(.show-hero),.hero .columnists{border-radius:24px;margin:16px auto;width:calc(100% - 16px)}.hero .columnists{padding:36px 0}}

/* headings: solid white + entrance animation */
h1,h2,h3,h4,.sec-head h2,.page-title h1,.show-eps .sec-head h2{color:#fff;-webkit-text-fill-color:#fff;background:none;text-shadow:0 2px 22px rgba(2,24,52,.35)}
.sec-head h2,.page-title h1,.show-eps .sec-head h2{animation:headIn 1.1s var(--ease) both}
.sec-head p,.page-title p{animation:headIn 1.2s var(--ease) .18s both}
.sec-head h2::after{background:linear-gradient(90deg,#fff,rgba(255,255,255,.2));animation:lineIn 1.2s var(--ease) .45s both}
.feature h1,.profile h1,.article h1{animation:headIn 1.1s var(--ease) .1s both}
@keyframes headIn{from{opacity:0;transform:translateY(26px);letter-spacing:.04em}to{opacity:1;transform:none;letter-spacing:normal}}
@media(prefers-reduced-motion:reduce){.sec-head h2,.page-title h1,.sec-head p,.page-title p,.feature h1,.profile h1,.article h1,.sec-head h2::after{animation:none!important}}
.show-banner h1{-webkit-text-fill-color:#e8eef5}

/* fixes: no double panel around the hero; stronger secondary text on the lighter blue */
main>section.hero{width:auto!important;margin:0!important;border:0!important;box-shadow:none!important;background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important}
:root,section,.frost,.card{--text:#e6ecf5;--text-soft:#c9d6e6}
.meta,.latest-item .meta,.title-tab small,.sec-head p,.page-title p{color:#d5e0ee}
.meta b{color:#fff}

/* ===== Sections are plain (no glass panel); gradient shows through; blur only on cards/header/overlays ===== */
main>section:not(.trending):not(.show-banner):not(.show-hero),.hero .columnists,section.band,#briefs.band,section.white,section.dark,.hero{
  width:auto!important;margin-inline:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.hero .columnists{margin-top:56px!important;padding:0!important}
.hero .columnists>.container{width:min(1200px,100% - 40px)}
.hero-grid{width:min(1200px,100% - 40px)}
.hero{padding:32px 0 72px}
@media(max-width:640px){main>section:not(.trending):not(.show-banner):not(.show-hero),.hero .columnists{margin:0!important;width:auto!important}}

/* every solid colour fill now uses the site gradient */
.site-footer{background:radial-gradient(ellipse at 50% 35%,#2580B5 0%,#0B639B 55%,#064477 100%)!important;border-top:1px solid rgba(255,255,255,.25)}
.rev-card,.col-card.rev-card,.show-card.rev-card{background:radial-gradient(ellipse at 50% 35%,#4A9ACB 0%,#2580B5 35%,#0B639B 65%,#064477 100%)}
.rev-card::after{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(11,99,155,.6) 55%,rgba(6,68,119,.92))}
.show-banner{background:radial-gradient(ellipse at 50% 35%,#4A9ACB 0%,#2580B5 35%,#0B639B 65%,#064477 100%)}
.show-banner::before{background:linear-gradient(90deg,rgba(6,68,119,.95) 0%,rgba(11,99,155,.7) 35%,rgba(37,128,181,.15) 65%,transparent 100%),linear-gradient(0deg,rgba(6,68,119,.5),transparent 45%)}
.video-wrap,.modal .backdrop{background-color:#064477}
@media(max-width:860px){.site-header.frost{background:radial-gradient(ellipse at 50% 35%,#2580B5 0%,#0B639B 60%,#064477 100%)}}

/* photo cropping */
.rev-card>img{object-position:50% 22%}.show-card.rev-card>img{object-position:center}
.profile .avatar,.author-card img,.byline img,.mini-col img,.latest-item img{object-position:50% 22%}
.latest-item img,.art-row .thumb img,.ep-thumb img,.brief-card .thumb img,.slide .media img{object-position:center}

/* ===== Final UI palette: white / off-white / light blue / navy (no purple anywhere) ===== */
:root,section,.frost{--brand:#2580b5;--brand-2:#3b91c5;--brand-glow:#bfe0f5;--accent:#cfe8ff;--hover-bd:rgba(255,255,255,.6)}
/* buttons */
.btn,.rev-more .cta,.modal .dialog.frost .btn,.modal.viewer .vslide .btn{background:linear-gradient(135deg,#ffffff,#dcecf8);color:#06284a;border:1px solid rgba(255,255,255,.85);
  box-shadow:0 8px 20px rgba(2,24,52,.28),inset 0 1px 0 #fff;text-shadow:none}
.btn:hover,.modal .dialog.frost .btn:hover,.modal.viewer .vslide .btn:hover{background:linear-gradient(135deg,#ffffff,#c9e3f6);color:#06284a;box-shadow:0 12px 26px rgba(2,24,52,.35),inset 0 1px 0 #fff;transform:translateY(-2px)}
.btn:active{transform:translateY(0);background:#d3e7f6}
.btn::after{background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.8) 50%,transparent 65%)}
.btn.ghost,.back-btn,.profile .bio-toggle,.show-actions .btn.ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4);box-shadow:none}
.btn.ghost:hover,.back-btn:hover,.profile .bio-toggle:hover{background:#fff;color:#06284a}
.btn.disabled,.modal.book .dialog.frost .btn.disabled,.modal.viewer .vslide .btn.disabled{background:rgba(255,255,255,.55);color:#4a6178;border:1px solid rgba(255,255,255,.5);box-shadow:none;cursor:not-allowed;transform:none}
.modal .dialog.frost .btn.ghost{background:rgba(6,68,119,.08);color:#06284a;border-color:rgba(6,68,119,.25)}
.modal .dialog.frost .btn.ghost:hover{background:#06284a;color:#fff}
.arrow,.ep-arrow,.trend-arrow,.modal.viewer .vnav,.band .arrow,.search button{background:rgba(255,255,255,.88);color:#06284a;border:1px solid #fff;box-shadow:0 8px 20px rgba(2,24,52,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.arrow:hover,.ep-arrow:hover,.trend-arrow:hover,.modal.viewer .vnav:hover:not(:disabled),.band .arrow:hover,.search button:hover{background:#fff;color:#0b639b}
.arrow:disabled,.modal.viewer .vnav:disabled{opacity:.45}
.art-row:hover .go,.rev-card:hover .cta{background:#fff;color:#06284a}
.title-tab.is-active{border-top-color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.1))}
.modal.viewer .vdot.on{background:#fff}
/* popups */
.modal .dialog.frost{background:linear-gradient(120deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 38%),linear-gradient(160deg,rgba(255,255,255,.86),rgba(232,243,251,.66) 55%,rgba(255,255,255,.76));
  border:1px solid rgba(255,255,255,.95);--heading:#06284a;--text:#2d4a63;--text-soft:#5f7c96;--accent:#0b639b;--meta-b:#0b639b;--tag-fg:#0b639b;--tag-bg:rgba(11,99,155,.1);--tag-bd:rgba(11,99,155,.2)}
.modal .dialog.frost h3,.modal .dialog.frost h4,.modal .dialog.frost h5{color:#06284a;-webkit-text-fill-color:#06284a;text-shadow:none}
.modal .dialog.frost .meta b{color:#0b639b}
.modal .dialog.frost .close{background:rgba(255,255,255,.9);color:#06284a;border:1px solid #fff}
.modal .dialog.frost .close:hover{background:#06284a;color:#fff}
.modal .backdrop,.modal:not(.large):not(.book) .backdrop,.modal.book .backdrop,.modal.viewer .backdrop{background:radial-gradient(circle at 50% 40%,rgba(58,145,197,.3),rgba(4,36,66,.78))}
.modal.book .dialog.frost{--accent:#0b639b}
.modal.book .modal-body>div>p.meta:nth-of-type(1) b{color:#0b639b}
.modal.viewer .vslide{--heading:#06284a;--text:#2d4a63}
/* header: smoky glass; the dark logo sits on a soft white plate so it stays crisp */
.site-header.frost{background:linear-gradient(135deg,rgba(14,32,48,.62),rgba(8,22,36,.5));
  backdrop-filter:blur(26px) saturate(130%) brightness(.9);-webkit-backdrop-filter:blur(26px) saturate(130%) brightness(.9);
  border:1px solid rgba(255,255,255,.28);box-shadow:0 18px 46px rgba(2,14,28,.45),inset 0 1px 0 rgba(255,255,255,.22);
  transition:background .5s var(--ease),box-shadow .5s,border-color .5s,transform .5s var(--ease)}
.site-header.frost.scrolled{background:linear-gradient(135deg,rgba(10,24,38,.8),rgba(6,16,28,.7));border-color:rgba(255,255,255,.34)}
.site-header .logo img{background:linear-gradient(145deg,#ffffff,#eaf3fa);padding:5px 14px;border-radius:999px;height:42px;box-shadow:0 4px 14px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.9);transition:transform .45s var(--ease),box-shadow .45s}
.site-header .logo:hover img{transform:scale(1.04);box-shadow:0 6px 18px rgba(0,0,0,.4),inset 0 0 0 1px #fff}
.nav>a,.dd>a,.dd-menu a{color:#f1f6fb;transition:background .4s var(--ease),color .3s}
.nav>a:hover,.nav>a.active,.dd>a:hover,.dd>a.active,.dd-menu a:hover{background:rgba(255,255,255,.18);color:#fff}
.dd-menu,.results{background:linear-gradient(135deg,rgba(14,32,48,.82),rgba(8,22,36,.74))!important;border:1px solid rgba(255,255,255,.25)!important;box-shadow:0 22px 50px rgba(2,14,28,.5)!important;
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.results b,.results small,.results p{color:#f1f6fb}
.search{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28)}
.search:focus-within{border-color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18)}
.burger{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.25);transition:background .3s}
@media(max-width:860px){.site-header.frost{background:linear-gradient(135deg,rgba(12,28,44,.9),rgba(8,20,32,.86))}#menu-toggle:checked~.nav,#menu-toggle:checked~.search{animation:pop .45s var(--ease)}}

/* popup buttons: higher specificity than the earlier popup rules */
.modal .dialog.frost a.btn,.modal .dialog.frost .btn:not(.ghost):not(.disabled),.modal:not(.large):not(.book) .dialog .btn{background:linear-gradient(135deg,#ffffff,#d6e8f6)!important;color:#06284a!important;border:1px solid #fff!important;box-shadow:0 8px 20px rgba(6,40,74,.3),inset 0 1px 0 #fff!important}
.modal .dialog.frost a.btn:hover,.modal:not(.large):not(.book) .dialog .btn:hover{background:linear-gradient(135deg,#ffffff,#c4def2)!important;color:#06284a!important}
.modal .dialog.frost .btn.ghost{background:rgba(6,68,119,.1)!important;color:#06284a!important;border:1px solid rgba(6,40,74,.3)!important}
.modal.viewer>.close,.modal.viewer .close{background:rgba(255,255,255,.9);color:#06284a;border:1px solid #fff}

/* ===== Lighter, neutral hover overlay on image cards (photos stay natural) ===== */
.rev-card::before{background:linear-gradient(0deg,rgba(8,16,26,.72) 0%,rgba(8,16,26,.28) 34%,rgba(8,16,26,0) 58%)}
.rev-card::after{background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(10,18,28,.18) 45%,rgba(8,16,26,.66) 100%);
  backdrop-filter:blur(3px) saturate(115%);-webkit-backdrop-filter:blur(3px) saturate(115%)}
.rev-card:hover,.rev-card:focus-visible{border-color:rgba(255,255,255,.7)}
.rev-card>img{transition:transform 1.4s var(--ease),filter 1.1s var(--ease)}
.rev-card:hover>img,.rev-card:focus-visible>img{filter:saturate(1.02) brightness(.96)}
.rev-head h3,.rev-more .pub,.rev-more .exp{text-shadow:0 2px 12px rgba(0,0,0,.6)}
.rev-head .role,.rev-more .pub-art{text-shadow:0 1px 8px rgba(0,0,0,.55)}
.rev-more .pub span{color:#fff}

/* ===== Header: white frosted glass, dark navy text ===== */
.site-header.frost,.site-header.frost.scrolled{background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.5));
  backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);
  border:1px solid rgba(255,255,255,.85);box-shadow:0 16px 42px rgba(4,30,60,.28),inset 0 1px 0 #fff}
.site-header.frost.scrolled{background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(255,255,255,.66));box-shadow:0 18px 46px rgba(4,30,60,.34),inset 0 1px 0 #fff}
.site-header .logo img{background:none;padding:0;border-radius:0;box-shadow:none;height:44px}
.site-header .logo:hover img{box-shadow:none;transform:scale(1.04)}
.nav>a,.dd>a,.dd-menu a{color:#06284a}
.nav>a:hover,.nav>a.active,.dd>a:hover,.dd>a.active,.dd-menu a:hover{background:rgba(6,68,119,.12);color:#06284a}
.search{background:rgba(255,255,255,.7);border:1px solid rgba(6,68,119,.2)}
.search input{color:#06284a}.search input::placeholder{color:#58728a}
.search:focus-within{border-color:#0b639b;box-shadow:0 0 0 4px rgba(11,99,155,.18)}
.search button{background:#06284a;color:#fff;border-color:#06284a}
.search button:hover{background:#0b639b;color:#fff}
.burger{background:rgba(255,255,255,.75);color:#06284a;border:1px solid rgba(6,68,119,.2)}
.dd-menu,.results{background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.76))!important;border:1px solid rgba(255,255,255,.9)!important;box-shadow:0 22px 50px rgba(4,30,60,.3)!important}
.results b{color:#06284a}.results small,.results p{color:#4a6178}
.results a:hover,.results a:focus{background:rgba(6,68,119,.1)}
@media(max-width:860px){.site-header.frost,.site-header.frost.scrolled{background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.8))}}

/* ===== Videos: author line, in-place player, swap animation ===== */
.byline-v{font-size:.9rem;color:#d5e0ee;margin:-4px 0 8px}
.byline-v b{color:#fff;font-weight:700}
.vdate{margin:-2px 0 10px}
.slide .media .vlive{position:absolute;inset:0;z-index:4;border-radius:inherit;background:#041a30}
.slide .media.is-playing>img,.slide .media.is-playing>.play{visibility:hidden}
.vswap.swap-in .vfeature{animation:vswap .8s var(--ease) both}
@keyframes vswap{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
a.play{text-decoration:none}
.video-card .play{pointer-events:none}
.video-card h3{font-size:1.02rem}

.slide .media .vlive{aspect-ratio:auto;width:100%;height:100%;box-shadow:none}.slide .media .vlive iframe,.slide .media .vlive video{border-radius:inherit}

/* ===== Journal page: download on top, cover + description only ===== */
.journal-page{padding:40px 0 72px}
.jp-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-bottom:28px}
.jp-top h1{font-size:clamp(2rem,4vw,2.9rem);margin:0}
.jp-download{padding:13px 30px;font-size:1rem}
.jp-note{flex-basis:100%;order:3;font-size:.85rem;color:#d5e0ee;margin-top:-6px}
.jp-body{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:44px;padding:40px;align-items:center}
.jp-cover img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;box-shadow:0 30px 60px rgba(2,24,52,.5),0 0 0 1px rgba(255,255,255,.25);transition:transform .8s var(--ease)}
.jp-body:hover .jp-cover img{transform:translateY(-4px) scale(1.015)}
.jp-copy p{font-size:1.08rem;line-height:1.75;color:#e6ecf5}
.jp-copy p+p{margin-top:16px}
@media(max-width:860px){.jp-body{grid-template-columns:1fr;gap:28px;padding:26px;justify-items:center}.jp-cover{width:min(300px,100%)}.jp-top{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.jp-download{width:100%;justify-content:center}}

.jp-note{text-align:right;order:3;margin-top:-10px}@media(max-width:860px){.jp-note{text-align:left}}

/* ===== Newsletter section above the footer ===== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.subscribe{padding:72px 0 80px;margin-top:40px;position:relative;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.06) 40%,rgba(255,255,255,.1));
  border-top:1px solid rgba(255,255,255,.22);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}
.subscribe::before{content:"";position:absolute;left:50%;top:-1px;width:min(520px,70%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#fff,transparent)}
.sub-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.sub-copy h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:16px}
.sub-copy p{font-size:1.15rem;line-height:1.7;color:#eaf1f8;max-width:46ch}
.sub-form{padding:28px;border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.32);
  box-shadow:0 22px 54px rgba(2,24,52,.35),inset 0 1px 0 rgba(255,255,255,.35);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
.sub-row{display:flex;gap:12px}
.sub-row input{flex:1;min-width:0;padding:15px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.94);color:#06284a;font:inherit;font-size:1rem;
  transition:box-shadow .35s var(--ease),background .3s,border-color .3s}
.sub-row input::placeholder{color:#5d7890}
.sub-row input:hover{background:#fff}
.sub-row input:focus{outline:none;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.35)}
.sub-row input[aria-invalid="true"]{border-color:#ffb3b0;box-shadow:0 0 0 4px rgba(255,120,116,.3)}
.sub-row .btn{padding:15px 30px;font-size:1rem;flex:none}
.sub-row .btn:disabled{opacity:.7;cursor:progress;transform:none}
.sub-msg{min-height:0;margin:0;font-size:.92rem;line-height:1.5;opacity:0;max-height:0;overflow:hidden;transition:opacity .4s var(--ease),max-height .4s var(--ease),margin .4s}
.sub-msg.show{opacity:1;max-height:90px;margin-top:14px}
.sub-msg.ok{color:#c9f7df}.sub-msg.err{color:#ffd0cd}
@media(max-width:900px){.sub-inner{grid-template-columns:1fr;gap:30px}}
@media(max-width:560px){.subscribe{padding:48px 0 56px}.sub-form{padding:20px;border-radius:22px}.sub-row{flex-direction:column}.sub-row .btn{width:100%;justify-content:center}}

/* ===== Newsletter: no separate background, sits directly on the page gradient ===== */
.subscribe{background:none!important;border:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;margin-top:24px}
.subscribe::before{display:none}
.sub-form{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}

/* ===== Book covers: always the whole image, original proportions (contain, never cropped or zoomed) ===== */
.track .book{display:flex;flex-direction:column;align-items:center}
.track .book img{width:100%;height:clamp(280px,26vw,380px);aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:6px;background:rgba(255,255,255,.06);padding:0;
  box-shadow:0 18px 38px rgba(2,24,52,.45);transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.track .book:hover img,.track .book:focus-visible img{transform:translateY(-6px);box-shadow:0 26px 52px rgba(2,24,52,.55),0 0 0 1px rgba(255,255,255,.35)}
.track .book h3{margin-top:14px;width:100%}
.modal.book .modal-body>img{width:100%;height:clamp(280px,32vw,420px);aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:6px;background:rgba(255,255,255,.35)}
.modal.viewer .modal-body>img,.modal.viewer .vslide .modal-body>img{width:136px;height:204px;aspect-ratio:auto;object-fit:contain;object-position:center;background:rgba(255,255,255,.35);margin-bottom:0}
@media(max-width:640px){
  .modal.viewer .modal-body>img,.modal.viewer .vslide .modal-body>img{width:96px;height:144px}
  .track .book img{height:clamp(240px,60vw,320px)}
}

/* carousel covers: identical height, natural width (nothing cropped), no filler panel */
.track .book img{width:auto;max-width:100%;height:clamp(280px,26vw,380px);background:none;margin-inline:auto;object-fit:contain}
@media(max-width:640px){.track .book img{height:clamp(240px,60vw,320px)}}

/* covers: same height, natural width; cards size to their cover */
.track .book{flex:0 0 auto;width:auto}
.track .book img{width:auto;max-width:none;height:clamp(280px,26vw,380px)}
.track .book h3{max-width:100%;min-width:0;white-space:normal}
.track .book{max-width:min(420px,85vw)}
@media(max-width:640px){.track .book img{height:clamp(240px,60vw,320px)}}

.track .book h3{width:0;min-width:100%}

/* carousel covers: identical card width AND height; each cover is shown whole (contain) so it is never stretched or cropped */
.track .book{flex:0 0 calc((100% - 96px) / 5);width:auto;max-width:none}
.track .book img{width:100%;max-width:100%;height:clamp(280px,26vw,380px);object-fit:contain;object-position:center;background:rgba(255,255,255,.08);border-radius:8px}
.track .book h3{width:100%;min-width:0}
@media(max-width:1024px){.track .book{flex-basis:calc((100% - 24px) / 2)}}
@media(max-width:640px){.track .book{flex-basis:calc((100% - 24px) / 2)}.track .book img{height:clamp(200px,52vw,300px)}}

/* ===== IDI Journal cover: whole image, original proportions ===== */
.journal-cover-container{width:100%;height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:rgba(255,255,255,.07)}
.journal-cover-container img{width:100%;height:100%;max-width:none;aspect-ratio:auto;object-fit:contain;object-position:center;display:block;border-radius:0;box-shadow:none;transform:none!important}
.journal .cover img{aspect-ratio:auto}
.jp-cover{width:100%}
.jp-body:hover .jp-cover img{transform:none}
.jp-body .journal-cover-container{height:480px}
.journal .cover .journal-cover-container{filter:drop-shadow(0 24px 40px rgba(2,24,52,.45))}
@media(max-width:1024px){.journal-cover-container{height:380px}.jp-body .journal-cover-container{height:420px}}
@media(max-width:640px){.journal-cover-container{height:320px}.jp-body .journal-cover-container{height:360px}}

/* journal cover: beat the older `.journal .cover img` rule (object-fit:cover, fixed width) so the whole cover shows */
.journal .cover .journal-cover-container{width:100%;max-width:420px;height:420px}
.journal .cover .journal-cover-container img,.jp-body .journal-cover-container img{width:100%;height:100%;max-width:100%;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0;box-shadow:none}
.journal .cover{padding:32px}
@media(max-width:1024px){.journal .cover .journal-cover-container{height:380px}}
@media(max-width:640px){.journal .cover .journal-cover-container{height:320px}}

/* ===== Video thumbnails: identical box sizes, whole image shown (contain, never cropped or stretched) ===== */
#videos .slide .media,.featured-block .slide .media{background:rgba(255,255,255,.08)}
#videos .slide .media>img,.featured-block .slide .media>img,.slide .media>img[alt^="Thumbnail"]{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
#videos .slide:hover .media img,.featured-block .slide:hover .media img{transform:none}
.video-card .thumb{aspect-ratio:3/2;background:rgba(255,255,255,.08);position:relative}
.video-card .thumb img{width:100%;height:100%}
.video-card:hover .thumb img{transform:none}
.video-card:hover{transform:translateY(-6px)}
.ep-thumb img{object-fit:cover}
@media(max-width:860px){#videos .slide .media,.featured-block .slide .media{min-height:240px}}
@media(max-width:560px){.video-card .thumb{aspect-ratio:16/10}}

/* ===== videos.html grid: 3 equal columns (2 tablet, 1 phone), uniform thumbnails, aligned text ===== */
#video-root .grid-4{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
#video-root .video-card{display:flex;flex-direction:column;height:100%}
#video-root .video-card .thumb{width:100%;aspect-ratio:16/10;flex:none;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
#video-root .video-card .thumb img{width:100%;height:100%}
#video-root .video-card .info{flex:1;display:flex;flex-direction:column;padding:18px 22px 22px;text-align:left}
#video-root .video-card h3{font-size:1.1rem;line-height:1.3;min-height:2.6em;margin-bottom:8px}
#video-root .video-card .meta{margin-bottom:10px}
#video-root .video-card .vdesc{font-size:.9rem;line-height:1.55;color:#e0e9f3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:auto}
@media(max-width:1024px){#video-root .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media(max-width:600px){#video-root .grid-4{grid-template-columns:1fr;gap:20px}#video-root .video-card h3{min-height:0}}

/* featured (single) video image on videos.html: back to filling its box; contain/center removed here only */
#video-root .featured-block .slide .media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:initial;transform:none;transition:transform 1.3s var(--ease)}
#video-root .featured-block .slide:hover .media>img{transform:scale(1.07)}
#video-root .featured-block .slide .media{background:none}

/* video cards on videos.html: images fill the thumbnail box (cover) */
#video-root .video-card .thumb img{object-fit:cover}

/* ===== videos.html grid: 4 equal columns on desktop (2 tablet, 1 phone); whole thumbnails, never cropped or stretched ===== */
#video-root .grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
#video-root .video-card .thumb{aspect-ratio:16/10;background:rgba(255,255,255,.08)}
#video-root .video-card .thumb img{width:100%;height:100%}
#video-root .video-card .info{padding:16px 18px 20px}
#video-root .video-card h3{font-size:1rem;min-height:2.6em}
#video-root .video-card .vdesc{font-size:.86rem}
@media(max-width:1180px){#video-root .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media(max-width:600px){#video-root .grid-4{grid-template-columns:1fr;gap:20px}#video-root .video-card h3{min-height:0}}

/* Download PDF on the selected policy brief */
.pdf-btn{align-self:flex-start;margin-bottom:16px;padding:10px 22px;font-size:.92rem}
.pdf-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-bottom:16px}
.pdf-wrap .pdf-btn{margin-bottom:0}
.pdf-note{color:#d5e0ee;font-size:.82rem}
.pdf-btn.disabled{background:rgba(255,255,255,.55);color:#4a6178}

/* ===== IDI Articles grid (article.html): reveal cards with the title on the image; date + author slide up in a glass panel on hover ===== */
.art-tiles{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:32px}
.art-tile::before{background:linear-gradient(0deg,rgba(8,8,18,.92) 0%,rgba(8,8,18,.6) 45%,rgba(8,8,18,0) 78%)}
.art-tiles .art-tile{aspect-ratio:auto;height:260px}
.art-tile::after{display:none}
.art-tile>img{width:100%;height:100%}
.art-tile .rev-head h3{font-size:1.12rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.art-type{position:absolute;top:16px;left:16px;padding:6px 14px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;
  background:rgba(6,40,74,.42);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);box-shadow:0 6px 18px rgba(4,4,12,.25)}
.art-meta{display:flex;flex-direction:column;gap:2px;width:100%;margin-top:12px;padding:12px 14px;border-radius:16px;font-size:.84rem;color:#e8f2fb;
  background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 10px 28px rgba(4,4,12,.3)}
.art-meta b{color:#fff}
.art-tile .rev-more{align-items:stretch}
@media(max-width:1024px){.art-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.art-tiles{grid-template-columns:1fr}.art-tiles .art-tile{aspect-ratio:auto;height:clamp(260px,72vw,340px)}}
/* touch screens have no hover: keep date and author visible */
@media(hover:none){.art-tile .rev-more{max-height:none;opacity:1;transform:none}}

/* Experts page: three grouped sections, same cards as Our Columnists */
.experts-group+.experts-group{padding-top:24px}
.experts-group .sec-head{margin-bottom:24px}

/* ===== From IDI Fellows (fellows.html): interview request band, news grid, request popup ===== */
.ivw-sec{padding-top:32px;padding-bottom:16px}
.ivw-band{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:36px 40px}
.ivw-copy{max-width:640px}
.ivw-copy h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:10px 0 8px}
.ivw-open{flex:none;white-space:nowrap;padding:15px 30px;font-size:1rem}
@media(max-width:760px){.ivw-band{flex-direction:column;align-items:stretch;padding:28px 24px}.ivw-open{justify-content:center;white-space:normal}}

/* News lists (homepage + news.html): titles and authors only */
.news-list{list-style:none;margin:0;padding:0;border-radius:var(--radius);overflow:hidden;background:var(--card-bg);border:1px solid var(--card-bd);box-shadow:var(--shadow)}
.news-list li+li{border-top:1px solid rgba(255,255,255,.16)}
.news-item{display:grid;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:8px 24px;padding:20px 26px;transition:background .4s var(--ease)}
.news-item:hover,.news-item:focus-visible{background:rgba(255,255,255,.12)}
.news-item .nt{font-family:var(--serif);font-size:1.15rem;font-weight:600;line-height:1.35;color:#fff}
.news-item .na{font-size:.88rem;font-weight:600;color:#d5e0ee;white-space:nowrap}
.news-item .go{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.14);transition:transform .4s var(--ease),background .4s,color .4s}
.news-item:hover .go{transform:translateX(4px);background:#fff;color:#0b639b}
.news-list.compact{background:none;border:0;box-shadow:none;border-radius:0}
.news-list.compact .news-item{grid-template-columns:1fr;gap:4px;padding:12px 4px}
.news-list.compact .nt{font-size:.98rem}
.news-list.compact .go{display:none}
.news-article .news-by{margin:4px 0 22px}
.news-article .news-by .by{font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px}
.news-sec .actions-center{margin-top:28px}
@media(max-width:640px){.news-item{grid-template-columns:minmax(0,1fr) 30px;padding:16px 18px}.news-item .na{grid-row:2;white-space:normal}.news-item .go{grid-row:1/3;grid-column:2;width:30px;height:30px}}

.ivw-modal .dialog{width:min(1000px,100%)}
.ivw-head{margin-bottom:22px}
.ivw-head .tag{margin-bottom:8px}
.ivw-head p{margin-top:4px}
.ivw-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.ivw-experts{max-height:min(60vh,560px);overflow:auto;padding-right:6px;overscroll-behavior:contain}
.ivw-experts h4{font-family:var(--font);font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:16px 0 8px}
.ivw-experts h4:first-child{margin-top:0}
.ivw-experts ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ivw-pick{width:100%;display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:14px;border:1px solid transparent;background:rgba(255,255,255,.55);
  font:inherit;text-align:left;color:var(--text);cursor:pointer;transition:background .3s,border-color .3s}
.ivw-pick:hover{background:#fff;border-color:rgba(11,99,155,.18)}
.ivw-pick.on{background:#fff;border-color:#2580b5;box-shadow:0 0 0 3px rgba(37,128,181,.15)}
.ivw-pick img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:none;background:#0b4a7a}
.ivw-pick b{display:block;color:var(--heading);font-size:.9rem}
.ivw-pick small{display:block;font-size:.76rem;color:var(--text-soft)}
.ivw-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.ivw-form .full{grid-column:1/-1}
.f-row{display:flex;flex-direction:column;gap:6px;min-width:0}
.f-row label{font-size:.84rem;font-weight:700;color:var(--heading)}
.f-row label i,.f-note i{font-style:normal;color:#c2410c}
.f-row input,.f-row select,.f-row textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(11,99,155,.22);background:rgba(255,255,255,.88);
  color:#06284a;font:inherit;font-size:.95rem;transition:border-color .25s,box-shadow .25s,background .25s}
.f-row textarea{resize:vertical;min-height:110px}
.f-row input:focus,.f-row select:focus,.f-row textarea:focus{outline:none;background:#fff;border-color:#2580b5;box-shadow:0 0 0 4px rgba(37,128,181,.16)}
.f-row [aria-invalid="true"]{border-color:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.12)}
.f-err{font-size:.8rem;color:#b91c1c;min-height:0}
.f-err:empty{display:none}
.f-foot{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.f-note{font-size:.8rem;color:var(--text-soft)}
.ivw-form .btn{margin-top:0}
.ivw-form .btn:disabled{opacity:.7;cursor:progress}
.ivw-status{display:none;margin:0;padding:12px 16px;border-radius:12px;font-size:.92rem;line-height:1.5}
.ivw-status.show{display:block}
.ivw-status.ok{background:#e7f8ef;color:#166534;border:1px solid #bbe5cc}
.ivw-status.err{background:#fdecec;color:#991b1b;border:1px solid #f5c2c2}
@media(max-width:860px){.ivw-grid{grid-template-columns:1fr}.ivw-experts{max-height:240px}}
@media(max-width:560px){.ivw-form{grid-template-columns:1fr}.f-foot{flex-direction:column-reverse;align-items:stretch}.f-foot .btn{justify-content:center}}

/* ===== Compact vertical rhythm: tighter spacing between sections (all pages) ===== */
main>section:not(.trending):not(.show-banner):not(.show-hero){margin-block:0!important}
section{padding:clamp(24px,3vw,36px) 0}
.trending{padding:0}
.hero{padding:20px 0 clamp(24px,3vw,36px)}
.hero .columnists {
	margin-top: clamp(28px,6vw,70px) !important;
}
.page-title{padding:clamp(24px,3vw,32px) 0 0}
.single{padding:16px 0 clamp(24px,3vw,36px)}
.journal-page{padding:20px 0 clamp(24px,3vw,36px)}
.show-eps{padding:clamp(24px,3vw,36px) 0}
.subscribe{padding:clamp(32px,4vw,44px) 0;margin-top:0}
.ivw-sec{padding-top:16px;padding-bottom:8px}
.experts-group{padding-bottom:8px}
.experts-group+.experts-group{padding-top:16px}
.sec-head{margin-bottom:22px}
.sec-head h2::after{margin-top:8px}
.actions-right{margin-top:20px}
.actions-center{margin-top:22px}
.day-group{margin-bottom:28px}
.more-head{margin-top:32px}
.profile{margin-bottom:28px}
.single-foot{margin-top:22px}
.art-tiles{margin-top:20px}
@media(max-width:640px){
  section{padding:22px 0}
  .trending{padding:0}
  .hero{padding:14px 0 22px}
  .page-title{padding:20px 0 0}
  .subscribe{padding:28px 0 32px}
  .sec-head{margin-bottom:18px}
  .actions-right,.actions-center{margin-top:18px}
}
/* hero feature: "Latest Article" label sits on the image; tighter body */
.feature .img-wrap .img-tag{position:absolute;top:16px;left:16px;z-index:2;margin:0;
  background:rgba(6,40,74,.55);color:#fff;border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 18px rgba(2,24,52,.3)}
.feature img{height:clamp(220px,26vw,330px)}
.feature .body{padding:16px 20px 18px}
.feature h1{font-size:clamp(1.4rem,2.3vw,1.9rem);margin:0 0 6px;line-height:1.18}
.feature p.sum{margin-top:8px}
@media(max-width:640px){.feature .img-wrap .img-tag{top:12px;left:12px}.feature .body{padding:14px 14px 16px}}

/* ===== Footer: white frosted glass to match the header ===== */
.site-footer{background:none!important;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:clamp(24px,3vw,36px) 0 20px;color:#33506b}
.site-footer::before{display:none}
.site-footer .container.foot-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:28px 48px;align-items:start;
  padding:36px 40px 0;border-radius:30px;
  background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(255,255,255,.5)),url("images/photos/footer-banner.png") center/cover no-repeat;
  backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);
  border:1px solid rgba(255,255,255,.85);box-shadow:0 16px 42px rgba(4,30,60,.28),inset 0 1px 0 #fff}
.site-footer .foot-logo{display:inline-block}
.site-footer .foot-logo img{height:52px;width:auto;background:none;padding:0;border-radius:0;box-shadow:none;transition:transform .3s}
.site-footer .foot-logo:hover img{transform:scale(1.04)}
.foot-about{margin:14px 0 0;max-width:44ch;font-size:.95rem;line-height:1.65;color:#33506b}
.site-footer .foot-col{display:flex;flex-direction:column;gap:10px;font-weight:500;font-size:.93rem}
.site-footer .foot-col h4{font-family:inherit;margin:4px 0 4px;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#0b639b;-webkit-text-fill-color:#0b639b;text-shadow:none;background:none;animation:none}
.site-footer .foot-col a{color:#06284a;width:fit-content;transition:color .25s,transform .25s}
.site-footer .foot-col a:hover,.site-footer .foot-col a:focus-visible{color:#0b639b;transform:translateX(3px)}
.foot-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  margin-top:4px;padding:18px 0 20px;border-top:1px solid rgba(6,68,119,.14);font-size:.85rem}
.site-footer .foot-bottom small{width:auto;opacity:1;color:#4a6178;font-size:.85rem}
.site-footer .foot-top{font-weight:600;color:#06284a;padding:7px 14px;border-radius:999px;border:1px solid rgba(6,68,119,.2);background:rgba(255,255,255,.6);transition:background .25s,color .25s}
.site-footer .foot-top:hover{background:#06284a;color:#fff}
@media(max-width:860px){
  .site-footer .container.foot-wrap{grid-template-columns:1fr 1fr;padding:30px 28px 0;gap:24px 32px}
  .foot-brand{grid-column:1/-1}
}
@media(max-width:560px){
  .site-footer .container.foot-wrap{width:calc(100% - 24px);padding:26px 20px 0;border-radius:24px;gap:22px 20px}
  .site-footer .foot-logo img{height:46px}
  .foot-bottom{flex-direction:column-reverse;align-items:flex-start;padding-bottom:18px}
}

/* trending bar sits directly below the hero articles */
.hero .trending{margin-top:var(--gap)}
@media(max-width:640px){.hero .trending{margin-top:18px}}

/* ===== Responsive overflow fixes ===== */
/* decorative hero glows extend past the edge (right:-120px); clip them without creating a scroll container */
.hero{overflow-x:clip}
/* inactive slides wait offscreen at translateX(36px); clip at the gutter so they can't widen the page on phones */
.slider{overflow-x:clip;overflow-clip-margin:24px}

/* Experts page: exactly 20px after each of the three groups */
.experts-group,.experts-group+.experts-group{padding-bottom:20px}
.experts-group+.experts-group{padding-top:0}
/* "View All" buttons: always right-aligned, on every screen size */
.actions-right,.actions-center{justify-content:flex-end}
@media(max-width:640px){.actions-right,.actions-center{justify-content:flex-end}}

/* ===== Soft gradient hover border (replaces the solid white hover border) =====
   A 1px masked ring fades in on hover: bright at the top-left, dissolving to a faint light blue, plus a gentle glow. */
:root,section,.frost,.card{
  --hover-ring:linear-gradient(135deg,rgba(255,255,255,.62) 0%,rgba(214,236,252,.3) 38%,rgba(191,224,245,.12) 68%,rgba(255,255,255,.34) 100%);
  --hover-glow:0 0 0 1px rgba(214,236,252,.06),0 0 28px rgba(191,224,245,.16)}
.card,.mini-col,.ep-card,.latest-item{position:relative}
.card::after,.mini-col::after,.ep-card::after,.latest-item::after,.rev-over::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:3;
  background:var(--hover-ring);opacity:0;transition:opacity .6s var(--ease);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.rev-over::after{border-radius:25px}
.card:hover::after,.mini-col:hover::after,.ep-card:hover::after,.ep-card:focus-visible::after,.latest-item:hover::after,
.rev-card:hover .rev-over::after,.rev-card:focus-visible .rev-over::after{opacity:1}
/* solid border stays at its resting colour; only the soft gradient ring shows */
.card:hover,.brief-card:hover,.ep-card:hover,.ep-card:focus-visible,.mini-col:hover{border-color:var(--card-bd);box-shadow:var(--shadow-lg),var(--hover-glow)}
.latest-item:hover{border-color:transparent;box-shadow:0 0 22px rgba(191,224,245,.12)}
.rev-card:hover,.rev-card:focus-visible,.rev-card.is-revealed{border-color:rgba(214,236,252,.22);box-shadow:var(--shadow-lg),var(--hover-glow)}
@media(prefers-reduced-motion:reduce){.card::after,.mini-col::after,.ep-card::after,.latest-item::after,.rev-over::after{transition:none}}

/* ===== Home Videos slider: responsive fixes =====
   The 35/65 "#videos .slide" rule above (Policy Briefs block) comes after the 860px query and kept phones on two columns.
   Re-assert the stacked layout last, let grid tracks shrink below content width, and size thumbnails by aspect ratio. */
#videos .slides{grid-template-columns:minmax(0,1fr)}
#videos .slide{min-width:0}
#videos .slide>*{min-width:0}
#videos .slide .copy h3,#videos .title-tab{overflow-wrap:anywhere}
#videos .titles>*{min-width:0}
@media(max-width:860px){
  #videos .slide{grid-template-columns:minmax(0,1fr);padding:14px;gap:6px}
  #videos .slide .media{min-height:0;aspect-ratio:16/9;width:100%;border-radius:16px}
  #videos .slide .copy{padding:14px 6px 8px}
  #videos .slide .copy p:not(.byline-v){margin-bottom:16px}
  #videos .titles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:560px){
  #videos .slide{padding:10px;border-radius:20px}
  #videos .slide .media{border-radius:14px}
  #videos .slide .copy{padding:12px 4px 6px}
  #videos .slide .copy h3{font-size:1.3rem;line-height:1.25;margin-bottom:10px}
  #videos .slide .copy p:not(.byline-v){font-size:.95rem;line-height:1.55}
  #videos .slide .copy .btn{align-self:stretch;justify-content:center}
  #videos .play span{width:58px;height:58px;font-size:1.3rem}
  #videos .titles{gap:10px}
  #videos .title-tab{padding:12px 14px;font-size:.86rem;line-height:1.35}
}
@media(max-width:360px){
  #videos .titles{grid-template-columns:minmax(0,1fr)}
}

/* ===== Site-wide gutters: full-width containers, 5% side padding (desktop/tablet), 15px on mobile =====
   Placed last so it overrides the older min(1200px, …) caps and any "padding:X 0 Y" shorthands on wrappers (e.g. .container.page-title). */
:root{--gutter:max(2%,24px)}
@media(max-width:560px){:root{--gutter:max(2%,14px)}}
.container,.hero-grid,.hero .columnists>.container,.show-hero-in{
  width:100%;max-width:none;margin-inline:0;padding-inline:var(--gutter)}
/* glass header pill and footer card keep their own inner padding; their outer edges line up with the gutters */
.site-header{width:calc(100% - 2 * var(--gutter));max-width:none;margin-inline:auto}
.site-footer .container.foot-wrap{width:calc(100% - 2 * var(--gutter));max-width:none;margin-inline:auto}

/* --- Comments (article pages): one thread per article, replies one level deep --- */
.comments{margin-top:var(--gap);padding:clamp(22px,4vw,40px)}
.comments h2{font-size:1.5rem;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.c-count{font:700 .85rem var(--font);padding:3px 11px;border-radius:999px;background:var(--tag-bg);color:var(--tag-fg);border:1px solid var(--tag-bd)}
.c-form{display:grid;gap:10px}
.c-form input,.c-form textarea{width:100%;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:var(--band);color:var(--heading);font:inherit;font-size:.95rem;resize:vertical}
.c-form input::placeholder,.c-form textarea::placeholder{color:var(--text-soft)}
.c-form input:focus,.c-form textarea:focus{outline:2px solid var(--hover-bd);outline-offset:1px}
.c-form-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.c-form-row .btn{padding:10px 22px;cursor:pointer}
.c-err{margin-right:auto;font-size:.85rem;color:#ffb4a8}
.c-list,.c-replies{list-style:none;margin:0;padding:0}
.c-list{margin-top:28px;display:grid;gap:22px}
.c-item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px}
.c-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#06284a;background:linear-gradient(135deg,#f4f9fd,#7fb8e0)}
.is-reply .c-avatar{width:32px;height:32px;font-size:.85rem}
.is-reply{grid-template-columns:32px minmax(0,1fr)}
.c-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.c-head b{color:var(--heading)}
.c-text{margin:4px 0 8px;overflow-wrap:anywhere}
.c-actions{display:flex;gap:6px}
.c-like,.c-reply{background:none;border:1px solid transparent;color:var(--text-soft);font:600 .85rem var(--font);padding:4px 12px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
.c-like:hover,.c-reply:hover{background:var(--band);color:var(--heading)}
.c-like.on{color:#ff8fa3;background:rgba(255,143,163,.12)}
.c-reply-slot{margin-top:10px}
.c-replies{margin-top:16px;display:grid;gap:16px;padding-left:2px;border-left:2px solid var(--line);padding-left:16px}
.c-replies:empty{display:none}
.c-empty{margin-top:22px}
@media(max-width:600px){.c-item{grid-template-columns:34px minmax(0,1fr);gap:10px}.c-avatar{width:34px;height:34px}.c-replies{padding-left:10px}}

/* --- Donate band (above the footer) + Donate page --- */
.don-field{position:relative;flex:1;min-width:0;display:flex}
.don-field span{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:#5d7890;font-weight:600;pointer-events:none}
.don-page{max-width:calc(780px + 2 * var(--gutter, 24px));margin:0 auto;text-align:left}
.don-prose p{margin-bottom:1em;font-size:1.04rem;line-height:1.8}
.don-prose b{color:var(--heading)}
.don-link{font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.don-note{padding:22px 26px;margin:28px 0 8px}
.don-note p{color:var(--heading);font-weight:700;line-height:1.7}
.don-note p+p{margin-top:18px}
.don-head{margin:clamp(36px,6vw,56px) 0 20px}
.don-card{max-width:none;padding:clamp(18px,3vw,30px)}
.don-opt{padding:11px 20px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--heading);font:600 .95rem var(--font);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.don-opt:hover{background:rgba(255,255,255,.2)}
.don-opt[aria-pressed="true"]{background:#fff;color:#06284a;border-color:#fff;box-shadow:0 6px 18px rgba(4,4,12,.25)}
.don-seg{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.don-seg .don-opt{padding:13px;border-radius:999px}
.don-amts{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px;margin:18px 0}
.don-other{margin:-4px 0 18px}
.don-other[hidden]{display:none}
.don-in{width:100%;padding:13px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.94);color:#06284a;font:inherit;font-size:.95rem}
.don-in::placeholder{color:#5d7890}
.don-in:focus{outline:none;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.35)}
.don-in[aria-invalid="true"]{border-color:#ffb3b0;box-shadow:0 0 0 4px rgba(255,120,116,.3)}
textarea.don-in{min-height:88px;resize:vertical}
.don-field .don-in{padding-left:38px}
.don-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.don-grid .full{grid-column:1/-1}
.don-pay{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 14px}
.don-pay .don-opt{flex:1 1 auto}
.don-mount{min-height:52px;padding:14px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.94);color:#5d7890;font-size:.95rem}
.don-submit{width:100%;justify-content:center;margin-top:20px;padding:15px 24px;font-size:1.02rem;cursor:pointer}
.don-submit:disabled{opacity:.7;cursor:progress}
@media(max-width:560px){.don-grid{grid-template-columns:minmax(0,1fr)}.don-seg{gap:10px}.don-opt{padding:10px 16px}}

/* --- Donate band: full-bleed photo under a smoky glass panel --- */
.donate-band{position:relative}
.don-glass{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.8fr);gap:clamp(20px,3vw,40px);align-items:center;padding:clamp(22px,3.5vw,40px);border-radius:26px;
  background:radial-gradient(ellipse 60% 70% at 15% 0%,rgba(255,255,255,.2),transparent 65%),radial-gradient(ellipse 55% 70% at 95% 100%,rgba(127,184,224,.22),transparent 65%),linear-gradient(135deg,rgba(14,34,54,.55),rgba(10,28,46,.4));
  border:1px solid rgba(255,255,255,.26);box-shadow:0 30px 70px rgba(2,12,26,.5),inset 0 1px 0 rgba(255,255,255,.3);
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}
.don-glass *{text-shadow:none}
.don-eyebrow{display:block;margin-bottom:12px;color:#7fb8e0;font:700 .78rem var(--font);letter-spacing:.2em;text-transform:uppercase}
.don-intro h2{margin:0 0 14px;font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.12;color:#fff;background:none;-webkit-text-fill-color:#fff}
.don-intro h2::after{display:none}
.don-intro h2 span{color:#7fc3f5;-webkit-text-fill-color:#7fc3f5}
.don-intro p{max-width:44ch;margin:0;font-size:clamp(.98rem,1.4vw,1.08rem);line-height:1.65;color:#dbe9f6}
.don-intro .don-script{margin-top:18px;font:600 clamp(1.5rem,2.4vw,1.9rem)/1.2 'Caveat','Segoe Script',cursive;color:#9fd0f5;transform:rotate(-2deg);transform-origin:left}
.don-form{display:grid;gap:12px;padding:clamp(18px,2.4vw,24px);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.34);box-shadow:0 10px 30px rgba(2,12,26,.25),inset 0 1px 0 rgba(255,255,255,.35);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}
.don-form-title{margin:0;font:700 .95rem var(--font);color:#fff;letter-spacing:.01em}
.don-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.don-quick button{padding:10px 0;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#fff;font:700 .92rem var(--font);cursor:pointer;transition:background .2s,border-color .2s}
.don-quick button:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5)}
.don-quick button[aria-pressed="true"]{background:linear-gradient(135deg,#3b91c5,#0b639b);border-color:transparent}
.don-form .don-field{flex:none;width:100%}
.don-form .don-field span{left:14px;color:#9fb6cc}
.don-form .don-field input{width:100%;min-width:0;padding:13px 14px 13px 34px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:.95rem}
.don-form .don-field input::placeholder{color:#9fb6cc}
.don-form .don-field input:focus{outline:none;border-color:#7fb8e0;box-shadow:0 0 0 3px rgba(127,184,224,.3)}
.don-form .don-field input[aria-invalid="true"]{border-color:#ffb3b0;box-shadow:0 0 0 3px rgba(255,120,116,.3)}
.don-check{display:flex;align-items:center;gap:10px;color:#dbe9f6;font-size:.88rem;cursor:pointer}
.don-check input{width:17px;height:17px;margin:0;accent-color:#3b91c5}
.don-go{width:100%;justify-content:center;gap:10px;padding:14px 20px;font-size:1rem;cursor:pointer;color:#fff;border:0;background:linear-gradient(135deg,#3b91c5,#0b639b);box-shadow:0 12px 28px rgba(11,99,155,.5)}
.don-go:hover{background:linear-gradient(135deg,#5aa8d6,#2580b5);box-shadow:0 14px 32px rgba(37,128,181,.55)}
.don-msg{margin:0;font-size:.9rem;line-height:1.5;opacity:0;max-height:0;overflow:hidden;transition:opacity .3s,max-height .3s}
.don-msg.show{opacity:1;max-height:90px}
.don-msg.err{color:#ffc9c5;font-weight:600}
.don-trust{list-style:none;margin:0;padding:0 0 0 clamp(16px,2.5vw,32px);border-left:1px solid rgba(255,255,255,.22);display:grid;gap:22px}
.don-trust li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center}
.don-trust svg{width:30px;height:30px;fill:none;stroke:#bfe0f5;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.don-trust b{display:block;color:#fff;font-size:.92rem;line-height:1.3}
.don-trust small{display:block;margin-top:2px;color:#b9cde0;font-size:.8rem;line-height:1.4}
@media(max-width:1100px){
  .don-glass{grid-template-columns:repeat(2,minmax(0,1fr))}
  .don-trust{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.22)}
}
@media(max-width:760px){
  .don-glass{grid-template-columns:minmax(0,1fr)}
  .don-trust{grid-template-columns:minmax(0,1fr)}
  }

/* --- Donate page: one centered column --- */
.don-page .don-prose p{max-width:none}
.don-page .don-head{justify-content:flex-start;text-align:left}
.don-note{max-width:none;margin:32px 0 8px}
.don-page .don-link{display:inline-block;margin-top:6px}
@media(max-width:560px){.don-note{padding:18px}.don-page .don-prose p{font-size:1rem}}

/* --- Newsletter band: centered signup with a joined email + button field --- */
.news-sub{padding:clamp(40px,3vw,72px) 0 clamp(28px,4vw,48px);margin-top:0}
.sub-center{max-width:calc(680px + 2 * var(--gutter, 24px));margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.sub-icon{width:64px;height:64px;margin-bottom:16px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.4);box-shadow:0 12px 30px rgba(2,12,26,.3),inset 0 1px 0 rgba(255,255,255,.4)}
.sub-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sub-eyebrow{margin-bottom:8px;color:#bfe0f5;font:700 .78rem var(--font);letter-spacing:.2em;text-transform:uppercase}
.news-sub h2{margin:0 0 12px;font-size:clamp(2rem,4vw,2.8rem);line-height:1.15}
.news-sub .sub-center>p{max-width:52ch;margin:0 0 26px;font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.7;color:#e6ecf5}
.news-sub .sub-form{width:100%;max-width:560px;padding:0}
.sub-pill{display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .2s,box-shadow .2s}
.sub-pill:focus-within{border-color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.28)}
.sub-pill:has(input[aria-invalid="true"]){border-color:#ffb3b0;box-shadow:0 0 0 4px rgba(255,120,116,.3)}
.sub-pill input{flex:1;min-width:0;padding:12px 20px;border:0;background:transparent;color:#fff;font:inherit;font-size:1rem}
.sub-pill input::placeholder{color:#c9d9ea}
.sub-pill input:focus{outline:none}
.sub-pill .btn{flex:none;padding:13px 30px;font-size:1rem;cursor:pointer}
.sub-pill .btn:disabled{opacity:.7;cursor:progress;transform:none}
.news-sub .sub-msg{text-align:center}
@media(max-width:520px){
  .sub-pill{flex-direction:column;align-items:stretch;border-radius:22px;gap:8px}
  .sub-pill input{text-align:center;padding:12px 14px}
  .sub-pill .btn{width:100%;justify-content:center}
}

/* Policy Briefs: portrait covers shown whole (no cropping) */
#briefs .slide,#brief-root .slide{grid-template-columns:5fr 7fr}
#briefs .slide .media,#brief-root .slide .media{min-height:0;height:560px;background:rgba(11,99,155,.06)}
#briefs .slide .media::after,#brief-root .slide .media::after{display:none}
#briefs .slide .media img,#brief-root .slide .media img{inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);object-fit:contain}
#brief-root .brief-card .thumb{aspect-ratio:4/5;background:rgba(11,99,155,.06)}
#brief-root .brief-card .thumb img{object-fit:contain}
#brief-root .brief-card:hover .thumb img{transform:none}
@media(max-width:820px){
  #briefs .slide,#brief-root .slide{grid-template-columns:1fr}
  #briefs .slide .media,#brief-root .slide .media{height:auto;aspect-ratio:7/10;max-height:520px}
}

/* Homepage Policy Briefs: fixed-height image frame, full image visible */
#briefs .slide .media{height:300px;min-height:300px;max-height:300px}
#briefs .slide .media img{object-fit:contain;object-position:center}
@media(max-width:820px){#briefs .slide .media{height:clamp(220px,70vw,420px);min-height:0;max-height:none;aspect-ratio:auto}}

/* From Our Fellows (left cards): fixed frame height, whole image, original proportions */
.essay-card .thumb{aspect-ratio:auto;height:200px;background:rgba(11,99,155,.06)}
.essay-card .thumb img{width:100%;height:100%;object-position:center}
.essay-card:hover .thumb img{transform:none}
@media(max-width:1024px){.essay-card .thumb{height:220px}}
@media(max-width:640px){.essay-card .thumb{height:clamp(180px,52vw,260px)}}

/* Show cards: a little shorter on phones */
@media(max-width:560px){.show-card.rev-card{aspect-ratio:1/1}}

/* IDI Explains: larger Latest Video player, compact text column (YouTube-style proportions) */
#video-root .featured-block .vfeature{grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:26px}
#video-root .featured-block .vfeature .media{min-height:0;aspect-ratio:16/9;align-self:start}
#video-root .featured-block .vfeature .copy{padding:8px 8px 8px 0}
#video-root .featured-block .vfeature .copy h3{font-size:clamp(1.15rem,1.7vw,1.5rem)}
@media(max-width:900px){
  #video-root .featured-block .vfeature{grid-template-columns:minmax(0,1fr);gap:14px}
  #video-root .featured-block .vfeature .copy{padding:4px 6px 8px}
}

/* Home Videos slider: larger player, compact text column (same proportions as the Videos page) */
#videos .slide{grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:26px}
#videos .slide .media{min-height:0;aspect-ratio:16/9;align-self:start}
#videos .slide .copy{padding:8px 8px 8px 0}
#videos .slide .copy h3{font-size:clamp(1.15rem,1.7vw,1.5rem)}
@media(max-width:860px){
  #videos .slide{grid-template-columns:minmax(0,1fr);gap:6px}
  #videos .slide .copy{padding:14px 6px 8px}
}

/* article.html: image wrappers with a fixed height; images only get width/height 100% */
.art-tiles{--art-h:260px}
.art-tiles .art-tile{aspect-ratio:auto;height:var(--art-h)}
.art-tiles .art-img{position:absolute;inset:0;z-index:-2;height:var(--art-h)}
.art-tiles .art-img img{width:100%;height:100%;object-fit: cover;}
.article .hero-img{height:420px;max-height:none}
@media(max-width:1024px){.art-tiles{--art-h:280px}.article .hero-img{height:340px}}
@media(max-width:640px){.art-tiles{--art-h:clamp(240px,68vw,320px)}.article .hero-img{height:clamp(200px,56vw,280px)}}

/* From Our Fellows: four regular articles, no featured item */
.fellows{grid-template-columns:minmax(0,1fr)}
.fellows-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1024px){.fellows-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.fellows-grid{grid-template-columns:minmax(0,1fr)}}

/* Footer "back to top": icon only */
.site-footer .foot-top{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0}

/* Homepage Policy Briefs: image column 30%, text column 70% (stacked on mobile as before) */
@media(min-width:821px){#briefs .slide{grid-template-columns:minmax(0,2fr) minmax(0,8fr)}}

/* Homepage Policy Briefs: image frame follows the portrait cover's proportions (7:10), whole image visible */
@media(min-width:821px){#briefs .slide .media{height:auto;min-height:0;max-height:none;aspect-ratio:7/10;align-self:start}}

/* Homepage Policy Briefs: image sits in the media div with equal padding on all four sides; the frame takes the image's own proportions */
#briefs .slide .media{height:auto;min-height:0;max-height:none;aspect-ratio:auto;padding:14px;box-sizing:border-box;align-self:start}
#briefs .slide .media img{position:static;display:block;inset:auto;width:100%;height:auto;object-fit:contain}
@media(max-width:820px){#briefs .slide .media{width:100%;max-width:340px;margin-inline:auto}}

/* Homepage IDI Journal: cover frame shrinks to the cover's own width (no empty side space) */
.journal .cover .journal-cover-container{width:fit-content;max-width:100%}
.journal .cover .journal-cover-container img{width:auto;max-width:100%;height:100%}

/* Homepage Policy Briefs: content centred vertically in the slide card */
#briefs .slide{align-items:center}
#briefs .slide .media{align-self:center}
#briefs .slide .copy{align-self:center;justify-content:center;padding-block:8px}

/* briefs.html featured brief: same layout and proportions as the homepage Policy Briefs slide (frame follows the cover's own ratio, no crop or stretch) */
@media(min-width:821px){#brief-root .slide{grid-template-columns:minmax(0,2.5fr) minmax(0,7.5fr)}}
#brief-root .slide{align-items:center}
#brief-root .slide .media{height:auto;min-height:0;max-height:none;aspect-ratio:auto;padding:14px;box-sizing:border-box;align-self:center}
#brief-root .slide .media img{position:static;display:block;inset:auto;width:100%;height:auto;object-fit:contain}
#brief-root .slide .copy{align-self:center;justify-content:center;padding-block:8px}
/* More Policy Briefs thumbnails: image spans the full width of its frame edge to edge, height follows the cover's own ratio (no crop, no stretch) */
#brief-root .brief-card .thumb{aspect-ratio:auto;background:none}
#brief-root .brief-card .thumb img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:820px){#brief-root .slide .media{width:100%;max-width:340px;margin-inline:auto}}

/* ===== Header nav: IDI · Experts · Subscribe · Donate · expandable search ===== */
.site-header{gap:14px}
.nav{margin-left:auto}
.nav-donate{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:999px;font-weight:700;font-size:.92rem;color:#fff;white-space:nowrap;
  background:linear-gradient(135deg,#3b91c5,#0b639b);border:1px solid rgba(255,255,255,.35);box-shadow:0 8px 20px rgba(11,99,155,.4),inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .3s var(--ease),box-shadow .3s,background .3s}
.nav-donate:hover,.nav-donate:focus-visible{background:linear-gradient(135deg,#5aa8d6,#2580b5);box-shadow:0 12px 26px rgba(11,99,155,.5),inset 0 1px 0 rgba(255,255,255,.35);transform:translateY(-2px);color:#fff}
.nav-donate:active{transform:translateY(0)}
.nav-donate svg{flex:none}
/* search: header shows only the icon; the field lives in a popup */
.site-header .search-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:50%;cursor:pointer;
  background:#06284a;color:#fff;border:1px solid #06284a;box-shadow:0 8px 20px rgba(2,24,52,.3);transition:background .3s,transform .3s var(--ease)}
.site-header .search-toggle:hover{background:#0b639b;border-color:#0b639b;transform:scale(1.08)}
.site-header .search-toggle:focus-visible,.nav-donate:focus-visible,.nav>a:focus-visible,.burger:focus-visible{outline:2px solid #0b639b;outline-offset:2px}
@media(max-width:860px){
  .site-header{gap:10px}
  .nav-donate{order:1;margin-left:auto;padding:9px 18px}
  .site-header .search-toggle{order:2}
  .burger{order:3;margin-left:0}
  .site-header #menu-toggle:checked~.nav{order:4;width:100%}
  .nav{width:100%}
  .nav>a{padding:12px 16px}
}
@media(max-width:480px){
  .site-header{padding:8px 12px;gap:8px}
  .site-header .logo img{height:34px}
  .nav-donate{padding:8px 14px;font-size:.88rem}.nav-donate svg{display:none}
  .burger{width:40px;height:40px}
}

/* ===== Trending tags: directly under the header, above the hero ===== */
main>.trending{margin:12px 0 0;padding:0}
main>.trending+.hero{padding-top:12px}
main>.trending .trend-bar{padding-block:10px}
@media(max-width:640px){main>.trending{margin-top:8px}main>.trending+.hero{padding-top:8px}}

/* ===== Search popup ===== */
html.search-lock{overflow:hidden}
.search-modal{position:fixed;inset:0;z-index:120;display:flex;justify-content:center;align-items:flex-start;padding:clamp(72px,14vh,140px) 16px 16px;
  visibility:hidden;opacity:0;transition:opacity .3s var(--ease),visibility 0s .3s}
.search-modal.is-open{visibility:visible;opacity:1;transition:opacity .3s var(--ease)}
.search-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(58,145,197,.35),rgba(4,36,66,.8));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.search-modal .search-pop{position:relative;display:block;width:min(680px,100%);padding:14px;border-radius:26px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.84));border:1px solid #fff;box-shadow:0 30px 70px rgba(4,30,60,.45);
  transform:translateY(-18px) scale(.97);opacity:0;transition:transform .4s var(--ease),opacity .3s var(--ease)}
.search-modal.is-open .search-pop{transform:none;opacity:1}
.sp-row{display:flex;align-items:center;gap:8px;padding:5px 5px 5px 16px;border-radius:999px;background:#fff;border:1px solid rgba(6,68,119,.2);transition:border-color .3s,box-shadow .3s}
.sp-row:focus-within{border-color:#0b639b;box-shadow:0 0 0 4px rgba(11,99,155,.18)}

.search-modal .search-pop input{flex:1;min-width:0;width:auto;padding:12px 4px;font-size:1rem;color:#06284a;background:transparent;border:0;outline:none}
.search-modal .search-pop input::placeholder{color:#58728a}
.search-modal .search-pop input::-webkit-search-cancel-button{display:none}
.search-modal .sp-go{flex:none;display:inline-flex;align-items:center;gap:8px;width:auto;height:42px;padding:0 20px;border-radius:999px;font:inherit;font-weight:700;font-size:.92rem;cursor:pointer;
  color:#fff;background:linear-gradient(135deg,#3b91c5,#0b639b);border:1px solid rgba(255,255,255,.35);box-shadow:0 8px 20px rgba(11,99,155,.35);backdrop-filter:none;transition:background .3s,transform .3s var(--ease)}
.search-modal .sp-go:hover{background:linear-gradient(135deg,#5aa8d6,#2580b5);color:#fff;transform:translateY(-1px)}
.search-modal .sp-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border-radius:50%;cursor:pointer;
  color:#06284a;background:rgba(6,68,119,.08);border:1px solid rgba(6,68,119,.15);box-shadow:none;backdrop-filter:none;transition:background .3s,color .3s,transform .3s var(--ease)}
.search-modal .sp-close:hover{background:#06284a;color:#fff;transform:rotate(90deg)}
.search-modal .sp-go:focus-visible,.search-modal .sp-close:focus-visible{outline:2px solid #0b639b;outline-offset:2px}
.search-modal .results{position:static;width:100%;max-height:min(50vh,420px);margin-top:10px;padding:6px;border-radius:18px;background:transparent!important;border:0!important;box-shadow:none!important;animation:none}
@media(max-width:640px){
  .search-modal{padding-top:76px}
  .search-modal .search-pop{padding:10px;border-radius:22px}
  .sp-row{padding-left:14px}
  .search-modal .sp-go span{display:none}.search-modal .sp-go{width:42px;padding:0;justify-content:center}
}
@media(max-width:400px){.sp-row{padding-left:10px}}

/* ===== Our Columnists: infinite autoplay slider (5 / 3 / 2 / 1 cards per view) ===== */
.col-slider{--per:5;--cs-gap:24px;position:relative}
@media(max-width:1100px){.col-slider{--per:3}}
@media(max-width:767px){.col-slider{--per:2;--cs-gap:16px}}
@media(max-width:519px){.col-slider{--cs-gap:12px}}
/* side/top/bottom room lets every card's shadow render in full; the side room fades out so sliding cards ease in and out */
.cs-viewport{overflow:hidden;padding:16px var(--cs-gap) 15px;margin:-16px calc(-1 * var(--cs-gap)) -36px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--cs-gap),#000 calc(100% - var(--cs-gap)),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 var(--cs-gap),#000 calc(100% - var(--cs-gap)),transparent 100%)}
@supports (overflow:clip){.cs-viewport{overflow-x:clip;overflow-y:visible}}
.cs-track{display:flex;gap:var(--cs-gap);transition:transform .8s var(--ease);will-change:transform}
.cs-track>.col-card{flex:0 0 calc((100% - var(--cs-gap) * (var(--per) - 1)) / var(--per));min-width:0}
@media(min-width:1101px){.col-slider .cs-track .rev-head h3{font-size:1.12rem}.col-slider .cs-track .rev-over{padding:18px 16px 20px}}
.cs-arrow{top:calc(50% - 14px)}
.cs-arrow.prev{left:8px}.cs-arrow.next{right:8px}
@media(min-width:1300px){.cs-arrow.prev{left:-22px}.cs-arrow.next{right:-22px}}
.col-slider.is-static .cs-arrow{display:none}

/* columnist cards: soft, even shadow (kept within one card gap), gentle hover lift */
.col-slider .cs-track>.col-card.rev-card{border-color:rgba(255,255,255,.3);box-shadow:0 10px 24px -8px rgba(4,30,60,.32),0 2px 6px rgba(4,30,60,.14);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease)}
.col-slider .cs-track>.col-card.rev-card:hover,.col-slider .cs-track>.col-card.rev-card:focus-visible{transform:translateY(-4px);border-color:rgba(255,255,255,.6);
  box-shadow:0 16px 30px -10px rgba(4,30,60,.4),0 3px 8px rgba(4,30,60,.16)}

/* Columnists slider on phones: two compact portrait cards per view (same 3:4 shape as desktop), text scaled to the narrower card */
@media(max-width:767px){
  .col-slider .cs-track>.col-card.rev-card{aspect-ratio:3/4}
  .col-slider .cs-track>.col-card.rev-card .rev-over{padding:12px 12px 14px}
  .col-slider .cs-track>.col-card.rev-card .rev-head h3{font-size:1rem;line-height:1.18}
  .col-slider .cs-track>.col-card.rev-card .rev-head .role{font-size:.74rem}
  .col-slider .cs-track>.col-card.rev-card .rev-more .pub{font-size:.76rem}
  .cs-arrow{width:36px;height:36px;font-size:1.3rem}
}

/* ===== Hero: full-width featured article + looping article cards + View All Columns ===== */
.hero .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,2.5vw,28px);align-items:start}
.hero-feature{position:relative;overflow:hidden;isolation:isolate;border-radius:0px;height:auto;aspect-ratio:1576/654;background-color:#0b4a7a;background-size:100% auto;background-repeat:no-repeat;background-position:center top;
  border:1px solid rgba(255,255,255,.3);box-shadow:0 18px 40px -14px rgba(4,30,60,.45),0 3px 8px rgba(4,30,60,.16)}
.hero-feature::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;}
.hf-strip{position:absolute;left:0;right:0;bottom:0;padding:clamp(16px,2.2vw,26px) clamp(18px,3.2vw,40px) clamp(18px,2.4vw,30px);
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03)),rgba(6,28,50,.3);
  backdrop-filter:blur(4px) saturate(130%);-webkit-backdrop-filter:blur(4px) saturate(130%);
  border-top:1px solid rgba(255,255,255,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.hf-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.3);
  font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#e6f1fa}
.hf-meta b{font-weight:700;color:#fff}.hf-meta .sep{opacity:.55}
.hf-title{margin:0;max-width:62ch;font-size:clamp(1.35rem,3vw,2.45rem);line-height:1.15;color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 2px 16px rgba(2,24,52,.4)}
.hf-title a{color:inherit;-webkit-text-fill-color:inherit}
.hf-cover{position:absolute;inset:0;z-index:1}
.hf-strip{z-index:2;pointer-events:none}.hf-title a{pointer-events:auto}
.hf-title a:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:6px}

.art-slider{--per:4;--cs-gap:0px;position:relative}
@media(max-width:1100px){.art-slider{--per:3}}
@media(max-width:767px){.art-slider{--per:2}}
@media(max-width:519px){.art-slider{--per:1}}
.cs-track>.ac-card{flex:0 0 calc((100% - var(--cs-gap) * (var(--per) - 1)) / var(--per));min-width:0}
.ac-card{position:relative;display:flex;flex-direction:column;height:236px;padding:20px 22px 20px;overflow:hidden;isolation:isolate;border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.28);
  box-shadow:0 10px 24px -8px rgba(4,30,60,.32),0 2px 6px rgba(4,30,60,.14);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease)}
.ac-card:hover,.ac-card:focus-visible{transform:translateY(-4px);border-color:rgba(255,255,255,.6);box-shadow:0 16px 30px -10px rgba(4,30,60,.4),0 3px 8px rgba(4,30,60,.16)}
.ac-card:focus-visible{outline:2px solid #fff;outline-offset:3px}
/* photo is hidden until hover; the dark overlay always rides on it so text stays readable */
.ac-bg{position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .6s var(--ease)}
.ac-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,28,50,.5),rgba(6,28,50,.76))}
.ac-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.2s var(--ease)}
.ac-card:hover .ac-bg,.ac-card:focus-visible .ac-bg{opacity:1}
.ac-card:hover .ac-bg img,.ac-card:focus-visible .ac-bg img{transform:scale(1)}
@media(hover:none){.ac-bg{opacity:.5}}
.ac-date{display:flex;flex-direction:column;gap:2px;color:#d6ebfa;font-size:.82rem;font-weight:600;letter-spacing:.02em}
.ac-date b{font-family:var(--serif);font-size:2.3rem;line-height:1;font-weight:600;color:#fff}
.ac-title{margin:14px 0 0;font-size:1.08rem;line-height:1.28;color:#fff;-webkit-text-fill-color:#fff;text-shadow:none;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ac-by{margin:auto 0 0;padding-top:10px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#cfe5f5}
.hero-cta{margin-top:4px}
@media(max-width:767px){
  .hero-feature{border-radius:20px}
  .ac-card{height:206px;padding:16px 16px 16px;border-radius:18px}
  .ac-date b{font-size:1.9rem}
  .ac-title{font-size:.98rem;margin-top:10px}
}
@media(max-width:519px){.ac-card{height:190px}}

/* article slider arrows sit in the page gutter so they never cover card text; on touch widths swipe + autoplay replace them */
.art-slider .cs-arrow{top:50%;width:40px;height:40px}
.art-slider .cs-arrow.prev{left:-20px}.art-slider .cs-arrow.next{right:-20px}


/* hero feature -> article slider: small even gap (row gap of the grid is kept for the slider -> button spacing) */
.hero .hero-grid{--hg:clamp(20px,2.5vw,28px);gap:var(--hg)}
.hero .hero-grid>.art-slider{margin-top:calc(20px - var(--hg))}

/* article cards: square, flush strip with thin dividers (outer frame + one line between cards), no shadows or lift */
.art-slider .ac-card{border:0;border-radius:0;box-shadow:none;padding:24px 26px 22px}
.art-slider .ac-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border:solid rgba(255,255,255,.3);border-width:1px 1px 1px 0;transition:border-color .5s var(--ease)}
.art-slider::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;z-index:3;background:rgba(255,255,255,.3);pointer-events:none}
.art-slider .ac-card:hover,.art-slider .ac-card:focus-visible{transform:none;box-shadow:none;border:0}
.art-slider .ac-card:hover::after,.art-slider .ac-card:focus-visible::after{border-color:rgba(255,255,255,.55)}
@media(max-width:767px){.art-slider .ac-card{border-radius:0;padding:18px 18px 16px}}

/* ===== What Is IDI? (compact intro panel above Our Columnists) ===== */
.what-idi{margin-top:clamp(28px,3.5vw,40px)}
.wi-card{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,5fr) auto minmax(0,7fr);align-items:center;gap:clamp(18px,3vw,40px);
  padding:clamp(20px,2.8vw,32px) clamp(20px,3.5vw,44px);border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.28);
  box-shadow:0 10px 24px -8px rgba(4,30,60,.32),0 2px 6px rgba(4,30,60,.14);
  backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);transition:border-color .5s var(--ease)}
.wi-card:hover{border-color:rgba(255,255,255,.5)}
/* decorative accents: soft corner glow + hairline that shimmers along the top edge */
.wi-glow{position:absolute;z-index:-1;left:-60px;top:-90px;width:320px;height:320px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(127,184,224,.32),transparent 68%);opacity:.7;transition:opacity .6s var(--ease),transform .8s var(--ease)}
.wi-card:hover .wi-glow{opacity:1;transform:translate(14px,8px)}
.wi-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,#bfe0f5 45%,#fff 50%,#bfe0f5 55%,transparent 100%);background-size:55% 100%;background-repeat:no-repeat;
  animation:wi-sheen 7s var(--ease) infinite}
@keyframes wi-sheen{0%{background-position:-60% 0}55%,100%{background-position:170% 0}}
.wi-head{min-width:0}
.wi-title{margin:0 0 10px;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.1;color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 2px 18px rgba(2,24,52,.35)}
.wi-sub{position:relative;margin:0;padding-left:14px;font-size:clamp(.96rem,1.4vw,1.1rem);line-height:1.45;font-weight:600;color:#cfe8fa}
.wi-sub::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;border-radius:3px;background:linear-gradient(180deg,#d6ebfa,#5aa9dc);box-shadow:0 0 12px rgba(191,224,245,.45);transform-origin:top}
.wi-rule{align-self:stretch;width:1px;min-height:64px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.4),transparent);transform-origin:center}
.wi-desc{margin:0;min-width:0;font-size:clamp(.94rem,1.25vw,1.03rem);line-height:1.7;color:#dbe9f6}
@media(max-width:900px){
  .wi-card{grid-template-columns:minmax(0,1fr);gap:14px}
  .wi-rule{width:100%;height:1px;min-height:0;align-self:auto;background:linear-gradient(90deg,rgba(255,255,255,.4),transparent)}
}
@media(max-width:519px){.wi-card{border-radius:18px;gap:12px}.wi-title{margin-bottom:8px}.wi-glow{width:240px;height:240px}}
/* entrance: fade up, staggered (the .wi-anim state is added by script only when motion is allowed) */
.wi-anim .wi-card,.wi-anim .wi-title,.wi-anim .wi-sub,.wi-anim .wi-desc{opacity:0;transform:translateY(18px)}
.wi-anim .wi-rule{opacity:0;transform:scaleY(0)}
.wi-anim .wi-sub::before{transform:scaleY(0)}
.wi-anim.is-in .wi-card{animation:wi-up .8s var(--ease) both}
.wi-anim.is-in .wi-title{animation:wi-up .7s var(--ease) .15s both}
.wi-anim.is-in .wi-rule{animation:wi-grow .8s var(--ease) .3s both}
.wi-anim.is-in .wi-sub{animation:wi-up .7s var(--ease) .3s both}
.wi-anim.is-in .wi-sub::before{animation:wi-grow .8s var(--ease) .55s both}
.wi-anim.is-in .wi-desc{animation:wi-up .7s var(--ease) .45s both}
@keyframes wi-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes wi-grow{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:none}}
@media(max-width:900px){.wi-anim .wi-rule{transform:scaleX(0);transform-origin:left}.wi-anim.is-in .wi-rule{animation-name:wi-growx}@keyframes wi-growx{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.wi-card::before{animation:none;background:none}}

/* ===== Experts page: Senior Fellows keep the 4-up grid; Fellows = 5 per row, Contributors = 6 per row ===== */
[data-experts="fellow"],[data-experts="contributor"]{display:grid;gap:var(--xg);align-items:start}
[data-experts="fellow"]{--xg:20px;grid-template-columns:repeat(5,minmax(0,1fr))}
[data-experts="contributor"]{--xg:16px;grid-template-columns:repeat(6,minmax(0,1fr))}
[data-experts="fellow"]>.col-card,[data-experts="contributor"]>.col-card{min-width:0}
[data-experts="fellow"] .col-card.rev-card .rev-head h3,[data-experts="contributor"] .col-card.rev-card .rev-head h3{font-size:1.05rem;line-height:1.2}
[data-experts="fellow"] .col-card.rev-card .rev-head .role,[data-experts="contributor"] .col-card.rev-card .rev-head .role{font-size:.78rem}
[data-experts="fellow"] .col-card.rev-card .rev-over,[data-experts="contributor"] .col-card.rev-card .rev-over{padding:16px 14px 18px}
@media(max-width:1100px){
  [data-experts="fellow"]{grid-template-columns:repeat(3,minmax(0,1fr))}
  [data-experts="contributor"]{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:767px){
  [data-experts="fellow"]{--xg:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-experts="contributor"]{--xg:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:519px){[data-experts="contributor"]{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* --- Weekly columns slider (4 visible, max 7 per week) --- */
.wk-slider{position:relative}
.wk-slider .grid-4{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 0 12px}
.wk-slider .grid-4::-webkit-scrollbar{display:none}
.wk-slider .grid-4 .col-card{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start}
.wk-arrow{position:absolute;top:50%;z-index:5;width:44px;height:44px;margin-top:-22px;border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer;color:#f6f7fb;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(0,0,0,.35);transition:background .3s,color .3s,opacity .3s}
.wk-arrow.prev{left:-22px}.wk-arrow.next{right:-22px}
.wk-arrow:hover:not(:disabled){background:#e8f3fb;color:#06284a}

@media(max-width:900px){.wk-slider .grid-4 .col-card{flex-basis:calc((100% - 24px)/2)}.wk-arrow.prev{left:-8px}.wk-arrow.next{right:-8px}}
@media(max-width:560px){.wk-slider .grid-4 .col-card{flex-basis:86%}}
.wk-slider .grid-4 .col-card.rev-card{aspect-ratio:1/1}
@media(max-width:560px){.wk-slider .grid-4 .col-card.rev-card{aspect-ratio:5/4}}
/* the slider's scroll container clips box-shadows into a hard dark box, so cards inside it carry no drop shadow */
.wk-slider .grid-4 .col-card.rev-card,.wk-slider .grid-4 .col-card.rev-card:hover,.wk-slider .grid-4 .col-card.rev-card:focus-visible{box-shadow:none}
.wk-slider .grid-4{padding-top:12px}
/* overflow-x:auto makes overflow-y auto too; lock it so the slider only moves sideways */
.wk-slider .grid-4{overflow-y:hidden;overscroll-behavior-x:contain;padding-bottom:12px}
/* give the hover lift room so cards are never clipped at the top/bottom of the slider */
.wk-slider .grid-4{padding-top:28px;padding-bottom:28px;margin-block:-16px}
.wk-slider .grid-4 .col-card.rev-card:hover,.wk-slider .grid-4 .col-card.rev-card:focus-visible{transform:translateY(-6px)}
/* weekly column cards: date shown as a small, subtle glass badge in the top-left corner */
.col-date{position:absolute;z-index:2;top:14px;left:14px;display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;
  font-family:var(--font);font-size:.72rem;font-weight:700;line-height:1.2;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;color:#fff;
  background:rgba(6,28,50,.5);border:1px solid rgba(255,255,255,.3);
  backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);pointer-events:none}
@media(max-width:560px){.col-date{top:10px;left:10px;padding:4px 10px;font-size:.68rem}}

/* --- Columns page: search by week --- */
.wk-filter{display:flex;gap:12px;align-items:center;max-width:760px;margin:20px 0 4px;padding:8px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.wk-filter select,.wk-filter input{height:44px;border:0;border-radius:999px;padding:0 18px;font:inherit;font-size:.95rem;color:#06284a;background:rgba(255,255,255,.92);outline:none}
.wk-filter select{flex:0 0 auto;max-width:46%;font-weight:600;cursor:pointer}
.wk-filter input{flex:1 1 auto;min-width:0}
.wk-filter button{flex:0 0 44px;height:44px;border:0;border-radius:50%;font-size:1.2rem;cursor:pointer;color:#fff;background:#06284a}
.wk-filter select:focus-visible,.wk-filter input:focus-visible,.wk-filter button:focus-visible{box-shadow:0 0 0 3px rgba(191,224,245,.8)}
.wk-empty{margin:18px 0;color:#d5e0ee;font-weight:600}
.week-sec[hidden],.col-card[hidden]{display:none!important}
@media(max-width:640px){.wk-filter{flex-wrap:wrap;border-radius:26px}.wk-filter select{max-width:none;flex:1 1 100%}.wk-filter input{flex:1 1 0}}
.wk-filter{max-width:420px}.wk-filter select{max-width:none;flex:1 1 auto}
/* Weekly sections: the date range replaces the heading, on the left */
.week-sec .sec-head{display:block;margin-bottom:12px}
.week-sec .week-range{margin:0;font-family:Fraunces,serif;font-size:clamp(1.35rem,2.4vw,1.9rem);font-weight:600;line-height:1.2;color:#fff;text-shadow:0 2px 22px rgba(2,24,52,.35)}

/* View All Shows button: right-aligned with the show cards' right edge, arrow nudges on hover */
.actions-center.shows-cta{justify-content:flex-end}
.shows-cta .btn .arr{display:inline-block;transition:transform .35s var(--ease)}
.shows-cta .btn:hover .arr,.shows-cta .btn:focus-visible .arr{transform:translateX(5px)}

.shows-all{margin-top:28px}

/* ===== From Our Fellows: infinite autoplay slider (4 / 3 / 2 / 1 cards per view), flat cards without shadows ===== */
.fe-slider{--per:4;--cs-gap:24px;position:relative}
@media(max-width:1100px){.fe-slider{--per:3}}
@media(max-width:767px){.fe-slider{--per:2;--cs-gap:16px}}
@media(max-width:640px){.fe-slider{--per:1}}
.cs-track>.essay-card{flex:0 0 calc((100% - var(--cs-gap) * (var(--per) - 1)) / var(--per));min-width:0}
.fe-slider .essay-card,.fe-slider .essay-card:hover,.fe-slider .essay-card:focus-visible{box-shadow:none}
.fe-slider .cs-viewport{padding-bottom:12px;margin-bottom:-12px}
/* arrows sit in the page gutter so they never cover the photos; touch widths use swipe + autoplay */
.fe-slider .cs-arrow{top:50%;width:40px;height:40px}
.fe-slider .cs-arrow.prev{left:-20px}.fe-slider .cs-arrow.next{right:-20px}

/* --- About Us page: plain reading layout, accent bar on each heading --- */
.about{padding:clamp(32px,5vw,56px) 0 clamp(48px,7vw,88px)}
.about-text{width:min(900px,100%);margin-inline:auto;padding-inline:clamp(0px,2vw,24px)}
.about-text h1{margin:0 0 8px;font-size:clamp(2rem,4vw,3rem);line-height:1.15}
.about-text h2{position:relative;margin:48px 0 14px;padding-left:18px;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15}
.about-text h2:first-child{margin-top:16px}
.about-text h2::before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:4px;border-radius:3px;background:linear-gradient(180deg,#fff,#7fb8e0)}
.about-text p{margin:0 0 16px;font-size:1.08rem;line-height:1.75;color:#eaf3fb}
@media(max-width:640px){.about-text h2{margin-top:36px}.about-text p{font-size:1rem}}
 
/* About Us: board photo cards (same card look as the columnist cards) */
.about{padding-bottom:0}
.about-board{padding:clamp(28px,4vw,48px) 0 0}
.about-board:last-of-type{padding-bottom:clamp(48px,7vw,88px)}
.about-h{position:relative;margin:0 0 22px;padding-left:18px;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15}
.about-h::before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:4px;border-radius:3px;background:linear-gradient(180deg,#fff,#7fb8e0)}
.board-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.board-card{aspect-ratio:3/4}
.board-card.col-card.rev-card .rev-head h3{font-size:1.08rem}
.board-card .rev-head .role{font-size:.8rem}
@media(max-width:1100px){.board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:420px){.board-grid{grid-template-columns:1fr}.board-card{aspect-ratio:4/5}}
/* About Us subheadings: same style as the other pages (heading + fading underline) */
.about-text h2,.about-h{display:inline-block;padding-left:0;font-size:clamp(1.8rem,3vw,2.5rem)}
.about-text h2::before,.about-h::before{content:none}
.about-text h2::after,.about-h::after{content:"";display:block;width:100%;height:2px;margin-top:8px;border-radius:2px;background:linear-gradient(90deg,#fff,rgba(255,255,255,.2))}
.about-text p{margin-top:0}
.about-h{margin-bottom:26px}
 
/* Our Columnists: a single card per view on small phones (<= 450px); square frame keeps it compact, faces stay in frame */
@media(max-width:450px){
  .col-slider{--per:1}
  .col-slider .cs-track>.col-card.rev-card{aspect-ratio:1/1}
  .col-slider .cs-track>.col-card.rev-card>img{object-position:50% 18%}
  .col-slider .cs-track>.col-card.rev-card .rev-head h3{font-size:1.2rem}
  .col-slider .cs-track>.col-card.rev-card .rev-head .role{font-size:.82rem}
}

/* very narrow phones (<= 360px): keep logo, Donate, search and menu on one header row */
@media(max-width:360px){
  .site-header{padding:8px 8px;gap:4px}
  .site-header .logo img{height:26px}
  .nav-donate{padding:8px 11px;font-size:.84rem}
  .site-header .search-toggle{width:32px;height:32px}
  .burger{width:36px;height:36px;font-size:1.15rem}
}

/* ===== Unified slider arrows (frosted glass) =====
   One look for every slider's previous/next button: .wk-arrow (weekly columns), .arrow / .cs-arrow (homepage + policy briefs + books),
   .ep-arrow (show episodes), .trend-arrow (trending tags) and .vnav (book viewer popup).
   Only appearance and tap size live here; each slider keeps its own position rules.
   The glass is navy-tinted so the white chevron stays legible over both pale posters and dark backgrounds. */
.wk-arrow,.arrow,.cs-arrow,.ep-arrow,.trend-arrow,.modal.viewer .vnav{
  width:44px!important;height:44px!important;padding:0 0 3px!important;border-radius:50%!important;
  font-family:var(--font);font-size:1.5rem!important;font-weight:500;line-height:1;text-align:center;cursor:pointer;
  background:rgba(10,34,58,.82)!important;color:#fff!important;border:1px solid rgba(255,255,255,.38)!important;text-shadow:0 1px 3px rgba(0,0,0,.45);
  box-shadow:0 8px 20px rgba(2,24,52,.3),inset 0 1px 0 rgba(255,255,255,.28)!important;
  transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s,opacity .3s}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .wk-arrow,.arrow,.cs-arrow,.ep-arrow,.trend-arrow,.modal.viewer .vnav{
    background:rgba(10,34,58,.4)!important;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%)}
}
.wk-arrow{display:flex;align-items:center;justify-content:center}
.wk-arrow[hidden]{display:none}
.trend-arrow,.ep-arrow{margin-top:-22px!important}
.wk-arrow:hover:not(:disabled),.arrow:hover:not(:disabled),.cs-arrow:hover:not(:disabled),.ep-arrow:hover:not(:disabled),.trend-arrow:hover:not(:disabled),.modal.viewer .vnav:hover:not(:disabled){
  background:rgba(10,34,58,.82)!important;color:#fff!important;border-color:rgba(255,255,255,.75)!important;
  box-shadow:0 10px 24px rgba(2,24,52,.4),0 0 0 4px rgba(255,255,255,.14),inset 0 1px 0 rgba(255,255,255,.35)!important}
/* same 1.08 lift on hover and 0.96 press for every type (the vertically-centred .arrow keeps its translateY) */
.wk-arrow:hover:not(:disabled),.ep-arrow:hover:not(:disabled),.trend-arrow:hover:not(:disabled){transform:scale(1.08)!important}
.wk-arrow:active:not(:disabled),.ep-arrow:active:not(:disabled),.trend-arrow:active:not(:disabled),.modal.viewer .vnav:active:not(:disabled){transform:scale(.96)!important}
.wk-arrow:active:not(:disabled),.arrow:active:not(:disabled),.cs-arrow:active:not(:disabled),.ep-arrow:active:not(:disabled),.trend-arrow:active:not(:disabled),.modal.viewer .vnav:active:not(:disabled){background:rgba(10,34,58,.95)!important;border-color:rgba(255,255,255,.55)!important}
.wk-arrow:focus-visible,.arrow:focus-visible,.cs-arrow:focus-visible,.ep-arrow:focus-visible,.trend-arrow:focus-visible,.modal.viewer .vnav:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px rgba(11,99,155,.7)!important}
.wk-arrow:disabled,.arrow:disabled,.cs-arrow:disabled,.ep-arrow:disabled,.trend-arrow:disabled,.modal.viewer .vnav:disabled{opacity:.45!important;cursor:not-allowed;transform:none}

/* columns.html weekly cards: the whole article image stays visible (no side cropping); a blurred copy of it fills the spare space */
.wk-slider .col-card.rev-card>.col-blur{position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center;filter:blur(18px) saturate(1.1);transform:scale(1.25);opacity:.9;pointer-events:none}
.wk-slider .grid-4 .col-card.rev-card>img{object-fit:contain;object-position:50% 50%}
.wk-slider .grid-4 .col-card.rev-card:hover>img{transform:scale(1.03)}

/* experts.html, Senior Fellows on phones: two compact cards per row instead of one full-width 3:4 card each (desktop/tablet untouched) */
@media(max-width:640px){
  [data-experts="senior-fellow"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
  [data-experts="senior-fellow"]>.col-card{min-width:0}
  [data-experts="senior-fellow"] .col-card.rev-card .rev-over{padding:14px 12px 14px}
  [data-experts="senior-fellow"] .col-card.rev-card .rev-head h3{font-size:1.02rem;line-height:1.2}
  [data-experts="senior-fellow"] .col-card.rev-card .rev-head .role{font-size:.76rem}
}
@media(max-width:360px){
  [data-experts="senior-fellow"]{gap:10px}
  [data-experts="senior-fellow"] .col-card.rev-card .rev-over{padding:12px 10px}
  [data-experts="senior-fellow"] .col-card.rev-card .rev-head h3{font-size:.94rem}
}

/* ===== columns.html weekly slider: autoplay + seamless infinite loop (shared loop engine); same card size, gap and breakpoints as before ===== */
.wk-slider{--per:4;--cs-gap:24px}
@media(max-width:900px){.wk-slider{--per:2}}
@media(max-width:560px){.wk-slider{--per:1;--cs-gap:14px}}
.wk-slider .grid-4{display:block;overflow:visible;scroll-snap-type:none;padding:0;margin:0}
.wk-slider .cs-track>.col-card{flex:0 0 calc((100% - var(--cs-gap) * (var(--per) - 1)) / var(--per));min-width:0}

/* hero feature image: fills the frame edge to edge, pinned to the top so any cropping happens at the bottom only
   (the glass strip covers the bottom part anyway). On near-square phone frames cover also trims the sides, so the
   focal point is weighted left where the poster's title and logo sit. */


/* ===== Slider arrows on tablet + mobile: same placement as the Books slider =====
   vertically centred on the slider, 12px outside each edge (the Books slider's effective position at every width).
   Desktop positions are untouched. */
@media(max-width:1024px){
  .col-slider .cs-arrow,.art-slider .cs-arrow,.fe-slider .cs-arrow,.slides .arrow{top:50%!important;bottom:auto!important}
  .col-slider .cs-arrow.prev,.art-slider .cs-arrow.prev,.fe-slider .cs-arrow.prev,.wk-slider .wk-arrow.prev,.slides .arrow.prev,.ep-scroll .ep-arrow.prev{left:-12px!important;right:auto!important}
  .col-slider .cs-arrow.next,.art-slider .cs-arrow.next,.fe-slider .cs-arrow.next,.wk-slider .wk-arrow.next,.slides .arrow.next,.ep-scroll .ep-arrow.next{right:-12px!important;left:auto!important}
  /* keep the vertical centring transform on the .arrow-based sliders (policy briefs had a below-the-cards layout on phones) */
  .slides .arrow{transform:translateY(-50%)!important}
  .slides .arrow:hover:not(:disabled){transform:translateY(-50%) scale(1.08)!important}
  .slides .arrow:active:not(:disabled){transform:translateY(-50%) scale(.96)!important}
  .wk-slider .wk-arrow{top:50%;margin-top:-22px}
  /* episode arrows were hidden on small screens; the list's own hidden flag still hides them at the ends */
  .ep-arrow:not([hidden]){display:flex!important}
}

/* ===== Article single page (article.html?id=...): one centred 800px column ===== */
.article-page{max-width:800px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:clamp(22px,3.5vw,32px);overflow-wrap:anywhere}
.article-page>*{min-width:0}
.article-page article{display:flex;flex-direction:column;gap:clamp(18px,3vw,26px)}
.ap-head{text-align:center}
.ap-head h1{font-size:clamp(1.8rem,4.6vw,2.7rem);line-height:1.15;margin:8px 0 12px}
.ap-sub{font-size:clamp(1.05rem,2.4vw,1.25rem);line-height:1.5;color:var(--text-soft);font-weight:500;margin:0 0 16px}
.ap-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;margin:0;font-size:.9rem;color:var(--text-soft)}
.ap-meta .by{font-weight:700;color:var(--heading)}
.ap-meta a.by:hover{text-decoration:underline;text-underline-offset:3px}
.ap-meta .dot{opacity:.6}
.ap-img{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:16/9;box-shadow:var(--shadow-lg,0 18px 40px rgba(4,4,12,.3))}
.ap-img img{width:100%;height:100%;object-fit:cover;display:block}
.article-page .prose{margin:0;max-width:none}
.article-page .prose p:first-child{font-size:1.15rem;line-height:1.7;color:var(--heading)}
.article-page .prose .note{margin-top:1.4em}
.article-page .art-tags{margin:0}
/* author box */
.author-box{display:grid;grid-template-columns:220px minmax(0,1fr);gap:0;align-items:stretch;padding:0;overflow:hidden}
.ab-photo{display:block;width:100%;height:100%;min-height:220px;border-radius:0;overflow:hidden;background:#b9bcc2}
.ab-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;border-radius:0;border:0;box-shadow:none;display:block}
.ab-info{padding:clamp(18px,3.5vw,28px);align-self:center}
.ab-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);margin-bottom:4px}
.ab-info h3{font-size:1.3rem;margin:0 0 2px;color:#fff}
.ab-role{margin:0 0 8px;font-size:.9rem;font-weight:600;color:var(--heading)}
.ab-bio{margin:0 0 12px;font-size:.95rem;line-height:1.65}
.ab-link{font-weight:700;font-size:.92rem;color:var(--heading);text-decoration:underline;text-underline-offset:3px}
.ab-link:hover{opacity:.8}
/* comment box */
.article-page .comments{margin-top:0}
.c-field{display:grid;gap:6px;min-width:0}
.c-field label:not(.sr-only){font-size:.85rem;font-weight:600;color:var(--heading)}
.c-form textarea{min-height:120px}
/* related articles */
.related h2{font-size:1.5rem;margin:0 0 16px}
.rel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.rel-card{display:flex;flex-direction:column;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s}
.rel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--hover-bd)}
.rel-img{aspect-ratio:16/10;overflow:hidden}
.rel-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.rel-card:hover .rel-img img{transform:scale(1.05)}
.rel-body{padding:16px 18px 20px}
.rel-body h3{font-size:1.05rem;line-height:1.3;margin:0 0 6px;color:#fff}
.rel-body p{margin:0;font-size:.9rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.article-page .single-foot{margin-top:0}
@media(max-width:640px){
  .author-box{grid-template-columns:1fr}
  .ab-photo{min-height:0;aspect-ratio:4/3}
  .rel-grid{grid-template-columns:1fr}
}

/* ===== Footer: 4th column (Contact Us) ===== */
.site-footer .container.foot-wrap{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:28px 40px}
.site-footer .foot-contact address{font-style:normal;line-height:1.6;color:#06284a}
.site-footer .foot-contact a[href^="mailto"]{overflow-wrap:anywhere}
.foot-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.site-footer .foot-col .foot-social a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(6,68,119,.25);background:rgba(255,255,255,.6);color:#06284a;transition:background .25s,color .25s,transform .25s}
.site-footer .foot-col .foot-social a:hover,.site-footer .foot-col .foot-social a:focus-visible{background:#06284a;color:#fff;transform:translateY(-2px)}
@media(max-width:1000px){.site-footer .container.foot-wrap{grid-template-columns:1fr 1fr;gap:24px 32px}.foot-brand{grid-column:1/-1}}
@media(max-width:560px){.site-footer .container.foot-wrap{grid-template-columns:1fr 1fr;gap:22px 20px}.foot-contact{grid-column:1/-1}}

/* ===== article.html: category filter bar ===== */
.art-filter{display:flex;gap:10px;margin-top:22px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.art-filter::-webkit-scrollbar{display:none}
.af-btn{flex:none;padding:10px 20px;border-radius:999px;font:600 .92rem var(--font);color:#fff;cursor:pointer;white-space:nowrap;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.af-btn:hover{background:rgba(255,255,255,.24);transform:translateY(-2px)}
.af-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.af-btn.is-active{background:#fff;color:#06284a;border-color:#fff;box-shadow:0 8px 22px rgba(4,4,12,.28)}
.art-tile.is-filtered{display:none!important}
.art-empty{margin-top:28px;text-align:center}
.art-empty[hidden]{display:none}
@media(max-width:640px){.af-btn{padding:9px 16px;font-size:.88rem}}

/* Terms of Use: same text layout as About Us, no board section below */
.about.terms{padding-bottom:clamp(48px,7vw,88px)}

/* social icons moved from the footer into the trending bar (right-aligned) */
.trend-social{flex:none;display:flex;gap:10px;margin-left:auto}
.trend-social a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(6,68,119,.25);background:rgba(255,255,255,.6);color:#06284a;transition:background .25s,color .25s,transform .25s}
.trend-social a:hover,.trend-social a:focus-visible{background:#06284a;color:#fff;transform:translateY(-2px)}
@media(max-width:640px){.trend-social{gap:6px}.trend-social a{width:30px;height:30px}.trend-social svg{width:15px;height:15px}}
.trend-bar{justify-content:space-between}
.trend-scroll{flex:0 1 auto;max-width:calc(100% - 200px)}
@media(max-width:640px){.trend-scroll{flex:1 1 0;max-width:none}}
.trend-arrow{width:33px!important;height:33px!important;min-width:33px;min-height:33px;max-width:33px;max-height:33px;box-sizing:border-box;flex-shrink:0;margin-top:-16.5px!important;font-size:1.3rem;padding:0 0 2px}

/* ===== What Is IDI?: image left, text right (editorial two-column) ===== */
.what-idi .wi-card{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(22px,4vw,56px)}
.wi-media{position:relative;margin:0;min-width:0;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.4);
  box-shadow:0 18px 38px -16px rgba(2,24,52,.6),0 2px 8px rgba(2,24,52,.18)}
.wi-media img{display:block;width:100%;height:auto;transition:transform 1.2s var(--ease)}
.wi-card:hover .wi-media img{transform:scale(1.03)}
.wi-body{min-width:0;display:flex;flex-direction:column;gap:clamp(14px,1.8vw,20px)}
.wi-body .wi-rule{align-self:stretch;width:100%;height:1px;min-height:0;background:linear-gradient(90deg,rgba(255,255,255,.45),transparent)}
@media(max-width:900px){.what-idi .wi-card{grid-template-columns:minmax(0,1fr);gap:20px}}
@media(max-width:519px){.wi-media{border-radius:14px}}
/* entrance: image slides in from the left, text fades in from the right */
.wi-anim .wi-media{opacity:0;transform:translateX(-48px)}
.wi-anim .wi-title,.wi-anim .wi-sub,.wi-anim .wi-desc{transform:translateX(40px)}
.wi-anim .wi-rule{transform:scaleX(0);transform-origin:left}
.wi-anim.is-in .wi-card{animation:wi-fade .7s var(--ease) both}
.wi-anim.is-in .wi-media{animation:wi-from-left .95s var(--ease) .1s both}
.wi-anim.is-in .wi-title{animation:wi-from-right .85s var(--ease) .25s both}
.wi-anim.is-in .wi-sub{animation:wi-from-right .85s var(--ease) .38s both}
.wi-anim.is-in .wi-rule{animation:wi-growx .85s var(--ease) .5s both}
.wi-anim.is-in .wi-desc{animation:wi-from-right .85s var(--ease) .55s both}
@keyframes wi-fade{from{opacity:0}to{opacity:1}}
@keyframes wi-from-left{from{opacity:0;transform:translateX(-48px)}to{opacity:1;transform:none}}
@keyframes wi-from-right{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes wi-growx{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:none}}
@media(max-width:900px){.wi-anim .wi-media{transform:translateY(-24px)}.wi-anim .wi-title,.wi-anim .wi-sub,.wi-anim .wi-desc{transform:translateY(20px)}
  @keyframes wi-from-left{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:none}}
  @keyframes wi-from-right{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.wi-media img{transition:none}.wi-card:hover .wi-media img{transform:none}}

/* hero feature on phones/small tablets: the image sits in its own full-width area and the date/headline strip flows below it instead of covering it */
@media(max-width:767px){
  .hero-feature{aspect-ratio:auto;padding-top:calc(100% * var(--hf-h,654) / var(--hf-w,1576));background-position:center top;background-size:100% auto;background-repeat:no-repeat}
  .hero-feature .hf-strip{position:relative;left:auto;right:auto;bottom:auto;backdrop-filter:none;-webkit-backdrop-filter:none;border-top:1px solid rgba(255,255,255,.32)}
}


/* ===== Spacing system: one set of tokens drives section padding and the gaps between heading, content and buttons ===== */
:root{--space-section:36px;--space-head:22px;--space-actions:20px}
@media(max-width:1024px){:root{--space-section:28px;--space-head:20px;--space-actions:20px}}
@media(max-width:640px){:root{--space-section:22px;--space-head:18px;--space-actions:18px}}
/* every section inside <main> (the trending bar and the hero keep their own top edge) */
:where(main>section:not(.trending):not(.hero)){padding-top:var(--space-section)!important;padding-bottom:var(--space-section)!important}
main>section.hero{padding-bottom:var(--space-section)!important}
/* plain page sections stack with a single token-sized gap (top padding only); the donate band below carries the closing gap */
main>section.about:not(.terms),main>section.about-board,main>section.week-sec,main>section.experts-group,
main>section.single,main>section.journal-page,main>section#brief-root,main>section#video-root,main>section.about.terms{padding-bottom:0!important}
section.donate-band{padding-top:var(--space-section)!important;padding-bottom:var(--space-section)!important}
/* heading -> content and content -> button gaps */
.sec-head,.experts-group .sec-head,.week-sec .sec-head{margin-bottom:var(--space-head)}
.actions-right,.actions-center,.news-sec .actions-center{margin-top:var(--space-actions)}
main:has(+ .site-footer)>section:last-child{padding-bottom:var(--space-section)!important}

/* article slider: text refinement only (layout, sizes of the cards and spacing unchanged) */
.art-slider .ac-date b{font-weight:500;letter-spacing:-.02em;font-feature-settings:"lnum" 1}
.art-slider .ac-date span{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#bfe0f5}
.art-slider .ac-title{font-weight:600;letter-spacing:-.005em;line-height:1.3;text-wrap:balance;text-shadow:0 1px 12px rgba(2,24,52,.35)}
.art-slider .ac-by{display:flex;align-items:center;gap:9px;font-size:.72rem;font-weight:700;letter-spacing:.14em;color:#d6ebfa}
.art-slider .ac-by::before{content:"";flex:none;width:18px;height:2px;border-radius:2px;background:linear-gradient(90deg,#d6ebfa,#5aa9dc);transition:width .45s var(--ease)}
.art-slider .ac-card:hover .ac-by::before,.art-slider .ac-card:focus-visible .ac-by::before{width:30px}

/* about page, Board of Directors / Advisors: shorter cards on phones */
@media(max-width:700px){.board-card{aspect-ratio:4/5}.board-card>img{object-position:50% 20%}}
@media(max-width:420px){.board-card{aspect-ratio:1/1}}

/* ===== Hero entrance: banner fades up, then headline -> byline -> article cards -> button (backwards fill, so nothing stays hidden or locked once finished) ===== */
@keyframes hero-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes hero-rise-sm{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero .hero-feature{animation:hero-rise .9s var(--ease) backwards}
.hero .hf-title{animation:hero-rise-sm .8s var(--ease) .35s backwards}
.hero .hf-meta{animation:hero-rise-sm .8s var(--ease) .5s backwards}
.hero .art-slider{animation:hero-rise .9s var(--ease) .6s backwards}
.hero .hero-cta{animation:hero-rise-sm .8s var(--ease) .8s backwards}
.hero .hero-cta .btn{transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease)}
.hero .hero-cta .btn:hover,.hero .hero-cta .btn:focus-visible{transform:translateY(-3px)}
.hero .hero-cta .btn:active{transform:translateY(-1px)}
@media(max-width:640px){.hero .hero-feature,.hero .art-slider{animation-name:hero-rise-sm}}
@media(prefers-reduced-motion:reduce){.hero .hero-feature,.hero .hf-title,.hero .hf-meta,.hero .art-slider,.hero .hero-cta{animation:none}.hero .hero-cta .btn{transition:none}.hero .hero-cta .btn:hover,.hero .hero-cta .btn:focus-visible{transform:none}}

/* ===== Search popup: content-type dropdown + result states ===== */
.sp-cat{position:relative;flex:none}
.search-modal .search-pop .sp-cat-btn{display:inline-flex;align-items:center;gap:7px;width:auto!important;height:38px!important;padding:0 11px 0 14px;border-radius:999px!important;cursor:pointer;font:inherit;font-weight:700;font-size:.85rem;white-space:nowrap;transform:none;
  color:#06284a!important;background:rgba(11,99,155,.09)!important;border:1px solid rgba(6,68,119,.16)!important;box-shadow:none!important;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .25s,border-color .25s,box-shadow .25s}
.search-modal .search-pop .sp-cat-btn:hover{background:rgba(11,99,155,.16)!important;border-color:rgba(6,68,119,.28)!important;color:#06284a!important;transform:none}
.search-modal .sp-cat-btn:focus-visible{outline:2px solid #0b639b;outline-offset:2px}
.sp-cat-btn svg{flex:none;color:#0b639b;transition:transform .3s var(--ease)}
.search-modal .search-pop .sp-cat-btn[aria-expanded="true"]{background:rgba(11,99,155,.16)!important;border-color:#0b639b!important}
.sp-cat-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.sp-cat-label{max-width:9.5em;overflow:hidden;text-overflow:ellipsis}
.sp-cat-list{position:absolute;z-index:6;top:calc(100% + 10px);left:0;min-width:190px;margin:0;padding:6px;list-style:none;border-radius:16px;background:#fff;
  border:1px solid rgba(6,68,119,.14);box-shadow:0 22px 46px rgba(4,30,60,.3);animation:pop .25s var(--ease)}
.sp-cat-list[hidden]{display:none}
.sp-cat-list [role=option]{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-radius:10px;cursor:pointer;font-weight:600;font-size:.92rem;color:#06284a;outline:none;transition:background .2s,color .2s}
.sp-cat-list [role=option]:hover,.sp-cat-list [role=option]:focus{background:rgba(11,99,155,.1)}
.sp-cat-list [role=option]:focus-visible{box-shadow:inset 0 0 0 2px #0b639b}
.sp-cat-list [role=option][aria-selected="true"]{color:#0b639b;background:rgba(11,99,155,.07)}
.sp-cat-list [role=option][aria-selected="true"]::after{content:"";flex:none;width:9px;height:5px;margin-top:-3px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
.search-modal .results .sr-count{margin:0;padding:4px 10px 6px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#58728a}
.search-modal .results .sr-state{margin:0;padding:14px 10px;font-size:.95rem;color:#4a6178}
.search-modal .results .sr-state.err{color:#b3261e}
@media(max-width:640px){
  .search-modal .search-pop .sp-cat-btn{height:36px!important;padding:0 9px 0 11px;font-size:.8rem;gap:5px}
  .sp-cat-label{max-width:5.5em}
  .sp-cat-list{min-width:178px}
}
@media(prefers-reduced-motion:reduce){.sp-cat-list{animation:none}.sp-cat-btn svg{transition:none}}

/* extra breathing room between the trending tags and the social icons */
.trend-bar{gap:32px}
.trend-scroll{max-width:calc(100% - 232px)}
@media(max-width:1024px){.trend-bar{gap:24px}.trend-scroll{max-width:calc(100% - 224px)}}
@media(max-width:640px){.trend-bar{gap:20px}.trend-scroll{max-width:none}}

/* ===== One arrow placement for every slider (reference: Our Columnists) =====
   vertically centred, 12px outside each edge (22px on wide screens) so the arrows never sit on the card content;
   Policy Briefs / IDI Explains use the full container width like every other section. */
.art-slider .cs-arrow.prev,.fe-slider .cs-arrow.prev,.wk-slider .wk-arrow.prev,.ep-scroll .ep-arrow.prev,.books-wrap .arrow.prev{left:-12px;right:auto}
.art-slider .cs-arrow.next,.fe-slider .cs-arrow.next,.wk-slider .wk-arrow.next,.ep-scroll .ep-arrow.next,.books-wrap .arrow.next{right:-12px;left:auto}
@media(min-width:1300px){
  .art-slider .cs-arrow.prev,.fe-slider .cs-arrow.prev,.wk-slider .wk-arrow.prev,.ep-scroll .ep-arrow.prev,.books-wrap .arrow.prev{left:-22px}
  .art-slider .cs-arrow.next,.fe-slider .cs-arrow.next,.wk-slider .wk-arrow.next,.ep-scroll .ep-arrow.next,.books-wrap .arrow.next{right:-22px}
}
.art-slider .cs-arrow,.fe-slider .cs-arrow{width:44px;height:44px}
/* the slider box reaches into the page gutter (same width for the slides), so the 12px / 22px outside arrows are never cut by the slider's overflow clip, which Safari applies exactly at the box edge */
.slider{margin-inline:calc(-1 * var(--gutter,24px));padding-inline:var(--gutter,24px)}
.slides{margin-bottom:0}
.slides .arrow{top:50%!important;bottom:auto!important}
.slides .arrow.prev{left:-12px!important;right:auto!important}
.slides .arrow.next{right:-12px!important;left:auto!important}
@media(min-width:1300px){.slides .arrow.prev{left:-22px!important}.slides .arrow.next{right:-22px!important}}

/* ===== Trending bar on phones: tags keep a usable width ===== */
@media(max-width:640px){
  .trend-bar{gap:10px 12px}
  .trend-label{padding-right:12px}
  .trend-scroll{flex:1 1 0;min-width:0;max-width:none}
}
/* narrow phones: tags take the first row beside the label, the social icons sit right-aligned on their own row (nothing hidden or overlapping) */
@media(max-width:560px){
  .trend-bar{flex-wrap:wrap}
  .trend-social{flex:0 0 100%;justify-content:flex-end;margin-left:0}
}

/* ===== "View All" buttons on phones: slightly more compact (tablet/desktop sizes untouched) ===== */
@media(max-width:640px){
  .actions-right .btn,.actions-center .btn{padding:9px 20px;font-size:.86rem;line-height:1.2;gap:6px;justify-content:center;text-align:center;white-space:nowrap}
}

/* ===== Social icons: slightly smaller (32px buttons, 16px glyphs), equal spacing; 4 icons now (X, Facebook, Instagram, YouTube, TikTok = 5) ===== */
.site-footer .foot-col .foot-social a,.trend-social a{width:32px;height:32px}
.foot-social svg,.trend-social svg{width:16px;height:16px}
.foot-social,.trend-social{gap:10px}
@media(max-width:640px){.trend-social{gap:8px}.trend-social a{width:28px;height:28px}.trend-social svg{width:14px;height:14px}}

/* experts page: Senior Fellows 5 per row, Fellows 6 per row (desktop); 3 / 2 / 1 columns on smaller screens */
[data-experts="senior-fellow"]{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
[data-experts="fellow"]{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
@media(max-width:1100px){[data-experts="senior-fellow"],[data-experts="fellow"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){[data-experts="senior-fellow"],[data-experts="fellow"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}[data-experts] .rev-card{aspect-ratio:4/5}}
@media(max-width:420px){[data-experts="senior-fellow"],[data-experts="fellow"]{grid-template-columns:1fr}[data-experts] .rev-card{aspect-ratio:1/1}}
/* contributors: same compact card as "More columnists" */
.mini-cols[data-experts]{gap:14px}
.mini-cols[data-experts="contributor"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
@media(max-width:900px){.mini-cols[data-experts="contributor"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.mini-cols[data-experts="contributor"]{grid-template-columns:minmax(0,1fr)}}
.foot-social {
    display: none;
}