:root {
    /* --------------------------------------------------------------------
       Henry Chesbrough Prize — design tokens
       Source: Figma "Henry Chesbrough Preview Home", frame "Compact Academic Draft"
       -------------------------------------------------------------------- */
    --hc-navy: #003362;
    --hc-navy-deep: #072233;
    --hc-gold: #fdb515;
    --hc-gold-hover: #ffc53d;
    --hc-ink: #3a3a3a;
    --hc-slate: #5a6a74;
    --hc-slate-soft: #4a5c6a;
    --hc-line: #e1edf3;
    --hc-mist: #f0f5f8;
    --hc-logo-blend: #cbc791;

    --hc-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

    /* Figma: 1280px container with 40px side padding -> 1200px of content. */
    --hc-container: 1280px;
    --hc-gutter: 40px;
    --hc-section-y: 80px;

    /* Legacy aliases kept so the starter theme's own rules pick up the brand. */
    --white: #fff;
    --lightgrey: #fafafa;
    --indigo: var(--hc-navy);
    --blue: var(--hc-gold);

    /* Hand the palette to Bootstrap so its components inherit it. */
    --bs-body-font-family: var(--hc-font);
    --bs-body-color: var(--hc-ink);
    --bs-body-font-size: 1rem;
    --bs-body-line-height: 1.75;
    --bs-heading-color: var(--hc-navy);
    --bs-border-color: var(--hc-line);
    --bs-link-color: var(--hc-navy);
    --bs-link-hover-color: var(--hc-gold);
    --bs-primary: var(--hc-navy);
    --bs-border-radius: 0;
}

@media (max-width: 767.98px) {
    :root {
        --hc-gutter: 20px;
        --hc-section-y: 56px;
    }
}
html {
  scroll-behavior: smooth;
}
body {
}
body.admin-bar .fixed-top {
    top: 32px;
}
article h1,
article h2,
article h3,
article h4 {
    margin-top: 1.4rem;
    margin-bottom: .7rem;
}
/* Helpers */
.alignleft {
    float: left;
    margin-right: 1.5rem;
}
.alignright {
    float: right;
    margin-left: 1.5rem;
}
.aligncenter {
    display: block;
    margin: 0 auto 1.5rem;
}
a, .btn-link, .page-link {
    color: var(--indigo);
}
a:hover,
a:focus,
.btn-link:hover,
.page-link:hover {
    color: var(--blue);
}
.textwidget img,
article img {
    max-width: 100%;
    height: auto;
}
.bgcover {
    background-repeat: no-repeat;
    background-size: cover !important;
    background-position: center;
}
/* video embed */
.embed-youtube,
.embed-vimeo {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  clear: both;
}
.embed-youtube iframe,
.embed-vimeo iframe  {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
iframe, 
object, 
embed {
  max-width: 100%;
}
/* calendar */
.widget_calendar .widget-title,
.widget_websoupevents_calendar .widget-title {
    background-color: var(--indigo);
    color: #fff;
    padding: .2rem .6rem;
}
.widget_calendar caption {
    caption-side: top;
    text-align: center;
    font-weight: bold;
    color: var(--indigo);
    padding-top: 0.125rem;
}
.widget_calendar table {
    width: 100%;
    position: relative;
}
.widget_calendar tbody td, .widget_calendar thead th {
    border-top: 1px solid #dee2e6;
    padding: .3rem;
}
.widget_calendar tfoot #prev {
    position: absolute;
    top: 0;
    left: 0;
}
.widget_calendar tfoot #next {
    position: absolute;
    top: 0;
    right: 0;
}
.widget_calendar tfoot .pad {
    display: none;
}
.widget_calendar thead th,
.widget_calendar tbody td {
    text-align: center;
}
.widget_calendar tbody a {
    background-color: var(--indigo);
    color: #fff;
    border-radius: 50%;
    display: inline-block;
    width: 1.688rem;
}
.widget_calendar tbody td a:hover {
    background-color: var(--indigo);
    text-decoration: none;
}
/* Article */
article header p {
    margin-bottom: 0.5rem;
}
article time {
    font-weight: 600;
}
/* Footer */
.preheader {
    color: var(--white);
    background-color: var(--indigo);
}
.preheader a {
    color: var(--white);
}
footer.footer {
    color: var(--white);
    background-color: var(--indigo);
}
footer.footer a {
    color: var(--white);
}
/* Color validator fix */
#totop{
    width: 30px;
    height: 30px;
    text-align: center;
    background: var(--indigo);
    color: #ffffff;
    display: none;
    position: fixed;
    bottom: 60px;
    right: 20px;
    line-height: 30px;
    z-index: 900;
    box-sizing: content-box;
}
.gallery .gallery-icon {
    text-align: center;
}
div[class*="gallery-columns-"] {
    margin-left: -.5rem;
    margin-right: -.5rem;
}
.gallery > figure {
    display: inline-block;
    padding-left: .5rem;
    padding-right: .5rem;
}
.gallery-columns-1 > figure {
    width: 100%;
}
.gallery-columns-2 > figure {
    width: 50%;
}
.gallery-columns-3 > figure {
    width: 33.33%
}
.gallery-columns-4 > figure {
    width: 25%;
}
.gallery-columns-5 > figure {
    width: 20%;
}
.gallery-columns-6 > figure {
    width: 16.66%
}
.gallery-columns-7 > figure {
    width: 14.28%
}
.gallery-columns-8 > figure {
    width: 12.5%;
}
.gallery-columns-9 > figure {
    width: 11.11%;
}
.admin-bar .navbar-main.fixed-top {
    top: 32px !important;
}
/**/
.bglightgrey {
    background-color: var(--lightgrey);
}
.bgwhite {
    background-color: var(--white);
}
.wp-block-button__link,
.btn {
    padding: 10px 24px;
    text-decoration: none;
    line-height: var(--bs-btn-line-height);
    font-size: 18px;
    border-width: 0;
    border-radius: 3px;
    font-weight: 600;
}
a.wp-block-button__link {
    background-color: var(--indigo);
    color: var(--white);
}
.wp-block-button__link:hover {
    color: var(--white);
    background-color: var(--indigo);
}
.wpcf7-form-control-wrap {
    display: block;
}
.radioblock .wpcf7-list-item {
    display: block;
}
#gdpr-cookie-consent-bar,
#gdpr-cookie-consent-show-again {
    box-shadow: none !important;
}
/* Mobile breakpoints */
@media (max-width: 575.98px) {

}
@media (min-width: 576px) {

}
@media (max-width: 767.98px) {

}
@media (min-width: 768px) {
  
}
@media (max-width: 991.98px) {
    
}
@media (min-width: 992px) {
  /* Henry: items are spaced by the flex gap on .navbar-nav (Figma: 28px). */
  .navbar-expand-lg .navbar-nav .nav-link {
      padding-right: 0;
      padding-left: 0;
  }
}
@media (max-width: 1199.98px) {

}
@media (min-width: 1200px) {
  
}

