@font-face {
    font-family: ManropeCRCG;
    src: url('../fonts/Manrope-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: ManropeCRCG;
    src: url('../fonts/Manrope-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: ManropeCRCG;
    src: url('../fonts/Manrope-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

:root {
    --crcg-ink: #1b2a47;
    --crcg-accent: #d97d4a;
    --crcg-text: #2c3539;
    --crcg-paper: #fdfbf7;
    --crcg-white: #fff;
    --crcg-soft: #f5f5f2;
    --crcg-line: rgba(27, 42, 71, .14);
    --crcg-muted: #687177;
    --crcg-shadow: 0 18px 52px rgba(27, 42, 71, .09);
    --crcg-sans: ManropeCRCG, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --crcg-serif: Georgia, Charter, Cambria, "Times New Roman", serif;
    --crcg-wrap: min(1180px, calc(100vw - 48px));
    --crcg-reading: min(72ch, calc(100vw - 40px));
    --crcg-header-h: 78px
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 96px
}

html.crcg-lock-scroll {
    overflow: hidden
}

body {
    margin: 0;
    background: var(--crcg-white);
    color: var(--crcg-text);
    font-family: var(--crcg-serif);
    font-size: 18px;
    line-height: 1.62;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility
}

a {
    color: var(--crcg-ink);
    text-decoration-thickness: .075em;
    text-underline-offset: .2em
}

a:hover {
    color: var(--crcg-accent)
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
    outline: 3px solid rgba(217, 125, 74, .45);
    outline-offset: 3px
}

.crcg-site {
    overflow: clip
}

.crcg-skip-link {
    position: fixed;
    left: 16px;
    top: -80px;
    z-index: 9999;
    background: #fff;
    color: #111;
    padding: 10px 14px;
    font-family: var(--crcg-sans)
}

.crcg-skip-link:focus {
    top: 12px
}

.crcg-content-shell {
    min-height: 60vh
}

.crcg-content-container {
    display: block;
    max-width: 1200px;
    margin-inline: auto;
    padding: 72px 28px
}

.crcg-front-page .crcg-content-container {
    max-width: none !important;
    padding: 0 !important
}

.crcg-home-wrap {
    width: var(--crcg-wrap);
    margin-inline: auto
}

/* Header */
.crcg-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    height: var(--crcg-header-h);
    background: rgba(253, 251, 247, .94);
    border-bottom: 1px solid var(--crcg-line);
    backdrop-filter: blur(16px);
    transition: background .25s, border-color .25s, box-shadow .25s, color .25s
}

.admin-bar .crcg-header {
    top: 32px
}

.crcg-header--transparent {
    position: fixed;
    left: 0;
    right: 0;
    background: linear-gradient(180deg, rgba(15, 24, 44, .84), rgba(15, 24, 44, 0));
    border-color: transparent;
    color: #fff;
    backdrop-filter: none
}

.crcg-header--transparent.is-scrolled,
.crcg-header--transparent.menu-open {
    background: rgba(27, 42, 71, .98);
    border-color: rgba(255, 255, 255, .13);
    box-shadow: 0 12px 40px rgba(8, 15, 29, .18);
    backdrop-filter: blur(14px)
}

.crcg-header__inner {
    width: var(--crcg-wrap);
    height: 100%;
    margin: auto;
    display: flex;
    align-items: center;
    gap: 28px
}

.crcg-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 230px;
    text-decoration: none;
    font-family: var(--crcg-sans);
    color: var(--crcg-ink)
}

.crcg-header--transparent .crcg-brand,
.crcg-header--transparent .crcg-menu a,
.crcg-header--transparent .crcg-icon-button {
    color: #fff
}

.crcg-brand__mark {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-weight: 700;
    font-size: 18px
}

.crcg-brand__text {
    display: grid;
    line-height: 1.08
}

.crcg-brand__text strong {
    font-size: 12px;
    letter-spacing: .01em;
    max-width: 180px
}

.crcg-brand__text small {
    font-size: 9px;
    opacity: .7;
    margin-top: 4px;
    letter-spacing: .04em
}

.crcg-nav {
    margin-left: auto
}

.crcg-menu {
    display: flex;
    align-items: center;
    gap: 22px;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important
}

.crcg-menu li {
    margin: 0 !important;
    padding: 0 !important
}

.crcg-menu a {
    display: block;
    color: var(--crcg-ink);
    font-family: var(--crcg-sans);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap
}

.crcg-menu a:hover {
    color: var(--crcg-accent)
}

.crcg-header__actions {
    display: flex;
    align-items: center;
    gap: 8px
}

.crcg-icon-button,
.crcg-menu-toggle {
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    color: var(--crcg-ink);
    display: grid;
    place-items: center;
    cursor: pointer;
    padding: 0
}

.crcg-icon-button svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8
}

.crcg-menu-toggle {
    display: none;
    align-content: center;
    gap: 5px
}

.crcg-menu-toggle span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: currentColor;
    transition: .2s
}

.crcg-search-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: rgba(253, 251, 247, .98);
    border-bottom: 1px solid var(--crcg-line);
    box-shadow: var(--crcg-shadow);
    padding: 28px
}

.crcg-search-form {
    max-width: 840px;
    margin: auto
}

.crcg-search-form label {
    display: block;
    font-family: var(--crcg-sans);
    font-size: 13px;
    font-weight: 600;
    color: var(--crcg-ink);
    margin-bottom: 10px
}

.crcg-search-form__row {
    display: grid;
    grid-template-columns: 1fr auto
}

.crcg-search-form input {
    min-width: 0;
    border: 1px solid var(--crcg-line);
    border-right: 0;
    padding: 14px 16px;
    background: #fff;
    font: 16px/1.3 var(--crcg-sans);
    color: var(--crcg-text)
}

.crcg-search-form button {
    border: 0;
    background: var(--crcg-ink);
    color: #fff;
    padding: 0 26px;
    font: 600 14px/1 var(--crcg-sans);
    cursor: pointer
}

/* Homepage */
.crcg-hero {
    position: relative;
    min-height: min(820px, 94vh);
    display: flex;
    align-items: center;
    isolation: isolate;
    background-color: #17253f;
    background-image: linear-gradient(90deg, rgba(17, 28, 51, .98) 0%, rgba(22, 36, 63, .93) 36%, rgba(21, 34, 60, .67) 64%, rgba(21, 34, 60, .35) 100%), linear-gradient(0deg, rgba(17, 28, 51, .76) 0%, rgba(17, 28, 51, 0) 42%), url('../images/hero-professions.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    color: #fff
}

.crcg-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(circle at 18% 38%, rgba(217, 125, 74, .15), transparent 30%)
}

.crcg-hero__content {
    padding-top: 120px;
    padding-bottom: 140px
}

.crcg-eyebrow,
.crcg-kicker {
    font-family: var(--crcg-sans);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase
}

.crcg-eyebrow {
    color: #f2c7af;
    margin: 0 0 24px
}

.crcg-hero h1 {
    max-width: 850px;
    margin: 0;
    color: #fff;
    font: 600 clamp(42px, 5.1vw, 76px)/1.06 var(--crcg-sans);
    letter-spacing: -.035em;
    text-wrap: balance
}

.crcg-hero__lead {
    max-width: 690px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, .84);
    font: 400 clamp(19px, 2vw, 25px)/1.42 var(--crcg-serif)
}

.crcg-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 38px
}

