/*
 * The designed pages as blocks (About, Get Involved, Home): theme/ceec/inc/blocks.php.
 * Two scopes, so nothing reaches other pages and two pages can reuse a class name:
 *   .ceec-designed       the page's outer group and every shared band: CEEC blocks, buttons, labels
 *   .ceec-page-<name>    one page's own layout (About and Home both have a different ".pillar3")
 * Loaded on the site and in the editor (with editor-app.css, the global design styles), so the
 * editor shows the page as it will look.
 *
 * Part 1 is About and Get Involved's styles from the design, scoped. Part 2 fits the design to
 * block markup. Parts 3 and 4 are Home: its shared components, then its own layout. Parts 5 to 8
 * are Initiatives, Projects and the Medal; part 9 the text around the Knowledge Centre and Search
 * apps (#130).
 */

/* ---------- 1. the design's page styles ---------- */
/* from design-source/about.html */
.ceec-page-about .pillars3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:32px; }
@media (max-width:820px){ .ceec-page-about .pillars3 { grid-template-columns:1fr; } }
.ceec-page-about .pillar3 { border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:#fff; padding:26px; }
.ceec-page-about .pillar3 .ic { display:grid; place-items:center; height:52px; width:52px; border-radius:var(--radius-xl); background:var(--muted); color:var(--primary); }
.ceec-page-about .pillar3 .ic i { font-size:26px; }
.ceec-page-about .pillar3 h3 { margin-top:16px; font-size:19px; font-weight:700; }
.ceec-page-about .pillar3 p { margin-top:8px; font-size:14px; line-height:1.6; color:var(--text-soft); }
.ceec-page-about .story { display:grid; grid-template-columns:1.3fr 1fr; gap:44px; align-items:start; }
@media (max-width:820px){ .ceec-page-about .story { grid-template-columns:1fr; } }
.ceec-page-about .story p { font-size:16px; line-height:1.8; color:var(--text); margin-top:16px; max-width:62ch; }
.ceec-page-about .story p:first-child { margin-top:0; }
.ceec-page-about .facts { border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:var(--cream); padding:26px; }
.ceec-page-about .facts .row { display:flex; justify-content:space-between; gap:14px; padding:12px 0; border-top:1px solid var(--panel-border); font-size:14px; }
.ceec-page-about .facts .row:first-of-type { border-top:none; }
.ceec-page-about .facts .k { color:var(--text-soft); } .ceec-page-about .facts .v { color:var(--ink); font-weight:600; text-align:right; }
.ceec-designed .team { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:32px; }
@media (max-width:820px){ .ceec-designed .team { grid-template-columns:1fr 1fr; } }
.ceec-designed .person { text-align:center; }
.ceec-designed .person .ph-img { aspect-ratio:1; border-radius:50%; margin:0 auto; max-width:130px; }
.ceec-designed .person h4 { margin-top:14px; font-size:15px; font-weight:600; font-family:var(--font-sans); }
.ceec-designed .person p { font-size:12.5px; color:var(--text-soft); margin-top:2px; }
/* hero: a mosaic of the real board and patrons (theme/ceec/inc/sections.php), linking to #people */
.ceec-designed .ceec-mosaic { display:block; padding:14px; text-decoration:none; }
/* rows held to the frame (minmax 0): tall portraits would otherwise stretch them */
.ceec-designed .ceec-mosaic__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); gap:10px; height:calc(100% - 26px); }
.ceec-designed .ceec-mosaic__grid img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; object-position:50% 25%; border-radius:12px; border:1px solid rgba(255,255,255,.12); filter:saturate(.92); transition:filter .3s; }
.ceec-designed .ceec-mosaic:hover .ceec-mosaic__grid img { filter:saturate(1.05); }
.ceec-designed .ceec-mosaic .cap { color:rgba(255,255,255,.72); }