/* ==========================================================================
   HENRY CHESBROUGH PRIZE
   Client layer. Everything below is specific to this site.
   Built from Figma "Henry Chesbrough Preview Home" / "Compact Academic Draft".
   ========================================================================== */

/* --- Base ---------------------------------------------------------------- */

body {
    font-family: var(--hc-font);
    color: var(--hc-ink);
    font-size: 1rem;
    line-height: 1.75;
    letter-spacing: -0.014em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--hc-font);
    font-weight: 800;
    color: var(--hc-navy);
    letter-spacing: -0.02em;
    text-wrap: balance;
    margin-bottom: 1.25rem;
}

/* Figma type ramp, fluid between a 375px and a 1280px viewport. */
h1, .h1 { font-size: clamp(2rem, 1.638rem + 1.547vw, 2.875rem); line-height: 1.09; }
h2, .h2 { font-size: clamp(1.625rem, 1.418rem + 0.884vw, 2.125rem); line-height: 1.09; letter-spacing: -0.015em; }
h3, .h3 { font-size: clamp(1.375rem, 1.219rem + 0.663vw, 1.75rem); line-height: 1.29; letter-spacing: -0.0125em; }
h4, .h4 { font-size: clamp(1.125rem, 1.057rem + 0.29vw, 1.25rem); line-height: 1.5; letter-spacing: -0.014em; }
h5, .h5 { font-size: 1.0625rem; line-height: 1.41; font-weight: 700; letter-spacing: -0.024em; }
h6, .h6 { font-size: 1rem; line-height: 1.5; font-weight: 700; }

/* The starter theme adds a top margin to every heading inside <article>;
   inside a composed page that fights the block spacing. */
article h1, article h2, article h3, article h4 {
    margin-top: 0;
    margin-bottom: 1.25rem;
}

p { margin-bottom: 1.5rem; }
p:last-child { margin-bottom: 0; }

.lead {
    font-size: 1.0625rem;
    line-height: 1.82;
    font-weight: 400;
    letter-spacing: -0.024em;
    color: var(--hc-slate-soft);
}

a {
    color: var(--hc-navy);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
}

a:hover, a:focus {
    color: var(--hc-gold);
}

::selection {
    background: var(--hc-gold);
    color: var(--hc-navy);
}

:focus-visible {
    outline: 2px solid var(--hc-gold);
    outline-offset: 2px;
}

/* --- Layout -------------------------------------------------------------- */

/* One container width at every breakpoint, matching the Figma grid. */
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
    max-width: var(--hc-container);
    padding-left: var(--hc-gutter);
    padding-right: var(--hc-gutter);
}

/* Full Width Page template: the content area is naked, so a top level group
   spans the viewport and an inner .container group pulls it back to the grid. */
#full-width-page-wrapper > .container > .row > .content-area,
.hc-flush .entry-content {
    padding: 0;
}

.hc-section {
    padding-top: var(--hc-section-y);
    padding-bottom: var(--hc-section-y);
}

.hc-section--navy {
    background-color: var(--hc-navy);
    color: rgba(255, 255, 255, 0.58);
}