.crcg-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 20px;
    border: 1px solid transparent;
    border-radius: 2px;
    font: 600 13px/1.2 var(--crcg-sans);
    text-decoration: none;
    transition: transform .2s, box-shadow .2s, background .2s, border-color .2s, color .2s
}

.crcg-button:hover {
    transform: translateY(-2px)
}

.crcg-button--primary {
    background: var(--crcg-accent);
    color: #fff
}

.crcg-button--primary:hover {
    color: #fff;
    box-shadow: 0 10px 24px rgba(217, 125, 74, .26)
}

.crcg-button--ghost {
    border-color: rgba(255, 255, 255, .43);
    color: #fff;
    background: rgba(255, 255, 255, .04)
}

.crcg-button--ghost:hover {
    color: #fff;
    border-color: #fff;
    background: rgba(255, 255, 255, .1)
}

.crcg-button--outline {
    border-color: var(--crcg-ink);
    color: var(--crcg-ink);
    background: transparent
}

.crcg-button--outline:hover {
    background: var(--crcg-ink);
    color: #fff
}

.crcg-button--light-outline {
    border-color: rgba(255, 255, 255, .5);
    color: #fff
}

.crcg-button--light-outline:hover {
    border-color: #fff;
    background: #fff;
    color: var(--crcg-ink)
}

.crcg-hero__caption {
    position: absolute;
    right: max(24px, calc((100vw - 1180px)/2));
    bottom: 42px;
    margin: 0;
    color: rgba(255, 255, 255, .65);
    font: italic 12px/1.4 var(--crcg-serif);
    letter-spacing: .02em
}

.crcg-scroll-cue {
    position: absolute;
    left: 50%;
    bottom: 34px;
    width: 28px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 20px;
    transform: translateX(-50%)
}

.crcg-scroll-cue span {
    position: absolute;
    left: 50%;
    top: 9px;
    width: 3px;
    height: 7px;
    border-radius: 2px;
    background: #fff;
    transform: translateX(-50%);
    animation: crcg-scroll 1.8s ease-in-out infinite
}

@keyframes crcg-scroll {

    0%,
    100% {
        transform: translate(-50%, 0);
        opacity: .4
    }

    50% {
        transform: translate(-50%, 10px);
        opacity: 1
    }
}

.crcg-section {
    padding: clamp(76px, 9vw, 128px) 0
}

.crcg-section--soft {
    background: var(--crcg-soft)
}

.crcg-section--ink {
    background: var(--crcg-ink);
    color: #fff
}

.crcg-section-heading {
    align-self: start
}

.crcg-section-heading--wide {
    max-width: 760px;
    margin-bottom: 48px
}

.crcg-kicker {
    color: var(--crcg-accent);
    margin: 0 0 15px
}

.crcg-section h2,
.crcg-archive h1 {
    margin: 0;
    color: var(--crcg-ink);
    font: 600 clamp(34px, 4vw, 56px)/1.12 var(--crcg-sans);
    letter-spacing: -.03em;
    text-wrap: balance
}

.crcg-section-heading>p:last-child {
    max-width: 670px;
    margin: 18px 0 0;
    color: var(--crcg-muted);
    font-size: 18px
}

.crcg-section-heading--light h2 {
    color: #fff
}

.crcg-section-heading--light>p:last-child {
    color: rgba(255, 255, 255, .67)
}

.crcg-mission {
    display: grid;
    grid-template-columns: .7fr 1.25fr 1fr;
    gap: clamp(36px, 6vw, 84px);
    align-items: center
}

.crcg-mission__text>p {
    margin: 0 0 26px;
    font: 400 clamp(20px, 2vw, 26px)/1.55 var(--crcg-serif);
    color: var(--crcg-text)
}

.crcg-mission__visual {
    position: relative;
    border-left: 1px solid var(--crcg-line);
    padding-left: 32px
}

.crcg-mission__visual svg {
    width: 100%;
    overflow: visible
}

.graph-grid {
    stroke: rgba(27, 42, 71, .08);
    stroke-width: 1
}

.graph-path {
    fill: none;
    stroke: url(#g);
    stroke-width: 3;
    stroke-linecap: round
}

.graph-path--soft {
    stroke: #9ea9ae;
    stroke-width: 1.5
}

.graph-nodes {
    fill: var(--crcg-accent);
    stroke: #fff;
    stroke-width: 3
}

.crcg-mission__visual span {
    display: block;
    margin-top: 3px;
    font: 600 10px/1.3 var(--crcg-sans);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--crcg-muted)
}

.crcg-text-link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: var(--crcg-ink);
    font: 600 13px/1.4 var(--crcg-sans);
    text-decoration: none
}

.crcg-text-link span {
    transition: transform .2s
}

.crcg-text-link:hover span {
    transform: translateX(4px)
}

.crcg-path-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.crcg-path-card {
    position: relative;
    min-height: 430px;
    padding: 34px;
    border: 1px solid var(--crcg-line);
    background: #fff;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 24px rgba(27, 42, 71, .025);
    transition: transform .2s, box-shadow .2s, border-color .2s
}

.crcg-path-card:hover {
    transform: translateY(-3px);
    border-color: rgba(27, 42, 71, .24);
    box-shadow: var(--crcg-shadow)
}

.crcg-icon-wrap {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--crcg-paper);
    color: var(--crcg-ink);
    margin-bottom: 50px
}

.crcg-icon-wrap svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round
}

.crcg-card-index {
    position: absolute;
    right: 30px;
    top: 30px;
    font: 600 11px/1 var(--crcg-sans);
    color: #9ba2a7
}

.crcg-path-card h3,
.crcg-project-card h3,
.crcg-capital-card h3,
.crcg-team h2,
.crcg-journal-feature h3 {
    margin: 0;
    color: var(--crcg-ink);
    font: 600 25px/1.2 var(--crcg-sans);
    letter-spacing: -.02em
}

.crcg-path-card p {
    margin: 15px 0 28px;
    color: var(--crcg-muted);
    font-size: 17px;
    line-height: 1.55
}

.crcg-path-card .crcg-button {
    margin-top: auto;
    align-self: flex-start
}

.crcg-project-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid rgba(255, 255, 255, .16);
    border-left: 1px solid rgba(255, 255, 255, .16)
}

.crcg-project-card {
    position: relative;
    padding: 46px;
    min-height: 430px;
    border-right: 1px solid rgba(255, 255, 255, .16);
    border-bottom: 1px solid rgba(255, 255, 255, .16)
}

.crcg-project-icon {
    color: #f0b18e;
    margin-bottom: 44px
}

.crcg-project-icon svg {
    width: 50px;
    height: 50px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round
}

.crcg-project-number {
    position: absolute;
    right: 32px;
    top: 35px;
    color: rgba(255, 255, 255, .35);
    font: 600 11px/1 var(--crcg-sans)
}

.crcg-project-card h3 {
    color: #fff;
    max-width: 430px
}

.crcg-project-card p {
    color: rgba(255, 255, 255, .7);
    font-size: 16px;
    line-height: 1.62;
    margin: 18px 0 34px
}

.crcg-project-card strong {
    color: #fff
}

.crcg-project-card .crcg-text-link {
    color: #fff
}

.crcg-journal-section {
    background: var(--crcg-paper)
}

.crcg-journal-feature {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 70px;
    border-top: 1px solid var(--crcg-ink);
    border-bottom: 1px solid var(--crcg-line);
    padding: 40px 0 52px
}

