/* 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:5fr 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:4/3}
.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%;object-fit:cover;aspect-ratio:16/8}
.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(4,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:4/5}
.art-tile::after{display:none}
.art-tile>img{object-position:72% center}
.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:4/3}}
/* 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,3.5vw,40px)!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,.84),rgba(255,255,255,.66));
  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:20px}

/* 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:5%}
@media(max-width:767px){:root{--gutter:15px}}
.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}