.hc-section--mist { background-color: var(--hc-mist); }
.hc-section--white { background-color: #fff; }

:is(.hc-section--navy, .hc-hero, .hc-cta) :is(h1, h2, h3, h4, h5, h6) {
    color: #fff;
}

:is(.hc-section--navy, .hc-hero) .lead { color: rgba(255, 255, 255, 0.58); }
:is(.hc-section--navy, .hc-hero, .hc-cta) a:not(.btn):not(.wp-block-button__link) { color: var(--hc-gold); }

/* Without a theme.json WordPress wraps the children of every Group block in
   .wp-block-group__inner-container. For the grid/flex components below that
   wrapper would be the only item, so it is taken out of the box tree. */
:is(.hc-criteria, .hc-criterion, .hc-tiles, .hc-inline-cta, .hc-media) > .wp-block-group__inner-container {
    display: contents;
}

/* --- Eyebrow ------------------------------------------------------------- */

.hc-eyebrow {
    display: block;
    font-size: 0.625rem;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.36em;
    text-transform: uppercase;
    color: var(--hc-navy);
    margin: 0 0 1.25rem;
}

.hc-eyebrow--gold,
:is(.hc-section--navy, .hc-hero, .hc-cta) .hc-eyebrow { color: var(--hc-gold); }

/* Hero variant: a short gold rule before the label. */
.hc-eyebrow--rule::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 1px;
    background: var(--hc-gold);
    vertical-align: middle;
    margin-right: 12px;
    transform: translateY(-1px);
}

/* --- Status dot ---------------------------------------------------------- */

.hc-status {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin: 0;
}

.hc-status::before {
    content: "";
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--hc-gold);
}

.hc-section--white .hc-status,
.hc-section--mist .hc-status { color: var(--hc-slate); }

/* --- Buttons ------------------------------------------------------------- */

.btn-hc {
    --bs-btn-padding-y: 1rem;
    --bs-btn-padding-x: 2rem;
    --bs-btn-font-size: 0.6875rem;
    --bs-btn-font-weight: 800;
    --bs-btn-line-height: 1.45;
    --bs-btn-border-radius: 0;
    --bs-btn-border-width: 1px;
    letter-spacing: 0.227em;
    text-transform: uppercase;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.btn-hc-sm {
    --bs-btn-padding-y: 0.75rem;
    --bs-btn-padding-x: 1.25rem;
    letter-spacing: 0.209em;
}

.btn-hc-gold {
    --bs-btn-color: var(--hc-navy);
    --bs-btn-bg: var(--hc-gold);
    --bs-btn-border-color: var(--hc-gold);
    --bs-btn-hover-color: var(--hc-navy);
    --bs-btn-hover-bg: var(--hc-gold-hover);
    --bs-btn-hover-border-color: var(--hc-gold-hover);
    --bs-btn-active-bg: var(--hc-gold-hover);
    --bs-btn-active-border-color: var(--hc-gold-hover);
}

.btn-hc-outline-light {
    --bs-btn-color: rgba(255, 255, 255, 0.55);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: rgba(255, 255, 255, 0.45);
    --bs-btn-hover-color: var(--hc-navy);
    --bs-btn-hover-bg: #fff;
    --bs-btn-hover-border-color: #fff;
}

.btn-hc-outline-navy {
    --bs-btn-color: var(--hc-navy);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--hc-navy);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--hc-navy);
    --bs-btn-hover-border-color: var(--hc-navy);
}

/* Trailing arrow, drawn with the self hosted Font Awesome. */
.hc-arrow::after {
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.8em;
    letter-spacing: 0;
    margin-left: 0.75em;
    display: inline-block;
    transition: transform 0.18s ease;
}

.hc-arrow:hover::after { transform: translateX(3px); }

/* Inline text link with the same arrow, used for "Find Out More". */
.hc-link {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.209em;
    text-transform: uppercase;
    color: var(--hc-navy);
    text-decoration: none;
}

.hc-link:hover { color: var(--hc-gold); }

:is(.hc-section--navy, .hc-hero, .hc-cta) .hc-link { color: var(--hc-gold); }

/* --- Pill / note --------------------------------------------------------- */

.hc-note {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.155em;
    text-transform: uppercase;
    color: var(--hc-gold);
    text-decoration: none;
}

.hc-note::before {
    content: "i";
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    border: 1px solid currentColor;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-style: italic;
    letter-spacing: 0;
}

.hc-badge {
    display: inline-block;
    background: var(--hc-mist);
    border-left: 3px solid var(--hc-gold);
    padding: 0.75rem 1.25rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.209em;
    text-transform: uppercase;
    color: var(--hc-navy);
}

.hc-section--mist .hc-badge { background: #fff; }

/* --- Placeholder frame (the "space for image" boxes) --------------------- */

.hc-media {
    position: relative;
    display: grid;
    place-items: center;
    padding: 2rem;
    min-height: 280px;
    border: 1px solid var(--hc-line);
    text-align: center;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.155em;
    text-transform: uppercase;
    line-height: 1.64;
    color: #b0bec5;
}

:is(.hc-section--navy, .hc-hero) .hc-media {
    border-color: rgba(255, 255, 255, 0.45);
    color: rgba(255, 255, 255, 0.35);
}

.hc-media--square { aspect-ratio: 1; min-height: 0; }
.hc-hero .hc-media--square { max-width: 440px; margin-left: auto; }
.hc-media > img { width: 100%; height: 100%; object-fit: cover; }

/* --- Hero ---------------------------------------------------------------- */

.hc-hero {
    background-color: var(--hc-navy);
    color: rgba(255, 255, 255, 0.58);
    padding-top: clamp(3.5rem, 2rem + 4vw, 4rem);
    padding-bottom: clamp(3.5rem, 2rem + 4vw, 4rem);
    position: relative;
}

.hc-hero h1 { margin-bottom: 1.5rem; }
.hc-hero .lead { max-width: 34rem; margin-bottom: 2rem; }
.hc-hero .hc-status { margin-bottom: 2rem; }

/* Hairline that fades out under the hero, as in the Figma. */
.hc-hero::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 1px;
    height: 48px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0));
}

