:root{
    --ink:#0C2340;
    --ink-2:#16386B;
    --slate:#4A5D74;
    --line:#D7DEE7;
    --paper:#F1F4F8;
    --white:#FFFFFF;
    --signal:#C8372A;
    --signal-soft:#F3E2DF;
    --display:"Archivo","Helvetica Neue",Arial,sans-serif;
    --body:"Source Serif 4",Georgia,serif;
    --mono:"IBM Plex Mono",ui-monospace,monospace;
    --wrap:1240px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
  .eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.01em;text-transform:uppercase;font-weight:500}
  h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:0}
  :focus-visible{outline:3px solid var(--signal);outline-offset:3px}
  /* monospace space glyphs are full-width; pull word gaps in */
  .eyebrow,.kicker,.stat .lab,.ledger .head h2,.ledger .head span,.ledger-foot,
  .sec-head a,.film figcaption,.pquote cite span,.campaign .go,.card .go,
  .monitor-chart figcaption,.chart-sub,.k,.post .meta,.hero figcaption,
  .topics span,.util .wrap a,footer h4,.fbot,.council h2{word-spacing:-.26em}

  /* ---------- utility bar ---------- */
  .util{background:var(--ink);color:#B9C7D9;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
  .util .wrap{display:flex;gap:28px;align-items:center;height:36px;justify-content:flex-end}
  .util a:hover{color:#fff}

  /* ---------- masthead ---------- */
  .mast{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}
  .mast .wrap{display:flex;align-items:center;justify-content:space-between;height:104px;gap:40px}
  .logo{display:flex;align-items:center;gap:12px}
  .logo{gap:16px;align-items:center}
  .logo-img{height:74px;width:auto;flex:0 0 auto}
  .logo .tagline{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);border-left:1px solid var(--line);padding-left:16px;line-height:1.4;max-width:110px}
  footer .logo-img{height:52px}
  @media (max-width:860px){.logo .tagline{display:none}.logo-img{height:56px}}
  .mast-right{display:flex;align-items:center;gap:34px;margin-left:auto}
  nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;align-items:center}
  nav a{display:inline-block;font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;line-height:1;padding:10px 0;border-bottom:2px solid transparent;white-space:nowrap;color:var(--ink)}
  nav a:hover{border-bottom-color:var(--signal);color:var(--signal)}
  .give{display:inline-block;font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;line-height:1;background:var(--signal);color:#fff;padding:14px 20px;white-space:nowrap}
  .give:hover{background:#a52c21}
  .menu-btn{display:none;font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;line-height:1;color:var(--ink);background:none;border:1px solid var(--line);padding:13px 18px;cursor:pointer}

  /* ---------- hero ---------- */
  /* Neutralise theme overlays that would otherwise sit on top of our figures */
  .hero figure::before,
  .hero figure::after,
  .hero .wrap::before,
  .hero .wrap::after,
  .monitor-chart::before,
  .monitor-chart::after,
  .film::before,
  .film::after,
  .person img::before,
  .person img::after{content:none!important;background-image:none!important;display:none!important}
  .hero figure img{position:relative;z-index:1}

  .hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
  .hero:before{content:"";position:absolute;inset:0;background:
     repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 68px);
     pointer-events:none}
  .hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;padding-top:76px;padding-bottom:76px}
  .hero .tag{display:inline-flex;align-items:center;gap:10px;color:#fff;margin-bottom:22px}
  .hero .tag b{background:var(--signal);padding:5px 9px;font-weight:600}
  .hero .tag em{font-style:normal;color:#9FB4CE}
  .hero h1,
  .hero .hero-h{font-size:clamp(38px,4.6vw,60px);color:#fff;max-width:14ch}
  .hero p{font-size:19px;color:#C7D5E6;max-width:52ch;margin:22px 0 30px}
  .btn{display:inline-block;font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;line-height:1;padding:15px 24px;border:2px solid #fff;color:#fff;transition:background .18s ease,color .18s ease}
  .btn:hover{background:#fff;color:var(--ink)}
  .hero figure{margin:0;border:1px solid rgba(255,255,255,.18)}
  .hero figure{background:transparent;line-height:0;font-size:0}
  .hero figure img{width:100%!important;max-width:100%!important;height:340px!important;
    object-fit:cover!important;object-position:center!important;display:block!important;
    background:transparent!important;margin:0!important;padding:0!important;
    border:0!important;vertical-align:top!important}
  .hero figcaption{line-height:1.6;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;text-transform:uppercase;color:#8FA6C2;padding:12px 14px;border-top:1px solid rgba(255,255,255,.18);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  @media (max-width:1180px){.hero figcaption{white-space:normal}}

  /* ---------- ledger (signature) ---------- */
  .ledger{background:var(--paper);border-bottom:1px solid var(--line)}
  .ledger .head{display:flex;width:100%;align-items:baseline;justify-content:space-between;padding-top:34px;gap:26px;flex-wrap:wrap}
  .ledger .head h2{font-size:16px;letter-spacing:.04em;text-transform:uppercase;font-family:var(--mono);font-weight:600}
  .ledger .head span{font-family:var(--mono);font-size:12px;color:var(--slate);letter-spacing:.02em}
  .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:26px;padding-bottom:38px}
  .stat{padding:22px 26px 8px;border-left:1px solid var(--line)}
  .stat:first-child{border-left:0;padding-left:0}
  .stat .num{font-family:var(--display);font-weight:700;font-size:clamp(34px,3.4vw,46px);letter-spacing:-.03em;line-height:1}
  .stat .num.red{color:var(--signal)}
  .stat .lab{font-family:var(--mono);font-size:12px;letter-spacing:-.01em;word-spacing:-.34em;text-transform:uppercase;color:var(--slate);margin-top:12px;line-height:1.55}
  .rule{height:4px;background:var(--ink);width:46px;margin-top:16px}
  .stat.red .rule{background:var(--signal)}
  .stat .num{font-variant-numeric:tabular-nums}
  .stat .lab b{display:block;margin-top:9px;font-weight:600;letter-spacing:.08em}
  .stat .lab b.up{color:#1B6B4A}
  .stat .lab b.up:before{content:"▲ ";font-size:9px}
  .live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--signal);margin-right:9px;vertical-align:1px}
  .live:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--signal);opacity:.5;animation:pulse 2.4s ease-out infinite}
  @keyframes pulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(3.4);opacity:0}}
  .monitor{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:96px;row-gap:38px;align-items:center;padding:30px 0 34px}
  .monitor-stats{display:grid;gap:26px}
  .monitor-stats .stat{padding:0;border:0}
  .monitor-note{font-size:16.5px;color:var(--slate);margin:6px 0 0;border-top:1px solid var(--line);padding-top:22px}
  .monitor-chart{margin:0}
  .monitor-chart{background:#fff;border:1px solid var(--line);padding:24px 26px 20px}
  .chart-head{margin-bottom:8px}
  .chart-title{display:block;font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.01em}
  .chart-sub{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--slate);margin-top:5px}
  .bfs{width:100%;height:auto;display:block}
  .bfs .grid{stroke:var(--line);stroke-width:1}
  .bfs .base{stroke:var(--ink);stroke-width:1.5}
  .bfs .tick{stroke:var(--line);stroke-width:1}
  .bfs .ax{font-family:"IBM Plex Mono",monospace;font-size:19px;fill:var(--slate);letter-spacing:.04em}
  .chart-key{display:flex;gap:22px;flex-wrap:wrap;margin-top:6px}
  .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--slate);display:flex;align-items:center;gap:8px}
  .k:before{content:"";width:14px;height:10px;flex:0 0 auto}
  .k-tot:before{background:rgba(22,56,107,.28);border-top:2px solid var(--ink-2)}
  .k-hp:before{background:rgba(200,55,42,.5);border-top:2px solid var(--signal)}
  .monitor-chart figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:uppercase;color:var(--slate);margin-top:14px;border-top:1px solid var(--line);padding-top:12px;line-height:1.6}
  @media (max-width:1040px){.monitor{grid-template-columns:1fr;column-gap:0;row-gap:34px}}
  .ledger-foot{font-family:var(--mono);font-size:11.5px;letter-spacing:.01em;color:var(--slate);border-top:1px solid var(--line);padding:18px 0 34px;margin:0;text-align:left}
  .ledger-foot a{color:var(--signal)}
  .ledger-foot a:hover{text-decoration:underline}
  .grid4{padding-bottom:30px}

  /* ---------- section frame ---------- */
  section{padding:72px 0}
  .sec-head{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:26px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:34px}
  .sec-head-wrap{display:block}
  .sec-head h2{font-size:30px}
  .sec-head a{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--signal);white-space:nowrap}
  .sec-head a:hover{text-decoration:underline}

  /* ---------- feature tiles ---------- */
  .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
  .tile{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;transition:transform .18s ease,box-shadow .18s ease}
  .tile:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(12,35,64,.12)}
  .tile img{height:186px;width:100%;object-fit:cover;background:var(--paper)}
  .tile .body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
  .kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--signal)}
  .tile h3{font-size:20px;line-height:1.22}
  .tile p{margin:0;font-size:15.5px;color:var(--slate)}
  .tile .more{margin-top:auto;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding-top:10px}

  /* ---------- explore ---------- */
  .explore{background:var(--ink);color:#fff;padding:76px 0 86px}
  .explore .sec-head{border-bottom-color:rgba(255,255,255,.3)}
  .explore .sec-head h2{color:#fff}
  .explore .sec-head a{color:#F0A99F}
  .agenda-intro{font-size:20px;color:#C0D0E3;max-width:62ch;margin:-16px 0 34px}
  .pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .card{border:1px solid rgba(255,255,255,.22);padding:30px 26px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent);transition:background .18s ease,border-color .18s ease}
  .card:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.5)}
  .card h3{font-size:24px;color:#fff}
  .card p{margin:0;color:#C0D0E3;font-size:15.5px}
  .picon{width:40px;height:40px;fill:none;stroke:var(--signal);stroke-width:1.9;stroke-linecap:square;stroke-linejoin:miter;margin-bottom:6px;transition:stroke .18s ease,transform .18s ease}
  .card:hover .picon{stroke:#F0A99F;transform:translateY(-2px)}
  .card .go{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#fff;margin-top:8px}
  .card .go:after{content:" →"}

  /* ---------- mission ---------- */
  .mission .wrap{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:96px;row-gap:38px;align-items:center}
  .mission h1,
  .mission h2{font-size:34px;line-height:1.14;max-width:20ch;margin-bottom:26px}
  .mission p{font-size:17.5px;color:var(--slate);margin:0 0 18px}
  .mission .lead{color:var(--ink);font-size:20px;line-height:1.5;margin-bottom:20px}
  .film{margin:0}
  .film-frame{position:relative;padding-top:56.25%;background:var(--ink);border:1px solid var(--line)}
  .film-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  .film figcaption{font-family:var(--mono);font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--slate);margin-top:14px;line-height:1.6}
  .film figcaption .eyebrow{margin-right:8px}

  /* ---------- thinking + news ---------- */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:stretch}
  .split > div{display:flex;flex-direction:column}
  .split .post{flex:1 1 0;display:flex;flex-direction:column}
  .split .topics{margin-top:auto;padding-top:12px}
  .post{border-top:1px solid var(--line);padding:22px 0;display:block}
  .post:first-of-type{border-top:0;padding-top:0}
  .post .meta{font-family:var(--mono);font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--slate);margin-bottom:8px}
  .post h3{font-size:21px;line-height:1.24}
  .post:hover h3{color:var(--signal)}
  .topics{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
  .topics span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:4px 8px;color:var(--slate)}
  .outlet{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-left:3px solid var(--signal);padding-left:9px}

  .campaign-band{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0}
  .campaign{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:96px;row-gap:28px;align-items:center}
  .ate-logo{height:72px;width:auto}
  .campaign p{margin:0;font-size:17px;color:var(--slate);max-width:60ch}
  .campaign .go{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--signal)}
  .campaign:hover .go{text-decoration:underline}
  @media (max-width:900px){.campaign{grid-template-columns:1fr;gap:24px}}

  /* ---------- leadership ---------- */
  .people-grid{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:96px;row-gap:38px;align-items:start}
  .pquote{margin:0;border-left:4px solid var(--signal);padding:6px 0 6px 26px}
  .pquote p{font-size:26px;line-height:1.32;font-style:italic;color:var(--ink);margin:0 0 24px}
  .pquote cite{display:flex;align-items:center;gap:14px;font-style:normal}
  .pquote cite img{width:56px;height:56px;object-fit:cover;border-radius:50%;flex:0 0 auto}
  .pquote cite span{font-family:var(--mono);font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--slate);line-height:1.7}
  .pquote cite b{display:block;font-family:var(--display);font-size:15px;letter-spacing:.01em;word-spacing:.06em;text-transform:none;color:var(--ink)}
  .roster{display:grid;gap:0}
  .person{display:flex;gap:22px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}
  .person:first-child{border-top:0;padding-top:0}
  .person img{width:88px;height:88px;object-fit:cover;flex:0 0 auto;filter:grayscale(1);transition:filter .25s ease}
  .person:hover img{filter:grayscale(0)}
  .person h3{font-size:21px;margin:6px 0 5px}
  .person:hover h3{color:var(--signal)}
  .person p{margin:0;font-size:15px;color:var(--slate);line-height:1.45;word-spacing:-.06em}
  .portrait-tbd{width:88px;height:88px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--line);font-family:var(--display);font-weight:700;font-size:24px;color:var(--slate);letter-spacing:.02em}

  /* ---------- council ---------- */
  .council{background:var(--paper);text-align:center}
  .council h2{font-family:var(--mono);font-size:13px;letter-spacing:.02em;text-transform:uppercase;font-weight:600;color:var(--slate)}
  .logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:22px 52px;margin-top:30px}
  .logos span{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:.02em;color:var(--ink);opacity:.62}

  /* ---------- footer ---------- */
  footer{background:var(--ink);color:#B9C7D9;padding:64px 0 30px;font-size:15px}
  .fgrid{display:grid;grid-template-columns:1.3fr .7fr .7fr 1.3fr;gap:42px}
  footer h4{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#fff;margin-bottom:14px;font-weight:600}
  footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
  footer a:hover{color:#fff}
  .sub{display:flex;border:1px solid rgba(255,255,255,.3)}
  .sub input{flex:1;background:transparent;border:0;color:#fff;padding:13px 14px;font-family:var(--body);font-size:15px}
  .sub input::placeholder{color:#7E93AE}
  .sub button{background:var(--signal);color:#fff;border:0;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.09em;text-transform:uppercase;line-height:1;padding:0 22px;cursor:pointer}
  .fbot{border-top:1px solid rgba(255,255,255,.16);margin-top:44px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap}

  /* ---------- motion ---------- */
  .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
  .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none}
    .tile{transition:none}
    html{scroll-behavior:auto}
  }

  /* ---------- responsive ---------- */
  @media (max-width:1040px){
    nav{display:none}
    .menu-btn{display:block}
    .hero .wrap{grid-template-columns:1fr;gap:38px}
    .mission .wrap,.split,.people-grid{grid-template-columns:1fr;column-gap:0;row-gap:38px}
    .campaign{column-gap:48px}
    .grid4{grid-template-columns:1fr 1fr}
    .stat{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px}
    .stat:nth-child(-n+2){border-top:0}
    .tiles{grid-template-columns:1fr}
    .pillars{grid-template-columns:1fr 1fr}
    .campaign{flex-direction:column;align-items:flex-start;gap:18px}
    .fgrid{grid-template-columns:1fr 1fr}
  }
  @media (max-width:620px){
    .util .wrap{display:none}
    .grid4{grid-template-columns:1fr}
    .pillars{grid-template-columns:1fr}
    .stat{border-top:1px solid var(--line)!important;padding-top:20px}
    .stat:first-child{border-top:0!important}
    .fgrid{grid-template-columns:1fr}
    section{padding:52px 0}
  }

/* =========================================================================
   Header (v2 page only)
   ========================================================================= */

/* The theme prints its own header via get_header(); hide it here so only the
   new one shows. Doing it in CSS rather than unhooking keeps the theme's
   scripts, meta tags and body classes intact. */
body.caehp-has-header > header[role="banner"]:not(.caehp-mast),
body.caehp-global-header > header[role="banner"]:not(.caehp-mast){display:none!important}

/* Theme pages: swap the header but leave their layout alone. Their heroes are
   positioned against the theme header, so resetting body/main spacing here
   collapses them onto each other. */
body.caehp-global-header{padding-top:0}
body.caehp-global-header .caehp-mast{position:relative}

/* The theme reserves vertical space for its fixed header on body/main.
   With that header hidden, reclaim it - but only on pages where our header is
   actually rendered, so nothing else on the site is affected. */
body.caehp-has-header{padding-top:0!important;margin-top:0!important}
body.caehp-has-header > main,
body.caehp-has-header main{padding-top:0!important;margin-top:0!important}

/* The theme has its own .hero rules for interior page banners (large top
   padding / min-height). Our sections live inside .caehp-page so we can reset
   those without touching anything else on the site. */
.caehp-page .hero{padding:60px 0 72px!important;margin:0!important;min-height:0!important;
  height:auto!important;background:var(--ink)!important;display:block!important;text-align:left!important}
.caehp-page .hero .wrap{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;
  margin-bottom:0!important;min-height:0!important;height:auto!important}
.caehp-page .hero > *:first-child,
.caehp-page .hero .wrap > *:first-child{margin-top:0!important}
.caehp-page .hero h1{margin-top:0!important}
.caehp-page .hero::before{top:0;bottom:0}

.caehp-mast{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid var(--line)}
.admin-bar .caehp-mast{top:32px}
@media (max-width:782px){.admin-bar .caehp-mast{top:46px}}

.caehp-mast .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;height:124px}

.caehp-logo{display:flex;align-items:center;flex:0 0 auto}
.caehp-logo img{height:82px!important;width:auto!important;max-width:none!important;display:block}

.caehp-right{display:flex;align-items:center;gap:34px;margin-left:auto}

.caehp-nav > ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.caehp-nav ul{list-style:none;margin:0;padding:0}
.caehp-nav li{position:relative}
.caehp-nav > ul > li > a,
.caehp-nav > ul > li > span{display:inline-block;font-family:var(--display);font-weight:600;
  font-size:12.5px;letter-spacing:.09em;word-spacing:normal;text-transform:uppercase;line-height:1;
  padding:14px 0;border-bottom:2px solid transparent;white-space:nowrap;color:var(--ink);cursor:pointer}
.caehp-nav > ul > li > a:hover,
.caehp-nav > ul > li > span:hover,
.caehp-nav > ul > li:hover > a,
.caehp-nav > ul > li:hover > span{border-bottom-color:var(--signal);color:var(--signal)}

.caehp-nav .has-sub > a::after,
.caehp-nav .has-sub > span::after{content:"";display:inline-block;width:5px;height:5px;margin-left:8px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg)}

.caehp-sub{display:block;position:absolute;top:100%;left:0;width:max-content;min-width:100%;
  max-width:280px;background:var(--ink);padding:6px 0;list-style:none;margin:0;
  opacity:0;visibility:hidden;transform:translateY(4px);
  transition:opacity .14s ease,transform .14s ease,visibility .14s;
  box-shadow:0 14px 30px rgba(12,35,64,.20)}
.caehp-nav li:hover > .caehp-sub,
.caehp-nav li:focus-within > .caehp-sub{opacity:1;visibility:visible;transform:none}
.caehp-sub li{display:block;width:100%}
.caehp-sub a{display:block;padding:8px 16px;font-family:var(--display);font-weight:500;
  font-size:13.5px;letter-spacing:.01em;text-transform:none!important;line-height:1.35;
  color:#D5E0EE;white-space:nowrap}
.caehp-sub a:hover{background:var(--signal);color:#fff}

.caehp-actions{display:flex;align-items:center;gap:18px}

.caehp-search-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;
  background:none;border:1px solid var(--line);cursor:pointer;padding:0;color:var(--ink)}
.caehp-search-btn:hover{border-color:var(--ink);color:var(--signal)}
.caehp-search-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}

.caehp-give{display:inline-block;font-family:var(--display);font-weight:700;font-size:12.5px;
  letter-spacing:.09em;word-spacing:normal;text-transform:uppercase;line-height:1;
  background:var(--signal);color:#fff;padding:14px 20px;white-space:nowrap}
.caehp-give:hover{background:#a52c21}

.caehp-search{border-top:1px solid var(--line);background:var(--paper)}
.caehp-search form{display:flex;align-items:center;gap:14px;padding:20px 0}
.caehp-search input{flex:1;border:1px solid var(--line);background:#fff;padding:14px 16px;
  font-family:var(--body);font-size:17px;color:var(--ink)}
.caehp-search input:focus{outline:2px solid var(--signal);outline-offset:-2px}
.caehp-search button[type=submit]{font-family:var(--display);font-weight:700;font-size:12.5px;
  letter-spacing:.09em;word-spacing:normal;text-transform:uppercase;line-height:1;
  background:var(--ink);color:#fff;border:0;padding:15px 22px;cursor:pointer}
.caehp-search button[type=submit]:hover{background:var(--ink-2)}
.caehp-search-close{background:none;border:0;font-size:26px;line-height:1;color:var(--slate);
  cursor:pointer;padding:0 6px}
.caehp-search-close:hover{color:var(--signal)}
.caehp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.caehp-menu-btn{display:none;align-items:center;gap:10px;font-family:var(--display);font-weight:700;
  font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;line-height:1;color:var(--ink);
  background:none;border:1px solid var(--line);padding:12px 16px;cursor:pointer}
.caehp-menu-bars{position:relative;display:block;width:16px;height:2px;background:var(--ink)}
.caehp-menu-bars::before,.caehp-menu-bars::after{content:"";position:absolute;left:0;width:16px;height:2px;background:var(--ink)}
.caehp-menu-bars::before{top:-5px}
.caehp-menu-bars::after{top:5px}

@media (max-width:1080px){
  .caehp-mast .wrap{height:96px}
  .caehp-logo img{height:60px!important}
  .caehp-menu-btn{display:flex}
  .caehp-right{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    align-items:stretch;gap:0;background:#fff;border-top:1px solid var(--line);
    box-shadow:0 18px 40px rgba(12,35,64,.14);padding:8px 28px 22px}
  .caehp-right.is-open{display:flex}
  .caehp-nav > ul{flex-direction:column;align-items:stretch;gap:0}
  .caehp-nav > ul > li > a,
  .caehp-nav > ul > li > span{display:block;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}
  .caehp-sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--paper);padding:4px 0 10px}
  .caehp-sub a{color:var(--slate);padding:9px 14px;font-size:13.5px}
  .caehp-sub a:hover{background:none;color:var(--signal)}
  .caehp-actions{padding-top:18px;justify-content:flex-start}
}

/* Data table: present in the DOM and readable by screen readers and crawlers,
   but not shown, since the chart above already presents it visually.

   It must be anchored to a positioned ancestor and must not use nowrap - an
   absolutely positioned nowrap table anchors to the page and forces horizontal
   overflow on narrow screens. */
.monitor-chart{position:relative}
.susa-data-table{position:absolute!important;top:0;left:0;width:1px!important;height:1px!important;
  max-width:1px!important;padding:0!important;margin:0!important;overflow:hidden!important;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:normal!important;border:0!important;
  table-layout:fixed;pointer-events:none}
.susa-data-table caption,
.susa-data-table th,
.susa-data-table td{white-space:normal!important;max-width:1px;overflow:hidden}

/* =========================================================================
   Mobile overflow containment
   ========================================================================= */

/* Nothing inside the homepage may exceed the viewport width. */
.caehp-page{max-width:100%;overflow-x:clip}
.caehp-mast{max-width:100%;overflow:visible}

.caehp-page *,
.caehp-mast *{box-sizing:border-box;min-width:0}

.caehp-page img,
.caehp-page svg,
.caehp-page iframe,
.caehp-page video,
.caehp-mast img,
.caehp-mast svg{max-width:100%}

/* Grids: allow columns to shrink instead of forcing their content width. */
.caehp-page .wrap > *,
.caehp-page .monitor > *,
.caehp-page .people-grid > *,
.caehp-page .split > *,
.caehp-page .campaign > *{min-width:0}

/* Long headlines and URLs must wrap rather than push the layout wider. */
.caehp-page h1,
.caehp-page h2,
.caehp-page h3,
.caehp-page .hero-h,
.caehp-page .num{overflow-wrap:anywhere;word-break:normal}

/* The chart is drawn at 1000px wide; keep it fluid. */
.caehp-page .bfs{width:100%;height:auto;max-width:100%;display:block}
.caehp-page .monitor-chart{max-width:100%;overflow:hidden}

/* Dropdown panels size to content, which can exceed a narrow screen. */
@media (max-width:1080px){
  .caehp-mast .caehp-sub{width:auto;max-width:100%}
  .caehp-right{max-width:100%}
}

@media (max-width:620px){
  .caehp-page .wrap{padding-left:20px;padding-right:20px}
  .caehp-mast .wrap{padding-left:20px;padding-right:20px}
  .caehp-page .hero .wrap{padding-left:20px!important;padding-right:20px!important}
}

/* =========================================================================
   Mobile menu: the theme hides header navigation at small widths, so the
   plugin's nav has to assert itself inside the open panel.
   ========================================================================= */

@media (max-width:1080px){
  .caehp-mast .caehp-right.is-open{display:flex!important;flex-direction:column!important;
    align-items:stretch!important}

  .caehp-mast .caehp-right.is-open .caehp-nav{display:block!important;width:100%!important;
    visibility:visible!important;opacity:1!important;height:auto!important;max-height:none!important;
    position:static!important;transform:none!important}

  .caehp-mast .caehp-right.is-open .caehp-nav > ul{display:flex!important;flex-direction:column!important;
    align-items:stretch!important;gap:0!important;width:100%!important;visibility:visible!important;
    opacity:1!important;height:auto!important;max-height:none!important;position:static!important}

  .caehp-mast .caehp-right.is-open .caehp-nav li{display:block!important;width:100%!important;
    position:static!important;visibility:visible!important;opacity:1!important}

  .caehp-mast .caehp-right.is-open .caehp-nav > ul > li > a,
  .caehp-mast .caehp-right.is-open .caehp-nav > ul > li > span{display:block!important;
    visibility:visible!important;opacity:1!important;color:var(--ink)!important}

  .caehp-mast .caehp-right.is-open .caehp-sub{display:block!important;position:static!important;
    visibility:visible!important;opacity:1!important;transform:none!important;
    width:100%!important;max-width:100%!important;box-shadow:none!important;
    background:var(--paper)!important;padding:4px 0 10px!important}

  .caehp-mast .caehp-right.is-open .caehp-sub a{display:block!important;visibility:visible!important;
    opacity:1!important;color:var(--slate)!important;background:none!important}
  .caehp-mast .caehp-right.is-open .caehp-sub a:hover{color:var(--signal)!important}

  /* Actions sit below the links, not above them. */
  .caehp-mast .caehp-right.is-open .caehp-nav{order:1}
  .caehp-mast .caehp-right.is-open .caehp-actions{order:2}

  /* Let the panel scroll if the menu is taller than the screen. */
  .caehp-mast .caehp-right.is-open{max-height:calc(100vh - 96px);overflow-y:auto}
}

/* Password gate */
.caehp-gate{padding:110px 0 130px;background:var(--ink);color:#fff}
.caehp-gate .eyebrow{color:#F0A99F}
.caehp-gate h1{font-size:clamp(30px,3.4vw,42px);color:#fff;margin:16px 0 14px;max-width:18ch}
.caehp-gate p{font-size:18px;color:#C7D5E6;margin:0 0 28px;max-width:52ch}
.caehp-gate form{display:flex;flex-wrap:wrap;gap:12px;align-items:center;max-width:520px}
.caehp-gate label{flex:1 1 240px;font-family:var(--mono);font-size:11px;letter-spacing:.02em;
  text-transform:uppercase;color:#8FA6C2;display:flex;flex-direction:column;gap:8px}
.caehp-gate input[type=password]{width:100%;background:#fff;border:0;padding:14px 16px;
  font-family:var(--body);font-size:17px;color:var(--ink)}
.caehp-gate input[type=submit]{font-family:var(--display);font-weight:700;font-size:12.5px;
  letter-spacing:.09em;text-transform:uppercase;line-height:1;background:var(--signal);
  color:#fff;border:0;padding:16px 24px;cursor:pointer;align-self:flex-end}
.caehp-gate input[type=submit]:hover{background:#a52c21}

/* The monitor band must never be the source of horizontal overflow. */
.caehp-page .ledger{overflow-x:clip;max-width:100%}
.caehp-page .monitor{max-width:100%}
.caehp-page .monitor-stats{min-width:0;max-width:100%}
.caehp-page .ledger .head{max-width:100%}
.caehp-page .ledger .head span{overflow-wrap:anywhere}
.caehp-page .chart-key{flex-wrap:wrap;max-width:100%}

/* Search suggestions */
.caehp-suggest{padding:0 0 22px}
.caehp-suggest-list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line)}
.caehp-suggest-list li + li{border-top:1px solid var(--line)}
.caehp-suggest a{display:flex;align-items:baseline;gap:16px;padding:14px 18px;color:var(--ink)}
.caehp-suggest a:hover,
.caehp-suggest a:focus,
.caehp-suggest .is-active > a{background:var(--paper);outline:none}
.caehp-suggest .s-type{flex:0 0 auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;
  text-transform:uppercase;color:var(--signal);min-width:96px}
.caehp-suggest .s-body{flex:1 1 auto;min-width:0}
.caehp-suggest .s-title{display:block;font-family:var(--display);font-weight:600;font-size:16px;
  line-height:1.3}
.caehp-suggest .s-meta{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;
  text-transform:uppercase;color:var(--slate);margin-top:5px}
.caehp-suggest .s-all{display:block;padding:13px 18px;background:var(--ink);color:#fff;
  font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.caehp-suggest .s-all:hover{background:var(--ink-2)}
.caehp-suggest .s-empty{padding:16px 18px;background:#fff;border:1px solid var(--line);
  font-family:var(--body);font-size:16px;color:var(--slate)}
@media (max-width:620px){
  .caehp-suggest a{flex-direction:column;gap:6px}
  .caehp-suggest .s-type{min-width:0}
}

/* Suggestions: anchor to the search row and drop straight down from it. */
.caehp-search{position:relative;overflow:visible}
.caehp-suggest{position:absolute;top:100%;left:0;right:0;z-index:220;padding:0;
  max-height:min(70vh,620px);overflow-y:auto;background:transparent;
  box-shadow:0 20px 44px rgba(12,35,64,.20)}
.caehp-suggest > *{max-width:1240px;margin:0 auto}
@media (min-width:1297px){
  .caehp-suggest > *{max-width:1240px}
}
.caehp-suggest-list{border-top:0}

/* The header must not clip either the dropdowns or the suggestions. */
.caehp-mast,
.caehp-mast .wrap,
.caehp-right,
.caehp-nav,
.caehp-nav li{overflow:visible}

/* =========================================================================
   Search results page
   ========================================================================= */

.caehp-results{padding:64px 0 96px}
.caehp-results .sec-head{align-items:baseline}
.caehp-results h1{font-size:clamp(28px,3vw,38px)}
.caehp-results-count{font-family:var(--mono);font-size:12px;letter-spacing:.02em;
  text-transform:uppercase;color:var(--slate);white-space:nowrap}

.caehp-results-form{display:flex;gap:12px;margin:0 0 40px;max-width:620px}
.caehp-results-form input{flex:1;border:1px solid var(--line);background:#fff;padding:14px 16px;
  font-family:var(--body);font-size:17px;color:var(--ink)}
.caehp-results-form input:focus{outline:2px solid var(--signal);outline-offset:-2px}
.caehp-results-form button{font-family:var(--display);font-weight:700;font-size:12.5px;
  letter-spacing:.09em;text-transform:uppercase;line-height:1;background:var(--ink);color:#fff;
  border:0;padding:15px 22px;cursor:pointer}
.caehp-results-form button:hover{background:var(--ink-2)}

.caehp-result{display:flex;gap:26px;padding:26px 0;border-top:1px solid var(--line)}
.caehp-result:first-child{border-top:0;padding-top:0}
.caehp-result .s-type{flex:0 0 auto;min-width:116px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.02em;text-transform:uppercase;color:var(--signal);padding-top:4px}
.caehp-result .s-body{flex:1 1 auto;min-width:0}
.caehp-result .s-meta{font-family:var(--mono);font-size:11px;letter-spacing:.02em;
  text-transform:uppercase;color:var(--slate);margin-bottom:8px}
.caehp-result h2{font-size:22px;line-height:1.28;margin:0 0 10px}
.caehp-result h2 a{color:var(--ink)}
.caehp-result h2 a:hover{color:var(--signal)}
.caehp-result p{margin:0 0 12px;font-size:16.5px;color:var(--slate);max-width:78ch}

.caehp-pagination,
.caehp-results .page-numbers{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:44px 0 0;padding:0}
.caehp-results .page-numbers li{margin:0}
.caehp-results .page-numbers a,
.caehp-results .page-numbers span{display:inline-block;font-family:var(--mono);font-size:12px;
  letter-spacing:.02em;padding:10px 14px;border:1px solid var(--line);color:var(--ink)}
.caehp-results .page-numbers a:hover{border-color:var(--ink);color:var(--signal)}
.caehp-results .page-numbers .current{background:var(--ink);color:#fff;border-color:var(--ink)}

.caehp-noresults{padding:26px 0 0}
.caehp-noresults h2{font-size:26px;margin:0 0 12px}
.caehp-noresults p{font-size:17.5px;color:var(--slate);margin:0 0 20px;max-width:60ch}
.caehp-noresults ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.caehp-noresults a{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;
  text-transform:uppercase;border:1px solid var(--line);padding:11px 16px;color:var(--ink)}
.caehp-noresults a:hover{border-color:var(--signal);color:var(--signal)}

@media (max-width:700px){
  .caehp-result{flex-direction:column;gap:8px}
  .caehp-result .s-type{min-width:0;padding-top:0}
}
/* =========================================================================
   Donate page
   ========================================================================= */

.caehp-donate{padding:64px 0 96px}
.caehp-donate .wrap{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:96px;row-gap:44px;
  align-items:start}

.caehp-donate h1{font-size:clamp(30px,3.4vw,42px);line-height:1.14;margin:16px 0 24px;max-width:18ch}

/* One type treatment for every block of donate copy: the intro, the page
   content, and the note. Editing any of them in WordPress keeps bold,
   italics, links and lists. */
.caehp-donate-body p,
.caehp-donate-body li{font-size:17.5px;line-height:1.65;color:var(--slate);margin:0 0 18px}
.caehp-donate-body p:last-child{margin-bottom:0}
.caehp-donate-body strong{color:var(--ink);font-weight:600}
.caehp-donate-body em{font-style:italic}
.caehp-donate-body a{color:var(--signal);text-decoration:underline}
.caehp-donate-body a:hover{text-decoration:none}
.caehp-donate-body h2,
.caehp-donate-body h3{font-size:21px;line-height:1.25;color:var(--ink);margin:28px 0 12px}
.caehp-donate-body ul,
.caehp-donate-body ol{margin:0 0 18px;padding-left:22px}
.caehp-donate-body li{margin-bottom:8px}
.caehp-donate-body blockquote{margin:24px 0;padding-left:20px;border-left:3px solid var(--signal)}
.caehp-donate-body blockquote p{font-style:italic;color:var(--ink)}
.caehp-donate-body + .caehp-donate-body{margin-top:18px}

.caehp-donate-note{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}

.caehp-donate-missing{padding:20px;border:1px dashed var(--line);color:var(--slate);
  font-family:var(--mono);font-size:12px;letter-spacing:.02em}

/* ---- GiveWP form, restyled ---- */

.caehp-donate-form{background:var(--paper);border:1px solid var(--line);padding:34px 32px 30px}

.caehp-donate-form .give-form-title,
.caehp-donate-form .give-goal-progress{display:none}

.caehp-donate-form form.give-form,
.caehp-donate-form .give-form-wrap{margin:0}

/* Amount buttons */
.caehp-donate-form .give-donation-levels-wrap ul{display:grid!important;
  grid-template-columns:repeat(3,1fr);gap:10px;list-style:none;margin:0 0 22px;padding:0}
.caehp-donate-form .give-donation-levels-wrap li{margin:0!important;padding:0!important;width:auto!important}
.caehp-donate-form .give-btn-level{display:block;width:100%;text-align:center;
  font-family:var(--display)!important;font-weight:700!important;font-size:16px!important;
  letter-spacing:.01em;background:#fff!important;color:var(--ink)!important;
  border:1px solid var(--line)!important;border-radius:0!important;padding:16px 8px!important;
  cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
.caehp-donate-form .give-btn-level:hover{border-color:var(--ink)!important}
.caehp-donate-form .give-btn-level.give-default-level,
.caehp-donate-form .give-btn-level:focus{background:var(--ink)!important;color:#fff!important;
  border-color:var(--ink)!important}

/* Custom amount */
.caehp-donate-form .give-total-wrap{margin:0 0 24px}
.caehp-donate-form .give-currency-symbol{background:#fff!important;border:1px solid var(--line)!important;
  border-right:0!important;border-radius:0!important;font-family:var(--display);font-weight:700;
  color:var(--slate)!important;padding:0 14px!important}
.caehp-donate-form input.give-amount-top{border:1px solid var(--line)!important;border-radius:0!important;
  font-family:var(--display)!important;font-weight:700!important;font-size:22px!important;
  color:var(--ink)!important;padding:14px 16px!important;height:auto!important;background:#fff!important}

/* Labels and inputs */
.caehp-donate-form label,
.caehp-donate-form .give-label{font-family:var(--mono)!important;font-size:11px!important;
  letter-spacing:.02em;text-transform:uppercase;color:var(--slate)!important;font-weight:500!important}
.caehp-donate-form input[type=text],
.caehp-donate-form input[type=email],
.caehp-donate-form input[type=tel],
.caehp-donate-form input[type=password],
.caehp-donate-form select,
.caehp-donate-form .give-input{border:1px solid var(--line)!important;border-radius:0!important;
  background:#fff!important;padding:13px 14px!important;font-family:var(--body)!important;
  font-size:16px!important;color:var(--ink)!important;height:auto!important;box-shadow:none!important}
.caehp-donate-form input:focus,
.caehp-donate-form select:focus{outline:2px solid var(--signal)!important;outline-offset:-2px}

.caehp-donate-form fieldset{border:0!important;padding:0!important;margin:0 0 20px!important}
.caehp-donate-form legend{font-family:var(--display)!important;font-weight:700!important;
  font-size:15px!important;color:var(--ink)!important;padding:0 0 12px!important;
  text-transform:none!important;border:0!important}

/* Submit */
.caehp-donate-form .give-submit,
.caehp-donate-form input[type=submit].give-submit,
.caehp-donate-form #give-purchase-button{display:block!important;width:100%!important;
  font-family:var(--display)!important;font-weight:700!important;font-size:13px!important;
  letter-spacing:.09em!important;text-transform:uppercase!important;line-height:1!important;
  background:var(--signal)!important;color:#fff!important;border:0!important;border-radius:0!important;
  padding:19px 24px!important;cursor:pointer;height:auto!important;margin-top:6px!important}
.caehp-donate-form .give-submit:hover,
.caehp-donate-form #give-purchase-button:hover{background:#a52c21!important}

/* Payment method selector */
.caehp-donate-form #give-payment-mode-select{border:0!important;background:none!important;
  padding:0!important;margin:0 0 22px!important}
.caehp-donate-form .give-gateway-option-wrap{gap:10px}

.caehp-donate-form .give-notice,
.caehp-donate-form .give_error,
.caehp-donate-form .give_success{border-radius:0!important;font-family:var(--body)!important;
  font-size:15px!important}

@media (max-width:1040px){
  .caehp-donate .wrap{grid-template-columns:1fr;column-gap:0;row-gap:38px}
}
@media (max-width:520px){
  .caehp-donate-form{padding:26px 20px 24px}
  .caehp-donate-form .give-donation-levels-wrap ul{grid-template-columns:repeat(2,1fr)}
}

/* =========================================================================
   Interior page template
   ========================================================================= */

.caehp-int-hero .wrap{padding-top:62px!important;padding-bottom:72px!important}
.caehp-int-hero h1{font-size:clamp(34px,4vw,52px);color:#fff;max-width:17ch;margin:14px 0 0}
.caehp-int-standfirst{margin-top:24px;max-width:56ch}
.caehp-int-standfirst p{font-size:19.5px;line-height:1.6;color:#C7D5E6;margin:0 0 16px}
.caehp-int-standfirst p:last-child{margin-bottom:0}
.caehp-int-standfirst strong{color:#fff;font-weight:600}
.caehp-int-standfirst a{color:#F0A99F;text-decoration:underline}
.caehp-int-hero figure img{height:400px}

.caehp-int-stats .wrap{padding-top:0}
.caehp-int-stat-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:96px;row-gap:32px;
  padding:38px 0 8px}
.caehp-int-stat-grid .stat{padding:0;border:0}
.caehp-int-stats .ledger-foot{padding-top:20px}

.caehp-int-body{padding:56px 0 0}
.caehp-int-body .caehp-donate-body{max-width:74ch}

.caehp-int-sections{padding:56px 0 72px}
.caehp-int-section{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:96px;row-gap:28px;
  align-items:center;padding:44px 0;border-top:1px solid var(--line)}
.caehp-int-section:first-child{border-top:0;padding-top:8px}
.caehp-int-section.is-flipped figure{order:2}
.caehp-int-section.is-flipped .caehp-int-section-body{order:1}
.caehp-int-section figure{margin:0}
.caehp-int-section figure img{width:100%;height:auto;display:block;border:1px solid var(--line)}
.caehp-int-section h2{font-size:30px;line-height:1.16;margin:0 0 16px;max-width:22ch}
.caehp-int-section .caehp-donate-body{max-width:60ch}
.caehp-int-more{display:inline-block;margin-top:6px;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.03em;text-transform:uppercase;color:var(--signal);border-bottom:1px solid transparent}
.caehp-int-more:after{content:" →"}
.caehp-int-more:hover{border-bottom-color:var(--signal)}

.caehp-int-cta .caehp-int-cta-inner{display:flex;align-items:center;justify-content:space-between;
  gap:56px;flex-wrap:wrap}
.caehp-int-cta h2{font-size:28px;line-height:1.2;margin:0 0 10px;max-width:24ch}
.caehp-int-cta p{margin:0;font-size:17.5px;color:var(--slate);max-width:62ch}

@media (max-width:1040px){
  .caehp-int-hero .wrap{grid-template-columns:1fr}
  .caehp-int-section{grid-template-columns:1fr;column-gap:0}
  .caehp-int-section.is-flipped figure{order:0}
  .caehp-int-section.is-flipped .caehp-int-section-body{order:0}
  .caehp-int-stat-grid{grid-template-columns:1fr;column-gap:0;row-gap:28px}
}

/* Interior hero with no image: single column, wider measure. */
.caehp-int-hero.has-no-image .wrap{grid-template-columns:1fr!important}
.caehp-int-hero.has-no-image h1{max-width:20ch}
.caehp-int-hero.has-no-image .caehp-int-standfirst{max-width:68ch}
.caehp-int-hero.has-no-image .caehp-int-standfirst p{column-count:1}

/* Interior figures are typed text, never animated counters. */
.caehp-int-stat-grid .num{font-variant-numeric:tabular-nums}

/* Interior sections with no image run full width. */
.caehp-int-section.has-no-image{grid-template-columns:1fr}
.caehp-int-section.has-no-image .caehp-int-section-body{max-width:74ch}

/* =========================================================================
   Logo grid (Corporate Advisory Council and similar)
   ========================================================================= */

.caehp-int-logos{padding:66px 0 78px;background:var(--paper);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.caehp-int-logos h2{font-size:30px;line-height:1.16;margin:0 0 16px;max-width:26ch}
.caehp-int-logos-intro{max-width:70ch;margin-bottom:38px}
.caehp-int-logos-intro p:last-child{margin-bottom:0}

.caehp-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
  list-style:none;margin:0;padding:0;background:var(--line);border:1px solid var(--line)}
.caehp-logo-grid li{display:flex;align-items:center;justify-content:center;
  background:#fff;padding:34px 26px;min-height:132px;margin:0}
.caehp-logo-grid a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.caehp-logo-grid img{max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1);opacity:.78;transition:filter .2s ease,opacity .2s ease}
.caehp-logo-grid a:hover img{filter:grayscale(0);opacity:1}

@media (max-width:900px){
  .caehp-logo-grid{grid-template-columns:repeat(3,1fr)}
  .caehp-logo-grid li{padding:26px 18px;min-height:112px}
}
@media (max-width:620px){
  .caehp-logo-grid{grid-template-columns:repeat(2,1fr)}
  .caehp-logo-grid img{max-height:44px}
}
