/* ==========================================================================
   Economic Policy Innovation Center — static rebuild
   Palette and type taken from the live Impreza settings, not eyeballed:
     primary #003349 (navy)   secondary/link #933f71 (plum)  hover #612141
     bg #ffffff  bg-alt #f2f4f7  border #e3e7f0  heading #0f131f  text #333333
     footer #0f131f  subfooter #35415b
     Merriweather (headings) + Merriweather Sans (body, 300)
   ========================================================================== */
:root{
  --navy:#003349; --plum:#933f71; --plum-dk:#612141; --steel:#6399ae;
  --ink:#0f131f; --body:#333333; --faded:#727f9f;
  --bg:#fff; --bg-alt:#f2f4f7; --line:#e3e7f0;
  --foot:#0f131f; --foot-alt:#1c2130; --subfoot:#35415b;
  --wrap:1140px; --canvas:1300px;
  --serif:"Merriweather",Georgia,serif;
  --sans:"Merriweather Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font-family:var(--sans);font-size:19px;line-height:1.55;font-weight:300;
  color:var(--body);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
picture{display:contents}
a{color:var(--plum);text-decoration:none;transition:color .18s}
a:hover{color:var(--plum-dk)}
h1,h2,h3,h5{font-family:var(--serif);color:var(--ink);font-weight:300;line-height:1.2;margin:0 0 1.5rem}
h1{font-size:clamp(32px,calc(32px + 2vw),64px)}
h2{font-size:clamp(22px,calc(22px + 1.3vw),46px)}
h3{font-size:clamp(19px,calc(19px + 1vw),36px)}
h4{font-family:var(--sans);font-size:20px;font-weight:600;text-transform:uppercase;
  letter-spacing:.02em;color:var(--ink);margin:0 0 1.5rem;line-height:1.2}
h5{font-size:clamp(16px,calc(16px + .8vw),28px)}
h6{font-family:var(--sans);font-size:calc(13px + .3vw);font-weight:400;text-transform:uppercase;
  letter-spacing:.08em;color:var(--plum);margin:0 0 .9rem;line-height:1.2}
strong,b{font-weight:700;color:var(--ink)}
p{margin:0 0 1.1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 2.5rem}
@media(max-width:600px){.wrap{padding:0 1.5rem}}
.narrow{max-width:820px;margin:0 auto}
.sec{padding:clamp(2.5rem,5vw,4.5rem) 0}
.sec.alt{background:var(--bg-alt)}
.sec.navy{background:var(--navy);color:#fff}
.sec.navy h1,.sec.navy h2,.sec.navy h3{color:#fff}
.center{text-align:center}

/* ---------- archive notice ---------- */
.noticebar{background:var(--plum-dk);color:#fff;font-size:14px;line-height:1.45;padding:9px 0}
.noticebar .wrap{display:flex;gap:10px;align-items:flex-start}
.noticebar strong{color:#fff;font-weight:700;flex:none}
.noticebar a{color:#fff;text-decoration:underline}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:80;background:#fff;border-bottom:1px solid var(--line)}
.hdr .bar{display:flex;align-items:center;justify-content:space-between;gap:2rem;height:96px;
  max-width:var(--canvas);margin:0 auto;padding:0 2.5rem}
.logo img{height:72px;width:auto}
.nav{display:flex;gap:2rem;align-items:center}
.nav a{font-family:var(--sans);font-size:16px;font-weight:400;color:var(--navy);position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--plum);transition:width .22s}
.nav a:hover::after,.nav a.on::after{width:100%}
.nav a.on{color:var(--plum)}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:26px;height:2px;background:var(--navy);margin:5px 0}
.mnav{display:none;border-top:1px solid var(--line);background:#fff}
.mnav.open{display:block}
.mnav a{display:block;padding:14px 2.5rem;border-bottom:1px solid var(--line);color:var(--navy);font-size:17px}
@media(max-width:1100px){
  .nav{display:none}.burger{display:block}
  .hdr .bar{height:80px;padding:0 1.5rem}.logo img{height:56px}
}

/* ---------- buttons ---------- */
.btn{display:inline-block;font-family:var(--sans);font-weight:700;font-size:16px;
  padding:1em 2em;background:var(--plum);color:#fff;border:0;cursor:pointer;transition:background .3s}
.btn:hover{background:var(--navy);color:#fff}
.btn.navy{background:var(--navy)}.btn.navy:hover{background:var(--plum)}
.btn.sm{font-size:14px;font-weight:400;padding:.5em 1em}
.btn.ghost{background:var(--line);color:var(--navy)}
.btn.ghost:hover{background:var(--plum);color:#fff}

/* ---------- page hero ---------- */
.phero{background:var(--navy);color:#fff;padding:clamp(3rem,6vw,6rem) 0}
.phero h1{color:#fff;margin-bottom:1rem}
.phero p{color:rgba(255,255,255,.85);max-width:60ch;font-size:1.05rem}
.phero .eyebrow{color:#9fc3d4}
.eyebrow{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--plum);margin:0 0 .8rem}

/* ---------- article ---------- */
.artmeta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center;font-size:15px;
  color:var(--faded);margin:0 0 1.6rem}
.artmeta a{color:var(--plum);font-weight:600}
.chip{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  background:var(--bg-alt);color:var(--navy);padding:5px 11px;border:1px solid var(--line)}
.chip.plum{background:var(--plum);color:#fff;border-color:var(--plum)}
.prose{font-size:19px;line-height:1.68}
.prose h2{font-size:clamp(24px,2.2vw,32px);margin:2.4rem 0 1rem}
.prose h3{font-size:clamp(20px,1.7vw,26px);margin:2rem 0 .8rem}
.prose ul,.prose ol{margin:0 0 1.3rem 1.4rem}
.prose li{margin-bottom:.55rem}
.prose img{max-width:100%;max-height:560px;width:auto;height:auto;margin:1.8rem auto;border-radius:6px}
.prose figure{margin:1.8rem 0}.prose figure img{margin:0 auto}
.prose figcaption{font-size:15px;color:var(--faded);text-align:center;margin-top:.6rem}
.prose blockquote{margin:1.8rem 0;padding:1rem 0 1rem 1.6rem;border-left:4px solid var(--plum);
  font-style:italic;color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;margin:1.6rem 0;font-size:16px}
.prose th,.prose td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left}
.prose th{background:var(--bg-alt);font-weight:700}
.prose a{text-decoration:underline;text-underline-offset:.15em}
.summary{background:var(--bg-alt);border-left:4px solid var(--navy);padding:1.4rem 1.6rem;margin:0 0 2rem}
.summary h4{margin-bottom:.6rem;font-size:15px;color:var(--navy)}
.summary p:last-child{margin-bottom:0}
.pdfrow{display:flex;flex-wrap:wrap;gap:.8rem;margin:0 0 2rem}
.subtitle{font-family:var(--serif);font-size:clamp(19px,1.5vw,24px);font-weight:300;
  color:var(--faded);margin:-0.6rem 0 1.4rem;line-height:1.35}

/* ---------- cards ---------- */
.grid{display:grid;gap:2rem}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;
  transition:box-shadow .22s,transform .22s}
.card:hover{box-shadow:0 14px 34px rgba(15,19,31,.10);transform:translateY(-3px)}
.card .ph{aspect-ratio:16/9;overflow:hidden;background:var(--bg-alt)}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .cb{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.card h3{font-size:22px;line-height:1.3;margin:0 0 .6rem}
.card h3 a{color:var(--ink)}
.card h3 a:hover{color:var(--plum)}
.card .m{font-size:14px;color:var(--faded);margin-top:auto;padding-top:.8rem}
.card .m a{color:var(--plum)}

/* ---------- filter ---------- */
.filters{background:var(--bg-alt);border:1px solid var(--line);padding:1.4rem 1.6rem;margin:0 0 2.2rem}
.frow{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media(max-width:1100px){.frow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.frow{grid-template-columns:1fr}}
.fgrp label{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--navy);margin-bottom:.35rem}
.fgrp select,.fsearch input{width:100%;font-family:var(--sans);font-size:16px;padding:.62rem .7rem;
  border:1px solid var(--line);background:#fff;color:var(--body);border-radius:0}
.fsearch{margin-top:1rem}
.fbar{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between;margin-top:1rem}
.fcount{font-size:15px;color:var(--faded)}
.fclear{background:none;border:0;color:var(--plum);font-size:15px;cursor:pointer;text-decoration:underline;padding:0}
.pager{display:flex;justify-content:center;gap:.5rem;margin-top:2.5rem;flex-wrap:wrap}
.pager button{font-family:var(--sans);font-size:15px;padding:.5rem .9rem;border:1px solid var(--line);
  background:#fff;color:var(--navy);cursor:pointer}
.pager button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pager button:disabled{opacity:.4;cursor:default}
.empty{padding:3rem 0;text-align:center;color:var(--faded)}

/* ---------- people ---------- */
.person{text-align:center}
.person img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--bg-alt)}
.person h3{font-size:21px;margin:.9rem 0 .2rem}
.person .role{font-size:14px;color:var(--faded);text-transform:uppercase;letter-spacing:.06em}

/* ---------- footer ---------- */
.ftr{background:var(--foot);color:#8d9096;padding:3.5rem 0 0;font-size:16px}
.ftr h4{color:#fff;font-size:16px}
.ftr a{color:#c9ced8}
.ftr a:hover{color:#fff}
.ftr .cols{display:grid;grid-template-columns:1.2fr 1fr 1.6fr;gap:2.5rem}
@media(max-width:900px){.ftr .cols{grid-template-columns:1fr;gap:2rem}}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:.6rem}
.ftr .crest img{width:120px}
.subftr{background:var(--subfoot);color:#9ba5bf;margin-top:2.5rem;padding:1.2rem 0;font-size:14px}
.subftr a{color:#cbd4e6}
.totop{position:fixed;right:20px;bottom:20px;width:44px;height:44px;background:rgba(0,0,0,.3);
  color:#fff;display:none;place-items:center;z-index:60;border:0;cursor:pointer}
.totop.on{display:grid}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:#fff;padding:10px;z-index:200}

/* ---- finalize: section heads, contributor grid, issue cards, iconboxes, accordions ---- */
.sechead{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1.5rem}
.sechead h2{margin:0}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:.5rem}
@media(max-width:820px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.pgrid{grid-template-columns:1fr}}
.pcard{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);text-decoration:none;transition:box-shadow .2s,transform .2s}
.pcard:hover{box-shadow:0 8px 26px rgba(0,51,73,.10);transform:translateY(-2px)}
.pcard .pn{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:1.05rem}
.pcard .pm,.pm{color:var(--faded);font-size:.85rem}
.icard{display:block;padding:1.5rem 1.6rem;border:1px solid var(--line);border-left:4px solid var(--plum);border-radius:10px;background:var(--bg);text-decoration:none;transition:box-shadow .2s,transform .2s}
.icard:hover{box-shadow:0 8px 26px rgba(0,51,73,.10);transform:translateY(-2px)}
.icard h3{margin:0 0 .3rem;color:var(--navy)}
.ibox{padding:1.25rem 1.4rem;border:1px solid var(--line);border-radius:10px;background:var(--bg-alt);margin:1rem 0}
.ibox h4{margin:0 0 .5rem;color:var(--plum-dk)}
.acc{border:1px solid var(--line);border-radius:8px;margin:.6rem 0;background:var(--bg);overflow:hidden}
.acc>summary{cursor:pointer;padding:.9rem 1.1rem;font-family:var(--sans);font-weight:600;color:var(--navy);list-style:none;position:relative}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary::after{content:"+";position:absolute;right:1.1rem;color:var(--plum);font-weight:700}
.acc[open]>summary::after{content:"\2013"}
.acc .accb{padding:0 1.1rem 1rem}

/* ---- press releases list ---- */
.prlist{display:flex;flex-direction:column;gap:.75rem}
.prcard{display:grid;grid-template-columns:170px 1fr;gap:1rem;align-items:baseline;padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);text-decoration:none;transition:box-shadow .2s,transform .2s}
.prcard:hover{box-shadow:0 8px 26px rgba(0,51,73,.10);transform:translateY(-2px)}
.prcard .prd{color:var(--faded);font-size:.85rem;font-family:var(--sans)}
.prcard .prt{font-family:var(--serif);font-weight:700;color:var(--navy);display:block}
.prcard .pre{grid-column:2;color:var(--body);font-size:.92rem;margin-top:.2rem}
@media(max-width:640px){.prcard{grid-template-columns:1fr}.prcard .pre{grid-column:1}}

/* ---- people / team grid ---- */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:.5rem}
@media(max-width:820px){.people{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.people{grid-template-columns:1fr}}
.person{display:flex;flex-direction:column;text-decoration:none;background:var(--bg);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.person:hover{box-shadow:0 10px 30px rgba(0,51,73,.12);transform:translateY(-3px)}
.person .ph{display:block;aspect-ratio:1/1;background:var(--bg-alt)}
.person .ph img{width:100%;height:100%;object-fit:cover;display:block}
.person .pnm{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:1.1rem;padding:1rem 1.1rem .1rem}
.person .prole{color:var(--plum-dk);font-size:.9rem;padding:0 1.1rem 1.1rem}
.ext{font-size:.8em;color:var(--steel)}

/* ---- homepage (matches the original layout) ---- */
.hero-home{text-align:center;padding-top:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(2rem,4vw,3rem)}
.hometag{font-size:clamp(30px,3.4vw,52px);max-width:22ch;margin:0 auto 1.4rem;line-height:1.15}
.hometag em{color:var(--plum)}
.dome{margin:1rem auto 1.8rem;max-height:340px;width:auto}
.welcome{max-width:72ch;margin:0 auto 1.5rem;font-size:17px;line-height:1.6;color:var(--faded)}
.feature{display:grid;grid-template-columns:1.05fr 1fr;gap:0;align-items:stretch;margin-bottom:2.5rem;background:#fff;border:1px solid var(--line)}
.feature .feat-body{padding:clamp(1.6rem,3vw,2.4rem);display:flex;flex-direction:column;justify-content:center}
.feature h3{margin:.4rem 0 .8rem;font-size:clamp(24px,2vw,32px)}
.feature h3 a{color:var(--ink)}.feature h3 a:hover{color:var(--plum)}
.feature .feat-body p{color:var(--body);margin-bottom:1.4rem}
.feature .feat-img{display:block;min-height:260px;background:var(--bg-alt)}
.feature .feat-img img{width:100%;height:100%;object-fit:cover;margin:0}
@media(max-width:800px){.feature{grid-template-columns:1fr}.feature .feat-img{min-height:220px}}
.dream{max-width:30ch;margin:0 auto;font-weight:300;color:#fff}
.issues-home{margin-top:.5rem}
.issue-block{display:block;padding:1.7rem 1.9rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--plum);text-decoration:none;transition:box-shadow .2s,transform .2s}
.issue-block:hover{box-shadow:0 10px 30px rgba(0,51,73,.10);transform:translateY(-3px)}
.issue-block h3{font-size:22px;margin:0 0 .6rem;color:var(--navy)}
.issue-block p{color:var(--body);font-size:16px;line-height:1.55;margin:0 0 .9rem}
.issue-block .more{color:var(--plum);font-weight:600;font-size:14px;letter-spacing:.02em}

/* ================= design pass: match original (smaller type + proper heroes) ================= */
h1{font-size:clamp(28px,calc(24px + 1.3vw),42px)}
h2{font-size:clamp(22px,calc(20px + .8vw),31px)}
h3{font-size:clamp(18px,calc(17px + .5vw),23px)}
.prose{font-size:18px;line-height:1.7}

/* page hero: navy gradient over Capitol image + circular seal, compact */
.phero{position:relative;overflow:hidden;color:#fff;padding:clamp(1.6rem,2.6vw,2.6rem) 0;
  background:linear-gradient(90deg,rgba(0,51,73,.93),rgba(43,74,110,.72)),
             url(../media/2024/07/capitol-unsplash-scaled-1.jpg) center/cover,var(--navy)}
.phero .wrap{position:relative;z-index:1}
.phero h1{color:#fff;margin:0 0 .3rem}
.phero p{color:rgba(255,255,255,.9);max-width:60ch;font-size:1rem;margin:0}
.phero .eyebrow{color:#b9cfdd}
.phero::after{content:"";position:absolute;top:50%;right:clamp(1rem,4vw,4rem);transform:translateY(-50%);
  width:clamp(78px,8vw,120px);aspect-ratio:1;opacity:.9;pointer-events:none;
  background:url(../media/2023/07/EPIC_LOGO_Crest_FullColor_Light.png) center/contain no-repeat}
@media(max-width:760px){.phero::after{display:none}}

/* home hero: navy, tagline left + Capitol line-art right */
.hero-home{background:var(--navy);color:#fff;text-align:left;padding:0}
.hero-home .wrap{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:1.5rem;padding-top:1.8rem;padding-bottom:0}
.hometag{color:#fff;font-weight:300;font-size:clamp(26px,2.5vw,40px);line-height:1.15;margin:0;max-width:16ch}
.hometag em{color:#fff}
.hh-dome{align-self:flex-end;justify-self:end;max-height:290px;width:auto;margin:0}
@media(max-width:800px){.hero-home .wrap{grid-template-columns:1fr;padding-bottom:1.4rem}.hh-dome{display:none}}
.home-intro{max-width:72ch;margin:0 auto;text-align:center}
.home-intro .welcome{font-size:16px;line-height:1.6;color:var(--faded);margin:0 auto 1.3rem}

/* bio page: photo + buttons | name + role + bio (no big hero) */
.biohead{display:grid;grid-template-columns:300px 1fr;gap:2.5rem;align-items:start}
@media(max-width:760px){.biohead{grid-template-columns:1fr;gap:1.4rem}}
.bphoto img{width:100%;border-radius:12px;margin:0 0 1rem}
.bbtns{display:flex;flex-direction:column;gap:.6rem}
.biohead h1{margin:0 0 .2rem}
.brole{color:var(--plum);font-weight:600;font-size:1.05rem;margin:0 0 1.3rem}

/* ================= design pass 2: consistent widths, clean spacing ================= */
.narrow{margin:0}                          /* left-align content so it lines up with sections/cards */
.lead{max-width:880px;font-size:18px;line-height:1.7;color:var(--body);margin:0 0 1.8rem}
.lead-block{max-width:880px}
.lead-block p{font-size:18px;line-height:1.7}
.card .cb>.chip{display:inline-block;margin-bottom:.75rem}
.sechead{align-items:center;margin-bottom:1.6rem}
.sechead h2{font-size:clamp(20px,1.5vw,25px);margin:0}
.artmeta{margin-top:.2rem}.artmeta .chip{margin-bottom:0}
.issues-home,.people,.pgrid,.prlist{margin-top:1.6rem}

/* ================= design pass 3: header width, filters ================= */
.hdr .bar{max-width:var(--wrap)}                 /* align header/nav with page content, not wider */
.filters{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.6rem;box-shadow:0 8px 26px rgba(15,19,31,.05)}
.frow{gap:1.1rem}
.fgrp label{font-size:11px;letter-spacing:.09em;color:var(--faded)}
.fgrp select,.fsearch input{border-radius:9px;border:1px solid #d7dce3;padding:.72rem .85rem;font-size:15px;background:#fff;transition:border-color .15s,box-shadow .15s}
.fgrp select:hover,.fsearch input:hover{border-color:#b9c2d0}
.fgrp select:focus,.fsearch input:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 3px rgba(147,63,113,.16)}
.fbar{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.fcount{font-weight:600;color:var(--navy)}
.fclear{font-weight:600}

/* ================= design pass 4: bigger logo, header search, footer ================= */
.hdr .bar{height:110px}
.logo{margin-right:auto}
.logo img{height:86px}
@media(max-width:1100px){.hdr .bar{height:84px}.logo img{height:58px}}
.hsearch{display:flex;align-items:center;border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;height:40px}
.hsearch input{border:0;background:transparent;padding:0 .3rem 0 1rem;font-size:14px;font-family:var(--sans);width:140px;outline:none;color:var(--ink)}
.hsearch button{border:0;background:transparent;color:var(--navy);padding:0 .9rem;display:grid;place-items:center;cursor:pointer;height:100%}
.hsearch button:hover{color:var(--plum)}
@media(max-width:1100px){.hsearch{display:none}}
.msearch{display:flex;gap:.5rem;padding:14px 2.5rem}
.msearch input{flex:1;border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;font-size:16px}
.msearch button{background:var(--plum);color:#fff;border:0;border-radius:8px;padding:0 1rem;font-weight:700;cursor:pointer}

/* footer — closer to the original: centered crest, clean columns */
.ftr{padding:3.2rem 0 0}
.ftr .cols{grid-template-columns:220px 1fr 1.5fr;gap:3rem;align-items:start}
.ftr .crest img{width:150px}
.ftr h4{margin-bottom:1rem;font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.ftr li{margin-bottom:.55rem;font-size:15px}
.ftr p{font-size:15px;line-height:1.6}
@media(max-width:900px){.ftr .cols{grid-template-columns:1fr;gap:2rem;text-align:left}.ftr .crest img{width:120px}}

/* ================= design pass 5: nav, hero, seal, PDF, share, team ================= */
.nav a{white-space:nowrap}
.hsearch input{width:128px;padding-left:1.1rem}
.hsearch button{padding:0 1rem}
/* home hero: let the tagline run wider */
.hero-home .wrap{grid-template-columns:1.5fr .5fr}
.hometag{max-width:none;font-size:clamp(28px,2.9vw,46px)}
/* page-hero seal aligns to the content column's right edge, not the viewport */
.phero::after{display:none}
.phero .wrap{position:relative}
.phero .wrap::after{content:"";position:absolute;top:50%;right:2.5rem;transform:translateY(-50%);
  width:clamp(74px,7.5vw,116px);aspect-ratio:1;opacity:.9;pointer-events:none;
  background:url(../media/2023/07/EPIC_LOGO_Crest_FullColor_Light.png) center/contain no-repeat}
@media(max-width:760px){.phero .wrap::after{display:none}}
/* PDF embed */
.pdfembed{width:100%;height:min(88vh,1050px);border:1px solid var(--line);margin:1.6rem 0;background:var(--bg-alt)}
.pdfembed iframe{width:100%;height:100%;border:0;display:block}
/* article actions + share buttons (near the PDF button) */
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin:0 0 2rem}
.share{display:inline-flex;align-items:center;gap:.55rem}
.share .sl{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--faded);text-transform:uppercase}
.share a{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;color:var(--navy);transition:all .18s}
.share a:hover{background:var(--plum);border-color:var(--plum);color:#fff}
.share svg{width:16px;height:16px}
/* leadership groups on the About page */
.teamgroup{font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--plum);margin:2.6rem 0 1.1rem}

/* ================= design pass 6: article submenu, author box, related ================= */
.secnav{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 2rem;border-bottom:1px solid var(--line)}
.secnav a{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;
  color:var(--navy);padding:.7rem 1rem;border-bottom:2px solid transparent;margin-bottom:-1px}
.secnav a:hover{color:var(--plum);border-color:var(--plum)}
.summary h4{text-transform:none;font-size:14px;letter-spacing:.04em;color:var(--plum)}
.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.4rem}
.sechead h2{margin:0}
.authorbox{margin:3.2rem 0 1rem;padding-top:2.4rem;border-top:1px solid var(--line)}
.abcard{display:flex;gap:1.4rem;align-items:flex-start}
.abphoto{flex:none;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--bg-alt)}
.abphoto img{width:100%;height:100%;object-fit:cover}
.abmeta h3{margin:0 0 .3rem;font-size:22px}
.abmeta h3 a{color:var(--ink)}.abmeta h3 a:hover{color:var(--plum)}
.abrole{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;
  color:var(--plum);margin:0 0 .6rem}
.abbio{font-size:16px;color:var(--body);margin:0 0 .6rem}
.ablink{font-family:var(--sans);font-size:14px;font-weight:700;color:var(--plum)}
.related{margin:3.2rem 0 1rem;padding-top:2.4rem;border-top:1px solid var(--line)}
@media(max-width:600px){.abcard{flex-direction:column}.abphoto{width:80px;height:80px}}

/* ================= design pass 7: footnotes ================= */
.fnref{font-size:.7em;line-height:0;vertical-align:super}
.fnref a{color:var(--plum);font-weight:700;text-decoration:none}
.footnotes{margin:3.2rem 0 1rem;padding-top:2rem;border-top:1px solid var(--line);font-size:15px}
.footnotes h2{font-size:clamp(18px,1.4vw,24px);margin:0 0 1rem}
.footnotes ol{margin:0;padding-left:1.6rem;color:var(--body)}
.footnotes li{margin-bottom:.7rem;line-height:1.5}
.footnotes li::marker{color:var(--faded)}
.footnotes a{word-break:break-word}
.fnback{margin-left:.3rem;text-decoration:none;color:var(--plum)}

/* ================= design pass 8: document-image press releases ================= */
.docwide{max-width:940px;margin:0 auto}
.docpr img{max-height:none;width:100%;height:auto;margin:1.4rem auto;border:1px solid var(--line);box-shadow:0 8px 30px rgba(15,19,31,.10)}

/* ================= design pass 9: final polish batch ================= */
/* top notice bar — smaller, centered */
.noticebar{font-size:12.5px;padding:7px 0}
.noticebar .wrap{justify-content:center;gap:7px;flex-wrap:wrap}
@media(max-width:600px){.noticebar{font-size:11.5px;padding:6px 0;line-height:1.35}}

/* home announcement box */
.announce{max-width:800px;margin:0 auto;text-align:center;background:var(--bg-alt);
  border:1px solid var(--line);border-top:4px solid var(--plum);border-radius:12px;padding:2.1rem 2.3rem}
.announce-tag{display:inline-block;font-family:var(--sans);font-size:12px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--plum);margin-bottom:.9rem}
.announce .welcome{font-size:16px;line-height:1.65;color:var(--body);margin:0 auto 1.4rem;max-width:none}

/* issue boxes — per-issue icon + accent colour */
.issue-block{border-left-color:var(--ic,var(--plum))}
.issue-block:hover{box-shadow:0 12px 30px color-mix(in srgb,var(--ic) 22%,transparent)}
.ib-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;
  border-radius:12px;margin-bottom:1rem;color:var(--ic,var(--plum));
  background:rgba(0,0,0,.05);background:color-mix(in srgb,var(--ic) 13%,#fff)}
.ib-icon svg{width:27px;height:27px}
.issue-block h3{color:var(--ic,var(--navy))}
.issue-block .more{color:var(--ic,var(--plum))}

/* Our Work filters — taller controls to match the search field */
.filters .fgrp select,.filters #fq,.filters input[type=search]{height:52px;font-size:16px}
.filters .fgrp select{padding:0 2.2rem 0 .9rem}
.filters #fq,.filters input[type=search]{padding:0 1rem}

/* header search — stop the magnifier being clipped */
.hsearch{overflow:visible}
.hsearch input{width:120px;padding:0 .2rem 0 1rem}
.hsearch button{padding:0 .95rem 0 .55rem;border-radius:0 22px 22px 0}

/* footer — match the original: centered crest, menu row, thank-you block */
.ftr{text-align:center;padding:3.2rem 0 0}
.ftr-crest{width:132px;height:auto;display:block;margin:0 auto 1.4rem}
.ftr-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.9rem;margin:0 0 1.7rem}
.ftr-nav a{font-family:var(--sans);font-weight:600;font-size:15px;color:#dfe3ea}
.ftr-nav a:hover{color:#fff}
.ftr-thanks{max-width:840px;margin:0 auto;font-size:14.5px;line-height:1.75;color:#9aa0ab}
.ftr-thanks a{color:#e8b3cf;text-decoration:underline}
.subftr{text-align:center}

/* About — pair single-person groups on one row */
.teampair{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.people.onecol{grid-template-columns:1fr;max-width:280px}
@media(max-width:600px){.teampair{grid-template-columns:1fr}}

/* mobile hero — show the dome, let the tagline fill the width */
@media(max-width:800px){
  .hero-home .wrap{grid-template-columns:1fr;padding-bottom:1.6rem;text-align:center}
  .hometag{max-width:none;margin:0 auto}
  .hh-dome{display:block;max-height:150px;width:auto;margin:1.3rem auto 0;justify-self:center;opacity:.92}
}

/* ================= design pass 10: final updates ================= */
/* dream band — wider + larger */
.dream{max-width:900px;font-size:clamp(25px,2.7vw,40px);line-height:1.32}
.sec.navy.center{padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(3rem,6vw,5rem)}

/* article hero — keep the title clear of the corner seal */
@media(min-width:761px){
  .phero .eyebrow,.phero h1,.phero p{padding-right:160px}
}

/* mobile: center the top notice */
@media(max-width:600px){
  .noticebar .wrap{text-align:center;justify-content:center}
  .noticebar strong{display:block;width:100%}
}

/* distinctive hamburger button */
.burger{border:1.5px solid var(--line);border-radius:11px;padding:9px 10px;background:#fff;
  transition:border-color .2s,box-shadow .2s}
.burger span{height:2.5px;border-radius:3px;background:var(--navy);margin:4px 0;transition:.2s}
.burger span:nth-child(1){width:24px}
.burger span:nth-child(2){width:15px;background:var(--plum)}
.burger span:nth-child(3){width:24px}
.burger:hover{border-color:var(--plum);box-shadow:0 4px 14px rgba(147,63,113,.16)}
.burger:hover span{background:var(--plum)}

/* footer legal — copyright and links on separate lines */
.subftr .legal-copy{margin-bottom:.35rem}
.subftr .legal-links{opacity:.95}