.crcg-journal-feature__meta {
    font: 600 12px/1.5 var(--crcg-sans);
    color: var(--crcg-muted);
    display: flex;
    flex-direction: column;
    gap: 8px
}

.crcg-journal-feature__meta time {
    color: var(--crcg-ink);
    font-size: 14px
}

.crcg-journal-feature__body {
    max-width: 780px
}

.crcg-journal-feature h3 {
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.16
}

.crcg-journal-feature h3 a {
    text-decoration: none
}

.crcg-journal-feature__body p {
    font-size: 19px;
    color: var(--crcg-muted);
    margin: 20px 0 28px
}

.crcg-journal-all {
    margin-top: 26px
}

.crcg-capital-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px
}

.crcg-capital-card {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 22px;
    padding: 38px;
    border-top: 1px solid var(--crcg-ink);
    background: #fff
}

.crcg-capital-card__symbol {
    width: 48px;
    height: 48px;
    border: 1px solid var(--crcg-line);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font: 400 22px/1 var(--crcg-sans);
    color: var(--crcg-accent)
}

.crcg-capital-card p {
    color: var(--crcg-muted);
    font-size: 17px;
    line-height: 1.58;
    margin: 14px 0 26px
}

.crcg-team-section {
    background: var(--crcg-ink);
    color: #fff
}

.crcg-team {
    display: grid;
    grid-template-columns: 1.5fr .8fr;
    gap: 70px;
    align-items: end
}

.crcg-team h2 {
    color: #fff;
    font-size: clamp(36px, 4vw, 58px)
}

.crcg-team__lead {
    max-width: 800px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, .74);
    font-size: 20px
}

.crcg-team__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px
}

.crcg-team__actions .crcg-button {
    width: 100%
}

/* Footer */
.crcg-footer__projects {
    max-width: 1180px;
    margin: 0 auto 52px;
    padding-bottom: 46px;
    border-bottom: 1px solid rgba(255, 255, 255, .12)
}

.crcg-footer__projects h2 {
    margin: 0 0 24px;
    color: #fff;
    font-family: var(--crcg-sans);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: .08em;
    text-transform: uppercase
}

.crcg-footer__projects-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 70px;
    row-gap: 12px
}

.crcg-footer__projects-grid a {
    position: relative;
    display: block;
    padding-left: 16px;
    color: rgba(255, 255, 255, .77);
    font-size: 12px;
    line-height: 1.5
}

.crcg-footer__projects-grid a::before {
    content: "";
    position: absolute;
    left: 0;
    top: .65em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #d97d4a
}

/* Footer project links: preserve the two-column layout and add clear link affordance. */
.crcg-footer__projects-grid a {
    transition: color .2s ease, text-decoration-color .2s ease;
}

.crcg-footer__projects-grid a:hover {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: #d97d4a;
    text-underline-offset: 3px;
}

.crcg-footer__projects-grid a:focus-visible {
    outline: 2px solid #d97d4a;
    outline-offset: 4px;
    border-radius: 2px;
}

.crcg-footer {
    background: #111b30;
    color: rgba(255, 255, 255, .7);
    font-family: var(--crcg-sans);
    padding: 66px max(24px, calc((100vw - 1180px)/2)) 24px
}

.crcg-footer__grid {
    display: grid;
    grid-template-columns: 1.5fr .7fr .8fr;
    gap: 70px
}

.crcg-brand--footer {
    color: #fff;
    margin-bottom: 20px
}

.crcg-footer__about p {
    max-width: 480px;
    font-size: 13px;
    line-height: 1.65
}

.crcg-footer__nav,
.crcg-footer__meta {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.crcg-footer a {
    color: rgba(255, 255, 255, .77);
    text-decoration: none;
    font-size: 12px
}

.crcg-footer a:hover {
    color: #fff
}

.crcg-footer__socials {
    display: flex;
    gap: 14px;
    flex-wrap: wrap
}

.crcg-footer__bottom {
    margin-top: 50px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    font-size: 10px;
    color: rgba(255, 255, 255, .45)
}

/* Scientific longreads and Astra templates */
.crcg-longread .site-main>article,
.single-post .site-main>article,
.page .site-main>article {
    max-width: var(--crcg-reading);
    margin-inline: auto
}

.crcg-longread .entry-header,
.single-post .entry-header,
.page .entry-header {
    margin-bottom: 38px
}

.entry-title {
    color: var(--crcg-ink) !important;
    font-family: var(--crcg-sans) !important;
    font-weight: 600 !important;
    line-height: 1.13 !important;
    letter-spacing: -.03em !important;
    text-wrap: balance
}

.single-post .entry-title {
    font-size: clamp(36px, 4.8vw, 62px) !important
}

.page .entry-title {
    font-size: clamp(34px, 4vw, 54px) !important
}

.entry-meta,
.entry-meta * {
    font-family: var(--crcg-sans) !important;
    font-size: 12px !important;
    color: var(--crcg-muted) !important
}

.entry-content {
    font-family: var(--crcg-serif);
    font-size: clamp(17px, 1.4vw, 19px);
    line-height: 1.62;
    color: var(--crcg-text);
    overflow-wrap: anywhere
}

.entry-content>p {
    margin-block: 0 1.1em
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-family: var(--crcg-sans);
    color: var(--crcg-ink);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.02em;
    text-wrap: pretty
}

.entry-content h2 {
    font-size: clamp(28px, 3vw, 38px);
    margin: 2.1em 0 .55em
}

.entry-content h3 {
    font-size: clamp(23px, 2.4vw, 30px);
    margin: 1.8em 0 .5em
}

.entry-content h4 {
    font-size: 21px;
    margin: 1.6em 0 .45em
}

.entry-content h5 {
    font-size: 18px;
    margin: 1.5em 0 .4em
}

.entry-content h6 {
    font-size: 15px;
    margin: 1.4em 0 .4em;
    text-transform: uppercase;
    letter-spacing: .05em
}

.entry-content ul,
.entry-content ol {
    margin: 1.2em 0 1.4em;
    padding-left: 1.55em
}

.entry-content li {
    margin: .38em 0
}

.entry-content li::marker {
    color: var(--crcg-accent);
    font-variant-numeric: tabular-nums
}

.entry-content ul ul {
    list-style-type: circle
}

.entry-content ul ul ul {
    list-style-type: square
}

.entry-content blockquote {
    margin: 2.2em 0;
    padding: 22px 28px;
    border-left: 3px solid var(--crcg-accent);
    background: var(--crcg-paper);
    font-size: 1.12em;
    line-height: 1.52
}

.entry-content blockquote p:last-child {
    margin-bottom: 0
}

.entry-content cite {
    display: block;
    margin-top: 12px;
    font: 600 12px/1.4 var(--crcg-sans);
    color: var(--crcg-muted)
}

.entry-content figure {
    margin-block: 2.2em
}

.entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 2px
}

.entry-content figcaption {
    margin-top: 10px;
    color: var(--crcg-muted);
    font: italic 13px/1.45 var(--crcg-serif);
    text-align: left
}

.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-family: var(--crcg-sans);
    font-size: 14px;
    line-height: 1.45
}

.entry-content th,
.entry-content td {
    padding: 12px 14px;
    border: 1px solid var(--crcg-line);
    text-align: left;
    vertical-align: top
}

.entry-content th {
    background: var(--crcg-paper);
    font-weight: 700;
    color: var(--crcg-ink)
}

.entry-content td {
    font-variant-numeric: tabular-nums
}

.wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
}