/* --- Split intro (eyebrow + heading | rule + body) ---------------------- */

.hc-split > .wp-block-column + .wp-block-column {
    border-left: 1px solid var(--hc-line);
    padding-left: 2rem;
}

.hc-section--navy .hc-split > .wp-block-column + .wp-block-column {
    border-left-color: rgba(255, 255, 255, 0.2);
}

/* --- Pillars (three numbered columns under a rule) ---------------------- */

.hc-pillars {
    border-top: 1px solid var(--hc-line);
    padding-top: 2.5rem;
    margin-top: 3rem;
    gap: 0;
}

.hc-pillars > .wp-block-column {
    padding: 0.5rem 2.5rem;
}

.hc-pillars > .wp-block-column:first-child { padding-left: 0; }
.hc-pillars > .wp-block-column:last-child { padding-right: 0; }
.hc-pillars > .wp-block-column + .wp-block-column { border-left: 1px solid var(--hc-line); }

.hc-pillars .hc-eyebrow { color: var(--hc-gold); margin-bottom: 0.75rem; }
.hc-pillars h3 { margin-bottom: 0.5rem; }
.hc-pillars p { font-size: 0.9375rem; line-height: 1.6; color: var(--hc-ink); }

/* --- Criteria list (01 | title | description) --------------------------- */

.hc-criteria { margin: 0; }

.hc-criteria > .wp-block-columns,
.hc-criterion {
    display: grid;
    grid-template-columns: 112px minmax(0, 1.08fr) minmax(0, 1fr);
    gap: 0;
    align-items: start;
    border-top: 1px solid var(--hc-line);
    padding: 1.5rem 0;
    margin: 0;
}

.hc-criteria > .wp-block-columns:last-child,
.hc-criterion:last-child { border-bottom: 1px solid var(--hc-line); }

.hc-criterion__num {
    font-size: 1.625rem;
    line-height: 1.23;
    font-weight: 800;
    letter-spacing: -0.008em;
    color: var(--hc-gold);
    margin: 0;
}

.hc-criterion__title {
    font-size: 1.0625rem;
    line-height: 1.41;
    font-weight: 700;
    letter-spacing: -0.024em;
    color: var(--hc-navy);
    margin: 0;
    padding-right: 2rem;
}

.hc-criterion__body {
    font-size: 1rem;
    line-height: 1.75;
    letter-spacing: -0.014em;
    color: var(--hc-slate);
    margin: 0;
}

/* --- Tiles (Papers / Books / Dissertations) ----------------------------- */

.hc-tiles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: var(--hc-line);
    border: 1px solid var(--hc-line);
}

.hc-tiles > :not(.wp-block-group__inner-container),
.hc-tiles > .wp-block-group__inner-container > * {
    background: #fff;
    margin: 0;
    padding: 2rem;
    min-height: 100px;
    display: grid;
    place-items: center;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.5;
    font-weight: 800;
    letter-spacing: -0.0075em;
    color: var(--hc-navy);
}

/* --- Inline call to action strip ---------------------------------------- */

.hc-inline-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding: 1.25rem 2rem;
    margin-top: 1.25rem;
}

.hc-inline-cta p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.67;
    color: var(--hc-slate-soft);
}

/* --- Governance cards ---------------------------------------------------- */

.hc-cards {
    border-top: 1px solid var(--hc-line);
    gap: 0;
}

.hc-cards > .wp-block-column {
    padding: 2.5rem 4rem 2.5rem 0;
}

.hc-cards > .wp-block-column + .wp-block-column {
    border-left: 1px solid var(--hc-line);
    padding: 2.5rem 0 2.5rem 4rem;
}

.hc-cards .hc-eyebrow {
    font-size: 1.625rem;
    font-weight: 800;
    letter-spacing: -0.008em;
    text-transform: none;
    color: var(--hc-gold);
    margin-bottom: 1.5rem;
}

.hc-cards h3 { font-size: 1.25rem; line-height: 1.5; margin-bottom: 0.75rem; }
.hc-cards p { color: var(--hc-slate); margin-bottom: 1.5rem; }

/* --- Nominations call to action ----------------------------------------- */

.hc-cta {
    position: relative;
    overflow: hidden;
    background-color: var(--hc-navy);
    color: rgba(255, 255, 255, 0.5);
    text-align: center;
    padding-top: clamp(3.5rem, 2rem + 4vw, 5rem);
    padding-bottom: clamp(3.5rem, 2rem + 4vw, 5rem);
}

