/* Fonts (open-source, kept on this site: nothing is loaded from other companies). Source Serif 4 for headings, Inter for text, Noto Sans Devanagari for Hindi. */
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Noto Sans Devanagari";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/noto-sans-devanagari-devanagari-wght-normal.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
/* Lokniti prototype: mobile first, academic / research-institute feel.
   Same identity as lokniti.org (charcoal, Lokniti red, CSDS blue) on a calmer paper background with serif headings. */
:root{
  --paper:#faf8f4;--card:#fff;--ink:#1f1e1c;--mut:#6b685f;--line:#ddd7cb;--line2:#ece7dc;
  --dark:#2b2a2b;--red:#a6231a;--red-d:#85190f;--blue:#006599;--gold:#b8923a;
  --serif:"Source Serif 4",Georgia,"Iowan Old Style","Palatino Linotype",Palatino,"Noto Sans Devanagari",serif;
  --sans:Inter,"Noto Sans Devanagari","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;--r:8px
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--red)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f0b429;outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:100}.skip:focus{left:8px;top:8px}

/* ---------- prototype ribbon ---------- */
.proto{background:#fdf6dc;color:#5b4a00;font-size:12.5px;padding:5px 0;border-bottom:1px solid #eadf9a;text-align:center}

/* ---------- utility bar ---------- */
.util{background:var(--dark);color:#d9d6d0;font-size:12.5px}
.util .wrap{display:flex;align-items:center;gap:14px;min-height:36px}
.util a{color:#d9d6d0;text-decoration:none}.util a:hover{color:#fff;text-decoration:underline}
.util .sp{margin-left:auto}
.util .nl{background:var(--blue);color:#fff;padding:3px 10px;border-radius:3px;font-weight:600;letter-spacing:.03em}
.util img{height:18px;width:auto}
.util .hide-s{display:none}
@media(min-width:760px){.util .hide-s{display:inline}}

/* ---------- masthead ---------- */
.mast{background:#fff;border-bottom:1px solid var(--line)}
.mast .wrap{display:flex;align-items:center;gap:14px;padding-top:10px;padding-bottom:10px}
.mast .logo img{height:50px;width:auto}
.mast .who{display:none;font-family:var(--serif);font-size:14px;line-height:1.3;color:var(--mut);border-left:1px solid var(--line);padding-left:14px}
.mast .who b{display:block;color:var(--ink);font-size:15px;font-weight:600}
.mast .search{margin-left:auto;display:none}
.menubtn{margin-left:auto;background:var(--dark);color:#fff;border:0;border-radius:6px;padding:9px 14px;font:600 14px var(--sans);letter-spacing:.04em;cursor:pointer}
.mast .msearch{display:block;padding-top:0;padding-bottom:10px}
@media(min-width:900px){.mast .logo img{height:62px}.mast .who{display:block}.mast .search{display:flex}.mast .menubtn,.mast .msearch{display:none}}
.search{gap:0}
.search input{width:340px;padding:10px 12px;border:1px solid var(--line);border-right:0;border-radius:6px 0 0 6px;font:inherit;font-size:15px;background:var(--paper)}
.search button,.msearch button{background:var(--red);color:#fff;border:0;border-radius:0 6px 6px 0;padding:0 16px;font:600 14px var(--sans);cursor:pointer}
.msearch form{display:flex}
.msearch input{flex:1;min-width:0;padding:11px 12px;border:1px solid var(--line);border-right:0;border-radius:6px 0 0 6px;font:inherit;font-size:16px;background:var(--paper)}

/* ---------- main menu (desktop) + sheet (mobile) ---------- */
.menu{background:var(--card);border-bottom:3px solid var(--red);position:sticky;top:0;z-index:40;display:none}
@media(min-width:900px){.menu{display:block}}
.menu ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.menu li{position:relative}
.menu a.top,.menu button.top{display:block;background:none;border:0;color:var(--ink);font:600 14px var(--sans);letter-spacing:.05em;text-transform:uppercase;padding:14px 14px;text-decoration:none;cursor:pointer}
.menu li:hover>a.top,.menu li:focus-within>a.top,.menu a.top.on{color:var(--red);box-shadow:inset 0 -3px 0 var(--red)}
.menu .dd{position:absolute;left:0;top:100%;min-width:250px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 10px 24px rgba(0,0,0,.12);padding:6px 0;display:none}
.menu li:hover .dd,.menu li:focus-within .dd{display:block}
.menu .dd a{display:block;padding:9px 16px;color:var(--ink);text-decoration:none;font-size:14.5px}
.menu .dd a:hover{background:var(--paper);color:var(--red)}
.menu .dd small{display:block;padding:8px 16px 2px;color:var(--mut);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em}
.sheet{position:fixed;inset:0;background:var(--paper);z-index:60;overflow:auto;display:none}
.sheet.open{display:block}
.sheet header{background:var(--dark);color:#fff;display:flex;align-items:center;padding:12px 18px}
.sheet header b{font-family:var(--serif);font-size:18px}.sheet header button{margin-left:auto;background:none;border:1px solid #777;color:#fff;border-radius:6px;padding:7px 12px;font:inherit;cursor:pointer}
.sheet section{padding:6px 18px 4px;border-bottom:1px solid var(--line2)}
.sheet .sh{font:600 11.5px var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--mut);margin:14px 0 4px}
.sheet a{display:block;padding:10px 0;color:var(--ink);text-decoration:none;font-size:17px;font-family:var(--serif)}
.sheet a.sub{padding-left:14px;font-size:15.5px;color:#444;font-family:var(--sans)}

/* ---------- latest strip ---------- */
.latest{background:#fff;border-bottom:1px solid var(--line)}
.latest .wrap{display:flex;gap:12px;align-items:center;min-height:42px;font-size:14px;overflow:hidden}
.latest b{flex:none;background:var(--red);color:#fff;font-size:11.5px;letter-spacing:.1em;padding:3px 9px;border-radius:3px}
.latest a{color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.latest a:hover{color:var(--red);text-decoration:underline}
.latest .all{margin-left:auto;flex:none;color:var(--red);font-weight:600}

/* ---------- breadcrumbs + page titles ---------- */
.crumbs{font-size:13px;color:var(--mut);margin:0 0 4px}
.crumbs a{color:var(--mut);text-decoration:none}.crumbs a:hover{color:var(--red);text-decoration:underline}
main{padding:22px 0 56px}
h1{font:600 30px/1.2 var(--serif);margin:4px 0 6px;letter-spacing:-.01em}
@media(min-width:760px){h1{font-size:38px}}
h2.sec{font:600 24px/1.25 var(--serif);margin:42px 0 6px;display:flex;align-items:baseline;gap:12px}
h2.sec a{margin-left:auto;font:600 14px var(--sans);text-decoration:none}
h2.sec::after{content:none}
.rule{height:3px;width:52px;background:var(--red);margin:0 0 18px;border:0}
.lead{color:var(--mut);margin:0 0 18px;max-width:70ch}
main>.wrap>h1+.lead{font-family:var(--serif);font-size:17.5px}
.count{color:var(--mut);font-size:14px;margin:0 0 10px}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,24,24,.92) 0%,rgba(25,24,24,.62) 55%,rgba(25,24,24,.15) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:34px;padding-bottom:36px}
.hero .eyebrow{font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.14em;color:#e9c46a;margin:0 0 10px}
.hero h1{color:#fff;font-size:30px;max-width:16em;margin:0 0 12px}
.hero p{color:#e8e5df;max-width:52ch;margin:0 0 20px;font-size:16.5px}
.hero .cta{display:flex;gap:10px;flex-wrap:wrap}
@media(min-width:760px){.hero .wrap{padding-top:64px;padding-bottom:68px}.hero h1{font-size:44px}.hero p{font-size:18px}}

.btn{display:inline-block;background:var(--red);color:#fff;border:0;border-radius:6px;padding:11px 18px;font:600 15px var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--red-d)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.7)}.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.sec{background:#fff;color:var(--ink);border:1px solid var(--line)}

/* ---------- grids + cards ---------- */
.grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:600px){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.card .bd{padding:16px}
.tile{display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.tile:hover{box-shadow:0 8px 22px rgba(0,0,0,.1);transform:translateY(-2px)}
.tile img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e8e3d8}
.tile h3{font:600 19px/1.3 var(--serif);margin:0 0 6px;color:var(--ink)}
.tile p{margin:0;font-size:14.5px;color:#4a4842;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.tile .more{margin-top:auto}
.more{display:inline-block;margin-top:10px;font-weight:600;font-size:14px;text-decoration:none}.more:hover{text-decoration:underline}

/* featured + list (latest news) */
.feature{display:grid;gap:16px}
@media(min-width:860px){.feature{grid-template-columns:1.25fr 1fr}}
.lead-card{border-top:4px solid var(--red);align-self:start}
.lead-card .kick{font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--red);margin-bottom:6px}
.lead-card h3{font:600 26px/1.25 var(--serif);margin:0 0 10px}
.lead-card p{margin:0 0 6px;color:#3a3935}
.news-row{display:flex;gap:14px;padding:13px 16px;border-top:1px solid var(--line2);text-decoration:none;color:inherit}
.news-row:first-child{border-top:0}.news-row:hover b{color:var(--red)}
.date{flex:none;width:56px;text-align:center;background:var(--paper);border:1px solid var(--line2);border-radius:6px;padding:6px 2px;font-size:12px;color:var(--mut);line-height:1.2}
.date b{display:block;font:600 17px var(--serif);color:var(--ink)}
.news-row b{font-weight:600}

/* numbers band */
.band{background:var(--dark);color:#fff;margin-top:42px}
.band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:30px;padding-bottom:30px}
@media(min-width:760px){.band .wrap{grid-template-columns:repeat(4,1fr)}}
.band b{display:block;font:600 36px/1.1 var(--serif);color:#fff}
.band span{color:#c8c4bb;font-size:14px}

/* faculty strip */
.faces{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(min-width:760px){.faces{grid-template-columns:repeat(6,1fr)}}
.face{text-align:center;text-decoration:none;color:var(--ink);font-size:14px;line-height:1.3}
.face img,.face .ini{width:84px;height:84px;border-radius:50%;object-fit:cover;margin:0 auto 8px;background:#ddd}
.face .ini{display:flex;align-items:center;justify-content:center;background:var(--dark);color:#fff;font:600 24px var(--serif)}
.face:hover b{color:var(--red)}

/* ---------- filters ---------- */
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:99px;padding:7px 15px;font:inherit;font-size:14px;cursor:pointer}
.chip:hover{border-color:var(--dark)}
.chip.on{background:var(--dark);border-color:var(--dark);color:#fff}
select,input[type=text],input[type=search],textarea{font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);width:100%}
.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1;min-width:150px}

/* ---------- studies / people / news ---------- */
.badge{display:inline-block;font:600 11.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:#eee;color:#444;margin-right:6px}
.badge.nat{background:#f3d9d5;color:var(--red-d)}.badge.st{background:#d9e8f1;color:#0a4d73}.badge.ot{background:#e9ebd4;color:#555c22}
.item h3{font:600 18px/1.3 var(--serif);margin:9px 0 6px}
.item p{margin:0;color:#4a4842;font-size:14.5px}
details.item summary{cursor:pointer;list-style:none}details.item summary::-webkit-details-marker{display:none}
details.item[open] .short{display:none}details.item .full{display:none;margin-top:10px}details.item[open] .full{display:block}
details.item>summary::after{content:"Read more ▾";display:block;margin-top:8px;color:var(--red);font:600 13px var(--sans)}
details.item[open]>summary::after{content:"Show less ▴"}
.person{display:flex;gap:14px;padding:14px;align-items:flex-start;cursor:pointer}
.person .ph{flex:none;width:76px;height:76px;border-radius:50%;object-fit:cover;background:#ddd}
.person .ph.ini{display:flex;align-items:center;justify-content:center;font:600 23px var(--serif);color:#fff;background:var(--dark)}
.person h3{margin:0;font:600 17px var(--serif)}.person .rl{font-size:13px;color:var(--mut);margin-bottom:5px}
.person p{margin:0;font-size:14px;color:#4a4842;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.person.open p{-webkit-line-clamp:unset}
.empty{padding:34px;text-align:center;color:var(--mut)}

/* ---------- smart search ---------- */
.ans{background:#fff;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:var(--r);padding:16px 18px;margin:0 0 16px}
.ans .lab{font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--red);margin-bottom:6px}
.ans p{margin:6px 0;font-family:var(--serif);font-size:17px}
.cur::after{content:"▍";animation:bl 1s steps(2) infinite;color:var(--red)}@keyframes bl{50%{opacity:0}}
.res{padding:14px 16px;border-top:1px solid var(--line2)}.res:first-child{border-top:0}
.res h3{font:600 18px/1.3 var(--serif);margin:5px 0}.res p{margin:0;font-size:14.5px;color:#4a4842}
mark{background:#fff0a8;padding:0 2px;border-radius:2px}
.why{font-size:12.5px;color:var(--mut);margin-top:5px}
.sugg{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.sugg a{background:#fff;border:1px solid var(--line);border-radius:99px;padding:7px 14px;font-size:14px;text-decoration:none;color:var(--ink)}
.sugg a:hover{border-color:var(--red);color:var(--red)}
.bigsearch{display:flex;margin:0 0 16px}
.bigsearch input{flex:1;padding:14px 16px;border:1px solid var(--line);border-right:0;border-radius:8px 0 0 8px;font-size:17px}
.bigsearch button{background:var(--red);color:#fff;border:0;border-radius:0 8px 8px 0;padding:0 22px;font:600 15px var(--sans);cursor:pointer}

/* ---------- footer ---------- */
footer{background:var(--dark);color:#bdb9b0;font-size:14px;padding:30px 0 22px;margin-top:20px}
footer .cols{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:760px){footer .cols{grid-template-columns:1.4fr 1fr 1fr}}
footer .fh{font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.1em;color:#fff;margin:0 0 8px}
footer a{color:#e7e3da;display:block;padding:2px 0;text-decoration:none}footer a:hover{text-decoration:underline}
footer .fine{border-top:1px solid #444;margin-top:20px;padding-top:14px;font-size:12.5px}
footer .fine{display:flex;align-items:baseline;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}footer .fine .legal{margin:0;line-height:1.6;max-width:none;flex:1 1 auto}footer .fine .legal a{display:inline;padding:0;color:#e6e2d9;text-decoration:underline;text-underline-offset:3px}footer .fine .legal a:hover{color:#fff}footer .fine .legal span{margin:0 4px;color:#8f8b82}footer .fine .credit{display:inline-block;margin-left:auto;font-size:11px;letter-spacing:.02em;color:#b0aca2;border:1px solid #4a4949;border-radius:999px;padding:3px 10px;text-decoration:none}footer .fine .credit:hover{color:#fff;border-color:#8f8b82}

/* ---------- imported pages: readable prose, tables that work on phones ---------- */
.prose{max-width:78ch;font-size:16.5px;line-height:1.7}
.prose.wide{max-width:none}
.prose h2,.prose h3,.prose h4{font-family:var(--serif);line-height:1.3;margin:1.6em 0 .5em}
.prose h2{font-size:24px}.prose h3{font-size:20px}.prose h4{font-size:17px}
.prose p{margin:0 0 1em}
.prose img{height:auto;border-radius:4px;margin:8px 0}
.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:.25em 0}
.prose a{word-break:break-word}
.prose blockquote{margin:1em 0;padding:.4em 1em;border-left:4px solid var(--line);color:#4a4842}
.prose hr{border:0;border-top:1px solid var(--line);margin:1.5em 0}
.tablewrap{overflow-x:auto;margin:1em 0;border:1px solid var(--line);border-radius:8px;background:#fff;-webkit-overflow-scrolling:touch}
.tablewrap:focus-visible{outline:3px solid #f0b429}
.prose table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.45}
.prose th,.prose td,.prose td.survey-heading{padding:9px 11px;border-bottom:1px solid var(--line2);text-align:left;vertical-align:top}
.prose tr:first-child td.survey-heading,.prose th,.prose tr.hd td{background:var(--paper);font-weight:600;font-size:13px;letter-spacing:.02em}
.prose tbody tr:hover td{background:#fcfbf8}
@media(max-width:640px){
  .prose table.stack,.prose table.stack tbody,.prose table.stack tr,.prose table.stack td{display:block;width:auto!important}
  .prose table.stack tr.hdrow{display:none}
  .prose table.stack tr{padding:10px 12px;border-bottom:6px solid var(--paper)}
  .prose table.stack td{border:0;padding:3px 0}
  .prose table.stack td[data-label]:before{content:attr(data-label);display:block;font:600 11.5px var(--sans);text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}
  .prose table.stack td:empty{display:none}
  .tablewrap.has-stack{border:0;background:transparent}
}
.pager{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.pager a{border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 13px;font-size:14px;text-decoration:none;color:var(--ink)}
.pager a:hover,.pager a.on{background:var(--dark);border-color:var(--dark);color:#fff}
.note-demo{background:#fdf6dc;border:1px solid #eadf9a;color:#5b4a00;border-radius:8px;padding:9px 12px;font-size:13.5px;margin:0 0 16px}

/* task tiles on the home page */
.task{display:block;padding:16px 18px;text-decoration:none;color:var(--ink);border-left:4px solid var(--red);transition:box-shadow .15s,transform .15s}
.task:hover{box-shadow:0 8px 22px rgba(0,0,0,.1);transform:translateY(-2px)}
.task b{display:block;font:600 19px/1.3 var(--serif);margin-bottom:4px}
.task span{color:#4a4842;font-size:14.5px}

.prose iframe{display:block;width:100%;min-height:78vh;border:1px solid var(--line);border-radius:8px;background:#fff}
.prose .row:has(>p>iframe){display:block}.prose .row>p:has(>iframe){width:100%}


/* ---------- header gallery: the photos are the point, so they are shown clearly (no dark overlay) ---------- */
.gallery{background:#1b1a1b}
.gal-stage{position:relative;height:230px;overflow:hidden;background:#1b1a1b}
.gal-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.1s ease}
.gal-slide.on{opacity:1}
.gal-slide img{width:100%;height:100%;object-fit:cover;display:block}
.gal-slide.on img{animation:galpan 7.5s ease-in-out forwards}
@keyframes galpan{from{object-position:0% 50%}to{object-position:100% 50%}}
@keyframes galzoom{from{transform:scale(1)}to{transform:scale(1.045)}}
.gallery.still .gal-slide.on img,.gallery.still .gal-slide img{animation:none}
@media(min-width:760px){.gal-stage{height:auto;aspect-ratio:1350/240;max-height:360px}.gal-slide.on img{animation:galzoom 9s ease-out forwards}}
@media(prefers-reduced-motion:reduce){.gal-slide{transition:none}.gal-slide.on img{animation:none}}
.gal-ctl{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 12px;background:#242224}
.gal-ctl button{background:transparent;border:1px solid #5b5860;color:#f3f1ec;border-radius:99px;min-width:34px;height:30px;padding:0 10px;font:600 14px var(--sans);cursor:pointer}
.gal-ctl button:hover{border-color:#fff}
.gal-ctl .dots{display:flex;gap:8px;align-items:center}
.gal-ctl .dots button{min-width:0;width:10px;height:10px;padding:0;border-radius:50%;background:#6b6870;border:0}
.gal-ctl .dots button.on{background:#f59e0b;width:26px;border-radius:6px}
.intro{background:var(--paper);border-bottom:1px solid var(--line)}
.intro .wrap{padding-top:28px;padding-bottom:30px}
.intro .eyebrow{font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--red);margin:0 0 8px}
.intro h1{font-size:30px;max-width:18em;margin:0 0 10px}
.intro p{max-width:60ch;margin:0 0 18px;color:#3a3935;font-size:17px}
.intro .cta{display:flex;gap:10px;flex-wrap:wrap}
@media(min-width:760px){.intro .wrap{padding-top:40px;padding-bottom:42px}.intro h1{font-size:42px}.intro p{font-size:18.5px}}

/* print: just the content */
@media print{.proto,.util,.menu,.sheet,.latest,.gal-ctl,.mast .search,.menubtn,.msearch,footer,.skip,.pager,.chips{display:none!important}
  body{background:#fff}.tablewrap{overflow:visible;border:0}.prose{max-width:none}.card{break-inside:avoid}a{color:#000}
  .prose a[href^="http"]::after{content:" (" attr(href) ")";font-size:11px;color:#555}}

/* ---------- additions (Oct 2026) ---------- */
.prose .heading{font:600 30px/1.2 var(--serif);margin:4px 0 14px;letter-spacing:-.01em}
.prose section.ss{margin:0 0 38px}.prose section.ss .heading{font-size:24px}
.prose .jump{margin:0 0 22px;display:flex;gap:6px 14px;flex-wrap:wrap}.prose .jump a{font-weight:600}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* report listings: every cover sits in the same frame, however many are in the row */
.prose .row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,190px));gap:20px 16px;justify-content:start;align-items:start;margin:0 0 18px}
.prose .row>*{min-width:0;flex:none}
.prose .row img{width:100%;aspect-ratio:3/4;object-fit:contain;object-position:top center;background:#fff;border:1px solid var(--line);border-radius:4px;margin:0 0 6px;display:block}
.prose .row p{font-size:14.5px;line-height:1.35;margin:0}
/* author names as a list */
.prose .list-group{display:block;border:0;max-width:520px;margin:6px 0 16px}
.prose .list-group a.list1{display:block;padding:11px 14px;background:#fff;border:1px solid var(--line);border-top:0;color:var(--ink);text-decoration:none;font-weight:500}
.prose .list-group a.list1:first-child{border-top:1px solid var(--line);border-radius:6px 6px 0 0}
.prose .list-group a.list1:last-child{border-radius:0 0 6px 6px}
.prose .list-group a.list1:hover{color:var(--red);background:#faf8f5}
#about{max-width:68ch}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:8px 12px;z-index:9999}.skip:focus{left:8px;top:8px}

/* forms */
.siteform{margin:14px 0}.siteform .form-group{margin:0 0 14px}.siteform label{display:block;font-weight:600;margin:0 0 4px}
.siteform .form-control,.siteform input[type=text],.siteform input[type=email],.siteform textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:6px;font:16px var(--sans);background:#fff}
.siteform .form-control:focus{outline:3px solid #f1c27d}

/* Find a study: the state-and-year grid (from the approved design) */
.grid-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff;max-height:78vh}
table.mx{border-collapse:separate;border-spacing:0;font-size:12.5px;min-width:100%}
.mx th,.mx td{padding:5px 3px;text-align:center;border-bottom:1px solid var(--line2);border-right:1px solid var(--line2);min-width:50px;white-space:nowrap}
.mx thead th{position:sticky;top:0;background:var(--paper);z-index:2;font:600 12px var(--sans);color:var(--mut)}
.mx th.st,.mx td.st{position:sticky;left:0;z-index:3;background:#fff;text-align:left;min-width:132px;padding:6px 10px;font:600 13px var(--sans);border-right:2px solid var(--line)}
.mx thead th.st{background:var(--paper);z-index:4}
.mx td.st a{color:var(--ink);text-decoration:none}.mx td.st a:hover{color:var(--red);text-decoration:underline}
.mx a.t{display:block;margin:1px auto;padding:1px 4px;border-radius:4px;font:600 11px var(--sans);text-decoration:none;color:#fff;width:42px}
.mx a.post{background:#a6231a}.mx a.pre{background:#006599}.mx a.exit{background:#6b685f}.mx a.oth{background:#8a7a3a}
.mx tr:hover td{background:#fcfaf4}.mx tr:hover td.st{background:#fcfaf4}
.mx td.dim{color:#cfc9bb}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--mut);margin:10px 0 0;align-items:center}
.legend i{display:inline-block;width:22px;height:12px;border-radius:3px;vertical-align:middle;margin-right:5px}
.yearcard{margin:0 0 12px}.yearcard h3{font:600 22px var(--serif);margin:0 0 8px}
.yearcard a.pill{display:inline-block;border:1px solid var(--line);border-radius:99px;padding:6px 13px;margin:0 8px 8px 0;text-decoration:none;color:var(--ink);font-size:14px;background:#fff}
.yearcard a.pill:hover{border-color:var(--red);color:var(--red)}

/* ---- one cue everywhere: a table (or download list) taller than the screen scrolls inside its frame; a soft fade and a small chevron say there is more below, and go away at the end ---- */
.tablewrap,.grid-wrap{max-height:min(72vh,680px);overflow-y:auto}
.mf-more{position:relative;margin:1em 0}.mf-more>.tablewrap,.mf-more>.grid-wrap{margin:0}
.mf-more::after{content:"";position:absolute;left:1px;right:1px;bottom:1px;height:72px;pointer-events:none;border-radius:0 0 8px 8px;background:linear-gradient(to top,rgba(255,255,255,.97) 18%,rgba(255,255,255,0));opacity:0;transition:opacity .25s}
.mf-more::before{content:"";position:absolute;left:50%;bottom:12px;width:11px;height:11px;margin-left:-8px;border-right:2.5px solid var(--red,#a6231a);border-bottom:2.5px solid var(--red,#a6231a);transform:rotate(45deg);pointer-events:none;z-index:3;opacity:0;transition:opacity .25s}
.mf-more.has-more::after,.mf-more.has-more::before{opacity:1}
.mf-more.has-more::before{animation:mfbob 1.7s ease-in-out infinite}
@keyframes mfbob{0%,100%{transform:translateY(0) rotate(45deg)}50%{transform:translateY(5px) rotate(45deg)}}
.tablewrap table tr:first-child>td,.tablewrap table tr:first-child>th{position:sticky;top:0;z-index:2;background:var(--paper);box-shadow:0 1px 0 var(--line)}
.tablewrap table tr:not(:first-child):hover>td{background:#fcfaf6}
.prose td a img{transition:transform .15s}.prose td a:hover img,.prose td a:focus-visible img{transform:translateY(1px) scale(1.08)}
:focus-visible{outline:3px solid #f1c27d;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.mf-more.has-more::before{animation:none}.mf-more::after,.mf-more::before{transition:none}}
@media print{.tablewrap,.grid-wrap{max-height:none;overflow:visible}.mf-more::after,.mf-more::before{display:none}}

/* ---- small guides, no words: a thin line shows how far down a long page you are; in-page jumps glide and stop below the header ---- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[id]{scroll-margin-top:16px}
.mf-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--red,#a6231a);z-index:9000;pointer-events:none;opacity:0;transition:opacity .2s}
.mf-progress.on{opacity:1}
@media print{.mf-progress{display:none}}