.entry-content a {
    text-decoration-thickness: .07em;
    text-underline-offset: .2em
}

.entry-content a:visited {
    color: #624b73
}

.entry-content code {
    padding: .12em .35em;
    background: #f0efeb;
    border: 1px solid rgba(27, 42, 71, .08);
    border-radius: 3px;
    font: 85%/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace
}

.entry-content pre {
    overflow: auto;
    padding: 18px;
    background: #111b30;
    color: #f6f6f4;
    border-radius: 3px;
    font: 14px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace
}

.entry-content pre code {
    padding: 0;
    background: none;
    border: 0;
    color: inherit
}

.entry-content sup,
.entry-content sub {
    font-size: .72em;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

.entry-content sup {
    top: -.48em
}

.entry-content sub {
    bottom: -.18em
}

.entry-content abbr[title] {
    text-decoration: underline dotted;
    text-underline-offset: .18em;
    cursor: help
}

.entry-content hr {
    border: 0;
    border-top: 1px solid var(--crcg-line);
    margin: 3em 0
}

.entry-content .alignwide {
    max-width: min(960px, calc(100vw - 44px));
    width: min(960px, calc(100vw - 44px));
    margin-left: 50%;
}

.entry-content .alignfull {
    max-width: 100vw;
    width: 100vw;
    margin-left: 50%;
}

/* Journal archive */
.crcg-reading-page {
    max-width: 980px;
    margin: 0 auto;
    padding: 70px 0
}

.crcg-archive-header {
    max-width: 760px;
    margin-bottom: 55px
}

.crcg-archive-header>p:last-child {
    font-size: 19px;
    color: var(--crcg-muted)
}

.crcg-journal-row {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 48px;
    padding: 34px 0;
    border-top: 1px solid var(--crcg-line)
}

.crcg-journal-row time {
    font: 600 12px/1.5 var(--crcg-sans);
    color: var(--crcg-muted)
}

.crcg-journal-row h2 {
    font-size: 26px !important;
    margin: 0 0 12px !important
}

.crcg-journal-row h2 a {
    text-decoration: none
}

.crcg-journal-row p {
    margin: 0 0 18px;
    color: var(--crcg-muted);
    font-size: 17px
}

.crcg-pagination ul {
    display: flex;
    list-style: none !important;
    gap: 6px;
    padding: 0 !important;
    margin: 36px 0 0 !important
}

.crcg-pagination a,
.crcg-pagination span {
    display: grid;
    place-items: center;
    min-width: 38px;
    height: 38px;
    border: 1px solid var(--crcg-line);
    font: 600 12px/1 var(--crcg-sans);
    text-decoration: none
}

.crcg-pagination .current {
    background: var(--crcg-ink);
    color: #fff
}

@media(max-width:1160px) {
    :root {
        --crcg-wrap: min(100% - 40px, 1060px)
    }

    .crcg-nav {
        display: none
    }

    .crcg-menu-toggle {
        display: grid
    }

    .crcg-header.menu-open .crcg-nav {
        display: block;
        position: fixed;
        inset: var(--crcg-header-h) 0 0;
        background: var(--crcg-ink);
        padding: 30px 24px;
        overflow: auto;
        height: fit-content;
    }

    .admin-bar .crcg-header.menu-open .crcg-nav {
        top: calc(var(--crcg-header-h) + 32px)
    }

    .crcg-header.menu-open .crcg-menu {
        display: flex;
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        max-width: 720px;
        margin: auto !important
    }

    .crcg-header.menu-open .crcg-menu li {
        border-bottom: 1px solid rgba(255, 255, 255, .12)
    }

    .crcg-header.menu-open .crcg-menu a {
        padding: 17px 2px;
        color: #fff;
        font-size: 18px
    }

    .crcg-header:not(.crcg-header--transparent) .crcg-menu-toggle {
        color: var(--crcg-ink)
    }

    .crcg-mission {
        grid-template-columns: .7fr 1.3fr
    }

    .crcg-mission__visual {
        grid-column: 2
    }

    .crcg-project-card {
        padding: 38px
    }
}

@media(max-width:782px) {
    .admin-bar .crcg-header {
        top: 46px
    }

    .admin-bar .crcg-header.menu-open .crcg-nav {
        top: calc(var(--crcg-header-h) + 46px)
    }
}

@media(max-width:760px) {
    :root {
        --crcg-wrap: calc(100% - 32px);
        --crcg-header-h: 68px
    }

    .crcg-brand {
        min-width: 0
    }

    .crcg-brand__mark {
        width: 36px;
        height: 36px
    }

    .crcg-brand__text strong {
        font-size: 10px;
        max-width: 150px
    }

    .crcg-brand__text small {
        display: none
    }

    .crcg-header__inner {
        gap: 10px
    }

    .crcg-header__actions {
        margin-left: auto
    }

    .crcg-hero {
        min-height: 760px;
        background-image: linear-gradient(180deg, rgba(17, 28, 51, .97) 0%, rgba(18, 30, 53, .87) 60%, rgba(18, 30, 53, .72) 100%), url('../images/hero-professions.png');
        background-size: cover, auto 32%;
        background-position: center, bottom center
    }

    .crcg-hero__content {
        padding-top: 120px;
        padding-bottom: 170px
    }

    .crcg-hero h1 {
        font-size: clamp(38px, 10vw, 52px);
        line-height: 1.04
    }

    .crcg-hero__lead {
        font-size: 19px
    }

    .crcg-hero__actions {
        flex-direction: column;
        align-items: stretch
    }

    .crcg-button {
        width: 100%
    }

    .crcg-hero__caption {
        right: 16px;
        bottom: 80px
    }

    .crcg-scroll-cue {
        display: none
    }

    .crcg-section {
        padding: 72px 0
    }

    .crcg-section h2 {
        font-size: 38px
    }

    .crcg-mission,
    .crcg-path-grid,
    .crcg-project-grid,
    .crcg-capital-grid,
    .crcg-team,
    .crcg-footer__grid {
        grid-template-columns: 1fr
    }

    .crcg-mission {
        gap: 32px
    }

    .crcg-mission__visual {
        grid-column: auto;
        border-left: 0;
        border-top: 1px solid var(--crcg-line);
        padding: 24px 0 0
    }

    .crcg-path-card {
        min-height: 0;
        padding: 28px
    }

    .crcg-icon-wrap {
        margin-bottom: 35px
    }

    .crcg-project-grid {
        border-left: 0
    }

    .crcg-project-card {
        min-height: 0;
        padding: 34px 0;
        border-right: 0
    }

    .crcg-journal-feature {
        grid-template-columns: 1fr;
        gap: 16px;
        padding-top: 26px
    }

    .crcg-journal-feature__meta {
        flex-direction: row;
        justify-content: space-between
    }

    .crcg-capital-card {
        grid-template-columns: 1fr;
        padding: 28px 0;
        background: transparent
    }

    .crcg-capital-card__symbol {
        margin-bottom: 8px
    }

    .crcg-team {
        gap: 35px
    }

    .crcg-footer__projects {
        margin-bottom: 36px;
        padding-bottom: 34px
    }

    .crcg-footer__projects-grid {
        grid-template-columns: 1fr;
        gap: 10px
    }

    .crcg-footer {
        padding: 54px 20px 22px
    }

    .crcg-footer__grid {
        gap: 34px
    }

    .crcg-content-container {
        padding: 52px 20px
    }

    .crcg-reading-page {
        padding: 48px 0
    }

    .crcg-journal-row {
        grid-template-columns: 1fr;
        gap: 8px
    }

    .entry-content {
        font-size: 17px;
        line-height: 1.62
    }

    .entry-content table {
        font-size: 13px
    }

    .entry-content th,
    .entry-content td {
        padding: 9px 10px
    }

    .entry-content blockquote {
        margin-inline: 0;
        padding: 18px 20px
    }

    .crcg-search-panel {
        padding: 20px 16px
    }

    .crcg-search-form__row {
        grid-template-columns: 1fr
    }

    .crcg-search-form input {
        border-right: 1px solid var(--crcg-line)
    }

    .crcg-search-form button {
        min-height: 46px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *,
    *::before,
    *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important
    }
}

.crcg-tools-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.crcg-tool-card {
    position: relative;
    padding: 32px;
    border-top: 1px solid var(--crcg-ink);
    background: var(--crcg-paper);
    min-height: 300px;
    display: flex;
    flex-direction: column
}

.crcg-tool-card>span:first-child {
    font: 600 11px/1 var(--crcg-sans);
    color: var(--crcg-muted);
    margin-bottom: 46px
}

.crcg-tool-card h2 {
    font: 600 25px/1.22 var(--crcg-sans);
    letter-spacing: -.02em;
    color: var(--crcg-ink);
    margin: 0
}

.crcg-tool-card p {
    font-size: 17px;
    color: var(--crcg-muted);
    margin: 15px 0 28px
}

.crcg-tool-card .crcg-text-link {
    margin-top: auto
}

@media(max-width:760px) {
    .crcg-tools-grid {
        grid-template-columns: 1fr
    }

    .crcg-tool-card {
        min-height: 0
    }
}

/* CRCG 1.0.1 — navigation and homepage layout fixes */
.crcg-menu>.menu-item {
    position: relative
}

.crcg-menu>.menu-item-has-children>a {
    display: flex;
    align-items: center;
    gap: 7px
}

.crcg-menu>.menu-item-has-children>a::after {
    content: "";
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    opacity: .68;
    transition: transform .18s ease
}

.crcg-menu>.menu-item-has-children:hover>a::after,
.crcg-menu>.menu-item-has-children:focus-within>a::after {
    transform: translateY(1px) rotate(225deg)
}

.crcg-menu>.menu-item>.sub-menu {
    position: absolute;
    z-index: 1010;
    top: calc(100% + 16px);
    left: -18px;
    min-width: 250px;
    max-width: 360px;
    width: max-content;
    margin: 0 !important;
    padding: 9px !important;
    list-style: none !important;
    background: rgba(17, 27, 48, .985);
    border: 1px solid rgba(255, 255, 255, .12);
    box-shadow: 0 18px 46px rgba(8, 15, 29, .24);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .16s ease, visibility .16s ease, transform .16s ease
}

.crcg-menu>.menu-item>.sub-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -18px;
    height: 18px
}