/* The concentric rings sitting off the right edge in the Figma. */
.hc-cta::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -4%;
    width: 560px;
    height: 475px;
    transform: translateY(-50%);
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 560 475'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.07'%3E%3Cellipse cx='280' cy='237.5' rx='279' ry='237'/%3E%3Cellipse cx='280' cy='237.5' rx='199' ry='168'/%3E%3Cellipse cx='280' cy='237.5' rx='119' ry='99'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

.hc-cta > * { position: relative; }

.hc-cta h2 {
    font-size: clamp(2.125rem, 1.659rem + 1.989vw, 3.25rem);
    line-height: 1.06;
    letter-spacing: -0.027em;
    color: #fff;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5rem;
}

.hc-cta .lead { color: rgba(255, 255, 255, 0.5); margin-bottom: 2rem; }

.hc-cta__foot {
    margin-top: 1.5rem;
    font-size: 0.8125rem;
    line-height: 1.54;
    letter-spacing: 0.026em;
    color: rgba(255, 255, 255, 0.32);
}

/* --- Header -------------------------------------------------------------- */

.preheader:empty,
.preheader .container:empty { display: none; }

.navbar-main {
    --bs-navbar-color: var(--hc-navy);
    --bs-navbar-hover-color: var(--hc-gold);
    --bs-navbar-active-color: var(--hc-gold);
    --bs-navbar-brand-color: var(--hc-navy);
    --bs-navbar-brand-hover-color: var(--hc-navy);
    --bs-navbar-nav-link-padding-x: 0;
    --bs-navbar-toggler-border-color: var(--hc-line);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23003362' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background-color: #fff;
    border-bottom: 1px solid var(--hc-line);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.navbar-main .navbar-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.0125em;
    padding-top: 0;
    padding-bottom: 0;
}

.navbar-main .custom-logo-link {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    margin-right: 10px;
}

/* inc/extras.php swaps the .custom-logo class for .img-fluid */
.navbar-main .custom-logo-link img {
    width: 40px;
    height: 40px;
    max-width: none;
    object-fit: contain;
}

.navbar-main .nav-link {
    white-space: nowrap;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: -0.005em;
    padding-left: 0;
    padding-right: 0;
}

.navbar-main .navbar-nav {
    gap: 28px;
    align-items: center;
}

/* The last menu item doubles as the gold "Nominate" button: give it the
   class hc-nav-cta in Appearance > Menus (CSS classes field). */
.navbar-main .hc-nav-cta > .nav-link {
    background: var(--hc-gold);
    color: var(--hc-navy);
    padding: 0.625rem 1.25rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.209em;
    text-transform: uppercase;
}

.navbar-main .hc-nav-cta > .nav-link:hover,
.navbar-main .hc-nav-cta > .nav-link:focus {
    background: var(--hc-gold-hover);
    color: var(--hc-navy);
}

.navbar-main .dropdown-menu {
    border-radius: 0;
    border-color: var(--hc-line);
    font-size: 0.8125rem;
}

@media (max-width: 991.98px) {
    .navbar-main .navbar-nav {
        gap: 0;
        align-items: stretch;
        padding-top: 1rem;
        padding-bottom: 0.5rem;
    }

    .navbar-main .nav-link { padding-top: 0.5rem; padding-bottom: 0.5rem; }
    .navbar-main .hc-nav-cta > .nav-link { display: inline-block; margin-top: 0.75rem; }
}

/* --- Footer -------------------------------------------------------------- */

footer.footer {
    background-color: var(--hc-navy);
    color: rgba(255, 255, 255, 0.5);
    padding-top: 4rem !important;
    font-size: 0.85rem;
}

footer.footer a {
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
}

footer.footer a:hover,
footer.footer a:focus { color: var(--hc-gold); }

footer.footer .widget-title,
footer.footer h1, footer.footer h2, footer.footer h3,
footer.footer h4, footer.footer h5, footer.footer h6 {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.31em;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 1.25rem;
}

footer.footer .hc-footer-brand {
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: -0.019em;
    text-transform: none;
    color: #fff;
    margin-bottom: 0.75rem;
}

footer.footer .hc-footer-about {
    font-size: 0.8125rem;
    line-height: 1.62;
    letter-spacing: -0.006em;
    color: #fff;
    max-width: 28rem;
    margin-bottom: 1.25rem;
}

footer.footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 12px;
}

footer.footer ul a {
    font-size: 0.85rem;
    line-height: 1.47;
    letter-spacing: -0.0075em;
}

footer.footer .colophon {
    margin-top: 3rem;
    padding-top: 0 !important;
    padding-bottom: 3rem !important;
}

/* Rule over the copyright, as wide as the content (not the viewport). */
footer.footer .colophon .container {
    padding-top: 2rem;
    background: linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15))
        var(--hc-gutter) 0 / calc(100% - 2 * var(--hc-gutter)) 1px no-repeat;
}

footer.footer .colophon,
footer.footer .colophon a {
    font-size: 0.78rem;
    line-height: 1.52;
    color: rgba(255, 255, 255, 0.3);
}

footer.footer .site-info { color: rgba(255, 255, 255, 0.25); }

footer.footer .colophon .container { gap: 1.5rem; flex-wrap: wrap; }
footer.footer .colophon ul { display: flex; gap: 24px; }