/* from design-source/about.html */
.ceec-designed .team-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-top:22px; }
.ceec-designed .team-tabs .rtab { border:1.5px solid var(--panel-border); background:#fff; border-radius:999px; padding:9px 18px; font-size:14px; font-weight:600; color:var(--text-soft); cursor:pointer; transition:all .2s; }
.ceec-designed .team-tabs .rtab:hover { border-color:var(--teal-soft); color:var(--ink); }
.ceec-designed .team-tabs .rtab.on { background:var(--primary); border-color:var(--primary); color:#fff; }
.ceec-designed .person .bio { font-size:12.5px; color:var(--text-soft); margin:8px auto 0; line-height:1.5; max-width:24ch; }
.ceec-designed .teamgroup[hidden] { display:none; }

.ceec-designed .person .prole { font-size:13px; color:var(--orange-deep); font-weight:600; margin-top:4px; }
.ceec-designed .person .bio { margin-top:8px; }
/* real people (theme/ceec/inc/sections.php): a photo in the frame, or their initials */
.ceec-designed .person__photo img { display:block; width:100%; height:100%; object-fit:cover; }
.ceec-designed .person__initials { font-family:var(--font-display); font-size:32px; font-weight:800; color:var(--primary); opacity:.55; }
/* bios are the first sentence, which runs long for some: four lines, so the rows stay even */
.ceec-designed .person .bio { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
/* left-aligned cards, so the first column lines up with the tabs and the section heading */
.ceec-designed .person { text-align:left; }
.ceec-designed .person .ph-img { margin:0; }
.ceec-designed .person .bio { margin:8px 0 0; max-width:none; }

/* from design-source/get-involved.html */
.ceec-page-get-involved .why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:32px; }
@media (max-width:900px){ .ceec-page-get-involved .why-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .ceec-page-get-involved .why-grid { grid-template-columns:1fr; } }
.ceec-page-get-involved .why { border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:#fff; padding:24px; }
.ceec-page-get-involved .why .ic { display:grid; place-items:center; height:48px; width:48px; border-radius:var(--radius-xl); background:var(--muted); color:var(--primary); }
.ceec-page-get-involved .why .ic i { font-size:24px; }
.ceec-page-get-involved .why h4 { margin-top:16px; font-size:16px; font-weight:700; }
.ceec-page-get-involved .why p { margin-top:6px; font-size:13.5px; line-height:1.55; color:var(--text-soft); }
.ceec-page-get-involved .gst { margin-top:16px; text-align:right; font-size:12px; color:var(--text-soft); }

.ceec-page-get-involved .ways { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px; }
@media (max-width:820px){ .ceec-page-get-involved .ways { grid-template-columns:1fr; } }
.ceec-page-get-involved .way { border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:#fff; padding:28px; display:flex; flex-direction:column; }
.ceec-page-get-involved .way .ic { display:grid; place-items:center; height:54px; width:54px; border-radius:var(--radius-xl); background:var(--muted); color:var(--primary); }
.ceec-page-get-involved .way .ic i { font-size:26px; }
.ceec-page-get-involved .way h3 { margin-top:16px; font-size:19px; font-weight:700; }
.ceec-page-get-involved .way p { margin-top:8px; font-size:14px; line-height:1.6; color:var(--text-soft); flex:1; }
.ceec-page-get-involved .way a.link { margin-top:16px; display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--orange-deep); }

/* --- real sponsor roll --- */
.ceec-designed .sgroup { margin-top:26px; }
.ceec-designed .sgroup__hd { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; padding-bottom:10px; border-bottom:2px solid var(--panel-border); }
.ceec-designed .sgroup__hd h3 { font-family:var(--font-display); font-weight:800; font-size:20px; color:var(--primary); }
.ceec-designed .sgroup__hd .ct { font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft); }
.ceec-designed .sgroup > p { margin-top:10px; font-size:14px; line-height:1.6; color:var(--text-soft); max-width:62ch; }
/* denser roll: 21 names as full-width cards read as a wall, so tighten the
track and let more sit per row */
.ceec-designed .snames { display:grid; grid-template-columns:repeat(auto-fill,minmax(168px,1fr)); gap:8px; margin-top:14px; }
.ceec-designed .sname { border:1px solid var(--panel-border); border-radius:var(--radius-md); background:#fff; padding:11px 14px; font-size:13.5px; font-weight:500; line-height:1.35; color:var(--ink); }
.ceec-designed .sgroup--premier .sname { border-left:3px solid var(--orange); border-radius:0 var(--radius-lg) var(--radius-lg) 0; }
/* real sponsors (theme/ceec/inc/sections.php) link to their sites */
.ceec-designed a.sname { display:block; text-decoration:none; }
.ceec-designed a.sname:hover { color:var(--primary); }
/* with their logos: the logo in a fixed box, the name under it */
.ceec-page-get-involved .cdirect { margin-top:26px; border-top:1px solid var(--panel-border); }
.ceec-page-get-involved .cdirect__lbl, .ceec-page-get-involved p.cdirect__lbl { margin-top:18px; font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft); }
.ceec-page-get-involved .cdirect__row { display:grid; grid-template-columns:150px minmax(0,1fr); column-gap:14px; padding:11px 0; border-bottom:1px solid var(--panel-border); text-decoration:none; }
.ceec-page-get-involved .cdirect__row .k { grid-row:span 2; font-size:12.5px; font-weight:600; color:var(--orange-deep); }
.ceec-page-get-involved .cdirect__row .v { font-size:14px; font-weight:500; color:var(--ink); }
.ceec-page-get-involved .cdirect__row .m { font-size:13px; color:var(--text-soft); }
.ceec-page-get-involved .cdirect__row:hover .m { color:var(--primary); }
.ceec-designed .sname--logo, .ceec-designed a.sname--logo { display:flex; flex-direction:column; align-items:center; gap:10px; padding:18px 14px 14px; text-align:center; }
/* every logo sits in the same fixed box (pixel heights: a % max-height does not resolve here), the name on one line below */
.ceec-designed .sname__logo { display:flex; align-items:center; justify-content:center; width:100%; height:60px; }
.ceec-designed .sname__logo img { display:block; width:auto; height:auto; max-width:100%; max-height:60px; object-fit:contain; }
.ceec-designed .sname__name { font-size:12.5px; font-weight:500; line-height:1.3; color:var(--text-soft); }
.ceec-designed a.sname--logo:hover .sname__name { color:var(--primary); }
.ceec-designed .sgroup--premier .sname--logo { border-left:1px solid var(--panel-border); border-bottom:3px solid var(--orange); border-radius:var(--radius-lg); }
.ceec-designed .sgroup--premier .sname__logo { height:80px; }
.ceec-designed .sgroup--premier .sname__logo img { max-height:80px; }
/* --- ways to contribute --- */
.ceec-page-get-involved .cways { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:28px; }
@media (max-width:900px){ .ceec-page-get-involved .cways { grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .ceec-page-get-involved .cways { grid-template-columns:1fr; } }
.ceec-page-get-involved .cway { border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:#fff; padding:22px 24px; }
.ceec-page-get-involved .cway .ic { display:grid; place-items:center; height:46px; width:46px; border-radius:var(--radius-xl); background:var(--muted); color:var(--primary); }
.ceec-page-get-involved .cway .ic i { font-size:23px; }
.ceec-page-get-involved .cway h4 { margin-top:14px; font-size:16.5px; font-weight:700; color:var(--ink); }
.ceec-page-get-involved .cway p { margin-top:7px; font-size:14px; line-height:1.6; color:var(--text-soft); }

/* --- partnership tiers, rebuilt 2x2 --- */
.ceec-page-get-involved .ptiers { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:stretch; margin-top:30px; }
@media (max-width:820px){ .ceec-page-get-involved .ptiers { grid-template-columns:1fr; } }
.ceec-page-get-involved .ptier { display:flex; flex-direction:column; border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:#fff; padding:30px 32px; }
.ceec-page-get-involved .ptier.feat { border-color:var(--primary); box-shadow:var(--shadow-md); }
.ceec-page-get-involved .ptier__lbl { display:flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--orange-deep); }
.ceec-page-get-involved .ptier__lbl i { font-size:16px; }
.ceec-page-get-involved .ptier__mark { margin-left:auto; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.07em; background:var(--primary); color:#fff; border-radius:999px; padding:3px 9px; }
.ceec-page-get-involved .ptier h3 { margin-top:14px; font-family:var(--font-display); font-weight:800; font-size:21px; line-height:1.25; letter-spacing:-.01em; color:var(--ink); }
.ceec-page-get-involved .ptier .tlead { margin-top:10px; font-size:14.5px; line-height:1.6; color:var(--text-soft); }
.ceec-page-get-involved .ptier ul { list-style:none; margin-top:20px; padding-top:18px; border-top:1px solid var(--panel-border); display:grid; gap:11px; }
.ceec-page-get-involved .ptier li { display:flex; gap:10px; font-size:14px; line-height:1.5; color:var(--text); }
.ceec-page-get-involved .ptier li i { color:var(--success); font-size:16px; flex-shrink:0; margin-top:1px; }

/* --- sponsor roll header, split --- */
.ceec-page-get-involved .srollhd { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(28px,5vw,64px); align-items:start; }
@media (max-width:860px){ .ceec-page-get-involved .srollhd { grid-template-columns:1fr; gap:24px; } }
.ceec-designed .srollsum { border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:#fff; padding:26px 28px; display:grid; gap:16px; }
.ceec-designed .srollsum__row { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding-bottom:14px; border-bottom:1px solid var(--panel-border); }
.ceec-designed .srollsum__row:last-child { border-bottom:none; padding-bottom:0; }
.ceec-designed .srollsum__row .k { font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft); }
.ceec-designed .srollsum__row .v { font-family:var(--font-display); font-weight:800; font-size:28px; line-height:1; color:var(--primary); letter-spacing:-.02em; }

/* Was eight inline styles reproducing the .cta band with a hard-coded 2-up grid
and no collapse, which pushed the page 96px wider than the viewport at 512px.
Named, and it collapses. Shared (not Get Involved's own), since it is also the "Newsletter
band" section pattern (#120). */
.ceec-designed .nlband { background:var(--gradient-teal); border-radius:var(--radius-2xl); padding:clamp(28px,4vw,44px); color:#fff; display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:center; }
@media (max-width:820px){ .ceec-designed .nlband { grid-template-columns:1fr; gap:26px; } }
/* hero: the real sponsors' logos (theme/ceec/inc/sections.php), linking to #sponsors */
.ceec-designed .ceec-logowall { display:block; padding:16px; text-decoration:none; }
.ceec-designed .ceec-logowall__grid { display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(3,1fr); gap:10px; height:calc(100% - 26px); }
.ceec-designed .ceec-logowall__tile { display:grid; place-items:center; padding:12px 14px; border-radius:12px; background:#fff; box-shadow:0 10px 24px -14px rgba(0,0,0,.6); transition:transform .25s; }
.ceec-designed .ceec-logowall__tile.is-premier { box-shadow:inset 0 -3px 0 var(--orange), 0 10px 24px -14px rgba(0,0,0,.6); }
.ceec-designed .ceec-logowall__tile img { display:block; max-width:100%; max-height:100%; object-fit:contain; }
.ceec-designed .ceec-logowall:hover .ceec-logowall__tile { transform:translateY(-2px); }
.ceec-designed .ceec-logowall .cap { color:rgba(255,255,255,.72); }

/* from design-source/get-involved.html */
.ceec-designed .cform label { display:block; font-size:12.5px; font-weight:600; color:var(--ink); margin-bottom:6px; }
.ceec-designed .cform input, .ceec-designed .cform select, .ceec-designed .cform textarea { width:100%; border:1px solid var(--panel-border); border-radius:var(--radius-md); padding:11px 13px; font-size:14px; font-family:var(--font-sans); color:var(--ink); background:var(--cream); }
.ceec-designed .cform .field { margin-bottom:14px; }
.ceec-designed .cform .row2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ceec-page-get-involved .contact-2up { display:grid; grid-template-columns:1fr 1.1fr; gap:44px; align-items:start; }
@media (max-width:820px){ .ceec-page-get-involved .contact-2up { grid-template-columns:1fr; } .ceec-designed .cform .row2 { grid-template-columns:1fr; } }

/* ---------- 2. fitting the design to blocks ---------- */

/* Blocks inside a group get WordPress's block gap as a top margin. The design spaces its own
   elements, so the gap is taken out: that rule is in theme.json ("styles" > "css"), which prints
   after WordPress's own rule on the site and in the editor alike. The design's margins are more
   specific and still apply. */
.ceec-designed .wp-block-heading { margin-bottom:0; }
/* WordPress wraps headings "pretty"; the design's hero titles wrap normally */
.ceec-designed .phero h1 { text-wrap:wrap; }

/* labels were <span>/<div> in the design and are paragraphs here: keep their own size and spacing
   wherever a section's paragraph rule would otherwise restyle them */
.ceec-designed p.eyebrow { margin-top:0; max-width:none; font-family:var(--font-mono); font-size:12px; font-weight:500; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; color:var(--orange-deep); }
.ceec-designed .phero p.eyebrow { margin-top:18px; color:var(--orange-soft); }
.ceec-designed .nlband p.eyebrow { color:var(--orange-soft); }
.ceec-page-about .facts p.eyebrow { margin-bottom:8px; }
.ceec-designed .crumb { margin:0; padding:0; }
/* the breadcrumb stays one line: a long page title is cut short with "…" (the full title on
   hover), not run across the hero or wrapped under it (#120) */
.crumb li.cur { flex:1 1 0; min-width:0; max-width:60ch; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ceec-designed .phero__grid { margin-top:16px; }
.ceec-designed .phero__stats { margin-top:28px; }
.ceec-designed .phero__stats p { max-width:none; }
.ceec-designed .phero__stats .n { margin-top:0; }
.ceec-page-about .story .h2-sm { margin-top:12px; }
.ceec-page-about .facts .row p { margin:0; font-size:14px; line-height:1.5; }

/* buttons: the design's .btn. Default is the orange one with an arrow; the other looks are
   picked in the button's Styles panel */
.ceec-designed .wp-block-buttons { display:flex; flex-wrap:wrap; gap:12px; }
.ceec-designed .phero .wp-block-buttons { margin-top:26px; }
.ceec-designed .wp-block-button { margin:0; }
/* a button left empty (e.g. a page using one button of the call to action band) is not shown */
.ceec-designed .wp-block-button:has(> .wp-block-button__link:empty) { display:none; }
.ceec-designed .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:var(--radius-md); font-family:var(--font-sans); font-weight:500; border:1px solid transparent; padding:15px 32px; font-size:15px; line-height:1.3; text-decoration:none; background:var(--gradient-orange); color:#fff; transition:transform .16s ease, background-color .2s ease, border-color .2s ease, opacity .2s; }
.ceec-designed .wp-block-button__link:hover { opacity:.92; transform:translateY(-1px); color:#fff; }
.ceec-designed .wp-block-button:not([class*="is-style-ceec-outline"]):not(.is-style-ceec-search) .wp-block-button__link::after { content:""; width:16px; height:16px; background:currentColor; -webkit-mask:var(--ceec-arrow) center/contain no-repeat; mask:var(--ceec-arrow) center/contain no-repeat; transition:transform .2s; }
.ceec-designed .wp-block-button__link:hover::after { transform:translateX(4px); }
.ceec-designed .is-style-ceec-outline .wp-block-button__link { background:none; border-color:rgba(255,255,255,.45); color:#fff; }
.ceec-designed .is-style-ceec-outline .wp-block-button__link:hover { border-color:#fff; background:rgba(255,255,255,.1); opacity:1; }
.ceec-designed .is-style-ceec-outline-dark .wp-block-button__link { background:none; border-color:rgba(0,68,85,.28); color:var(--primary); }
.ceec-designed .is-style-ceec-outline-dark .wp-block-button__link:hover { border-color:rgba(0,68,85,.55); background:rgba(0,68,85,.05); opacity:1; color:var(--primary); }
.ceec-designed { --ceec-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M224.49 136.49l-72 72a12 12 0 0 1-17-17L187 140H40a12 12 0 0 1 0-24h147l-51.49-51.51a12 12 0 0 1 17-17l72 72a12 12 0 0 1-.02 17z'/%3E%3C/svg%3E"); --ceec-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M232.49 80.49l-128 128a12 12 0 0 1-17 0l-56-56a12 12 0 1 1 17-17L96 183 215.51 63.51a12 12 0 0 1 17 17z'/%3E%3C/svg%3E"); }

/* "Browse the initiatives" style links under a card */
.ceec-page-get-involved .way p.link { flex:none; margin-top:16px; font-size:14px; font-weight:600; }
.ceec-page-get-involved .way p.link a { display:inline-flex; align-items:center; gap:6px; color:var(--orange-deep); text-decoration:none; }
.ceec-page-get-involved .way p.link a::after { content:""; width:15px; height:15px; background:currentColor; -webkit-mask:var(--ceec-arrow) center/contain no-repeat; mask:var(--ceec-arrow) center/contain no-repeat; transition:transform .2s; }
.ceec-page-get-involved .way p.link a:hover::after { transform:translateX(3px); }

/* partnership tiers: the label row, and a tick before each list item */
.ceec-page-get-involved .ptier__lbl p { margin:0; }
.ceec-page-get-involved .ptier__lbl p.ptier__mark { margin-left:auto; }
.ceec-page-get-involved .ptier ul.wp-block-list { padding-left:0; }
.ceec-page-get-involved .ptier li { margin:0; }
.ceec-page-get-involved .ptier li::before { content:""; flex-shrink:0; width:16px; height:16px; margin-top:2px; background:var(--success); -webkit-mask:var(--ceec-check) center/contain no-repeat; mask:var(--ceec-check) center/contain no-repeat; }

/* the note above the tiers */
.ceec-designed .disclaimer p { margin:0; }
.ceec-designed .disclaimer strong { color:var(--ink); font-weight:600; }

/* contact: the lead, the note with its icon, and the direct contacts */
.ceec-page-get-involved .contact-lead { margin-top:14px; font-size:15.5px; line-height:1.7; color:var(--text-soft); max-width:62ch; }
.ceec-page-get-involved .cnote { margin-top:20px; display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text); }
.ceec-page-get-involved .cnote i { color:var(--orange-deep); font-size:19px; }
.ceec-page-get-involved .cnote p { margin:0; }
.ceec-page-get-involved .cdirect__row p { margin:0; }
.ceec-page-get-involved .cdirect__row a { color:inherit; text-decoration:none; }
.ceec-page-get-involved .cdirect__row a:hover { color:var(--primary); }

/* newsletter band */
.ceec-designed .nlband .h2-sm { margin-top:12px; color:#fff; }
.ceec-designed .nlband p.nl-lead { margin-top:12px; font-size:15px; line-height:1.7; color:rgba(255,255,255,.86); }
.ceec-designed .nlform__row { display:grid; grid-template-columns:1fr 1fr; gap:11px; }

/* sections that sit close under the one before, as in the design */
.ceec-designed .sec.sec--flush-top { padding-top:0; }
.ceec-designed .sec.sec--flush-bottom { padding-bottom:0; }


/* ---------- 3. Home (#130): shared components ---------- */
/* used by CEEC blocks and synced patterns, so they work on any page */

/* Picture block: an editor's image, or the CEEC illustration until one is chosen */
.ceec-designed .ceec-picture { display:block; padding:0; }
.ceec-designed .ceec-picture img, .ceec-designed .ceec-picture svg { display:block; width:100%; height:100%; object-fit:cover; }

/* Sponsor strip: the logos scroll and pause on hover; the copy loops them seamlessly */
.ceec-designed .sponsor-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:26px; }
.ceec-designed .sponsor-head .h2-sm { margin-top:12px; }
.ceec-designed .sponsor-marquee { overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.ceec-designed .sponsor-track { display:flex; gap:16px; padding-right:16px; width:max-content; animation:ceec-sponscroll 60s linear infinite; }
.ceec-designed .sponsor-marquee:hover .sponsor-track { animation-play-state:paused; }
@keyframes ceec-sponscroll { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .ceec-designed .sponsor-track { animation:none; flex-wrap:wrap; width:auto; } .ceec-designed .sponsor[aria-hidden] { display:none; } }
.ceec-designed .sponsor { position:relative; width:186px; flex-shrink:0; height:88px; border:1px solid var(--panel-border); border-radius:var(--radius-lg); background:radial-gradient(rgba(0,68,85,.05) 1.1px, transparent 1.1px) 0 0/14px 14px, #fff; display:flex; align-items:center; justify-content:center; text-align:center; padding:12px 16px; transition:border-color .2s; }
.ceec-designed .sponsor:hover { border-color:var(--teal-soft); }
.ceec-designed .sponsor .wordmark { font-family:var(--font-display); font-weight:700; font-size:14px; line-height:1.25; letter-spacing:-.01em; color:var(--primary); }
.ceec-designed .sponsor img { max-height:40px; max-width:78%; width:auto; object-fit:contain; filter:grayscale(1); opacity:.82; transition:filter .2s, opacity .2s; }
.ceec-designed .sponsor:hover img { filter:none; opacity:1; }

/* News & Events and Recent Resources rows */
.ceec-designed .newsrow { display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--panel-border); text-decoration:none; color:inherit; }
.ceec-designed .newsrow .dt { flex-shrink:0; font-family:var(--font-mono); font-size:12px; color:var(--text-soft); width:52px; }
.ceec-designed .newsrow .tx { font-size:14.5px; line-height:1.45; color:var(--text); transition:color .2s; }
.ceec-designed .newsrow .tx b { display:block; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--orange-deep); margin-bottom:3px; }
.ceec-designed .newsrow:hover .tx { color:var(--primary); }
.ceec-designed .newsrow-sep { display:flex; align-items:center; gap:10px; margin:16px 0 4px; }
.ceec-designed .newsrow-sep .eyebrow { font-size:11px; }
.ceec-designed .newsrow-sep .rule { flex:1; height:1px; background:var(--panel-border); }
.ceec-designed .reslist { display:flex; flex-direction:column; gap:12px; }
.ceec-designed .resrow { display:flex; gap:14px; align-items:center; border:1px solid var(--panel-border); border-radius:var(--radius-lg); padding:12px 14px; text-decoration:none; transition:border-color .2s, background .2s; }
.ceec-designed .resrow:hover { border-color:rgba(233,97,21,.45); background:var(--cream); }
.ceec-designed .resrow .rt { flex-shrink:0; display:grid; place-items:center; height:44px; width:44px; border-radius:var(--radius-md); background:var(--muted); color:var(--primary); }
.ceec-designed .resrow .rt i { font-size:20px; }
.ceec-designed .resrow h4 { font-size:14.5px; font-weight:600; line-height:1.35; font-family:var(--font-sans); color:var(--ink); }
.ceec-designed .resrow .rm { font-size:12.5px; color:var(--text-soft); margin-top:2px; }

/* Ask CEEC band */
.ceec-designed .askband { position:relative; overflow:hidden; border-radius:var(--radius-2xl); background:var(--gradient-teal); color:#fff; padding:clamp(26px,4vw,40px); display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between; }
.ceec-designed .askband__t { max-width:52ch; }
.ceec-designed .askband__title { display:flex; align-items:center; gap:10px; }
.ceec-designed .askband__title i { font-size:22px; color:var(--orange-soft); }
.ceec-designed .askband__title p.tag-preview { margin:0; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:2px 8px; color:rgba(255,255,255,.85); }
.ceec-designed p.askband__lead { margin-top:10px; font-size:14.5px; line-height:1.6; color:var(--teal-mist); }
.ceec-designed .askband__chips { display:flex; flex-wrap:wrap; gap:10px; }
.ceec-designed .ai-chip p { margin:0; }
.ceec-designed .ai-chip a { color:inherit; text-decoration:none; }
.ceec-designed .ai-chip:hover { border-color:rgba(255,255,255,.6); }

/* a link that makes its whole card clickable: the card is the hit area, the text stays a link */
.ceec-page-home .pillar3, .ceec-designed .icard, .ceec-page-home .span-card { position:relative; }
.ceec-designed .pillar3__more a::before, .ceec-designed .icard__go a::before, .ceec-designed .span-card h4 a::before { content:""; position:absolute; inset:0; border-radius:inherit; }

/* ---------- 4. Home (#130): the page's own layout ---------- */

/* hero */
.ceec-page-home .hero { position:relative; overflow:hidden; background:var(--primary); color:#fff; }
.ceec-page-home .hero::before { content:""; position:absolute; inset:0; background:radial-gradient(55% 80% at 90% 10%, rgba(233,97,21,.28), transparent 60%), radial-gradient(50% 80% at 0% 100%, rgba(47,102,117,.4), transparent 60%); pointer-events:none; }
/* the faint grid (a separate element in the design) */
.ceec-page-home .hero::after { content:""; position:absolute; inset:0; opacity:.08; background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px); background-size:56px 56px; -webkit-mask-image:radial-gradient(120% 100% at 70% 0%,#000 35%,transparent 75%); mask-image:radial-gradient(120% 100% at 70% 0%,#000 35%,transparent 75%); pointer-events:none; }
.ceec-page-home .hero__in { position:relative; z-index:1; display:grid; grid-template-columns:1.25fr 1fr; gap:52px; align-items:center; padding-block:clamp(38px,5vw,64px) clamp(34px,4vw,54px); }
.ceec-page-home .hero__eyebrow { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-soft); border:1px solid rgba(244,168,119,.4); border-radius:999px; padding:6px 14px; margin-bottom:26px; }
.ceec-page-home .hero__eyebrow p { margin:0; }
/* #120: line height with room for the comma after "Efficient", and balanced lines so the
   heading never leaves a short line hanging (it wraps differently at every width) */
.ceec-page-home .hero h1 { font-weight:800; font-size:clamp(38px,5.4vw,62px); line-height:1.1; letter-spacing:-.02em; color:#fff; text-wrap:balance; }
.ceec-page-home .hero h1 em { font-style:normal; color:var(--orange-soft); }
.ceec-page-home .hero p.hero__lead { margin-top:22px; max-width:52ch; font-size:clamp(15px,1.6vw,18px); line-height:1.7; color:rgba(255,255,255,.85); }
.ceec-page-home .hero .hero__cta { margin-top:28px; gap:14px; }
.ceec-page-home .hero__nl { margin-top:30px; padding-top:24px; border-top:1px solid rgba(255,255,255,.16); max-width:52ch; }
.ceec-page-home .hero__nl-lbl { display:flex; align-items:center; gap:9px; font-size:14px; font-weight:600; color:#fff; }
.ceec-page-home .hero__nl-lbl p { margin:0; }
.ceec-page-home .hero__nl-lbl i { font-size:19px; color:var(--orange-soft); }
.ceec-page-home .nl-inline { margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.ceec-page-home .nl-inline input { flex:1 1 260px; min-width:0; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.08); border-radius:var(--radius-md); padding:13px 17px; font-size:14.5px; font-family:var(--font-sans); color:#fff; }
.ceec-page-home .nl-inline input::placeholder { color:rgba(255,255,255,.55); }
.ceec-page-home .nl-inline input:focus { outline:2px solid var(--orange-soft); outline-offset:1px; border-color:transparent; }
.ceec-page-home .hero__nl p.note { margin-top:10px; max-width:52ch; font-size:12.5px; color:rgba(255,255,255,.8); }
.ceec-page-home .hero__media { position:relative; }
.ceec-page-home .hero__media .ph-img { aspect-ratio:4/3.4; }
.ceec-page-home .hero__badge { position:absolute; bottom:-18px; left:-18px; background:#fff; color:var(--ink); border-radius:var(--radius-xl); box-shadow:var(--shadow-lg); padding:16px 20px; display:flex; align-items:center; gap:12px; }
.ceec-page-home .hero__badge i { font-size:26px; color:var(--orange); }
.ceec-page-home .hero__badge p.t { margin:0; font-size:13px; line-height:1.35; }
.ceec-page-home .hero__badge p.t strong { display:block; font-family:var(--font-display); font-size:15px; font-weight:600; }
@media (max-width:900px){ .ceec-page-home .hero__in { grid-template-columns:1fr; gap:40px; } .ceec-page-home .hero__media { max-width:460px; } }

/* who we are + the three pillars */
.ceec-page-home .posband { background:var(--cream); border-top:1px solid var(--panel-border); border-bottom:1px solid var(--panel-border); }
.ceec-page-home .posband__in { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:center; }
.ceec-page-home .posband p.lead { margin-top:14px; font-family:var(--font-display); font-weight:700; font-size:clamp(22px,3vw,32px); line-height:1.3; color:var(--ink); }
.ceec-page-home .posband p.lead em { font-style:normal; color:var(--orange-deep); }
.ceec-page-home p.posband__sub { margin-top:18px; font-size:16px; line-height:1.7; color:var(--text-soft); max-width:44ch; }
.ceec-page-home .pillars3 { display:grid; gap:16px; }
.ceec-page-home .pillar3 { display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--panel-border); border-radius:var(--radius-xl); padding:20px 22px; transition:border-color .2s, box-shadow .2s, transform .2s; }
.ceec-page-home .pillar3:hover { border-color:var(--orange-soft); box-shadow:var(--shadow-md); transform:translateY(-2px); }
.ceec-page-home .pillar3 .ic { flex-shrink:0; display:grid; place-items:center; height:46px; width:46px; border-radius:var(--radius-lg); background:var(--muted); color:var(--primary); }
.ceec-page-home .pillar3 .ic i { font-size:24px; }
.ceec-page-home .pillar3 h4 { font-size:17px; font-weight:700; }
.ceec-page-home .pillar3 p { margin-top:4px; font-size:14px; line-height:1.55; color:var(--text-soft); }
.ceec-page-home .pillar3 p.pillar3__more { margin-top:12px; font-size:13px; font-weight:600; }
.ceec-page-home .pillar3__more a { display:inline-flex; align-items:center; gap:6px; color:var(--orange-deep); text-decoration:none; }
.ceec-page-home .pillar3__more a::after, .ceec-designed .icard__go a::after { content:""; width:14px; height:14px; background:currentColor; -webkit-mask:var(--ceec-arrow) center/contain no-repeat; mask:var(--ceec-arrow) center/contain no-repeat; transition:transform .2s; }
.ceec-page-home .pillar3:hover .pillar3__more a::after, .ceec-designed .icard:hover .icard__go a::after { transform:translateX(3px); }
@media (max-width:820px){ .ceec-page-home .posband__in { grid-template-columns:1fr; gap:32px; } }

/* initiative cards, and the two that run across all three */
.ceec-page-home .home-initiatives { margin-top:40px; }
.ceec-designed .icard__top p.pill { margin:0; font-size:12.5px; line-height:1.5; }
.ceec-designed .icard__top p.pill.active { color:#256b45; }
.ceec-designed .icard__top p.pill.progress { color:#a5511a; }
.ceec-designed .icard p.icard__go { margin-top:16px; font-size:14px; font-weight:600; }
.ceec-designed .icard__go a { display:inline-flex; align-items:center; gap:6px; color:var(--orange-deep); text-decoration:none; }
.ceec-page-home .span-row { margin-top:22px; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
@media (max-width:820px){ .ceec-page-home .span-row { grid-template-columns:1fr; } }
.ceec-page-home .span-card { display:flex; gap:18px; align-items:center; border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:linear-gradient(180deg,#fff,var(--cream)); padding:24px 26px; transition:all .2s; }
.ceec-page-home .span-card:hover { box-shadow:var(--shadow-md); border-color:rgba(233,97,21,.35); transform:translateY(-3px); }
.ceec-page-home .span-card .ic { flex-shrink:0; display:grid; place-items:center; height:64px; width:64px; border-radius:var(--radius-xl); background:#fff; border:1px solid var(--panel-border); }
.ceec-page-home .span-card .ic i { font-size:34px; color:var(--orange-deep); }
.ceec-page-home .span-card p.eyebrow { font-size:11px; }
.ceec-page-home .span-card p:not(.eyebrow) { color:var(--text-soft); }
.ceec-page-home .span-card h4 { margin-top:5px; font-size:19px; font-weight:700; font-family:var(--font-display); }
.ceec-page-home .span-card h4 a { color:inherit; text-decoration:none; }
.ceec-page-home .span-card p { margin-top:5px; font-size:13.5px; line-height:1.5; }
.ceec-page-home .span-on { display:flex; align-items:center; gap:8px; margin-top:10px; color:rgba(255,255,255,.82); }
.ceec-page-home .span-on i { font-size:16px; }
.ceec-page-home .span-on p { margin:0 0 0 2px; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:inherit; }

/* news + resources */
.ceec-page-home .cols2 { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media (max-width:820px){ .ceec-page-home .cols2 { grid-template-columns:1fr; } }
.ceec-page-home .panel { background:#fff; border:1px solid var(--panel-border); border-radius:var(--radius-2xl); padding:28px; }
.ceec-page-home .panel__head { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:18px; }
.ceec-page-home .panel__head h3 { font-size:20px; font-weight:700; }
.ceec-page-home .panel__head p.pcap { margin-top:3px; font-size:12.5px; color:var(--text-soft); }
.ceec-page-home .panel__head p.panel__link { margin:0; font-size:13.5px; font-weight:600; white-space:nowrap; }
.ceec-page-home .panel__link a { color:var(--orange-deep); text-decoration:none; }

/* ---------- 5. shared by the #130 pages ---------- */
/* status pills are paragraphs here: keep the design's pill, wherever a card's text rule would restyle it */
.ceec-designed p.pill { margin:0; flex-shrink:0; font-size:12.5px; line-height:1.5; font-weight:600; align-self:flex-start; }
.ceec-designed p.pill.active { color:#256b45; }
.ceec-designed p.pill.progress { color:#a5511a; }
.ceec-designed p.pill.tool { color:#2f5f8a; }
/* a card whose title links to its page: the whole card is the hit area */
.ceec-designed .is-linked { position:relative; transition:border-color .2s, box-shadow .2s, transform .2s; }
.ceec-designed .is-linked h3 a::before, .ceec-designed .spanbar h4 a::before { content:""; position:absolute; inset:0; border-radius:inherit; }
.ceec-designed .is-linked h3 a, .ceec-designed .spanbar h4 a { color:inherit; text-decoration:none; }
.ceec-designed .is-linked:hover { border-color:rgba(47,102,117,.4); box-shadow:var(--shadow-md); transform:translateY(-3px); }
.ceec-designed .is-linked:has(a:focus-visible), .ceec-designed .spanbar:has(a:focus-visible) { outline:2px solid var(--orange); outline-offset:2px; }
.ceec-designed .is-linked a:focus-visible, .ceec-designed .spanbar a:focus-visible { outline:none; }
/* the three pillars cards (Initiatives, Medal) */
.ceec-designed .three { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px; }
@media (max-width:820px){ .ceec-designed .three { grid-template-columns:1fr; } }
.ceec-designed .mblock { border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:#fff; padding:26px; }
.ceec-designed .mblock .ic { display:grid; place-items:center; height:52px; width:52px; border-radius:var(--radius-xl); background:var(--muted); color:var(--primary); }
.ceec-designed .mblock .ic i { font-size:26px; }
.ceec-designed .mblock h3 { margin-top:16px; font-size:19px; font-weight:700; }
.ceec-designed .mblock p { margin-top:8px; font-size:14px; line-height:1.6; color:var(--text-soft); }
.ceec-designed .sub-h { margin-top:38px; font-size:18px; font-weight:700; }

/* ---------- 6. Initiatives ---------- */
.ceec-page-initiatives .pillarband { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px; }
@media (max-width:820px){ .ceec-page-initiatives .pillarband { grid-template-columns:1fr; } }
.ceec-page-initiatives .pbig { display:flex; flex-direction:column; border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:#fff; padding:28px; text-align:left; }
.ceec-page-initiatives .pbig__hd { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.ceec-page-initiatives .pbig .ic { display:grid; place-items:center; height:56px; width:56px; margin:0; border-radius:var(--radius-xl); background:var(--muted); flex-shrink:0; }
.ceec-page-initiatives .pbig .ic i { font-size:29px; color:var(--primary); }
.ceec-page-initiatives .pbig h3 { margin-top:20px; font-size:21px; font-weight:700; line-height:1.25; letter-spacing:-.01em; }
.ceec-page-initiatives .pbig p.lead { margin-top:11px; font-size:15px; line-height:1.62; color:var(--text); }
.ceec-page-initiatives .pbig p.idetail { margin-top:12px; font-size:13.5px; line-height:1.6; color:var(--text-soft); }
.ceec-page-initiatives .pbig .ifacts { margin-top:auto; padding-top:18px; display:flex; gap:26px; border-top:1px solid var(--panel-border); }
.ceec-page-initiatives .pbig .ifacts { margin-top:20px; }
.ceec-page-initiatives .pbig .ifacts > div { display:flex; flex-direction:column; gap:3px; }
.ceec-page-initiatives .pbig .ifacts p { margin:0; }
.ceec-page-initiatives .pbig .ifacts .k { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft); }
.ceec-page-initiatives .pbig .ifacts .v { font-size:14px; font-weight:600; color:var(--primary); }
/* the two programs that span all three: three short lines rise from the initiative columns */
.ceec-page-initiatives .spanviz::before { content:""; display:block; height:24px; background:
  linear-gradient(var(--panel-border), rgba(214,222,221,.25)) left calc((100% - 32px) / 6 - 1px) top 0 / 2px 100% no-repeat,
  linear-gradient(var(--panel-border), rgba(214,222,221,.25)) center top / 2px 100% no-repeat,
  linear-gradient(var(--panel-border), rgba(214,222,221,.25)) right calc((100% - 32px) / 6 - 1px) top 0 / 2px 100% no-repeat; }
@media (max-width:820px){ .ceec-page-initiatives .spanviz::before { display:none; } }
.ceec-page-initiatives .spanviz__bars { border:1px solid var(--panel-border); border-radius:var(--radius-2xl); overflow:hidden; background:#fff; }
.ceec-page-initiatives .spanbar { position:relative; display:flex; align-items:center; gap:16px; padding:18px 22px; border-top:1px solid var(--panel-border); transition:background .2s; }
.ceec-page-initiatives .spanbar:first-child { border-top:none; }
.ceec-page-initiatives .spanbar:hover { background:var(--cream); }
.ceec-page-initiatives .spanbar .ic { flex-shrink:0; display:grid; place-items:center; height:48px; width:48px; border-radius:var(--radius-lg); background:var(--muted); color:var(--orange-deep); }
.ceec-page-initiatives .spanbar .ic i { font-size:24px; }
.ceec-page-initiatives .spanbar .t { flex:1; }
.ceec-page-initiatives .spanbar h4 { font-family:var(--font-display); font-weight:700; font-size:17px; color:var(--ink); }
.ceec-page-initiatives .spanbar .t p { font-size:13px; color:var(--text-soft); margin-top:1px; }
.ceec-page-initiatives .spanbar .on { display:flex; align-items:center; gap:10px; color:var(--teal-mist); padding-right:2px; }
.ceec-page-initiatives .spanbar .on i { font-size:17px; }
.ceec-page-initiatives .spanbar::after { content:""; width:18px; height:18px; flex-shrink:0; background:var(--orange-deep); -webkit-mask:var(--ceec-arrow) center/contain no-repeat; mask:var(--ceec-arrow) center/contain no-repeat; transition:transform .2s; }
.ceec-page-initiatives .spanbar:hover::after { transform:translateX(4px); }
@media (max-width:560px){ .ceec-page-initiatives .spanbar .on { display:none; } }
.ceec-page-initiatives .three { margin-top:26px; }
.ceec-page-initiatives .connects { padding-block:clamp(40px,5vw,60px); background:var(--cream); border-top:1px solid var(--panel-border); }
/* explanatory text, not cards: no surface and nothing to click */
.ceec-page-initiatives .icard--flat { background:transparent; border:none; padding:0; }
.ceec-page-initiatives .icard--flat h3 { margin-top:10px; font-size:22px; }
.ceec-page-initiatives .icard--flat p a { color:var(--orange-deep); font-weight:600; text-decoration:none; }

/* ---------- 7. Projects ---------- */
.ceec-page-projects .pgroup { margin-top:34px; }
/* the count is a small pill on the heading's centre line (on the baseline, the small mono
   figure sat low and read as detached from the heading) */
.ceec-page-projects .pgroup__hd { display:flex; align-items:center; gap:10px; padding-bottom:12px; border-bottom:2px solid var(--panel-border); }
.ceec-page-projects .pgroup__hd h3 { font-family:var(--font-display); font-weight:800; font-size:19px; line-height:1.5; color:var(--primary); letter-spacing:-.01em; }
.ceec-page-projects .pgroup__hd p.ct { margin:0; padding:3px 9px; border-radius:999px; background:var(--panel); font-family:var(--font-mono); font-size:12px; font-weight:600; line-height:1.4; color:var(--teal-soft); }
.ceec-page-projects .pgrid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
@media (max-width:900px){ .ceec-page-projects .pgrid { grid-template-columns:1fr; } }
.ceec-page-projects .pcard { display:flex; flex-direction:column; border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:#fff; padding:26px 28px; color:inherit; }
.ceec-page-projects .pcard__top { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.ceec-page-projects .pcard__top h3 { font-size:19px; font-weight:700; line-height:1.28; letter-spacing:-.01em; color:var(--ink); }
.ceec-page-projects .pcard .chips { margin-top:12px; display:flex; flex-wrap:wrap; gap:6px; }
.ceec-page-projects .pcard .chips p.tag { margin:0; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; background:rgba(0,68,85,.07); color:var(--primary); border-radius:999px; padding:4px 10px; }
.ceec-page-projects .pcard p.lead { margin-top:14px; font-size:15px; line-height:1.62; color:var(--text); }
.ceec-page-projects .pfacts { margin-top:18px; padding-top:16px; border-top:1px solid var(--panel-border); display:grid; gap:9px; }
.ceec-page-projects .pfact { display:grid; grid-template-columns:104px minmax(0,1fr); gap:14px; align-items:baseline; }
@media (max-width:520px){ .ceec-page-projects .pfact { grid-template-columns:1fr; gap:2px; } }
.ceec-page-projects .pfact p { margin:0; }
.ceec-page-projects .pfact .k { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft); }
.ceec-page-projects .pfact .v { font-size:13.5px; line-height:1.5; color:var(--text); }
.ceec-page-projects p.pcard__go { margin-top:16px; font-size:13.5px; font-weight:600; }
.ceec-page-projects p.pcard__go { display:inline-flex; align-items:center; gap:7px; color:var(--orange-deep); }
.ceec-page-projects p.pcard__go::after { content:""; width:14px; height:14px; background:currentColor; -webkit-mask:var(--ceec-arrow) center/contain no-repeat; mask:var(--ceec-arrow) center/contain no-repeat; transition:transform .2s; }
.ceec-page-projects .pcard:hover p.pcard__go::after { transform:translateX(3px); }
.ceec-page-projects p.pnote { margin-top:22px; background:var(--cream); border:1px solid var(--panel-border); border-left:4px solid var(--orange); border-radius:var(--radius-lg); padding:16px 20px; font-size:14px; color:var(--text-soft); }

/* ---------- 8. Medal ---------- */
/* the Medal's hero eyebrow has no top margin in the design (the other heroes' do) */
.ceec-page-medal .phero p.eyebrow { margin-top:0; }
.ceec-page-medal .crit { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:26px; }
@media (max-width:820px){ .ceec-page-medal .crit { grid-template-columns:1fr; } }
.ceec-page-medal .crit__c { border:1px solid var(--panel-border); border-radius:var(--radius-2xl); background:#fff; padding:26px; }
.ceec-page-medal .crit__c p.w { margin-top:0; font-family:var(--font-display); font-weight:800; font-size:34px; color:var(--orange); line-height:1; }
.ceec-page-medal .crit__c h3 { margin-top:12px; font-size:18px; font-weight:700; }
.ceec-page-medal .crit__c p { margin-top:8px; font-size:14px; line-height:1.6; color:var(--text-soft); }
.ceec-page-medal .cats { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
@media (max-width:760px){ .ceec-page-medal .cats { grid-template-columns:1fr; } }
.ceec-page-medal .cat { border:1px solid var(--panel-border); border-left:4px solid var(--orange); border-radius:var(--radius-lg); background:var(--cream); padding:20px 24px; }
.ceec-page-medal .cat h4 { font-size:16.5px; font-weight:700; color:var(--ink); }
.ceec-page-medal .cat p { margin-top:6px; font-size:14px; line-height:1.6; color:var(--text-soft); }
.ceec-page-medal .steps { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:24px; }
@media (max-width:760px){ .ceec-page-medal .steps { grid-template-columns:1fr; } }
.ceec-page-medal .step { display:flex; gap:16px; }
.ceec-page-medal .step p.n { flex-shrink:0; display:grid; place-items:center; height:38px; width:38px; border-radius:50%; background:var(--primary); color:#fff; font-family:var(--font-display); font-weight:800; font-size:16px; margin:0; }
.ceec-page-medal .step h4 { font-size:16px; font-weight:700; }
.ceec-page-medal .step p { margin-top:5px; font-size:14px; line-height:1.6; color:var(--text-soft); }
.ceec-page-medal .medal-dates { margin-top:30px; }
.ceec-page-medal ul.mbens { margin-top:18px; display:grid; grid-template-columns:1fr 1fr; gap:14px; list-style:none; padding-left:0; }
@media (max-width:760px){ .ceec-page-medal ul.mbens { grid-template-columns:1fr; } }
.ceec-page-medal .mbens li { margin:0; display:flex; gap:12px; align-items:flex-start; border:1px solid var(--panel-border); border-radius:var(--radius-lg); background:#fff; padding:16px 18px; font-size:14px; line-height:1.55; color:var(--text); }
.ceec-page-medal .mbens li::before { content:""; flex-shrink:0; width:18px; height:18px; margin-top:1px; border-radius:50%; background:var(--orange) var(--ceec-tick) center/11px no-repeat; }
.ceec-page-medal { --ceec-tick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='white' d='M232.49 80.49l-128 128a12 12 0 0 1-17 0l-56-56a12 12 0 1 1 17-17L96 183 215.51 63.51a12 12 0 0 1 17 17z'/%3E%3C/svg%3E"); }
/* the recipients archive and its filters (assets/medal-archive.js) */
.ceec-designed .wfilt { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.ceec-designed .wfilt button { border:1.5px solid var(--panel-border); background:#fff; border-radius:999px; padding:9px 16px; font-family:var(--font-sans); font-size:13.5px; font-weight:500; color:var(--text); cursor:pointer; transition:all .2s; }
.ceec-designed .wfilt button:hover { border-color:var(--teal-soft); }
.ceec-designed .wfilt button.on { background:var(--primary); border-color:var(--primary); color:#fff; }
.ceec-designed .yrnav { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; padding-top:16px; border-top:1px solid var(--panel-border); }
.ceec-designed .yrnav__lbl { width:100%; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft); margin-bottom:4px; }
.ceec-designed .yrnav a { border:1px solid var(--panel-border); background:#fff; border-radius:999px; padding:6px 13px; font-size:13px; font-weight:600; color:var(--primary); text-decoration:none; transition:all .18s ease; }
.ceec-designed .yrnav a:hover { border-color:var(--teal-soft); background:var(--cream); transform:translateY(-1px); }
.ceec-designed .wyear { margin-top:26px; scroll-margin-top:96px; }
.ceec-designed .wyear[hidden], .ceec-designed .wrow[hidden] { display:none; }
.ceec-designed .warchive.is-collapsed .wyear.is-old { display:none; }
.ceec-designed .wyear__hd { display:flex; align-items:baseline; gap:12px; padding-bottom:10px; border-bottom:2px solid var(--panel-border); }
.ceec-designed .wyear__hd p { margin:0; }
.ceec-designed .wyear__hd .yr { font-family:var(--font-display); font-weight:800; font-size:26px; color:var(--primary); letter-spacing:-.02em; line-height:1.2; }
.ceec-designed .wyear__hd .ct { font-family:var(--font-mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft); }
.ceec-designed .wrow { display:grid; grid-template-columns:184px minmax(0,1fr) 208px; gap:26px; align-items:start; padding:20px 0; border-bottom:1px solid var(--panel-border); }
@media (max-width:1000px){ .ceec-designed .wrow { grid-template-columns:1fr; gap:10px; } }
.ceec-designed .wrow__tags { display:flex; flex-wrap:wrap; align-content:start; gap:7px; }
.ceec-designed .wrow p.tag { margin:0; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; border-radius:999px; padding:3px 10px; line-height:1.5; }
.ceec-designed .tag--win { background:var(--orange); color:#fff; }
.ceec-designed .tag--hc { background:var(--muted); color:var(--text-soft); }
.ceec-designed .tag--tr { background:rgba(0,68,85,.09); color:var(--primary); }
.ceec-designed .tag--ops { background:rgba(47,102,117,.14); color:var(--teal-soft); }
.ceec-designed .tag--gen { background:rgba(0,68,85,.09); color:var(--primary); }
.ceec-designed .wrow h4 { font-family:var(--font-sans); font-size:16px; font-weight:600; line-height:1.45; color:var(--ink); }
.ceec-designed .wrow p.au { margin-top:7px; font-size:14px; line-height:1.6; color:var(--text); }
.ceec-designed .wrow p.og { margin:0; font-size:13px; line-height:1.55; color:var(--text-soft); }
.ceec-designed .moreyears { margin-top:26px; display:flex; justify-content:center; }
.ceec-designed .moreyears button { border:1.5px solid var(--panel-border); background:#fff; border-radius:999px; padding:12px 26px; font-family:var(--font-sans); font-size:14px; font-weight:600; color:var(--primary); cursor:pointer; transition:all .2s ease; }
.ceec-designed .moreyears button:hover { border-color:var(--teal-soft); background:var(--cream); transform:translateY(-1px); }

/* ---------- 9. Knowledge Centre and Search: the text around the apps ---------- */
/* (the apps' own styles are assets/library.css and search-page.css) */
.ceec-designed .is-style-ceec-search .wp-block-button__link::before { content:""; width:17px; height:17px; background:currentColor; -webkit-mask:var(--ceec-search) center/contain no-repeat; mask:var(--ceec-search) center/contain no-repeat; }
.ceec-designed { --ceec-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M232.49 215.51 185 168a92.12 92.12 0 1 0-17 17l47.53 47.54a12 12 0 0 0 17-17ZM44 112a68 68 0 1 1 68 68 68.07 68.07 0 0 1-68-68Z'/%3E%3C/svg%3E"); }
.ceec-page-resources .rc-hero__in { margin-top:16px; }
.ceec-page-resources .rc-hero p.eyebrow { margin-top:0; max-width:none; font-size:12px; line-height:1.5; color:var(--orange-soft); }
.ceec-page-resources .rc-hero h1 { line-height:1.5; }
.ceec-page-resources .rc-hero p.rc-lead strong { color:#fff; font-weight:700; }
.ceec-page-resources .rc-hero .wp-block-buttons { margin-top:20px; }
.ceec-page-resources .rc-note { margin-top:12px; display:flex; align-items:center; gap:8px; font-size:13px; color:var(--teal-mist); }
.ceec-page-resources .rc-note i { color:var(--orange-soft); font-size:15px; }
.ceec-page-resources .rc-hero .rc-note p { margin:0; max-width:none; font-size:13px; line-height:1.5; color:inherit; }
.ceec-page-resources .newsletter p.eyebrow { max-width:none; }
.ceec-page-resources .newsletter .h2-sm { margin-top:8px; }
.ceec-page-resources .newsletter .nl-inline { margin-top:18px; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.ceec-page-resources .newsletter .nl-inline input { border:1px solid var(--panel-border); border-radius:var(--radius-md); padding:13px 18px; font-size:14.5px; min-width:280px; font-family:var(--font-sans); }
.ceec-page-resources .newsletter p.nl-note { margin-top:12px; font-size:13.5px; color:var(--text-soft); }
.ceec-page-search .s-hero h1 { font-size:clamp(24px,3.2vw,34px); font-weight:800; color:#fff; line-height:1.1; }
.ceec-page-search .s-hero p.s-intro { margin-top:8px; font-size:14.5px; color:var(--teal-mist); }
.ceec-page-search .s-hero .s-box { margin-top:18px; }
.ceec-page-search .sec.s-results { padding-top:clamp(26px,3vw,36px); }

/* the floating "Search the Knowledge Centre" button: not on the Search page itself */
body:has(.ceec-page-search) .search-fab { display:none; }

/* ---------- editor only ---------- */
/* The site shows a "best viewed on desktop" screen below 1200px wide (app.css). The editing area
   is narrower than that whenever the settings sidebar is open, so in the editor the screen is
   never shown and the menu stays: editors always see the page they are editing. */
.editor-styles-wrapper .desktop-only { display:none !important; }
.editor-styles-wrapper .nav { display:block !important; }
/* the header's floating search button is for visitors, not the editing canvas */
.editor-styles-wrapper .search-fab { display:none; }
.editor-styles-wrapper .ceec-designed .ceec-icon-edit { display:inline-block; }
.ceec-designed .ceec-block-empty { padding:18px; border:1px dashed var(--panel-border); border-radius:var(--radius-md); font-size:14px; color:var(--text-soft); }