.crcg-menu>.menu-item:hover>.sub-menu,
.crcg-menu>.menu-item:focus-within>.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0)
}

.crcg-menu .sub-menu,
.crcg-menu .sub-menu li {
    list-style: none !important
}

.crcg-menu .sub-menu li {
    display: block !important;
    width: 100%;
    border: 0 !important
}

.crcg-menu .sub-menu li::marker {
    content: ""
}

.crcg-menu .sub-menu a,
.crcg-header--transparent .crcg-menu .sub-menu a {
    display: block;
    width: 100%;
    padding: 10px 12px;
    color: rgba(255, 255, 255, .88);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 600;
    white-space: normal;
    border-radius: 2px
}

.crcg-menu .sub-menu a:hover,
.crcg-menu .sub-menu a:focus-visible,
.crcg-header--transparent .crcg-menu .sub-menu a:hover,
.crcg-header--transparent .crcg-menu .sub-menu a:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, .08)
}

/* Mission is a real 2-column block from the brief: copy at left, visual at right. */
@media(min-width:1161px) {
    .crcg-mission {
        grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
        grid-template-areas: "heading visual" "text visual";
        column-gap: clamp(56px, 7vw, 108px);
        row-gap: 24px;
        align-items: start
    }

    .crcg-mission>.crcg-section-heading {
        grid-area: heading;
        max-width: 720px
    }

    .crcg-mission__text {
        grid-area: text;
        max-width: 720px
    }

    .crcg-mission__visual {
        grid-area: visual;
        align-self: center;
        padding-left: 42px
    }

    .crcg-mission__text>p {
        font-size: clamp(21px, 1.55vw, 25px);
        max-width: 670px
    }
}

@media(min-width:761px) and (max-width:1160px) {
    .crcg-mission {
        grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
        grid-template-areas: "heading visual" "text visual";
        column-gap: 52px;
        row-gap: 20px;
        align-items: start
    }

    .crcg-mission>.crcg-section-heading {
        grid-area: heading
    }

    .crcg-mission__text {
        grid-area: text
    }

    .crcg-mission__visual {
        grid-area: visual;
        grid-column: auto;
        align-self: center
    }
}

@media(max-width:1160px) {
    .crcg-menu>.menu-item>.sub-menu {
        position: static;
        min-width: 0;
        max-width: none;
        width: auto;
        margin: 0 !important;
        padding: 0 0 12px 18px !important;
        background: transparent;
        border: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: none
    }

    .crcg-menu>.menu-item>.sub-menu::before {
        display: none
    }

    .crcg-menu>.menu-item-has-children>a::after {
        margin-left: auto
    }

    .crcg-menu>.menu-item-has-children:hover>a::after,
    .crcg-menu>.menu-item-has-children:focus-within>a::after {
        transform: translateY(-2px) rotate(45deg)
    }

    .crcg-header.menu-open .crcg-menu .sub-menu li {
        border: 0 !important
    }

    .crcg-header.menu-open .crcg-menu .sub-menu a {
        padding: 9px 2px;
        color: rgba(255, 255, 255, .68);
        font-size: 14px;
        font-weight: 500
    }

    .crcg-header.menu-open .crcg-menu .sub-menu a:hover {
        color: #fff;
        background: transparent
    }
}

/* CRCG 1.0.2 — homepage-only integration with parent Astra. */
.crcg-front-page #content.site-content {
    margin: 0 !important;
    padding: 0 !important
}

.crcg-front-page #content>.ast-container,
.crcg-front-page .crcg-content-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important
}

.crcg-front-page #primary.crcg-home {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important
}

.crcg-front-page #primary.crcg-home::before,
.crcg-front-page #primary.crcg-home::after {
    display: none !important
}

.crcg-front-page .crcg-team-section {
    margin-bottom: 0 !important
}
/* === CRCG 1.0.4 — corrections against the current production DB === */
.crcg-brand {
    min-width: 210px;
    max-width: 250px;
}
.crcg-brand__logo {
    display: block;
    width: 210px;
    height: auto;
    max-height: 58px;
    object-fit: contain;
    object-position: left center;
}
.crcg-header--transparent .crcg-brand__logo {
    filter: brightness(0) invert(1);
}
.crcg-brand__fallback {
    font: 700 13px/1.2 var(--crcg-sans);
}