#totop {
    background: var(--hc-gold);
    color: var(--hc-navy);
    border-radius: 0;
}

/* --- Block editor plumbing ---------------------------------------------- */

/* Gutenberg columns default to a 2em gap; the design uses its own spacing. */
.entry-content .wp-block-columns { margin-bottom: 0; }
.wp-block-group { margin-top: 0; margin-bottom: 0; }

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 991.98px) {
    .hc-criteria > .wp-block-columns,
    .hc-criterion {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 0 0.5rem;
    }

    .hc-criterion__body { grid-column: 2; padding-top: 0.5rem; }
    .hc-criterion__title { padding-right: 0; }

    .hc-cards > .wp-block-column,
    .hc-cards > .wp-block-column + .wp-block-column {
        padding: 2rem 0;
        border-left: 0;
    }

    .hc-cards > .wp-block-column + .wp-block-column { border-top: 1px solid var(--hc-line); }
}

@media (max-width: 781px) {
    /* Below this width WordPress stacks .wp-block-columns itself. */
    .hc-pillars > .wp-block-column,
    .hc-pillars > .wp-block-column:first-child,
    .hc-pillars > .wp-block-column:last-child,
    .hc-pillars > .wp-block-column + .wp-block-column {
        padding: 1.25rem 0;
        border-left: 0;
    }

    .hc-pillars > .wp-block-column + .wp-block-column { border-top: 1px solid var(--hc-line); }

    .hc-split > .wp-block-column + .wp-block-column {
        border-left: 0;
        padding-left: 0;
        padding-top: 1.5rem;
    }

    .hc-tiles { grid-template-columns: minmax(0, 1fr); }

    .hc-inline-cta { padding: 1.25rem 0; }
}

@media (max-width: 575.98px) {
    .hc-hero .btn-hc { display: block; width: 100%; }
    footer.footer .colophon .container { flex-direction: column; align-items: flex-start; }
}

/* --- Gutenberg buttons --------------------------------------------------- */
/* The Button block puts "Additional CSS class(es)" on the .wp-block-button
   wrapper, not on the link, so the variants are addressed from the wrapper. */

.wp-block-buttons { gap: 1rem; }

.wp-block-button__link {
    border-radius: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: 0.227em;
    text-transform: uppercase;
    padding: 1rem 2rem;
    border: 1px solid transparent;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.hc-btn-gold > .wp-block-button__link {
    background-color: var(--hc-gold);
    border-color: var(--hc-gold);
    color: var(--hc-navy);
}

.hc-btn-gold > .wp-block-button__link:hover,
.hc-btn-gold > .wp-block-button__link:focus {
    background-color: var(--hc-gold-hover);
    border-color: var(--hc-gold-hover);
    color: var(--hc-navy);
}

.hc-btn-outline-light > .wp-block-button__link {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.45);
    color: rgba(255, 255, 255, 0.55);
}

.hc-btn-outline-light > .wp-block-button__link:hover,
.hc-btn-outline-light > .wp-block-button__link:focus {
    background-color: #fff;
    border-color: #fff;
    color: var(--hc-navy);
}

.hc-btn-outline-navy > .wp-block-button__link {
    background-color: transparent;
    border-color: var(--hc-navy);
    color: var(--hc-navy);
    padding: 0.75rem 1.25rem;
    letter-spacing: 0.209em;
}

.hc-btn-outline-navy > .wp-block-button__link:hover,
.hc-btn-outline-navy > .wp-block-button__link:focus {
    background-color: var(--hc-navy);
    border-color: var(--hc-navy);
    color: #fff;
}

.hc-btn-arrow > .wp-block-button__link::after {
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.8em;
    letter-spacing: 0;
    margin-left: 0.75em;
    display: inline-block;
    transition: transform 0.18s ease;
}

.hc-btn-arrow > .wp-block-button__link:hover::after { transform: translateX(3px); }

/* --- Extra heading size (Governance block in the Figma is 38px) ---------- */

.hc-h2--lg {
    font-size: clamp(1.75rem, 1.428rem + 1.38vw, 2.375rem);
    line-height: 1.08;
    letter-spacing: -0.021em;
}

/* --- Footer widget area -------------------------------------------------- */

#wrapper-footer-full .footer-widget { margin-bottom: 0; }

footer.footer .wp-block-columns { gap: 2rem; margin-bottom: 0; }

footer.footer .wp-block-column p { margin-bottom: 0; }
footer.footer .wp-block-column p.hc-footer-brand { margin-bottom: 0.75rem; }
footer.footer .wp-block-column p.hc-footer-about { margin-bottom: 1.25rem; }

/* --- Column spacing ------------------------------------------------------ */
/* Two column sections in the Figma sit 48-96px apart; core default is 2em.
   :where() keeps this at the specificity of .wp-block-columns alone. */
:where(.hc-section, .hc-hero) .wp-block-columns { gap: clamp(2rem, 5vw, 5rem); }
.wp-block-columns:is(.hc-pillars, .hc-cards) { gap: 0; }
.wp-block-columns.hc-split { gap: 3rem; }

/* --- Inner pages --------------------------------------------------------- */

