/*
Theme Name: Ramprasad Group
Description: Theme for the Ramprasad Group website.
Version: 2.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ramprasad-group
*/


:root{
  --bg:#08111D; --surface:#0E1A2A; --ink:#E7ECF2; --muted:#9AA7B8; --faint:#6D7B8E;
  --line:#1D2A3C; --link:#D9CB94; --chip:#132236;
  --hero-end:#08111D; --gold-ink:#B3A369;
  --navy:#003057; --gold:#B3A369;
  --hero-a:#011A31; --hero-b:#003057; --hero-ink:#F2F4F7; --hero-muted:#A9B6C7;
  --f-display:"Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
  --f-body:"Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --f-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  --r:14px; --max:1180px;
  color-scheme:dark;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --bg:#F6F7F9; --surface:#FFFFFF; --ink:#0B1726; --muted:#566275; --faint:#8893A3;
  --line:#E1E5EB; --link:#003057; --chip:#EEF1F5; --hero-end:#011A31; --gold-ink:#7A6A2C; color-scheme:light}}
:root[data-theme="light"]{
  --bg:#F6F7F9; --surface:#FFFFFF; --ink:#0B1726; --muted:#566275; --faint:#8893A3;
  --line:#E1E5EB; --link:#003057; --chip:#EEF1F5; --hero-end:#011A31; --gold-ink:#7A6A2C; color-scheme:light}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--f-display);text-wrap:balance;margin:0;letter-spacing:-.02em}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.eyebrow{font:500 12px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mono{font-family:var(--f-mono)}


/* Hero */
/* Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(120% 140% at 85% 0%,var(--hero-b) 0%,transparent 62%),linear-gradient(to bottom,var(--hero-a),var(--hero-end));color:var(--hero-ink);isolation:isolate}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero .wrap{padding-block:clamp(48px,6vw,64px) clamp(80px,9vw,112px)}
.hero .eyebrow{color:var(--hero-muted)}
.hero h1{font-size:clamp(36px,6.2vw,80px);line-height:1.02;font-weight:700;letter-spacing:-.035em;max-width:16ch;margin-top:22px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.btn{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px;border-radius:999px;font:600 15px/1 var(--f-body);text-decoration:none;transition:transform .15s,background .15s,color .15s,border-color .15s}
.btn:hover{transform:translateY(-1px)}
.btn.solid{background:var(--gold);color:#0B1726}
.btn.ghost{color:var(--hero-ink);border:1px solid rgba(255,255,255,.25);background:#021d38}
.btn.ghost:hover,.btn.ghost:focus-visible{background:var(--gold);border-color:var(--gold);color:#0B1726}
.btn svg{width:16px;height:16px}


.pagehead{padding-block:clamp(48px,7vw,96px) clamp(28px,4vw,48px)}
.pagehead h1{font-size:clamp(40px,6vw,76px);line-height:1;font-weight:700;letter-spacing:-.035em;margin-top:14px}
.pagehead p{color:var(--muted);max-width:60ch;margin:18px 0 0;font-size:18px}


.lb{position:fixed;inset:0;z-index:100;background:rgba(2,10,20,.92);display:flex;align-items:center;justify-content:center;padding:max(56px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(72px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.lb img{max-height:100%;max-width:100%;border-radius:10px;object-fit:contain}
.lb .lbcap{position:absolute;left:0;right:0;bottom:max(22px,env(safe-area-inset-bottom,0px));text-align:center;color:#D7DEE8;font:500 13px var(--f-mono);padding:0 60px}
.lb button{position:absolute;width:44px;height:44px;border-radius:999px;border:0;background:rgba(255,255,255,.1);color:#fff;font:400 22px/1 var(--f-body);cursor:pointer}
.lb button:hover{background:rgba(255,255,255,.2)}
.lb .x{top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px))}
.lb .p{left:max(12px,env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%)}
.lb .nx{right:max(12px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%)}


mark{background:color-mix(in srgb,var(--gold) 40%,transparent);color:inherit;border-radius:3px}

/* Header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--surface);color:var(--ink);padding:10px 14px;border-radius:10px}
.skip:focus{left:12px}
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.admin-bar .hdr{top:calc(32px + env(safe-area-inset-top,0px))}
@media (max-width:782px){.admin-bar .hdr{top:env(safe-area-inset-top,0px)}}
.hdr.scrolled{border-bottom-color:var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:700 17px/1 var(--f-display);letter-spacing:-.01em;white-space:nowrap}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.nav .sub-menu,.nav .children{display:none}
.nav a{display:block;padding:8px 12px;border-radius:999px;color:var(--muted);text-decoration:none;font:500 14.5px/1 var(--f-body);transition:color .15s,background .15s}
.nav a:hover{color:var(--ink);background:var(--chip)}
.nav .current-menu-item>a,.nav .current_page_item>a,.nav .current-menu-ancestor>a,.nav .current_page_ancestor>a{color:var(--ink);background:var(--chip)}
.tools{display:flex;gap:6px;align-items:center}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;min-width:36px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font:500 13px/1 var(--f-body);cursor:pointer}
.iconbtn:hover{color:var(--ink)}
.menubtn{display:none}
@media (max-width:980px){
  .nav{position:fixed;inset:calc(64px + env(safe-area-inset-top,0px)) 0 auto 0;padding:8px max(16px,env(safe-area-inset-left,0px)) 16px;background:var(--bg);border-bottom:1px solid var(--line);display:none;max-height:calc(100vh - 64px);overflow:auto}
  .admin-bar .nav{top:calc(110px + env(safe-area-inset-top,0px))}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:0}
  .nav .sub-menu,.nav .children{display:flex;padding-left:16px}
  .nav a{padding:14px 12px;font-size:17px;border-radius:10px}
  .menubtn{display:inline-flex}
  .tools{margin-left:auto}
}
.searchpanel{border-top:1px solid var(--line);background:var(--bg)}
.searchpanel .wrap{height:auto;padding-block:14px}
.search-form{display:flex;gap:10px;width:100%}
.search-form label{flex:1;display:flex}
.search-field{flex:1;min-width:0;height:44px;padding:0 14px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;font:400 15px var(--f-body)}
.search-submit{height:44px;padding:0 18px;border-radius:12px;border:0;background:var(--gold);color:#0B1726;font:600 14px var(--f-body);cursor:pointer}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Page content */
.site-main{padding-bottom:clamp(64px,8vw,112px)}
.entry{font-size:17px;line-height:1.65;overflow-wrap:break-word}
.entry>*:first-child{margin-top:0}
.entry p,.entry ul,.entry ol,.entry blockquote{max-width:80ch}
.entry p{margin:0 0 1.1em}
.entry p.is-empty{display:none}
.entry h1,.entry h2,.entry h3,.entry h4,.entry h5{margin:1.8em 0 .6em;line-height:1.2}
.entry h1{font-size:clamp(30px,3.6vw,42px)}
.entry h2{font-size:clamp(26px,3vw,34px)}
.entry h3{font-size:clamp(21px,2.2vw,25px)}
.entry h4{font-size:19px}
.entry h5{font-size:16px;font-family:var(--f-mono);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.entry ul,.entry ol{padding-left:1.4em;margin:0 0 1.2em}
.entry li{margin:.45em 0}
.entry li::marker{color:var(--faint)}
.entry hr{border:0;border-top:1px solid var(--line);margin:40px 0}
.entry img{height:auto;border-radius:12px}
.entry img.alignleft,.entry .alignleft{float:left;margin:4px 28px 16px 0}
.entry img.alignright,.entry .alignright{float:right;margin:4px 0 16px 28px}
.entry .aligncenter{margin-inline:auto}
.entry::after{content:"";display:block;clear:both}
.entry figure{margin:0 0 1.4em}
.entry figcaption,.entry .wp-caption-text{font-size:14px;color:var(--muted);margin-top:8px}
.entry .wp-caption{max-width:100%}
.entry table{width:100%;border-collapse:collapse;margin:0 0 1.4em;display:block;overflow-x:auto}
.entry th,.entry td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.entry iframe,.entry video{max-width:100%;border:0;border-radius:12px}
.entry blockquote{margin:0 0 1.2em;padding-left:20px;border-left:3px solid var(--gold);color:var(--muted)}
.entry code{font-family:var(--f-mono);font-size:.9em;background:var(--chip);padding:2px 5px;border-radius:5px}
.entry input,.entry select,.entry textarea{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit}
.entry button,.entry input[type=submit]{background:var(--gold);color:#0B1726;border:0;border-radius:10px;padding:10px 16px;font:600 14px var(--f-body);cursor:pointer}
.entry a:hover{color:var(--ink)}


/* Galleries */
.entry .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:0 0 1.4em}
.entry .gallery br{display:none}
.entry .gallery-item{margin:0;width:auto!important;max-width:none!important}
.entry .gallery-icon a,.entry .gallery-item a{display:block;border-radius:14px;overflow:hidden;background:var(--chip)}
.entry .gallery img{width:100%;height:240px;object-fit:cover;border:0!important;border-radius:0;transition:transform .5s}
.entry .gallery-item:hover img{transform:scale(1.03)}
.entry .gallery-caption{font:500 12.5px/1.4 var(--f-mono);color:var(--muted);margin-top:8px}
.entry .wp-block-gallery{gap:14px}
a.rg-zoom{cursor:zoom-in}

/* Home content below the hero */
.home-content{padding-top:clamp(48px,7vw,88px)}

/* Publications (added by assets/site.js) */
.pubtools{position:sticky;top:calc(64px + env(safe-area-inset-top,0px));z-index:20;background:var(--bg);padding-block:12px;border-bottom:1px solid var(--line);margin-bottom:8px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.admin-bar .pubtools{top:calc(96px + env(safe-area-inset-top,0px))}
.pubtools .field{flex:1 1 280px;display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.pubtools .field input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:400 15px var(--f-body);outline:none;padding:0}
.pubtools .field svg{width:16px;height:16px;color:var(--faint);flex:none}
.pubtools .count{font:500 12.5px/1 var(--f-mono);color:var(--muted);white-space:nowrap}
.pubtools .years{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1 1 100%;padding-bottom:2px}
.pubtools .years::-webkit-scrollbar{display:none}
.pubtools .years a{flex:none;font:500 12.5px/1 var(--f-mono);padding:8px 10px;border-radius:8px;background:var(--chip);color:var(--muted);text-decoration:none}
.pubtools .years a:hover{color:var(--ink)}
.pubyear{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;padding-block:36px;border-bottom:1px solid var(--line);scroll-margin-top:200px}
.pubyear>.yr{font:500 clamp(28px,3vw,40px)/1 var(--f-mono);letter-spacing:-.03em;color:var(--ink);position:sticky;top:210px;align-self:start;margin:0}
@media (max-width:760px){.pubyear{grid-template-columns:1fr;gap:12px}.pubyear>.yr{position:static}}
.pubyear .body{min-width:0}
.pubyear .body>p{max-width:none}
.pubyear ol{margin:0;padding:0 0 0 3.4em;max-width:none}
.pubyear ol li[style*="list-style-type: none"]{margin:0}
.pubyear li.pubentry{font-size:16px!important;line-height:1.5;margin:0;padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.pubyear li.pubentry:last-child{border-bottom:0}
.pubyear li.pubentry::marker{font:500 13px var(--f-mono);color:var(--faint)}
.pubentry .au{display:block;color:var(--muted);font-size:14.5px}
.pubentry .ti{display:block;font:600 17px/1.35 var(--f-display);letter-spacing:-.01em;color:var(--ink);text-decoration:none;margin:4px 0 6px}
.pubentry a.ti:hover{color:var(--link);text-decoration:underline}
.pubentry .ve{font-style:italic;font-size:14.5px}
.pubentry .ve a{font:500 12px/1 var(--f-mono);font-style:normal;display:inline-flex;align-items:center;padding:6px 9px;margin:4px 0 0 6px;border-radius:7px;border:1px solid var(--line);color:var(--link);text-decoration:none;background:var(--surface);vertical-align:1px}
.pubentry .ve a:hover{border-color:var(--link)}
.pubyear.is-hidden,.pubentry.is-hidden{display:none}
.pubs-empty{padding:48px 0;color:var(--muted)}

/* Footer */
.foot{background:var(--surface);border-top:1px solid var(--line)}
.foot .wrap{padding-block:64px 36px}
.fgrid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px}
.foot .widget-title,.foot h3,.foot h2.wp-block-heading{font:500 12px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.foot li{margin:0}
.foot a{color:var(--ink);text-decoration:none;font-size:15px;line-height:1.4}
.foot a:hover{color:var(--link);text-decoration:underline}
.foot .widget{min-width:0}
.foot .widget_search,.foot .wp-block-search{display:none}
.foot .lead{font:600 22px/1.25 var(--f-display);letter-spacing:-.02em;max-width:22ch}
.foot .sub{color:var(--muted);margin-top:12px;font-size:15px;max-width:36ch}
.foot .base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font:400 13px var(--f-mono);color:var(--faint)}

/* Search results / archives */
.results{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.results li{padding:20px 0;border-bottom:1px solid var(--line)}
.results h2{font-size:21px;margin:0 0 6px}
.results h2 a{color:var(--ink);text-decoration:none}
.results h2 a:hover{color:var(--link);text-decoration:underline}
.results p{margin:0;color:var(--muted);max-width:80ch}
.pagination{margin-top:28px;display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 12px;border-radius:8px;background:var(--chip);color:var(--ink);text-decoration:none;font:500 13px var(--f-mono)}
.pagination .current{background:var(--gold);color:#0B1726}

/* Projects: images in headings (fallback before the script rebuilds them) */
.entry h2[style],.entry h3[style],.entry p[style]{padding:0!important;position:static!important}
.entry h2 img,.entry h3 img{position:static!important;float:none!important;display:block;width:min(300px,100%)!important;height:auto!important;margin:0 0 16px!important}
.entry h2,.entry h3,.entry hr{clear:both}

/* Projects: one row per project, image beside the text, sides alternate */
.projects{display:grid;gap:0}
.project{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:48px;align-items:center;padding:44px 0;border-top:1px solid var(--line)}
.project:first-child{border-top:0;padding-top:8px}
.project:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,300px)}
.project:nth-child(even) .project-media{order:2}
.project-media img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;border:1px solid var(--line);margin:0}
.project-body h2{font:600 clamp(22px,2.4vw,28px)/1.2 var(--f-display);letter-spacing:-.01em;margin:0 0 12px;color:var(--ink)}
.project-body p{margin:0;color:var(--muted);max-width:62ch}
@media (max-width:760px){
  .project,.project:nth-child(even){grid-template-columns:1fr;gap:20px;padding:32px 0}
  .project:nth-child(even) .project-media{order:0}
  .project-media{max-width:360px}
}

/* Homepage: publication count under the hero buttons */
.hero-stat{margin:28px 0 0;font:500 13px/1 var(--f-mono);letter-spacing:.06em;color:var(--hero-muted)}
.hero-stat a{color:inherit;text-decoration:none}
.hero-stat a:hover{color:var(--hero-ink)}
.hero-stat strong{color:var(--gold);font-weight:500}

/* Homepage sections and cards */
.home-section{padding-top:clamp(56px,7vw,96px)}
.sechead{display:flex;align-items:end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:28px}
.sechead h2{font-size:clamp(26px,3vw,38px);line-height:1.1;font-weight:700}
.more{font:600 14.5px/1 var(--f-body);text-decoration:none;color:var(--link);display:inline-flex;gap:8px;align-items:center}
.more:hover{text-decoration:underline}
.cards{display:grid;gap:16px}
.cards-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.cards-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.card{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 24px 24px;color:var(--ink);text-decoration:none;transition:border-color .2s}
.card:hover{border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}
.card-meta{font:500 11.5px/1.5 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.card h3{font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.01em}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0;border-radius:16px}
.card h3 a:hover{text-decoration:underline}
.card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}
.card-authors{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-link{position:relative;z-index:1;align-self:flex-start;margin-top:auto;font:500 12px/1 var(--f-mono);padding:7px 10px;border-radius:7px;border:1px solid var(--line);color:var(--link);text-decoration:none}
.card-link:hover{border-color:var(--link)}
.card-tool{padding-right:48px}
.card-go{position:absolute;top:22px;right:20px;color:var(--faint);transition:color .2s,transform .2s}
.card-tool:hover .card-go{color:var(--gold-ink);transform:translate(2px,-2px)}

/* People page (built by assets/site.js from the staff-list plugin output) */
.entry .rg-team .staff-member{padding:0!important;margin:0!important;border:0!important}
.entry .rg-team .staff-member::after{display:none}

/* Staff-list entries on other pages (Dr. Ramprasad): photo left, text beside it */
.entry .staff-member-listing:not(.rg-team) .flex-container{display:flex;gap:40px;align-items:flex-start}
.entry .staff-member-listing:not(.rg-team) .flex-container > div:first-child{flex:0 0 min(280px,38%);padding:0!important}
.entry .staff-member-listing:not(.rg-team) .flex-container > div:first-child img{display:block;width:100%;height:auto;max-width:100%!important;border-radius:16px}
.entry .staff-member-listing:not(.rg-team) .flex-container > div:last-child{flex:1 1 auto!important;min-width:0}
.entry .staff-member-listing:not(.rg-team) font{color:var(--link)}
@media (max-width:700px){
  .entry .staff-member-listing:not(.rg-team) .flex-container{flex-direction:column;gap:20px}
  .entry .staff-member-listing:not(.rg-team) .flex-container > div:first-child{flex:none;width:min(280px,100%)}
}
.rg-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:32px 20px;max-width:none}
.rg-team .person{display:flex;flex-direction:column;gap:14px;min-width:0}
.rg-team .person-photo{aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:var(--chip)}
.rg-team .person-photo img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center 22%;border-radius:0;display:block}
.rg-team .person-name{font:600 17px/1.25 var(--f-display);letter-spacing:-.01em;color:var(--ink)}
.rg-team .person-role{color:var(--muted);font-size:15px;margin-top:3px}
.person-meta{font:400 12.5px/1.5 var(--f-mono);color:var(--muted);margin-top:6px;overflow-wrap:anywhere}
.person-link{display:inline-block;margin-top:8px;font:600 13.5px/1 var(--f-body);color:var(--link);text-decoration:none}
.person-link:hover{text-decoration:underline}
.people-heading{font-size:clamp(26px,3vw,36px)!important;margin:clamp(56px,7vw,88px) 0 20px!important}
@media (max-width:560px){.rg-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.rg-team .person-name{font-size:15.5px}.rg-team .person-role{font-size:13.5px}.rg-team .person-meta{font-size:11px}}

/* Projects page banner (same look as the homepage hero, shorter) */
.hero-page .wrap{padding-block:clamp(40px,5vw,64px) clamp(120px,13vw,168px)}
.hero-page .eyebrow{margin-bottom:14px}
.hero-page h1{font-size:clamp(40px,6vw,76px);line-height:1;max-width:none;margin:0}

/* Projects page: research areas and applications */
.areas{padding-top:clamp(8px,2vw,24px)}
.area{padding:clamp(36px,5vw,56px) 0;border-top:1px solid var(--line)}
.area:first-child{border-top:0}
.area h2{font-size:clamp(26px,3vw,38px);line-height:1.1;font-weight:700;letter-spacing:-.02em;margin:0}
.area p{margin-top:14px!important}
.area p{margin:0;max-width:62ch;color:var(--muted);font-size:17px;line-height:1.6}
.apps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.app{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.app img{width:112px;height:112px;display:block;border:0;border-radius:50%;margin:0}
.app span{font-family:var(--f-display);font-weight:600;font-size:17px;line-height:1.3;max-width:20ch;color:var(--ink)}
@media (max-width:640px){
  .apps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
  .app img{width:92px;height:92px}
  .app span{font-size:15px}
}

/* Resources page */
.res-section{padding-bottom:clamp(40px,5vw,64px)}
.res-section:first-of-type{padding-top:8px}
.res-links{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.res-links a{color:var(--link);text-decoration:none;font-size:17px}
.res-links a:hover{text-decoration:underline}

/* Homepage news: link under the newest items */
.news-more-wrap{margin:14px 0 0}
.entry .news-more{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-decoration:none}
.home-news .widget-title{font-size:clamp(26px,3vw,38px);line-height:1.1;font-weight:700;letter-spacing:-.02em;margin:0 0 20px}
.home-news .panel-grid,.home-news .panel-grid-cell,.home-news .so-panel{margin:0!important;padding:0!important}

/* Page banner layout a: room above the title for one strand */
.hero-page.layout-a .wrap{padding-top:clamp(84px,9vw,120px)}

/* Photos gallery (Final Tiles): keep the hover shading, hide the file-name captions */
.final-tiles-gallery .tile .caption-block .text-wrapper,
.final-tiles-gallery .tile .caption-block .title,
.final-tiles-gallery .tile .caption-block .subtitle{display:none!important}
/* Photos gallery: hide the plugin loading bar (it showed as a line over the banner) */
.final-tiles-gallery .loading-bar{display:none!important}
/* Photos gallery: on hover the photo itself just turns semi-transparent.
   Every plugin hover layer is switched off, and the photo is forced to stay in place and visible. */
html body .final-tiles-gallery[class][class][class] .tile[class][class] .tile-inner > :not(img):not(:has(img)),
html body .final-tiles-gallery[class][class][class] .tile[class][class] .caption-block,
html body .final-tiles-gallery[class][class][class] .tile[class][class] .hover{display:none!important}
html body .final-tiles-gallery .tile .tile-inner:before,
html body .final-tiles-gallery .tile .tile-inner:after{content:none!important;display:none!important}
html body .final-tiles-gallery .tile,
html body .final-tiles-gallery .tile:hover,
html body .final-tiles-gallery .tile .tile-inner,
html body .final-tiles-gallery .tile:hover .tile-inner{opacity:1!important;visibility:visible!important;background:transparent!important}
/* Fill each tile's box: the gallery sizes boxes from its thumbnails, so a larger photo with another shape must not leave gaps */
html body .final-tiles-gallery[class][class][class] .tile[class][class] .tile-inner{height:100%}
html body .final-tiles-gallery[class][class][class] .tile[class][class] img.item,
html body .final-tiles-gallery[class][class][class] .tile[class][class] .tile-inner > img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover}
html body .final-tiles-gallery[class][class][class] .tile[class][class] img[src][class],
html body .final-tiles-gallery[class][class][class] .tile[class][class] img[src],
html body .final-tiles-gallery[class][class][class] .tile[class][class] .item[class]{opacity:1!important;visibility:visible!important;transition:none!important}
html body .final-tiles-gallery[class][class][class] .tile[class][class]:hover img[src][class],
html body .final-tiles-gallery[class][class][class] .tile[class][class]:hover img[src],
html body .final-tiles-gallery[class][class][class] .tile[class][class]:hover .item[class]{opacity:.5!important;visibility:visible!important;transform:none!important;filter:none!important;transition:none!important}

/* Projects page: tool lists under Polymer Informatics (compact: names only) */
.tool-groups{display:grid;gap:14px;margin-top:22px}
.tool-group{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px 14px}
@media (max-width:560px){.tool-group{grid-template-columns:1fr}}
.tool-group h3{font:600 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink);margin:0;align-self:start;padding-top:11px}
.tool-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tool-list a{display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;transition:border-color .15s,color .15s}
.tool-list a:hover{border-color:var(--gold);color:var(--gold-ink)}

/* Homepage: "More Publications" under the cards */
.section-more{margin:22px 0 0}

/* Search jump: the matched words on the opened page */
mark.rg-hit{background:color-mix(in srgb,var(--gold) 55%,transparent);color:inherit;border-radius:3px;padding:0 2px;scroll-margin-top:120px}
.results a.hit-link{color:inherit;text-decoration:none}
.results a.hit-link mark{cursor:pointer}
.results a.hit-link:hover mark,.results a.hit-link:focus-visible mark{background:var(--gold);color:#0B1726}