.crcg-hero {
    min-height: 760px;
    background: #17253f;
    overflow: hidden;
}
.crcg-hero::after {
    background: radial-gradient(circle at 18% 38%, rgba(217,125,74,.13), transparent 32%);
}
.crcg-hero__grid {
    min-height: 760px;
    padding-top: calc(var(--crcg-header-h) + 52px);
    padding-bottom: 66px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .72fr);
    gap: clamp(44px, 6vw, 88px);
    align-items: center;
}
.crcg-hero__content {
    padding: 0;
}
.crcg-hero h1 {
    max-width: 760px;
    font-size: clamp(40px, 4.1vw, 62px);
    line-height: 1.07;
}
.crcg-hero__lead {
    max-width: 680px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.92);
    font: 500 clamp(21px, 1.8vw, 29px)/1.35 var(--crcg-sans);
    letter-spacing: -.018em;
}
.crcg-hero__visual {
    position: relative;
    margin: 0;
    align-self: stretch;
    min-height: 610px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    box-shadow: 0 24px 70px rgba(5,12,28,.23);
    overflow: hidden;
}
.crcg-hero__visual img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 650px;
    object-fit: contain;
    object-position: center;
    background: #fff;
    padding-bottom: 10px;
}
.crcg-hero__visual figcaption {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0px;
    margin: 0;
    padding: 7px 10px;
    color: #fff;
    background: rgba(17,28,51,.72);
    backdrop-filter: blur(6px);
    font: italic 12px/1.35 var(--crcg-serif);
    text-align: right;
}
.crcg-hero__caption { display:none !important; }

/* No unapproved explanatory subtitles between section title and cards. */
.crcg-section-heading--wide { margin-bottom: 38px; }
.crcg-section-heading > p:last-child:not(.crcg-kicker) { display:none; }

/* Icons are intentionally removed until the approved SVG set is supplied. */
.crcg-path-card { min-height: 350px; padding-top: 72px; }
.crcg-project-grid {
    gap: 22px;
    border: 0;
}
.crcg-project-card {
    min-height: 390px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 6px;
    background: rgba(255,255,255,.055);
    box-shadow: 0 12px 34px rgba(5,12,28,.10);
    transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.crcg-project-card:hover {
    transform: translateY(-6px);
    background: rgba(255,255,255,.10);
    border-color: rgba(240,177,142,.55);
    box-shadow: 0 22px 46px rgba(5,12,28,.22);
}
.crcg-capital-card { grid-template-columns: 1fr; }

.crcg-journal-feature {
    grid-template-columns: 150px minmax(220px, 340px) minmax(0, 1fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
}
.crcg-journal-feature__media {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #ecebe7;
    text-decoration: none;
}
.crcg-journal-feature__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}
.crcg-journal-feature__media:hover .crcg-journal-feature__image {
    transform: scale(1.025);
}

@media (max-width: 980px) {
    .crcg-brand { max-width: 190px; min-width: 170px; }
    .crcg-brand__logo { width: 180px; max-height: 52px; }
    .crcg-hero__grid {
        grid-template-columns: 1fr 360px;
        gap: 34px;
    }
    .crcg-hero h1 { font-size: clamp(38px, 5.2vw, 54px); }
    .crcg-journal-feature { grid-template-columns: 120px 260px 1fr; gap: 28px; }
}

@media (max-width: 760px) {
    .crcg-brand__logo { filter:none; width: 165px; max-height: 46px; }
    .crcg-header--transparent .crcg-brand__logo { filter: brightness(0) invert(1); }
    .crcg-hero {
        min-height: 0;
        background: #17253f;
    }
    .crcg-hero__grid {
        min-height: 0;
        padding-top: calc(var(--crcg-header-h) + 54px);
        padding-bottom: 72px;
        grid-template-columns: 1fr;
        gap: 42px;
    }
    .crcg-hero h1 {
        font-size: clamp(35px, 9.5vw, 48px);
        line-height: 1.06;
    }
    .crcg-hero__lead { font-size: 20px; }
    .crcg-hero__visual {
        min-height: 0;
        width: min(100%, 440px);
        margin-inline: auto;
    }
    .crcg-hero__visual img {
        height: auto;
        max-height: none;
        object-fit: contain;
    }
    .crcg-project-grid { gap: 16px; }
    .crcg-project-card {
        padding: 32px 28px;
        border: 1px solid rgba(255,255,255,.18);
    }
    .crcg-journal-feature {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .crcg-journal-feature__meta {
        flex-direction: row;
        justify-content: space-between;
    }
    .crcg-journal-feature__media {
        width: min(100%, 360px);
    }
}


/* === CRCG 1.0.5 — requested homepage refinements === */
.crcg-path-card {
    min-height: 350px;
    padding: 34px;
}
.crcg-path-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    margin: 0 0 30px;
    border: 1px solid rgba(27,42,71,.10);
    border-radius: 16px;
    background: var(--crcg-paper);
    color: var(--crcg-ink);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.crcg-path-icon img {
    display: block;
    width: 30px;
    height: 30px;
    object-fit: contain;
    opacity: .88;
}
.crcg-path-card:hover .crcg-path-icon {
    transform: translateY(-2px);
    border-color: rgba(217,125,74,.38);
    background: #fff8f3;
}
.crcg-brand--footer {
    display: inline-flex;
    width: auto;
    max-width: 270px;
    min-width: 0;
    margin-bottom: 22px;
}
.crcg-brand--footer .crcg-brand__logo {
    width: 250px;
    max-width: 100%;
    height: auto;
    max-height: 150px;
    object-fit: contain;
    object-position: left center;
    filter: brightness(0) invert(1);
    opacity: .94;
}
@media (max-width: 760px) {
    .crcg-path-icon { margin-bottom: 24px; }
    .crcg-brand--footer .crcg-brand__logo {
        width: 220px;
        max-height: 135px;
        filter: brightness(0) invert(1);
    }
}

/* === CRCG 1.0.6 — mobile/header, original hero, journal and icon refinements === */

/* The legacy translation widget is being retired. Hide it immediately even before
   the plugin is deactivated in wp-admin. */
.gtranslate_wrapper,
.gt_float_switcher,
#gt_float_wrapper,
#google_translate_element,
#google_translate_element2,
select.gtranslate_selector,
select.gtranslate_select,
.gtranslate_selector {
    display: none !important;
}

/* Compact symbol-only brand supplied by the client. */
.crcg-brand {
    min-width: 58px !important;
    max-width: 64px !important;
    width: 58px;
    flex: 0 0 58px;
}
.crcg-brand__logo,
.crcg-header--transparent .crcg-brand__logo {
    display: block;
    width: 56px !important;
    height: 54px !important;
    max-width: 56px !important;
    max-height: 54px !important;
    object-fit: contain;
    object-position: left center;
    filter: none !important;
}
.crcg-brand--footer {
    width: 86px !important;
    max-width: 86px !important;
    min-width: 0 !important;
    flex-basis: auto;
}
.crcg-brand--footer .crcg-brand__logo {
    width: 82px !important;
    height: 76px !important;
    max-width: 82px !important;
    max-height: 76px !important;
    filter: none !important;
    opacity: 1;
}

/* Neutralise parent/global button styles on the custom header controls. */
.crcg-icon-button,
.crcg-menu-toggle,
.crcg-icon-button:hover,
.crcg-menu-toggle:hover,
.crcg-icon-button:focus,
.crcg-menu-toggle:focus {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Homepage: use the site's original 1200x243 panorama as the full first-screen background. */
.crcg-hero {
    min-height: 100svh !important;
    display: flex;
    align-items: center;
    background-color: #17253f !important;
    background-image:
        linear-gradient(90deg, rgba(12, 23, 43, .94) 0%, rgba(16, 29, 51, .86) 40%, rgba(18, 31, 53, .60) 70%, rgba(18, 31, 53, .42) 100%),
        linear-gradient(0deg, rgba(10, 20, 38, .56), rgba(10, 20, 38, .12)),
        var(--crcg-hero-image) !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
    overflow: hidden;
}
.crcg-hero::after {
    background: linear-gradient(180deg, rgba(6, 15, 30, .18), rgba(6, 15, 30, .04) 55%, rgba(6, 15, 30, .28)) !important;
}
.crcg-hero__grid {
    min-height: 100svh !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: center !important;
    padding-top: calc(var(--crcg-header-h) + 70px) !important;
    padding-bottom: 90px !important;
}
.crcg-hero__content {
    max-width: 790px;
    padding: 0 !important;
    position: relative;
    z-index: 2;
}
.crcg-hero h1 {
    max-width: 780px !important;
    color: #fff !important;
    text-shadow: 0 2px 28px rgba(5, 12, 26, .34);
}
.crcg-hero__lead {
    max-width: 700px !important;
    color: rgba(255,255,255,.96) !important;
    text-shadow: 0 2px 20px rgba(5, 12, 26, .26);
}
.crcg-hero__caption {
    display: block !important;
    position: absolute;
    z-index: 2;
    right: max(24px, calc((100vw - min(1180px, calc(100vw - 56px))) / 2));
    bottom: 24px;
    max-width: 360px;
    margin: 0;
    padding: 7px 10px;
    color: rgba(255,255,255,.88);
    background: rgba(10, 20, 38, .34);
    backdrop-filter: blur(6px);
    font: italic 12px/1.35 var(--crcg-serif);
    letter-spacing: .01em;
}

/* Key project icons: client SVGs can later replace these files one-for-one. */
.crcg-project-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 0 28px;
    border: 1px solid rgba(240, 177, 142, .34);
    border-radius: 15px;
    background: rgba(255,255,255,.055);
    transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.crcg-project-icon img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
}
.crcg-project-card:hover .crcg-project-icon {
    transform: translateY(-3px);
    border-color: rgba(240, 177, 142, .72);
    background: rgba(255,255,255,.10);
}

/* Three recent journal entries instead of one isolated teaser. */
.crcg-journal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 30px;
}
.crcg-journal-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--crcg-line);
    box-shadow: 0 10px 32px rgba(27, 42, 71, .055);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.crcg-journal-card:hover {
    transform: translateY(-4px);
    border-color: rgba(27, 42, 71, .20);
    box-shadow: 0 18px 40px rgba(27, 42, 71, .10);
}
.crcg-journal-card__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #eeece6;
}
.crcg-journal-card__media .crcg-journal-feature__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}
.crcg-journal-card:hover .crcg-journal-feature__image {
    transform: scale(1.025);
}
.crcg-journal-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 24px;
}
.crcg-journal-card time {
    color: var(--crcg-muted);
    font: 600 11px/1.4 var(--crcg-sans);
    letter-spacing: .04em;
}
.crcg-journal-card h3 {
    margin: 12px 0 12px;
    font: 600 22px/1.22 var(--crcg-sans);
    letter-spacing: -.022em;
}
.crcg-journal-card h3 a {
    color: var(--crcg-ink);
    text-decoration: none;
}
.crcg-journal-card p {
    margin: 0 0 22px;
    color: var(--crcg-muted);
    font-size: 16px;
    line-height: 1.55;
}
.crcg-journal-card .crcg-text-link {
    margin-top: auto;
}
.crcg-journal-all {
    margin-top: 28px;
}