/* Page header: the hero without the image box. */
.hc-hero--page {
    padding-top: clamp(3.5rem, 2rem + 4vw, 5rem);
    padding-bottom: clamp(4rem, 2.5rem + 4vw, 5.5rem);
}

.hc-hero--page h1 { max-width: 50rem; }
.hc-hero--page .lead { max-width: 42rem; margin-bottom: 0; }

/* Long-form text: keep lines readable. */
.hc-prose { max-width: 46rem; }
.hc-prose h2 { margin-top: 3rem; }
.hc-prose h3 { margin-top: 2rem; }
.hc-prose :is(h2, h3):first-child { margin-top: 0; }

/* Placeholder copy the client still has to supply. */
.hc-todo {
    display: inline-block;
    background: #fff8e5;
    border: 1px dashed var(--hc-gold);
    color: var(--hc-slate);
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
}

/* --- Block editor colour palette (see inc/editor.php) ------------------- */

.has-hc-navy-color { color: var(--hc-navy) !important; }
.has-hc-navy-background-color { background-color: var(--hc-navy) !important; }
.has-hc-navy-deep-color { color: var(--hc-navy-deep) !important; }
.has-hc-navy-deep-background-color { background-color: var(--hc-navy-deep) !important; }
.has-hc-gold-color { color: var(--hc-gold) !important; }
.has-hc-gold-background-color { background-color: var(--hc-gold) !important; }
.has-hc-ink-color { color: var(--hc-ink) !important; }
.has-hc-ink-background-color { background-color: var(--hc-ink) !important; }
.has-hc-slate-color { color: var(--hc-slate) !important; }
.has-hc-slate-background-color { background-color: var(--hc-slate) !important; }
.has-hc-line-color { color: var(--hc-line) !important; }
.has-hc-line-background-color { background-color: var(--hc-line) !important; }
.has-hc-mist-color { color: var(--hc-mist) !important; }
.has-hc-mist-background-color { background-color: var(--hc-mist) !important; }
.has-white-color { color: #fff !important; }
.has-white-background-color { background-color: #fff !important; }

/* --- Committee members --------------------------------------------------- */
/* Separate cards with a hairline border. One Group "hc-member" per person:
   Image + Paragraph (hc-member__role) + Heading h3 + Paragraph + Social Icons. */

.hc-members {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 2.5rem;
}

.hc-members > .wp-block-group__inner-container,
.hc-member > .wp-block-group__inner-container { display: contents; }

.hc-member {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--hc-line);
    padding: 0 0 1.75rem;
    transition: border-color 0.18s ease;
}

.hc-member:hover { border-color: var(--hc-gold); }

.hc-member > *,
.hc-member > .wp-block-group__inner-container > * { margin: 0; padding-left: 1.5rem; padding-right: 1.5rem; }

.hc-member .hc-member__photo {
    padding: 0;
    margin: 0 0 1.5rem;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--hc-line);
}

.hc-member .hc-member__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}

.hc-member:hover .hc-member__photo img { filter: none; }

.hc-member .hc-member__role {
    font-size: 0.625rem;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--hc-gold);
    margin-bottom: 0.625rem;
}

.hc-member h3.wp-block-heading {
    font-size: 1.25rem;
    line-height: 1.3;
    letter-spacing: -0.014em;
    margin-bottom: 0.375rem;
}

.hc-member .hc-member__affiliation {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--hc-slate);
    margin-bottom: 1.25rem;
}

/* LinkedIn + personal page: square outlines like the buttons, pushed to the
   bottom of the card. */
.hc-member .wp-block-social-links {
    margin-top: auto;
    gap: 0.5rem;
}

