/* ============================================================
   Emory Roybal Center for Dementia Caregiving Mastery
   Palette, type scale, spacing and buttons taken from the site's Impreza
   theme options, so the rebuild keeps a clear line to the live site.
   ============================================================ */

:root{
  /* palette sampled from the Roybal ring: amber -> bright blue -> deep navy -> bronze */
  --gold:#e0930a;      --gold-dk:#9a6606;    --gold-lt:#f7ad1f;   --gold-wash:#fdf5e6;
  --navy:#0b2a5b;      --navy-dk:#061c3f;
  --blue:#0078b4;      --blue-dk:#02628f;    --blue-wash:#eef6fb;
  --bronze:#846c48;
  --ink:#2b3038;       --text:#2b3038;       --faded:#6b7280;   --muted:#9aa1ab;
  --bg:#ffffff;        --bg-alt:#f5f7f9;      --line:#e3e7ec;    --line-2:#eef1f4;
  --canvas:1300px;     --wrap:1140px;
  --radius:0px;
  --shadow:0 1px 2px rgba(11,42,91,.05),0 10px 30px rgba(11,42,91,.09);
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;
  --caps:'Cinzel','Newsreader',Georgia,serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:106.25%}
body{
  font-family:var(--sans);
  font-size:1.16rem;line-height:1.68;font-weight:400;
  color:var(--text);background:var(--bg);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
p,h1,h2,h3,h4,h5,li,td,th,figcaption{overflow-wrap:break-word}

/* Type scale: Newsreader headings, Cinzel small-caps kickers, Source Sans body */
h1,h2,h3,h4,h5,h6{font-family:var(--serif);color:var(--ink);
  line-height:1.2;font-weight:400;margin-bottom:15px}
h1{font-size:3.0rem;text-transform:uppercase;letter-spacing:.01em}
h2{font-size:2.5rem}
h3{font-size:1.7rem}
h4{font-size:1.4rem}
h5{font-size:1.4rem}
h6{font-size:1.3rem}
b,strong{font-weight:700}

a{color:var(--gold);text-decoration:none;transition:color .18s}
a:hover{color:var(--navy)}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.skip{position:absolute;left:-9999px;background:var(--navy);color:#fff;padding:12px 20px;z-index:300}
.skip:focus{left:12px;top:12px}
hr{border:0;border-top:1px solid var(--line);margin:34px 0}

.canvas{max-width:var(--canvas);margin:0 auto;padding:0 2.5rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 2.5rem}
.narrow{max-width:820px;margin:0 auto}
.sec{padding:4.5vmax 0}
.sec.alt{background:var(--bg-alt)}
.sec.tight{padding:3vmax 0}
.lede{font-size:1.25rem;line-height:1.6}
.faded{color:var(--faded)}
.center{text-align:center}
.eyebrow{font-family:var(--sans);font-size:13px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.rule{width:64px;height:3px;background:var(--gold);margin:0 0 26px}
.center .rule{margin-inline:auto}

/* ---------- buttons: Impreza Gold (1) + Blue (2) ---------- */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--serif);
  font-size:1.15rem;font-weight:400;line-height:1.2;
  padding:.7em 1.5em;border-radius:var(--radius);border:0;cursor:pointer;
  background:var(--gold);color:#fff;transition:background .3s}
.btn:hover{background:var(--navy-dk);color:#fff}
.btn.blue{background:var(--navy)}
.btn.blue:hover{background:var(--gold)}
.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.btn.ghost:hover{background:#fff;color:var(--navy);box-shadow:none}
.more{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;
  text-transform:uppercase;letter-spacing:.1em;color:var(--navy);
  border-bottom:2px solid var(--gold);padding-bottom:3px}
.more:hover{color:var(--gold)}

/* ============================================================
   HEADER — gold utility bar + white main bar
   ============================================================ */
header.site{position:sticky;top:0;z-index:120;background:var(--bg)}
.topbar{background:var(--gold);color:#fff}
.topbar .canvas{display:flex;justify-content:flex-end}
nav.top ul{display:flex;gap:0;list-style:none}
nav.top a{display:block;padding:8px 14px;font-size:14px;color:#fff}
nav.top a:hover,nav.top a.on{color:#fff;background:rgba(0,0,0,.12)}
.mainbar{border-bottom:1px solid var(--line)}
.mainbar .bar{display:flex;align-items:center;gap:24px;min-height:88px}
.logo{display:block;line-height:0}
.logo img{width:auto;height:60px}
nav.main{margin-left:auto}
nav.main>ul{display:flex;gap:2px;list-style:none}
nav.main li{position:relative}
nav.main a{display:flex;align-items:center;gap:3px;padding:10px 12px;font-size:16px;
  color:var(--ink);white-space:nowrap}
nav.main a:hover,nav.main a.on{color:var(--gold)}
nav.main a.on{box-shadow:inset 0 -3px 0 var(--gold)}
nav.main .caret{width:15px;height:15px;fill:currentColor;opacity:.7}
nav.main .sub{position:absolute;top:100%;left:0;min-width:250px;list-style:none;
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:6px 0;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s;z-index:10}
nav.main .has-sub:hover .sub,nav.main .has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
nav.main .sub a{padding:9px 18px;box-shadow:none!important;font-size:15px;white-space:normal}
nav.main .sub a:hover{background:var(--gold-wash);color:var(--gold)}
.menu-btn{display:none;place-items:center;width:44px;height:44px;margin-left:auto;
  background:transparent;border:1px solid var(--line);cursor:pointer}
.menu-btn svg{width:22px;height:22px;fill:var(--ink)}
#mnav{display:none;background:var(--bg);border-top:1px solid var(--line);padding:10px 0 18px}
#mnav.open{display:block}
#mnav ul{list-style:none}
#mnav .mnav-top{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}
#mnav a{display:block;padding:11px 0;font-size:16px;color:var(--ink)}
#mnav .caret{display:none}
#mnav .sub{padding-left:16px}
#mnav .sub a{font-size:15px;padding:9px 0;color:var(--faded)}

/* ============================================================
   HERO (home) + TITLEBAR (inner)
   ============================================================ */
.hero{position:relative;background-size:cover;background-position:center;
  color:#fff;padding:12vmax 0;text-align:center}
.hero .box{background:rgba(0,0,0,.5);padding:2.4rem 3rem;max-width:960px;margin:0 auto}
.hero .box p,.hero .mission{font-family:var(--serif);font-size:2.0rem;
  line-height:1.35;color:#fff}
.hero .cta{margin-top:2.2rem;display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}

.titlebar{background:var(--navy);background-size:cover;background-position:center;color:#fff;
  padding:5.5vmax 0 4.5vmax}
.titlebar h1{color:#fff}
.titlebar-plain{background:linear-gradient(120deg,var(--navy),var(--gold))}
.tb-crumbs{font-size:14px;color:rgba(255,255,255,.85);margin-top:6px}
.tb-crumbs a{color:rgba(255,255,255,.85)}
.tb-crumbs a:hover{color:#fff}
.tb-crumbs span{margin:0 8px;opacity:.6}

/* ============================================================
   CONTENT
   ============================================================ */
.prose{font-size:18px;line-height:30px}
.prose > * + *{margin-top:1.2rem}
.prose h2{margin-top:2.6rem}
.prose h3,.prose h4{margin-top:2rem}
.prose ul,.prose ol{padding-left:26px}
.prose li + li{margin-top:8px}
.prose img{margin:1.8rem 0}
.prose figure{margin:1.8rem 0}
.prose figcaption{font-size:15px;color:var(--faded);margin-top:8px}
.prose blockquote{border-left:3px solid var(--gold);padding:6px 0 6px 24px;
  font-family:var(--serif);font-size:1.5rem;line-height:1.45;color:var(--ink)}
.prose a{border-bottom:1px solid rgba(172,134,44,.4)}
.prose a:hover{border-bottom-color:var(--navy)}
.tablewrap{overflow-x:auto;margin:1.8rem 0;border:1px solid var(--line)}
.tablewrap table{width:100%;border-collapse:collapse;font-size:16px}
.tablewrap th,.tablewrap td{border:1px solid var(--line);padding:10px 13px;text-align:left}
.tablewrap th{background:var(--bg-alt);font-weight:700}
.alignleft{float:left;margin:6px 1.8rem 1.2rem 0;max-width:46%}
.alignright{float:right;margin:6px 0 1.2rem 1.8rem;max-width:46%}

.content{max-width:960px;margin:0 auto}
.lead{font-size:1.25rem;line-height:1.55;color:var(--ink)}

/* restored WPBakery images */
.prose figure.wp-img{margin:2rem auto;text-align:center;max-width:640px}
.prose figure.wp-img img{margin:0 auto;box-shadow:var(--shadow)}
.prose figure.wp-img figcaption{font-size:14px;color:var(--faded);margin-top:8px}

/* collapsible bios (WPBakery accordions) */
.prose details.acc{border:1px solid var(--line);border-left:3px solid var(--gold);
  margin:1rem 0;background:var(--bg)}
.prose details.acc summary{cursor:pointer;padding:14px 18px;font-weight:500;
  font-family:var(--sans);font-size:16px;color:var(--navy);list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:1rem}
.prose details.acc summary::-webkit-details-marker{display:none}
.prose details.acc summary::after{content:"+";color:var(--gold);font-size:1.4rem;line-height:1}
.prose details.acc[open] summary::after{content:"–"}
.prose details.acc summary:hover{color:var(--gold)}
.acc-body{padding:4px 18px 18px}
.acc-body p{font-size:16px}

/* responsive video */
.video{position:relative;aspect-ratio:16/9;margin:1.8rem 0;background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* project pages: illustrated, scannable */
.projects h3{font-size:1.15rem;text-transform:uppercase;letter-spacing:.12em;
  color:var(--gold);border-bottom:2px solid var(--gold-wash);padding-bottom:8px;margin-top:3rem}
.projects h2{font-size:1.6rem;margin-top:1.4rem;padding-top:1.2rem}
.projects h4{color:var(--navy);font-size:1.25rem;margin-top:.3rem}
.projects figure.wp-img{max-width:300px;margin:1.4rem auto .6rem}

/* ---------- funded projects: media rows ---------- */
.year-group + .year-group{margin-top:3.5rem}
.year{font-size:1.15rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);
  border-bottom:2px solid var(--gold-wash);padding-bottom:10px;margin-bottom:2rem}
.mrow{display:grid;grid-template-columns:170px minmax(0,1fr);gap:2rem;align-items:start;
  padding:2rem 0;border-bottom:1px solid var(--line)}
.mrow:last-child{border-bottom:0}
.mrow-photo{margin:0}
.mrow-photo img{width:100%;box-shadow:var(--shadow)}
.mrow-name{font-size:1.5rem;margin:0}
.mrow-title{color:var(--navy);font-size:1.15rem;font-family:var(--serif);
  margin:.2rem 0 .6rem}
.mrow-cred{font-size:14px;color:var(--faded);margin:0 0 1rem}
.mrow-bio{font-size:16px;line-height:1.65}
.mrow-bio > * + *{margin-top:.9rem}
@media(max-width:600px){
  .mrow{grid-template-columns:minmax(0,1fr);gap:1rem}
  .mrow-photo{max-width:200px}
}

/* ---------- cards / grids ---------- */
.grid{display:grid;gap:2.4rem}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;
  transition:border-color .18s,box-shadow .18s}
.card:hover{border-color:var(--gold);box-shadow:var(--shadow)}
.card .thumb{aspect-ratio:16/10;overflow:hidden;background:var(--gold-wash)}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .thumb img{transform:scale(1.04)}
.card .body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.card h3{font-size:1.35rem;margin-bottom:8px}
.card h3 a{color:var(--ink)}
.card h3 a:hover{color:var(--gold)}
.card p{font-size:16px;line-height:1.6;color:var(--faded)}
.card .date{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);
  margin-bottom:8px;display:flex;align-items:center;gap:10px}
.card .tag{background:var(--navy);color:#fff;font-size:11px;letter-spacing:.1em;
  padding:2px 8px;border-radius:2px}
.card .thumb{position:relative}
.card .thumb-v{background:linear-gradient(120deg,var(--navy),var(--gold))}
.card .thumb .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center}
.card .thumb .play::after{content:"";margin-left:4px;border-style:solid;
  border-width:10px 0 10px 17px;border-color:transparent transparent transparent var(--navy)}
.card .foot{margin-top:auto;padding-top:16px}

/* ---------- team grid ---------- */
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4rem}
.member{text-align:center}
.member a.ph{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--gold-wash);
  border-bottom:4px solid var(--gold)}
.member img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.member a.ph:hover img{transform:scale(1.05)}
.member h3{font-size:1.3rem;margin:16px 0 4px}
.member h3 a{color:var(--ink)}
.member h3 a:hover{color:var(--gold)}
.member .role{font-size:15px;color:var(--faded);line-height:1.4}

/* ---------- member profile ---------- */
.bio{display:grid;grid-template-columns:300px minmax(0,1fr);gap:3rem;align-items:start}
.bio-photo img{width:100%;box-shadow:var(--shadow)}
.bio-photo .cvlink{margin-top:1rem}
.bio-body h2{margin-bottom:.2rem}
.bio-body .role{color:var(--gold);font-size:1.1rem;margin-bottom:1.4rem}

/* ---------- downloads / publications list ---------- */
.dlist{border-top:1px solid var(--line)}
.dlist a.d{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.4rem;align-items:center;
  padding:20px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.dlist a.d:hover{color:var(--gold)}
.dlist .t{font-family:var(--serif);font-size:1.3rem;line-height:1.3}
.dlist .k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);white-space:nowrap}

/* ---------- forms (Web3Forms) ---------- */
.form{display:grid;gap:1.1rem;max-width:640px}
.form label{display:block;font-size:15px;font-weight:500;margin-bottom:6px;color:var(--ink)}
.form input,.form textarea,.form select{width:100%;font:inherit;font-size:1rem;
  padding:.8rem;background:var(--bg-alt);border:1px solid var(--line);border-radius:0}
.form input:focus,.form textarea:focus{outline:0;border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(172,134,44,.25)}
.form textarea{min-height:150px;resize:vertical}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.form-note{font-size:14px;color:var(--faded)}

/* ---------- contact split ---------- */
.split{display:grid;grid-template-columns:1.3fr 1fr;gap:3.5rem;align-items:start}
.contactcard{background:var(--gold-wash);border-top:3px solid var(--gold);padding:28px 30px}
.contactcard h3{font-size:1.4rem;margin-bottom:.5rem}
.contactcard p{margin:.2rem 0}

/* icon-box row (home-style feature links) */
.feats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem}
.feat{background:var(--bg);border-top:3px solid var(--gold);padding:28px 30px;box-shadow:var(--shadow)}
.feat h3{font-size:1.4rem;margin-bottom:10px}
.feat p{color:var(--faded);font-size:16px;line-height:1.6}

/* ============================================================
   FOOTER
   ============================================================ */
footer.site{background:var(--bg);border-top:3px solid var(--gold);color:var(--faded);
  padding:3vmax 0;font-size:15px}
footer.site .frow{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
footer.site .flogo{flex:none;line-height:0}
footer.site .flogo img{height:56px;width:auto}
footer.site .fmeta p{margin:.15rem 0}

/* ============================================================
   RESPONSIVE (Impreza: 1024 / 600)
   ============================================================ */
@media(max-width:1024px){
  nav.main,nav.top{display:none}
  .menu-btn{display:grid}
  .mainbar .bar{min-height:64px}
  .g3,.team,.feats,.split,.bio{grid-template-columns:minmax(0,1fr)}
  .team{grid-template-columns:1fr 1fr}
  .bio{gap:1.6rem}.bio-photo{max-width:260px}
}
@media(max-width:600px){
  body{font-size:16px;line-height:28px}
  .canvas,.wrap{padding:0 1.4rem}
  h1{font-size:2.1rem}h2{font-size:1.9rem}
  .hero .box p,.hero .mission{font-size:1.4rem}
  .hero .cta{flex-direction:column}
  .g2,.team,.form .row2{grid-template-columns:minmax(0,1fr)}
  .prose{font-size:16px;line-height:28px}
  .alignleft,.alignright{float:none;margin:1.4rem auto;max-width:100%}
  footer.site .frow{flex-direction:column;align-items:flex-start;gap:1rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*{transition:none!important;animation:none!important}
}

/* Call for proposals: key facts + terms */
.cfp-facts{background:#f4f6f9;border-left:4px solid #012169;border-radius:6px;padding:22px 26px;margin:1.4em 0 1.8em}
.cfp-facts dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0}
.cfp-facts dt{font-weight:700;color:#012169;font-size:.92rem}
.cfp-facts dd{margin:0;font-size:.95rem}
.cfp-cta{margin:18px 0 0}
.cfp-terms{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:1em 0 1.6em}
.cfp-terms dt{font-weight:700;color:#012169}
.cfp-terms dd{margin:0}
@media(max-width:640px){.cfp-facts dl,.cfp-terms{grid-template-columns:1fr;gap:2px 0}.cfp-terms dd,.cfp-facts dd{margin-bottom:10px}}

/* === 2026 reorganisation: home page + team + webinars === */
.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:var(--gold);margin:0 0 .7rem}
.sec-head{max-width:74ch;margin:0 0 2.2rem}
.sec-alt{background:var(--gold-wash)}
.ctr{text-align:center;margin-top:2rem}

/* hero */
.hero-lg{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dk) 100%);color:#fff;padding:5.5vmax 0 5vmax}
.hero-lg .kicker{color:#e3c98a}
.hero-in{max-width:62rem}
.hero-lg h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.12;margin:0}
.hero-sub{color:#dfe5f2;font-size:clamp(1.02rem,1.5vw,1.22rem);line-height:1.62;max-width:62ch;margin:1.1rem 0 0}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.8rem}
.hero-lg .btn-ghost{border:1px solid rgba(255,255,255,.5);color:#fff;background:transparent}
.hero-lg .btn-ghost:hover{background:rgba(255,255,255,.12)}

/* call-for-proposals banner */
.cfp-banner{background:var(--gold-wash);border-top:3px solid var(--gold);border-bottom:1px solid rgba(0,0,0,.08)}
.cfp-banner-in{display:flex;gap:2.4rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:2.1rem 2.5rem}
.cfp-tag{text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:700;color:var(--gold-dk);margin:0 0 .4rem}
.cfp-banner h2{margin:0 0 .35rem;font-size:clamp(1.4rem,2.4vw,1.9rem)}
.cfp-banner p{margin:0;color:var(--ink);max-width:52ch}
.cfp-dates{display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap}
.cfp-dates>div{display:flex;flex-direction:column}
.cfp-dates span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--faded)}
.cfp-dates strong{font-size:1.02rem;color:var(--navy)}

/* card grids */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.scard{display:block;background:#fff;border:1px solid rgba(0,0,0,.10);border-top:3px solid var(--navy);
  border-radius:8px;padding:1.6rem 1.5rem;color:var(--ink);text-decoration:none;transition:.22s}
a.scard:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,40,114,.13);border-top-color:var(--gold)}
.scard h3{margin:0 0 .55rem;font-size:1.2rem;color:var(--navy)}
.scard p{margin:0;font-size:.97rem;line-height:1.6;color:var(--ink)}
.scard .more{display:inline-block;margin-top:.9rem;font-weight:700;font-size:.9rem;color:var(--gold-dk)}
.scard-plain{border-top-color:var(--gold)}
.scard .prole,.pcard .prole{color:var(--gold-dk);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:.1rem 0 .5rem}
.pjcard{background:#fff;border:1px solid rgba(0,0,0,.10);border-left:3px solid var(--gold);border-radius:8px;padding:1.4rem 1.4rem}
.pjyear{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--faded);margin:0 0 .3rem;font-weight:700}
.pjcard h3{margin:0 0 .4rem;font-size:1.1rem;color:var(--navy)}
.pjcard p{margin:0;font-size:.94rem;color:var(--ink)}

/* stat band */
.statband{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;text-align:center}
.statband strong{display:block;font-size:clamp(1.9rem,3.4vw,2.7rem);color:var(--navy);line-height:1}
.statband span{display:block;margin-top:.45rem;font-size:.86rem;color:var(--faded);text-transform:uppercase;letter-spacing:.08em}

/* two column lists */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.linklist{list-style:none;margin:0;padding:0;border-top:1px solid rgba(0,0,0,.10)}
.linklist li{border-bottom:1px solid rgba(0,0,0,.10)}
.linklist a{display:block;padding:.95rem .2rem;color:var(--navy);text-decoration:none;font-size:1rem;transition:.18s}
.linklist a:hover{color:var(--gold-dk);padding-left:.6rem}

/* closing CTA */
.cta-band{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dk) 100%);color:#fff;padding:4.4vmax 0;text-align:center}
.cta-band h2{color:#fff;margin:0 0 .7rem}
.cta-band p{color:#dfe5f2;max-width:60ch;margin:0 auto 1.6rem}
.cta-band .hero-cta{justify-content:center}
.cta-band .btn-ghost{border:1px solid rgba(255,255,255,.5);color:#fff;background:transparent}

/* team index */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:2rem}
.pcard{display:flex;gap:1.1rem;align-items:flex-start;background:#fff;border:1px solid rgba(0,0,0,.10);
  border-radius:8px;padding:1.3rem 1.4rem;text-decoration:none;color:var(--ink);transition:.22s}
.pcard:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,40,114,.13)}
.pavatar{flex:0 0 auto;width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;
  display:grid;place-items:center;font-size:1.3rem;font-weight:700;font-family:var(--serif)}
.pinfo{display:flex;flex-direction:column}
.pinfo strong{color:var(--navy);font-size:1.08rem}
.pbio{font-size:.92rem;color:var(--ink);line-height:1.55}

/* webinar archive */
.wgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem;margin-top:2rem}
.wcard{background:#fff;border:1px solid rgba(0,0,0,.10);border-top:3px solid var(--navy);border-radius:8px;padding:1.5rem}
.wcard h3{margin:0 0 .8rem;font-size:1.1rem;color:var(--navy);line-height:1.35}
.wsess{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.wsess a{display:inline-block;padding:.42rem .85rem;border:1px solid rgba(0,0,0,.14);border-radius:999px;
  font-size:.86rem;color:var(--navy);text-decoration:none;transition:.18s}
.wsess a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

@media(max-width:900px){
  .cards3,.statband,.two-col,.pgrid,.wgrid{grid-template-columns:1fr}
  .statband{grid-template-columns:1fr 1fr;gap:1.8rem}
  .cfp-banner-in{padding:1.6rem 1.4rem;gap:1.4rem}
  .cfp-dates{gap:1.2rem}
}

/* === type + logo-palette refinements (2026) === */
body{font-family:var(--sans);letter-spacing:.005em}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:600;letter-spacing:-.011em}
h1{font-weight:600}
.kicker,.cfp-tag,.pjyear,.statband span,.prole{font-family:var(--caps);font-weight:600;letter-spacing:.13em}
.kicker{font-size:.74rem}
.btn{font-family:var(--caps);font-weight:600;letter-spacing:.09em;font-size:.8rem}

/* bright logo blue as the interactive colour */
a{color:var(--blue-dk)}
.linklist a{color:var(--navy)}
.linklist a:hover{color:var(--blue-dk)}
.scard{border-top-color:var(--blue)}
a.scard:hover{border-top-color:var(--gold);box-shadow:0 12px 28px rgba(11,42,91,.15)}
.scard .more{color:var(--blue-dk)}
.scard-plain{border-top-color:var(--gold)}
.statband strong{color:var(--blue-dk)}
.cfp-dates strong{color:var(--navy)}

/* hero: navy to logo-blue, with a thin amber rule from the ring */
.hero-lg{background:linear-gradient(118deg,var(--navy-dk) 0%,var(--navy) 46%,#12457f 100%);
  border-bottom:4px solid var(--gold)}
.hero-lg .kicker{color:var(--gold-lt)}
.hero-lg h1{font-weight:500}
.cta-band{background:linear-gradient(118deg,var(--navy-dk) 0%,var(--navy) 46%,#12457f 100%);border-top:4px solid var(--gold)}
.cfp-banner{background:var(--gold-wash);border-top:3px solid var(--gold)}
.cfp-tag{color:var(--gold-dk)}
.sec-alt{background:var(--blue-wash)}

/* === funded projects: filterable card index === */
.fp-intro{max-width:70ch;margin:0 0 1.8rem}
.fp-filter{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 0 1.1rem;border-bottom:1px solid var(--line)}
.fp-chip{font-family:var(--caps);font-weight:600;font-size:.76rem;letter-spacing:.08em;
  padding:.52rem .95rem;border:1px solid var(--line);background:#fff;color:var(--navy);
  border-radius:999px;cursor:pointer;transition:.18s;line-height:1}
.fp-chip span{display:inline-block;margin-left:.4em;font-family:var(--sans);font-size:.78em;
  letter-spacing:0;color:var(--faded)}
.fp-chip:hover{border-color:var(--blue);color:var(--blue-dk)}
.fp-chip.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.fp-chip.is-on span{color:rgba(255,255,255,.7)}
.fp-count{font-size:.86rem;color:var(--faded);margin:.9rem 0 1.6rem}
.fp-empty{color:var(--faded);padding:2rem 0}

.fp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;align-items:start}
.fp-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);
  border-radius:8px;padding:1.5rem 1.5rem 1.3rem;box-shadow:0 1px 2px rgba(11,42,91,.04)}
.fp-card[hidden]{display:none}
.fp-head{display:flex;align-items:center;gap:.9rem;margin:0 0 1rem}
.fp-avs{display:flex;flex:0 0 auto}
.fp-av{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:top center;
  background:var(--bg-alt);border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.fp-avs.is-duo .fp-av+.fp-av{margin-left:-16px}
.fp-year{font-family:var(--caps);font-weight:600;font-size:.72rem;letter-spacing:.13em;
  color:var(--gold-dk);margin:0}
.fp-title{font-size:1.16rem;line-height:1.32;margin:0 0 .55rem;color:var(--navy)}
.fp-pi{margin:0;font-weight:600;color:var(--ink);font-size:.98rem}
.fp-cred{margin:.15rem 0 0;font-size:.86rem;color:var(--faded);line-height:1.45}

.fp-more{margin:1.05rem 0 0;border-top:1px solid var(--line-2);padding-top:.85rem}
.fp-more summary{font-family:var(--caps);font-weight:600;font-size:.74rem;letter-spacing:.1em;
  color:var(--blue-dk);cursor:pointer;list-style:none;display:flex;align-items:center;gap:.45em}
.fp-more summary::-webkit-details-marker{display:none}
.fp-more summary::after{content:"";width:.42em;height:.42em;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s;margin-top:-.2em}
.fp-more[open] summary::after{transform:rotate(-135deg);margin-top:.15em}
.fp-more summary:hover{color:var(--gold-dk)}
.fp-bio{padding-top:.85rem}
.fp-bio p{font-size:.93rem;line-height:1.62;margin:0 0 .8rem;color:var(--ink)}
.fp-bio p:last-child{margin-bottom:0}
.fp-bio .fp-role{font-weight:600;color:var(--navy);font-size:.9rem;margin-bottom:.5rem}
.fp-bio .fp-aim{font-family:var(--caps);font-weight:600;font-size:.72rem;letter-spacing:.12em;
  color:var(--gold-dk);margin:1.1rem 0 .35rem}
.fp-bio .fp-aim:first-child{margin-top:0}

@media(max-width:900px){
  .fp-grid{grid-template-columns:1fr}
  .fp-card{padding:1.3rem 1.2rem}
}

/* === legibility pass: larger base type (2026) === */
/* root is 17px, so 1rem = 17px; body reads ~19.7px */
.prose{font-size:1.16rem;line-height:1.7}
.prose figcaption,.prose figure.wp-img figcaption{font-size:.94rem}
.mrow-bio{font-size:1.05rem;line-height:1.7}
.mrow-cred{font-size:.94rem}
.card p{font-size:1.03rem;line-height:1.62}
.card .date{font-size:.8rem}
.card .tag{font-size:.72rem}
.acc-body p{font-size:1.05rem;line-height:1.68}
.acc-q,.acc button{font-size:1.03rem}
.tablewrap table{font-size:1.03rem}
.member .role{font-size:.97rem}
.eyebrow{font-size:.85rem}
.more{font-size:.92rem}
.tb-crumbs{font-size:.88rem}
nav.main a{font-size:1rem}
nav.main .sub a{font-size:.95rem}
nav.top a{font-size:.87rem}
#mnav a{font-size:1.03rem}
#mnav .sub a{font-size:.97rem}
li{line-height:1.68}

/* new components: nudge the small labels up */
.hero-sub{font-size:clamp(1.1rem,1.55vw,1.3rem);line-height:1.6}
.lead{font-size:1.28rem;line-height:1.6}
.kicker{font-size:.82rem}
.cfp-tag{font-size:.8rem}
.cfp-banner p{font-size:1.06rem;line-height:1.6}
.cfp-dates span{font-size:.78rem}
.cfp-dates strong{font-size:1.1rem}
.scard p{font-size:1.03rem;line-height:1.62}
.scard .more{font-size:.95rem}
.scard .prole,.pcard .prole{font-size:.86rem}
.pjcard p{font-size:1rem}
.pjyear{font-size:.79rem}
.statband span{font-size:.9rem}
.linklist a{font-size:1.07rem;padding:1.02rem .2rem}
.cta-band p{font-size:1.1rem;line-height:1.6}
.pbio{font-size:1rem;line-height:1.6}
.pinfo strong{font-size:1.12rem}
.wcard h3{font-size:1.18rem}
.wsess a{font-size:.92rem}
.btn{font-size:.86rem}

/* funded-projects index */
.fp-chip{font-size:.82rem;padding:.58rem 1rem}
.fp-count{font-size:.94rem}
.fp-title{font-size:1.26rem}
.fp-pi{font-size:1.06rem}
.fp-cred{font-size:.93rem;line-height:1.5}
.fp-year{font-size:.78rem}
.fp-more summary{font-size:.82rem}
.fp-bio p{font-size:1.02rem;line-height:1.68}
.fp-bio .fp-role{font-size:.98rem}
.fp-bio .fp-aim{font-size:.79rem}

/* === home hero: photo under a navy gradient === */
.hero-photo{position:relative;isolation:isolate;
  background-image:url(../media/2021/08/emory-roybal.jpg);
  background-size:cover;background-position:50% 34%;background-repeat:no-repeat}
.hero-photo::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(104deg,
    rgba(6,28,63,.94) 0%,
    rgba(11,42,91,.88) 38%,
    rgba(18,69,127,.72) 68%,
    rgba(0,120,180,.46) 100%)}
.hero-photo>*{position:relative}
/* iOS renders background-attachment:fixed against the whole page; keep it scrolling */
@media (hover:none),(pointer:coarse){.hero-photo{background-attachment:scroll}}
@media(max-width:700px){
  .hero-photo{background-position:64% 30%}
  .hero-photo::before{background:linear-gradient(168deg,rgba(6,28,63,.95) 0%,rgba(11,42,91,.9) 55%,rgba(18,69,127,.82) 100%)}
}

/* ============================================================
   2026 pass 2: titlebar, utility bar, webinar tiles, misc
   ============================================================ */

/* --- utility bar: off the flat amber, onto deep navy --- */
.topbar{background:var(--navy-dk);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
nav.top a{color:rgba(255,255,255,.82)}
nav.top a:hover,nav.top a.on{color:#fff;background:rgba(255,255,255,.1)}

/* --- titlebar: much shorter, navy-to-blue, no uppercase --- */
.titlebar{padding:2.15rem 0 2.05rem;background:var(--navy)}
.titlebar-plain{background:linear-gradient(100deg,var(--navy-dk) 0%,var(--navy) 52%,#14508f 100%)}
.titlebar{border-bottom:3px solid var(--gold);position:relative}
.titlebar h1{font-size:clamp(1.55rem,2.9vw,2.3rem);text-transform:none;letter-spacing:-.012em;
  font-weight:500;line-height:1.16;margin:0}
.titlebar .tb-crumbs{margin-top:5px}

/* --- webinar series + video tiles --- */
.wseries{padding:2.2rem 0;border-top:1px solid var(--line)}
.wseries:first-of-type{border-top:0;padding-top:.6rem}
.wseries-h{font-size:1.5rem;color:var(--navy);margin:0 0 .4rem;line-height:1.28}
.wseries-p{margin:0 0 1.4rem;color:var(--faded);max-width:72ch;font-size:1.02rem}
.wtiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.wtile{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);
  border-radius:8px;overflow:hidden;background:#fff;transition:.22s}
.wtile:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(11,42,91,.15);border-color:var(--blue)}
.wthumb{position:relative;display:block;aspect-ratio:16/9;background:var(--bg-alt);overflow:hidden}
.wthumb img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s}
.wtile:hover .wthumb img{transform:scale(1.04)}
.wthumb.is-ph{display:grid;place-items:center;
  background:linear-gradient(120deg,var(--navy-dk),var(--navy) 60%,#14508f)}
.wthumb-ph{font-family:var(--caps);font-weight:600;letter-spacing:.14em;font-size:.9rem;color:#fff}
.wplay{position:absolute;left:50%;top:50%;width:52px;height:52px;transform:translate(-50%,-50%);
  border-radius:50%;background:rgba(11,42,91,.86);box-shadow:0 4px 16px rgba(0,0,0,.3);transition:.22s}
.wplay::after{content:"";position:absolute;left:53%;top:50%;transform:translate(-50%,-50%);
  border-left:15px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}
.wtile:hover .wplay{background:var(--gold);transform:translate(-50%,-50%) scale(1.08)}
.wtile-b{display:block;padding:1rem 1.15rem 1.1rem}
.wdate{display:block;font-family:var(--caps);font-weight:600;font-size:.72rem;letter-spacing:.13em;
  color:var(--gold-dk);margin-bottom:.3rem}
.wlabel{display:block;font-size:1.08rem;font-weight:600;color:var(--navy);font-family:var(--serif)}
.wkind{display:block;font-size:.84rem;color:var(--faded);margin-top:.2rem}
.wflyer{margin:0;max-width:520px}
.wflyer img{width:100%;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.wflyer figcaption{font-size:.92rem;color:var(--faded);margin-top:.7rem}

/* --- about: two-up co-directors, centred --- */
.team-duo{grid-template-columns:repeat(2,minmax(0,1fr));max-width:600px}

/* --- about: board rosters --- */
.boards{margin-top:2.2rem}
.roster{list-style:none;margin:0;padding:0;columns:2;column-gap:2.4rem}
.roster li{break-inside:avoid;padding:.4rem 0;font-size:1.03rem}
.roster li span{display:block;font-size:.88rem;color:var(--faded);line-height:1.45}
.roster li>span:only-of-type:not(:first-child){display:inline-block;margin-left:.5em;
  font-family:var(--caps);font-size:.7rem;letter-spacing:.1em;color:var(--gold-dk);
  text-transform:uppercase}
.roster-wide{columns:1}
.roster-wide li{padding:.75rem 0;border-bottom:1px solid var(--line-2)}
.roster-wide li:last-child{border-bottom:0}
.roster-wide strong{display:block;color:var(--navy);font-size:1.04rem;margin-bottom:.15rem}
.roster-wide li span{margin-left:0;font-family:var(--sans);text-transform:none;letter-spacing:0;
  font-size:.93rem;color:var(--faded)}

/* --- contact: circular headshot --- */
.cc-photo{width:104px;height:104px;border-radius:50%;object-fit:cover;object-position:top center;
  margin:0 0 1rem;box-shadow:0 0 0 1px var(--line),0 0 0 5px var(--gold-wash)}

/* --- portal: larger password field --- */
.pw-big{max-width:340px;width:100%;text-align:center;font-size:1.14rem!important;
  padding:.85rem 1rem!important;letter-spacing:.06em}

/* --- RIG: the portrait mark was rendering full-bleed --- */
.rig-mark{max-width:170px;float:right;margin:0 0 1.2rem 1.8rem}
.rig-mark img{width:100%}
@media(max-width:620px){.rig-mark{float:none;margin:0 auto 1.4rem;max-width:130px}}

@media(max-width:900px){
  .wtiles{grid-template-columns:1fr 1fr}
  .roster{columns:1}
  .titlebar{padding:1.7rem 0 1.6rem}
}
@media(max-width:600px){.wtiles{grid-template-columns:1fr}}

/* ============================================================
   pass 3 fixes: specificity-safe overrides
   ============================================================ */

/* team avatars were squashing: display:grid on a replaced element
   made object-fit a no-op, and the earlier size edit never landed */
img.pavatar{display:block!important;place-items:initial;
  width:74px!important;height:74px!important;min-width:74px;
  border-radius:50%;object-fit:cover!important;object-position:50% 22%;
  background:var(--bg-alt);box-shadow:0 0 0 1px var(--line);font-size:0}
.pcard{align-items:center}

/* RIG mark: .prose figure.wp-img (0,2,1) was beating .rig-mark (0,1,0) */
.prose figure.wp-img.rig-mark,figure.wp-img.rig-mark{
  max-width:150px!important;width:150px!important;margin:.2rem 0 1.1rem 1.9rem!important;
  float:right;text-align:center}
.prose figure.wp-img.rig-mark img{width:100%;height:auto;box-shadow:none}
@media(max-width:620px){
  .prose figure.wp-img.rig-mark,figure.wp-img.rig-mark{
    float:none;width:120px!important;margin:0 auto 1.3rem!important}
}

/* hero: keep the centred block centred, and drop the shouty uppercase h1 */
.hero-lg h1,.hero-photo h1{text-transform:none;letter-spacing:-.014em}
.hero-in{text-align:center}
.hero-in .hero-sub{margin-left:auto;margin-right:auto}
.hero-cta.ctr{justify-content:center;margin-top:1.9rem}

/* consultation service + design studio */
.split-a{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:start}
.cs-side{background:var(--gold-wash);border-top:3px solid var(--gold);border-radius:8px;padding:1.6rem}
.cs-side h3{margin:0 0 .1rem;font-size:1.24rem;color:var(--navy)}
.cs-side p{margin:.15rem 0;font-size:1rem}
.cs-cta{margin-top:1.6rem}
.cs-topics .scard{border-top-color:var(--blue)}
.ds-lead{display:flex;gap:1.7rem;align-items:center;margin:2.2rem 0 0;
  background:var(--blue-wash);border-radius:10px;padding:1.6rem 1.8rem}
.ds-photo{width:118px;height:118px;min-width:118px;border-radius:50%;object-fit:cover;
  object-position:50% 20%;box-shadow:0 0 0 1px var(--line),0 0 0 5px #fff}
.ds-lead-b h3{margin:.1rem 0 .45rem;font-size:1.34rem}
.ds-lead-b h3 a{color:var(--navy);text-decoration:none}
.ds-lead-b h3 a:hover{color:var(--blue-dk)}
.ds-lead-b p{margin:0 0 .4rem;font-size:1.01rem}
.ds-lead-b .kicker{margin-bottom:.2rem}

/* associated projects: funder + description + aims */
.ap-fund{margin:1rem 0 0;font-size:.94rem;color:var(--faded);line-height:1.5;
  border-left:3px solid var(--gold);padding-left:.9rem}
.ap-fund span{display:block;font-family:var(--caps);font-weight:600;font-size:.7rem;
  letter-spacing:.13em;color:var(--gold-dk);margin-bottom:.15rem}
.ap-block{margin-top:1.4rem}
.ap-block h4{font-family:var(--caps);font-weight:600;font-size:.76rem;letter-spacing:.13em;
  color:var(--navy);margin:0 0 .55rem}
.ap-block>p{margin:0;font-size:1.02rem;line-height:1.66}
.ap-aim{margin-bottom:.9rem}
.ap-aim:last-child{margin-bottom:0}
.ap-aim-l{font-family:var(--caps);font-weight:600;font-size:.72rem;letter-spacing:.12em;
  color:var(--gold-dk);margin:0 0 .18rem}
.ap-aim p:last-child{margin:0;font-size:1rem;line-height:1.64}

/* centre outcomes: pipeline cards */
.osec{margin-top:2.6rem}
.osec:first-of-type{margin-top:0}
.osec-h{font-size:1.42rem;color:var(--navy);margin:0 0 .35rem;line-height:1.3}
.osec-p{margin:0 0 1.4rem;color:var(--faded);max-width:74ch}
.ogrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
.ocard{background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue);
  border-radius:8px;padding:1.35rem 1.45rem}
.ocard-h{display:flex;align-items:center;gap:.7rem;margin-bottom:.7rem}
.oc-py{font-family:var(--caps);font-weight:600;font-size:.72rem;letter-spacing:.13em;color:var(--faded)}
.ob{font-family:var(--caps);font-weight:600;font-size:.66rem;letter-spacing:.1em;
  padding:.24rem .6rem;border-radius:999px;text-transform:uppercase}
.ob-y{background:#e6f2e8;color:#256b34}
.ob-n{background:var(--gold-wash);color:var(--gold-dk)}
.oc-pi{margin:0;font-size:1.1rem;color:var(--navy);font-family:var(--serif);font-weight:600}
.oc-inst{margin:.1rem 0 .6rem;font-size:.9rem;color:var(--faded)}
.oc-proj{margin:0 0 .7rem;font-size:1rem;line-height:1.6}
.oc-fund{margin:0;font-size:.88rem;color:var(--faded)}
.oc-grant{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.82rem;background:var(--bg-alt);padding:.12rem .45rem;border-radius:4px;
  color:var(--navy);margin-left:.35rem}
.oc-table{margin:0}
.oc-table img{width:100%;max-width:920px;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.oc-pubs a{font-size:1.02rem;line-height:1.45;padding:.9rem .2rem}

/* publications list */
.publist{list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid var(--line)}
.pub{display:flex;gap:1.3rem;align-items:baseline;padding:1.15rem .2rem;
  border-bottom:1px solid var(--line)}
.pub[hidden]{display:none}
.pub-yr{flex:0 0 auto;width:3.6rem;font-family:var(--caps);font-weight:600;font-size:.82rem;
  letter-spacing:.08em;color:var(--gold-dk)}
.pub-b{display:block}
.pub-t{display:block;font-family:var(--serif);font-size:1.14rem;line-height:1.42;
  color:var(--navy);text-decoration:none;font-weight:600}
a.pub-t:hover{color:var(--blue-dk);text-decoration:underline}
.pub-a{display:block;margin-top:.32rem;font-size:.95rem;color:var(--faded);line-height:1.55}
.pub-a b{color:var(--ink);font-weight:600}

@media(max-width:900px){
  .split-a,.ogrid{grid-template-columns:1fr}
  .ds-lead{flex-direction:column;text-align:center;gap:1.1rem}
  .pub{flex-direction:column;gap:.3rem}
  .pub-yr{width:auto}
}

/* ============================================================
   associated projects: circular portrait + collapsible sections
   (.mrow-photo img is 0,1,1 so these need equal-or-higher weight)
   ============================================================ */
.mrow-circle{margin:0;display:flex;justify-content:center}
.mrow-photo.mrow-circle img{width:150px;height:150px;border-radius:50%;
  object-fit:cover;object-position:50% 20%;
  box-shadow:0 0 0 1px var(--line),0 0 0 6px var(--gold-wash)}

.ap-more{margin-top:.75rem;border-top:1px solid var(--line-2);padding-top:.7rem}
.ap-more:first-of-type{margin-top:1.1rem}
.ap-more summary{font-family:var(--caps);font-weight:600;font-size:.77rem;letter-spacing:.11em;
  color:var(--blue-dk);cursor:pointer;list-style:none;display:flex;align-items:center;gap:.5em}
.ap-more summary::-webkit-details-marker{display:none}
.ap-more summary::after{content:"";width:.42em;height:.42em;border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .2s;margin-top:-.2em}
.ap-more[open] summary::after{transform:rotate(-135deg);margin-top:.15em}
.ap-more summary:hover{color:var(--gold-dk)}
.ap-more-b{padding-top:.85rem}
.ap-more-b>*+*{margin-top:.9rem}
.ap-more-b p{font-size:1.02rem;line-height:1.68;margin:0}
.ap-more-b h4{font-size:1rem;color:var(--navy);margin:0;font-family:var(--serif);font-weight:600}
.ap-more-b .ap-aim+.ap-aim{margin-top:1rem}
.ap-more-b .ap-aim p+p{margin-top:.18rem}

/* the funder line reads better right under the study title, not inside a toggle */
.ap-fund{margin:.9rem 0 0}

/* ============================================================
   pass 4: numbered publications list, design-studio sidebar
   ============================================================ */

/* publications: number 26 -> 1 on the left, year pill on the right */
.publist{list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid var(--line);counter-reset:none}
.pub{display:grid;grid-template-columns:3.1rem minmax(0,1fr) 4.4rem;gap:1.2rem;
  align-items:start;padding:1.3rem .2rem;border-bottom:1px solid var(--line);transition:background .15s}
.pub:hover{background:var(--blue-wash)}
.pub[hidden]{display:none}
.pub-n{font-family:var(--caps);font-weight:600;font-size:1.02rem;color:var(--navy);
  text-align:right;padding-top:.12rem;font-variant-numeric:tabular-nums;opacity:.55}
.pub-b{min-width:0}
.pub-t{display:block;font-family:var(--serif);font-size:1.17rem;line-height:1.4;
  color:var(--navy);text-decoration:none;font-weight:600}
a.pub-t:hover{color:var(--blue-dk);text-decoration:underline;text-underline-offset:2px}
.pub-a{display:block;margin-top:.38rem;font-size:.95rem;color:var(--faded);line-height:1.56}
.pub-a b{color:var(--ink);font-weight:600}
.pub-y{justify-self:end;font-family:var(--caps);font-weight:600;font-size:.72rem;letter-spacing:.1em;
  color:var(--gold-dk);background:var(--gold-wash);padding:.26rem .55rem;border-radius:999px;
  white-space:nowrap;margin-top:.1rem}

/* design studio: portrait card beside the copy */
.ds-side{background:var(--blue-wash);border-top:3px solid var(--blue);border-radius:10px;
  padding:1.7rem 1.6rem;text-align:center}
.ds-side .ds-photo{width:132px;height:132px;min-width:132px;border-radius:50%;object-fit:cover;
  object-position:50% 18%;margin:0 auto 1rem;box-shadow:0 0 0 1px var(--line),0 0 0 6px #fff}
.ds-side .kicker{margin:0 0 .25rem}
.ds-side h3{margin:0 0 .6rem;font-size:1.3rem}
.ds-side h3 a{color:var(--navy);text-decoration:none}
.ds-side h3 a:hover{color:var(--blue-dk)}
.ds-side p{margin:0 0 .6rem;font-size:1rem;line-height:1.58}
.ds-side-cta{margin-top:1.2rem}
.ds-side .btn-ghost{border:1px solid var(--navy);color:var(--navy);background:transparent}
.ds-side .btn-ghost:hover{background:var(--navy);color:#fff}
.split-a>.prose{max-width:68ch}

@media(max-width:900px){
  .pub{grid-template-columns:2.6rem minmax(0,1fr);gap:.9rem}
  .pub-y{grid-column:2;justify-self:start;margin-top:.5rem}
}

/* ============================================================
   pass 5: responsive logo + ring hamburger
   ============================================================ */

/* --- logo: the lockup is 6.06:1, so 60px tall = 364px wide.
   That does not fit beside a menu button on a 390px phone.
   Step the height down, then swap to the icon-only mark. --- */
.logo{display:flex;align-items:center;min-width:0;flex:0 1 auto}
.logo img{display:block;width:auto;max-width:100%;object-fit:contain}
.logo .logo-full{height:60px}
.logo .logo-icon{display:none;height:44px}

@media(max-width:1024px){ .logo .logo-full{height:50px} }
@media(max-width:760px){  .logo .logo-full{height:42px} }
@media(max-width:560px){
  .logo .logo-full{display:none}
  .logo .logo-icon{display:block;height:42px}
  .mainbar .bar{gap:14px;min-height:60px}
}

/* --- hamburger: a ring that echoes the logo mark, with the same
   blue -> amber -> navy -> bronze sweep, morphing to an X on open --- */
.menu-btn{display:none;place-items:center;width:46px;height:46px;margin-left:auto;
  padding:0;background:transparent;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.menu-btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:50%}

.mb-ring{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  background:conic-gradient(from 210deg,
    var(--blue) 0deg, #0a9ad2 70deg, var(--gold-lt) 150deg, var(--gold) 200deg,
    var(--bronze) 255deg, var(--navy) 320deg, var(--blue) 360deg);
  transition:transform .32s cubic-bezier(.34,1.4,.64,1)}
.mb-ring::before{content:"";position:absolute;inset:3px;border-radius:50%;background:#fff}
.menu-btn:hover .mb-ring{transform:rotate(32deg)}
.menu-btn[aria-expanded="true"] .mb-ring{transform:rotate(180deg)}

.mb-bars{position:relative;z-index:1;display:block;width:19px;height:14px}
.mb-bars i{position:absolute;left:0;height:2px;border-radius:2px;background:var(--navy);
  transition:transform .3s cubic-bezier(.34,1.3,.64,1),opacity .18s,width .3s}
.mb-bars i:nth-child(1){top:0;width:19px}
.mb-bars i:nth-child(2){top:6px;width:13px}   /* stepped, echoing the ring gap */
.mb-bars i:nth-child(3){top:12px;width:19px}

.menu-btn[aria-expanded="true"] .mb-bars i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .mb-bars i:nth-child(2){opacity:0;width:0}
.menu-btn[aria-expanded="true"] .mb-bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1024px){ .menu-btn{display:grid} }
@media(prefers-reduced-motion:reduce){
  .mb-ring,.mb-bars i{transition:none}
  .menu-btn:hover .mb-ring{transform:none}
}

/* --- the old mobile block clamped type back down to 16px, which
   undid the larger base size. Keep mobile legible. --- */
@media(max-width:600px){
  body{font-size:1.09rem;line-height:1.66}
  .prose{font-size:1.09rem;line-height:1.68}
  h1{font-size:1.95rem}
  h2{font-size:1.62rem}
  .lead{font-size:1.16rem}
}

/* ============================================================
   pass 6: mobile logo restored + open nav made scrollable
   ============================================================ */

/* --- LOGO: the icon-only swap at 560px was unnecessary. The lockup is
   6.06:1, so at 34px it is 206px wide and fits every phone down to 320px
   (215px of space). Keep the wordmark; icon is a fallback only under 340px. --- */
@media(max-width:560px){
  .logo .logo-full{display:block;height:34px}
  .logo .logo-icon{display:none}
}
@media(max-width:400px){ .logo .logo-full{height:31px} }
@media(max-width:339px){
  .logo .logo-full{display:none}
  .logo .logo-icon{display:block;height:34px}
}

/* --- OPEN MOBILE NAV: #mnav lives inside header.site{position:sticky;top:0},
   so a tall menu is pinned to the viewport and its overflow is unreachable.
   Give it its own scroll area. dvh accounts for mobile browser chrome. --- */
@media(max-width:1024px){
  header.site{max-height:100vh}
  #mnav.open{
    max-height:calc(100vh - 92px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding-bottom:28px;
  }
}
@supports (height:100dvh){
  @media(max-width:1024px){
    header.site{max-height:100dvh}
    #mnav.open{max-height:calc(100dvh - 92px)}
  }
}
/* subtle affordance that there is more below */
@media(max-width:1024px){
  #mnav.open{box-shadow:inset 0 -14px 14px -14px rgba(11,42,91,.22)}
}

/* ---------- RIG portal: document lists + recordings ---------- */
.doclist{list-style:none;margin:0 0 2.4rem;padding:0;border-top:1px solid var(--line,#e2e6ea)}
.doclist li{border-bottom:1px solid var(--line,#e2e6ea)}
.doclist a{display:flex;gap:14px;align-items:flex-start;padding:14px 4px;text-decoration:none;
  color:inherit;transition:background .15s}
.doclist a:hover{background:#f6f8f9}
.doclist a:hover .dl-t{text-decoration:underline}
.dl-ico{flex:none;width:34px;height:34px;border-radius:5px;display:grid;place-items:center;
  font-size:10px;font-weight:700;letter-spacing:.02em;color:#fff;margin-top:1px}
.dl-ico.pdf{background:#b4322c}.dl-ico.ppt{background:#c04a1f}.dl-ico.doc{background:#22558f}
.dl-t{font-weight:600;line-height:1.4}
.dl-m{display:block;font-weight:400;font-size:.86rem;color:#6a7480;margin-top:2px}
.reclist{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:2rem 1.6rem;margin:0 0 1rem}
.rec-t{font-weight:600;font-size:1rem;margin:.7rem 0 0}
.vfacade{position:relative;aspect-ratio:16/9;background:#000;cursor:pointer;border:0;padding:0;
  width:100%;display:block;overflow:hidden}
.vfacade img{width:100%;height:100%;object-fit:cover;display:block;opacity:.86;transition:opacity .2s}
.vfacade:hover img{opacity:1}
.vfacade .play{position:absolute;inset:0;margin:auto;width:66px;height:46px;border-radius:10px;
  background:rgba(0,0,0,.72);display:grid;place-items:center;transition:background .2s}
.vfacade:hover .play{background:#c8102e}
.vfacade .play svg{width:24px;height:24px;fill:#fff}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