/* Scientific capital icons requested in the brief. */
.crcg-capital-card {
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 20px !important;
}
.crcg-capital-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    flex: 0 0 54px;
    border: 1px solid rgba(27, 42, 71, .10);
    border-radius: 50%;
    background: #fff;
    font-size: 25px;
    line-height: 1;
}

/* Inner pages: prevent the dark mobile strip and keep page titles on the white canvas. */
body:not(.crcg-front-page) #content.site-content,
body:not(.crcg-front-page) .crcg-content-shell,
body:not(.crcg-front-page) #content > .ast-container,
body:not(.crcg-front-page) .crcg-content-container,
body:not(.crcg-front-page) .site-main,
body:not(.crcg-front-page) .site-main > article,
body:not(.crcg-front-page) .entry-header {
    background: #fff !important;
}
body:not(.crcg-front-page) .crcg-content-shell::before,
body:not(.crcg-front-page) .crcg-content-shell::after,
body:not(.crcg-front-page) .crcg-content-container::before,
body:not(.crcg-front-page) .crcg-content-container::after {
    display: none !important;
}

@media (max-width: 980px) {
    .crcg-journal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    :root { --crcg-header-h: 72px; }

    .crcg-brand {
        width: 52px !important;
        flex-basis: 52px;
        min-width: 52px !important;
        max-width: 52px !important;
    }
    .crcg-brand__logo,
    .crcg-header--transparent .crcg-brand__logo {
        width: 50px !important;
        height: 48px !important;
        max-width: 50px !important;
        max-height: 48px !important;
        filter: none !important;
    }
    .crcg-header__inner {
        min-height: var(--crcg-header-h);
        gap: 8px;
    }
    .crcg-header__actions {
        margin-left: auto;
        gap: 2px;
    }
    .crcg-icon-button,
    .crcg-menu-toggle {
        width: 42px;
        height: 42px;
        color: var(--crcg-ink) !important;
    }
    .crcg-header--transparent .crcg-icon-button,
    .crcg-header--transparent .crcg-menu-toggle {
        color: #fff !important;
    }

    body:not(.crcg-front-page) .crcg-content-container {
        padding: 34px 20px 56px !important;
    }
    body:not(.crcg-front-page) .entry-header {
        margin: 0 0 28px !important;
        padding: 0 !important;
        min-height: 0 !important;
        border: 0 !important;
    }
    body:not(.crcg-front-page) .entry-title {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .crcg-hero {
        min-height: 100svh !important;
        background-position: 54% center !important;
        background-image:
            linear-gradient(90deg, rgba(11, 23, 43, .94) 0%, rgba(13, 26, 48, .88) 58%, rgba(14, 27, 49, .68) 100%),
            linear-gradient(0deg, rgba(9, 18, 35, .46), rgba(9, 18, 35, .18)),
            var(--crcg-hero-image) !important;
    }
    .crcg-hero__grid {
        min-height: 100svh !important;
        padding-top: calc(var(--crcg-header-h) + 70px) !important;
        padding-bottom: 100px !important;
        gap: 0 !important;
    }
    .crcg-hero__content {
        max-width: 100%;
    }
    .crcg-hero h1 {
        font-size: clamp(34px, 9vw, 44px) !important;
        line-height: 1.05 !important;
    }
    .crcg-hero__lead {
        font-size: 19px !important;
        line-height: 1.4 !important;
    }
    .crcg-hero__caption {
        right: 16px;
        bottom: 18px;
        max-width: calc(100% - 32px);
        font-size: 11px;
    }

    .crcg-project-icon {
        width: 54px;
        height: 54px;
        margin-bottom: 24px;
    }
    .crcg-project-icon img {
        width: 31px;
        height: 31px;
    }

    .crcg-journal-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .crcg-journal-card__body {
        padding: 22px;
    }
    .crcg-journal-card h3 {
        font-size: 21px;
    }

    .crcg-capital-card {
        grid-template-columns: auto minmax(0, 1fr) !important;
        padding: 26px 22px !important;
    }
    .crcg-capital-icon {
        width: 48px;
        height: 48px;
        font-size: 22px;
    }

    /* Keep the original Catch Plugins To Top control, but make it a clear floating
       mobile longread control. The plugin still decides when it appears. */
    #to_top_scrollup {
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        right: 16px !important;
        bottom: 18px !important;
        border-radius: 50% !important;
        background: #1b2a47 !important;
        color: #fff !important;
        opacity: .9 !important;
        line-height: 44px !important;
        box-shadow: 0 8px 24px rgba(18, 31, 53, .25) !important;
    }
    #to_top_scrollup::before {
        line-height: 44px !important;
    }

    .crcg-brand--footer {
        width: 76px !important;
        max-width: 76px !important;
    }
    .crcg-brand--footer .crcg-brand__logo {
        width: 72px !important;
        height: 67px !important;
        max-width: 72px !important;
        max-height: 67px !important;
    }
}