.hc-member .wp-block-social-links .wp-social-link {
    background: transparent !important;
    color: var(--hc-navy) !important;
    border: 1px solid var(--hc-navy);
    border-radius: 0;
    margin: 0;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.hc-member .wp-block-social-links .wp-social-link a {
    padding: 0.5rem;
    color: inherit;
}

.hc-member .wp-block-social-links .wp-social-link svg { width: 1rem; height: 1rem; }

.hc-member .wp-block-social-links .wp-social-link:hover {
    background: var(--hc-gold) !important;
    border-color: var(--hc-gold);
    color: var(--hc-navy) !important;
    transform: none;
}

@media (max-width: 991.98px) {
    .hc-members { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
}

@media (max-width: 479.98px) {
    .hc-members { grid-template-columns: minmax(0, 1fr); }
}

/* --- Image captions / photo credits -------------------------------------- */

.wp-block-image figcaption,
.wp-element-caption {
    margin: 0.75rem 0 0;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0;
    color: var(--hc-slate);
    text-align: left;
}

.wp-block-image figcaption a,
.wp-element-caption a {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: var(--hc-line);
    text-underline-offset: 0.2em;
    transition: color 0.18s ease, text-decoration-color 0.18s ease;
}

.wp-block-image figcaption a:hover,
.wp-element-caption a:hover {
    color: var(--hc-navy);
    text-decoration-color: var(--hc-gold);
}

/* On navy sections keep the credit readable but quiet. */
:is(.hc-section--navy, .hc-hero, .hc-cta) :is(.wp-block-image figcaption, .wp-element-caption) {
    color: rgba(255, 255, 255, 0.45);
}


/* Personal page uses the core "Link" (chain) service; show the Font Awesome
   external-link glyph instead so it reads as "opens another site". */
.hc-member .wp-social-link-chain svg { display: none; }

.hc-member .wp-social-link-chain a::before {
    content: "\f35d";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.8125rem;
    line-height: 1;
    display: block;
    width: 1rem;
    height: 1rem;
    text-align: center;
    padding-top: 0.125rem;
}

/* --- Committee: rolling announcements ----------------------------------- */

/* Latest announcement: video on the left, who/quote/bio on the right. */
.hc-feature {
    background: #fff;
    border: 1px solid var(--hc-line);
    margin-top: 2.5rem;
}

.hc-feature .hc-feature__grid { gap: 0; margin: 0; }

.hc-feature__media {
    background: var(--hc-navy-deep);
    display: flex;
    align-items: center;
}

.hc-feature__media > * { width: 100%; margin: 0; }

.hc-feature__body { padding: 2.5rem; }

.hc-feature__body h3.wp-block-heading { margin-bottom: 0.375rem; }

.hc-feature__meta {
    font-size: 0.9375rem;
    color: var(--hc-slate);
    margin-bottom: 1.5rem;
}

.hc-quote {
    border-left: 3px solid var(--hc-gold);
    padding-left: 1.25rem;
    font-size: 1.1875rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: -0.014em;
    color: var(--hc-navy);
    margin-bottom: 1.5rem;
}

.hc-feature__bio {
    font-size: 0.9375rem;
    line-height: 1.67;
    color: var(--hc-slate);
    margin-bottom: 1.5rem;
}

/* Same icon style as the member cards. */
.hc-feature .wp-block-social-links { gap: 0.5rem; margin: 0; }

.hc-feature .wp-block-social-links .wp-social-link {
    background: transparent !important;
    color: var(--hc-navy) !important;
    border: 1px solid var(--hc-navy);
    border-radius: 0;
    margin: 0;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.hc-feature .wp-block-social-links .wp-social-link a { padding: 0.5rem; color: inherit; }
.hc-feature .wp-block-social-links .wp-social-link svg { width: 1rem; height: 1rem; }

.hc-feature .wp-block-social-links .wp-social-link:hover {
    background: var(--hc-gold) !important;
    border-color: var(--hc-gold);
    color: var(--hc-navy) !important;
    transform: none;
}

.hc-feature .wp-social-link-chain svg { display: none; }

.hc-feature .wp-social-link-chain a::before {
    content: "\f35d";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.8125rem;
    line-height: 1;
    display: block;
    width: 1rem;
    height: 1rem;
    text-align: center;
    padding-top: 0.125rem;
}

/* Video placeholder (swap for an Embed/Video block when the video is in). */
.hc-video {
    position: relative;
    aspect-ratio: 16 / 9;
    display: grid;
    place-items: center;
    background: var(--hc-navy-deep);
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.hc-video > .wp-block-group__inner-container { display: contents; }

.hc-video p {
    margin: 0;
    padding-top: 6.5rem;
    grid-area: 1 / 1;
}

.hc-video::before {
    content: "\f04b";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    grid-area: 1 / 1;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--hc-gold);
    color: var(--hc-navy);
    display: grid;
    place-items: center;
    font-size: 1.25rem;
    padding-left: 4px;
}

/* Real videos dropped into the media column fill it edge to edge. */
.hc-feature__media .wp-block-embed,
.hc-feature__media .wp-block-video { margin: 0; }
.hc-feature__media .wp-block-video video { display: block; width: 100%; }

/* Label above the grid of earlier announcements. */
.hc-members-label { margin-top: 3.5rem; margin-bottom: 0; }
.hc-members-label + .hc-members { margin-top: 1.25rem; }

/* "To be announced" card: dashed gold outline, muted portrait. */
.hc-member--tba {
    background: transparent;
    border: 1px dashed var(--hc-gold);
}

.hc-member--tba:hover { border-color: var(--hc-gold); }

.hc-member--tba .hc-member__photo { opacity: 0.55; }

@media (max-width: 781px) {
    .hc-feature__body { padding: 1.75rem 1.5rem; }
}


.hcp-logo-3d{position:relative;aspect-ratio:1/1;width:100%;overflow:hidden;container-type:inline-size;background:#003362}
.hcp-logo-3d canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
.hcp-logo-3d__tag{position:absolute;left:0;right:0;bottom:9%;margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}
.hcp-logo-3d__tag::before{content:"";width:40px;height:1px;background:linear-gradient(90deg,transparent,#e8bb62,transparent)}
.hcp-logo-3d__tag span{font-size:clamp(8px,2.3cqw,11.5px);font-weight:600;letter-spacing:.26em;white-space:nowrap;text-transform:uppercase;text-align:center;padding:0 24px;background:linear-gradient(90deg,#c8963e,#ffe6a6 45%,#e0ae52 60%,#b8822f);-webkit-background-clip:text;background-clip:text;color:transparent}
.hcp-logo-3d--no-webgl{background:#003362 url(../images/hcp-logo-poster.jpg) center/cover no-repeat}