/* Preserve the full footer identity while the compact symbol is used in the header. */
.crcg-brand--footer {
    display: inline-flex !important;
    width: auto !important;
    max-width: 270px !important;
    min-width: 0 !important;
    flex-basis: auto !important;
    margin-bottom: 22px;
}
.crcg-brand--footer .crcg-brand__logo,
.crcg-brand--footer .crcg-brand__logo--footer {
    width: 250px !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 150px !important;
    object-fit: contain;
    object-position: left center;
    filter: brightness(0) invert(1) !important;
    opacity: .94;
}
@media (max-width: 760px) {
    .crcg-brand--footer {
        width: auto !important;
        max-width: 230px !important;
    }
    .crcg-brand--footer .crcg-brand__logo,
    .crcg-brand--footer .crcg-brand__logo--footer {
        width: 220px !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 135px !important;
        filter: brightness(0) invert(1) !important;
    }
}

@media (max-width: 1160px) {
    .crcg-header:not(.menu-open) .crcg-nav {
        display: none !important;
    }
    .crcg-header.menu-open .crcg-nav {
        display: block !important;
        background: #1b2a47 !important;
        color: #fff !important;
    }
    .crcg-header.menu-open .crcg-menu > li > a,
    .crcg-header.menu-open .crcg-menu .sub-menu a {
        color: #fff !important;
    }
}

/* === CRCG 1.0.7 — approved panorama, scientific-capital SVGs, mobile longread to-top === */

/* The exact client-supplied 1200×243 panorama is the hero background. */
.crcg-front-page .crcg-hero {
    min-height: 100svh !important;
    background-image:
        linear-gradient(90deg, rgba(9, 21, 42, .93) 0%, rgba(12, 27, 51, .86) 38%, rgba(14, 30, 53, .58) 68%, rgba(14, 30, 53, .34) 100%),
        linear-gradient(0deg, rgba(8, 18, 36, .34), rgba(8, 18, 36, .08)),
        var(--crcg-hero-image) !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}
.crcg-front-page .crcg-hero__content {
    max-width: 760px !important;
}
.crcg-front-page .crcg-hero h1,
.crcg-front-page .crcg-hero__lead,
.crcg-front-page .crcg-hero__actions {
    position: relative;
    z-index: 3;
}

/* Scientific-capital icons: calm outline style instead of platform-dependent emoji. */
.crcg-capital-icon {
    overflow: hidden;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 8px 24px rgba(27, 42, 71, .07);
}
.crcg-capital-icon img {
    display: block;
    width: 29px;
    height: 29px;
    object-fit: contain;
}
.crcg-capital-card {
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.crcg-capital-card:hover {
    transform: translateY(-3px);
    border-color: rgba(27, 42, 71, .17);
    box-shadow: 0 16px 38px rgba(27, 42, 71, .08);
}

/* Theme fallback: appears only on mobile longreads when the original To Top plugin
   does not render its own #to_top_scrollup control. */
.crcg-mobile-to-top {
    display: none;
}
@media (max-width: 760px) {
    body.crcg-longread .crcg-mobile-to-top:not([hidden]) {
        position: fixed;
        z-index: 9995;
        right: 16px;
        bottom: calc(18px + env(safe-area-inset-bottom));
        display: grid;
        place-items: center;
        width: 46px;
        height: 46px;
        padding: 0;
        border: 1px solid rgba(255,255,255,.24);
        border-radius: 50%;
        background: rgba(27, 42, 71, .94);
        color: #fff;
        box-shadow: 0 10px 28px rgba(18, 31, 53, .26);
        cursor: pointer;
        opacity: 0;
        transform: translateY(10px);
        pointer-events: none;
        transition: opacity .2s ease, transform .2s ease, background .2s ease;
    }
    body.crcg-longread .crcg-mobile-to-top.is-visible:not([hidden]) {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
    .crcg-mobile-to-top svg {
        width: 24px;
        height: 24px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .crcg-mobile-to-top:hover,
    .crcg-mobile-to-top:focus-visible {
        background: #d97d4a;
    }

    /* The original plugin button remains the preferred control when present. */
    body.crcg-longread #to_top_scrollup {
        right: 16px !important;
        bottom: calc(18px + env(safe-area-inset-bottom)) !important;
    }

    .crcg-front-page .crcg-hero {
        background-position: 52% center !important;
        background-size: cover !important;
    }
}


/* === CRCG 1.0.8 — responsive hero picture/srcset === */
/* The hero now uses <picture> rather than a CSS background so the browser can
   request the crop prepared for the current viewport instead of downloading
   one oversized image on every device. */
.crcg-front-page .crcg-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #17253f !important;
}

.crcg-front-page .crcg-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
    pointer-events: none;
}

.crcg-front-page .crcg-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

/* Dark blue readability layer above the photograph. */
.crcg-front-page .crcg-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(9, 21, 42, .93) 0%, rgba(12, 27, 51, .86) 38%, rgba(14, 30, 53, .58) 68%, rgba(14, 30, 53, .34) 100%),
        linear-gradient(0deg, rgba(8, 18, 36, .34), rgba(8, 18, 36, .08));
}

.crcg-front-page .crcg-hero::after {
    z-index: 1 !important;
    pointer-events: none;
}

.crcg-front-page .crcg-hero__grid {
    position: relative;
    z-index: 2;
}

.crcg-front-page .crcg-hero__caption,
.crcg-front-page .crcg-scroll-cue {
    z-index: 2;
}

.crcg-front-page .crcg-hero__caption {
    position: absolute;
}

@media (max-width: 767px) {
    .crcg-front-page .crcg-hero__media img {
        object-position: center top;
    }

    .crcg-front-page .crcg-hero::before {
        background:
            linear-gradient(180deg, rgba(9, 21, 42, .74) 0%, rgba(11, 24, 46, .76) 48%, rgba(12, 26, 48, .66) 100%),
            linear-gradient(90deg, rgba(9, 21, 42, .54), rgba(9, 21, 42, .22));
    }
}


/* CRCG 1.0.11: Footer menus are now editable via Appearance -> Menus. */
.crcg-footer__projects-grid,
.crcg-footer__nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.crcg-footer__projects-grid > li,
.crcg-footer__nav-list > li {
    margin: 0;
    padding: 0;
    min-width: 0;
}
.crcg-footer__projects-grid > li > a {
    width: 100%;
}
.crcg-footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.crcg-footer__projects-grid a:focus-visible,
.crcg-footer__nav-list a:focus-visible {
    outline: 2px solid #d97d4a;
    outline-offset: 3px;
}
