:root {
    --cg-brand-700: #0849a2;
    --cg-brand-500: #0849a2;
    --cg-brand-100: #d6e9fe;
    --cg-blue: #0849a2;
    --cg-sky: #f7fbff;
    --cg-white: #ffffff;
    --cg-ink: #111111;
    --cg-ink-soft: rgba(17, 17, 17, 0.72);
    --cg-border: rgba(8, 73, 162, 0.12);
    --cg-border-strong: rgba(8, 73, 162, 0.2);
    --cg-shadow: 0 18px 48px rgba(8, 73, 162, 0.12);
    --cg-shadow-strong: 0 24px 64px rgba(8, 73, 162, 0.16);
    --cg-radius-xl: 0px;
    --cg-radius-lg: 0px;
    --cg-radius-md: 0px;
    --cg-radius-sm: 0px;
    --cg-max-width: 1360px;
    --cg-brand-gradient: linear-gradient(135deg, #ffffff 0%, var(--cg-brand-100) 64%, var(--cg-brand-700) 100%);
    --cg-brand-gradient-soft: linear-gradient(135deg, rgba(214, 233, 254, 0.92) 0%, rgba(255, 255, 255, 0.98) 100%);
    --cg-brand-gradient-strong: linear-gradient(135deg, #ffffff 0%, var(--cg-brand-100) 58%, var(--cg-brand-700) 100%);
    --cg-brand-gradient-overlay: linear-gradient(118deg, rgba(214, 233, 254, 0.94) 0%, rgba(214, 233, 254, 0.74) 56%, rgba(8, 73, 162, 0.16) 100%);
    --cg-font-body: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --cg-font-display: "Archivo Black", "Arial Black", sans-serif;
    --cg-font-heading: "Archivo Black", "Arial Black", sans-serif;
}

/* Cyclic event page v1 */
.cyclic-event-page {
    --cyclic-blue: #0849a2;
    --cyclic-ink: #071827;
    --cyclic-muted: #5c6b78;
    --cyclic-line: rgba(8, 73, 162, 0.14);
    --cyclic-soft: #edf6fb;
    --cyclic-green: #0f8f70;
    background: #f7fbff;
    color: var(--cyclic-ink);
    overflow: clip;
}

.cyclic-hero {
    position: relative;
    min-height: clamp(460px, 68svh, 700px);
    isolation: isolate;
    display: grid;
    align-items: stretch;
    background:
        linear-gradient(96deg, rgba(4, 23, 39, 0.88) 0%, rgba(4, 35, 68, 0.68) 43%, rgba(5, 83, 104, 0.34) 100%),
        var(--cyclic-hero-image, linear-gradient(135deg, #0849a2, #0f8f70));
    background-size: cover;
    background-position: center;
}

.cyclic-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 34%;
    z-index: -1;
    background: linear-gradient(180deg, rgba(247, 251, 255, 0), #f7fbff);
}

.cyclic-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 25rem);
    gap: clamp(1.4rem, 4vw, 4.5rem);
    align-items: end;
    width: 100%;
    padding-top: clamp(4rem, 9vw, 7rem);
    padding-bottom: clamp(3.2rem, 8vw, 6rem);
}

.cyclic-hero__copy {
    max-width: 58rem;
    color: #fff;
}

.cyclic-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.48rem;
    margin: 0 0 0.82rem;
    color: #dff5ff;
    font-family: var(--font-ui, inherit);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.cyclic-hero h1 {
    max-width: 11.5ch;
    margin: 0;
    font-size: clamp(3rem, 8.2vw, 7.3rem);
    line-height: 0.88;
    letter-spacing: 0;
}

.cyclic-hero__lead {
    max-width: 45rem;
    margin-top: clamp(1rem, 2vw, 1.35rem);
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(1.02rem, 1.55vw, 1.28rem);
    line-height: 1.55;
}

.cyclic-hero__lead p {
    margin: 0;
}

.cyclic-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.35rem;
}

.cyclic-button,
.cyclic-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    border-radius: 0;
    padding: 0.78rem 1rem;
    font-family: var(--font-ui, inherit);
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.cyclic-button:hover,
.cyclic-link:hover {
    transform: translateY(-2px);
}

.cyclic-button--primary,
.cyclic-button--dark {
    background: #fff;
    color: var(--cyclic-blue);
}

.cyclic-button--dark {
    background: var(--cyclic-ink);
    color: #fff;
}

.cyclic-button--light,
.cyclic-link {
    border: 1px solid rgba(255, 255, 255, 0.42);
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.cyclic-link {
    border-color: var(--cyclic-line);
    background: #fff;
    color: var(--cyclic-blue);
}

.cyclic-hero__panel {
    align-self: end;
    display: grid;
    gap: 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 0;
    padding: 1rem;
    color: #fff;
    background: rgba(5, 18, 31, 0.52);
    backdrop-filter: blur(14px);
}

.cyclic-hero__edition {
    display: grid;
    gap: 0.2rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.cyclic-hero__edition span,
.cyclic-hero__meta dt,
.cyclic-hero__event-link span {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.cyclic-hero__edition strong {
    font-size: 1.8rem;
    line-height: 1;
}

.cyclic-hero__meta {
    display: grid;
    gap: 0.58rem;
    margin: 0;
}

.cyclic-hero__meta div {
    display: grid;
    gap: 0.18rem;
}

.cyclic-hero__meta dt,
.cyclic-hero__meta dd {
    margin: 0;
}

.cyclic-hero__meta dd {
    font-weight: 800;
}

.cyclic-hero__event-link {
    display: grid;
    gap: 0.24rem;
    border-radius: 0;
    padding: 0.78rem;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    text-decoration: none;
}

/* Business directory v1 */
.cg-business-page {
    --business-ink: #071827;
    --business-muted: #5d6c78;
    --business-blue: #0849a2;
    --business-green: #0f7f6a;
    --business-soft: #eff7fb;
    --business-line: rgba(8, 73, 162, 0.14);
    background: #f7fbff;
    color: var(--business-ink);
}

.cg-business-hero {
    background:
        linear-gradient(94deg, rgba(4, 22, 38, 0.9), rgba(3, 44, 75, 0.7)),
        url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=80");
    background-position: center;
    background-size: cover;
    color: #fff;
}

.cg-business-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2rem;
    align-items: end;
    min-height: clamp(25rem, 50svh, 36rem);
    padding-top: 5rem;
    padding-bottom: 3.5rem;
}

.cg-business-hero__copy {
    max-width: 48rem;
}

.cg-business-eyebrow {
    margin: 0 0 0.75rem;
    color: #dff5ff;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.cg-business-hero h1,
.cg-business-section-head h2,
.cg-business-single-hero h1 {
    margin: 0;
    letter-spacing: 0;
    line-height: 0.96;
}

.cg-business-hero h1 {
    max-width: 20ch;
    font-size: 4.9rem;
}

.cg-business-hero p {
    max-width: 42rem;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 1.12rem;
    line-height: 1.6;
}

.cg-business-hero__actions,
.cg-business-cta-row,
.cg-business-single-hero__actions,
.cg-business-submit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.cg-business-button,
.cg-business-filters button,
.cg-business-submit-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    border: 0;
    border-radius: 0;
    padding: 0.8rem 1.05rem;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.cg-business-button--primary,
.cg-business-filters button,
.cg-business-submit-actions button {
    background: #fff;
    color: var(--business-blue);
}

.cg-business-button--light {
    border: 1px solid rgba(255, 255, 255, 0.42);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.cg-business-search,
.cg-business-results,
.cg-business-monetization,
.cg-business-editorial,
.cg-business-submit-intro,
.cg-business-submit-body {
    padding: 3.5rem 0;
}

.cg-business-search {
    background: #fff;
}

.cg-business-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 14rem 14rem auto;
    gap: 0.75rem;
    align-items: end;
    border: 1px solid var(--business-line);
    border-radius: 0;
    padding: 1rem;
    background: #fff;
}

.cg-business-filters label,
.cg-business-submit-form label {
    display: grid;
    gap: 0.42rem;
}

.cg-business-filters span,
.cg-business-submit-form span {
    color: var(--business-muted);
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.cg-business-submit__hint {
    color: var(--business-muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.cg-business-filters input,
.cg-business-filters select,
.cg-business-submit-form input,
.cg-business-submit-form select,
.cg-business-submit-form textarea {
    width: 100%;
    border: 1px solid var(--business-line);
    border-radius: 0;
    padding: 0.85rem 0.9rem;
    color: var(--business-ink);
    background: #fff;
    font: inherit;
}

.cg-business-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1rem;
}

.cg-business-chips a {
    border: 1px solid var(--business-line);
    border-radius: 0;
    padding: 0.62rem 0.78rem;
    background: #f8fcff;
    color: var(--business-blue);
    font-weight: 800;
    text-decoration: none;
}

.cg-business-chips a.is-active {
    background: var(--business-blue);
    color: #fff;
}

.cg-business-section-head {
    display: grid;
    gap: 0.7rem;
    max-width: 48rem;
    margin-bottom: 1.8rem;
}

.cg-business-section-head h2 {
    font-size: 3rem;
}

.cg-business-section-head p {
    margin: 0;
    color: var(--business-muted);
    line-height: 1.62;
}

.cg-business-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.cg-business-card,
.cg-business-package,
.cg-business-panel,
.cg-business-contact-box,
.cg-business-submit-panel,
.cg-business-submit-side,
.cg-business-empty,
.cg-business-notice {
    border: 1px solid var(--business-line);
    border-radius: 0;
    background: #fff;
}

.cg-business-card {
    overflow: hidden;
}

.cg-business-card.is-partner {
    border-color: rgba(15, 127, 106, 0.42);
    box-shadow: 0 18px 48px rgba(15, 127, 106, 0.13);
}

.cg-business-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--business-soft);
}

.cg-business-card__media img,
.cg-business-single-hero__media img,
.cg-business-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cg-business-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background: linear-gradient(135deg, #eaf5fb, #f8fcff);
    color: var(--business-blue);
    font-weight: 900;
}

.cg-business-card__package {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    border-radius: 0;
    padding: 0.42rem 0.56rem;
    background: #fff;
    color: var(--business-blue);
    font-size: 0.76rem;
    font-weight: 900;
}

.cg-business-card__body {
    display: grid;
    gap: 0.62rem;
    padding: 1rem;
}

.cg-business-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.cg-business-card__meta span {
    border-radius: 0;
    padding: 0.35rem 0.48rem;
    background: var(--business-soft);
    color: var(--business-blue);
    font-size: 0.75rem;
    font-weight: 850;
}

.cg-business-card h2,
.cg-business-card p,
.cg-business-package h3,
.cg-business-package p {
    margin: 0;
}

.cg-business-card h2 {
    font-size: 1.22rem;
    line-height: 1.16;
}

.cg-business-card h2 a {
    color: inherit;
    text-decoration: none;
}

.cg-business-card p {
    color: var(--business-muted);
    line-height: 1.5;
}

.cg-business-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.cg-business-card__actions a,
.cg-business-pagination a,
.cg-business-pagination span {
    border: 1px solid var(--business-line);
    border-radius: 0;
    padding: 0.55rem 0.66rem;
    color: var(--business-blue);
    font-weight: 850;
    text-decoration: none;
}

.cg-business-monetization {
    background: #fff;
}

.cg-business-packages {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.cg-business-package {
    display: grid;
    align-content: start;
    gap: 0.75rem;
    padding: 1.05rem;
}

.cg-business-package span {
    color: var(--business-green);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.cg-business-package strong {
    color: var(--business-blue);
    font-size: 1.45rem;
}

.cg-business-package small {
    color: var(--business-muted);
    font-weight: 800;
}

.cg-business-package ul,
.cg-business-submit-side ul {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cg-business-package li,
.cg-business-submit-side li {
    color: var(--business-muted);
    line-height: 1.45;
}

.cg-business-cta-row {
    margin-top: 1rem;
}

.cg-business-monetization .cg-business-button--primary,
.cg-business-results .cg-business-button--primary,
.cg-business-submit-body .cg-business-button--primary,
.cg-business-submit-actions button {
    background: var(--business-blue);
    color: #fff;
}

.cg-business-monetization .cg-business-button--light,
.cg-business-submit-body .cg-business-button--light {
    border-color: var(--business-line);
    background: #fff;
    color: var(--business-blue);
}

.cg-business-editorial__grid,
.cg-business-single-hero__grid,
.cg-business-single__grid,
.cg-business-submit-body__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr);
    gap: 2rem;
}

.cg-business-editorial__copy {
    color: var(--business-muted);
    font-size: 1.04rem;
    line-height: 1.7;
}

.cg-business-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 1.3rem;
}

.cg-business-empty,
.cg-business-notice {
    padding: 1.2rem;
}

.cg-business-single-hero {
    padding: 3rem 0;
    background: #fff;
}

.cg-business-single-hero h1 {
    margin-top: 0.8rem;
    font-size: 4rem;
}

.cg-business-single-hero p {
    max-width: 42rem;
    color: var(--business-muted);
    font-size: 1.08rem;
    line-height: 1.6;
}

.cg-business-back {
    color: var(--business-blue);
    font-weight: 850;
    text-decoration: none;
}

.cg-business-single-hero__media {
    overflow: hidden;
    min-height: 24rem;
    border-radius: 0;
    background: var(--business-soft);
}

.cg-business-single__grid {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
    align-items: start;
    padding: 2rem 0 4rem;
}

.cg-business-single__main,
.cg-business-single__side {
    display: grid;
    gap: 1rem;
}

.cg-business-panel,
.cg-business-contact-box,
.cg-business-submit-panel,
.cg-business-submit-side {
    padding: 1.1rem;
}

.cg-business-panel h2,
.cg-business-contact-box h2,
.cg-business-submit-side h2 {
    margin: 0 0 0.85rem;
    font-size: 1.5rem;
}

.cg-business-content {
    color: #213241;
    line-height: 1.72;
}

.cg-business-services {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.cg-business-services article,
.cg-business-faq details {
    border: 1px solid var(--business-line);
    border-radius: 0;
    padding: 0.9rem;
    background: #f9fdff;
}

.cg-business-services h3,
.cg-business-services p {
    margin: 0;
}

.cg-business-services p,
.cg-business-faq div,
.cg-business-contact-box p {
    color: var(--business-muted);
    line-height: 1.55;
}

.cg-business-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
}

.cg-business-gallery figure {
    overflow: hidden;
    aspect-ratio: 1;
    margin: 0;
    border-radius: 0;
}

.cg-business-contact-box p {
    display: grid;
    gap: 0.2rem;
    margin: 0 0 0.8rem;
}

.cg-business-contact-box a {
    color: var(--business-blue);
    font-weight: 850;
}

.cg-business-hours p {
    margin: 0.3rem 0 0;
}

.cg-business-map {
    overflow: hidden;
    border-radius: 0;
}

.cg-business-map iframe {
    width: 100%;
    min-height: 18rem;
    border: 0;
}

.cg-business-submit-body__grid {
    grid-template-columns: minmax(16rem, 0.35fr) minmax(0, 1fr);
    align-items: start;
}

.cg-business-submit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.cg-business-submit-grid__full,
.cg-business-consent,
.cg-business-anti-spam {
    grid-column: 1 / -1;
}

.cg-business-consent {
    display: flex !important;
    align-items: flex-start;
    gap: 0.65rem;
}

.cg-business-consent input {
    width: auto;
    margin-top: 0.2rem;
}

.cg-business-consent a {
    color: var(--business-blue);
    font-weight: 850;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}

.cg-business-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.cg-business-submit-actions {
    align-items: center;
    margin-top: 1rem;
}

.cg-business-submit-actions a {
    color: var(--business-blue);
    font-weight: 850;
}

@media (max-width: 980px) {
    .cg-business-hero__inner,
    .cg-business-filters,
    .cg-business-grid,
    .cg-business-packages,
    .cg-business-editorial__grid,
    .cg-business-single-hero__grid,
    .cg-business-single__grid,
    .cg-business-submit-body__grid {
        grid-template-columns: 1fr;
    }

    .cg-business-hero h1,
    .cg-business-single-hero h1 {
        font-size: 3.4rem;
    }

    .cg-business-hero__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .cg-business-hero__inner {
        min-height: auto;
        padding-top: 3rem;
        padding-bottom: 2.4rem;
    }

    .cg-business-hero h1,
    .cg-business-single-hero h1 {
        font-size: 2.7rem;
    }

    .cg-business-search,
    .cg-business-results,
    .cg-business-monetization,
    .cg-business-editorial,
    .cg-business-submit-intro,
    .cg-business-submit-body {
        padding: 2.2rem 0;
    }

    .cg-business-services,
    .cg-business-submit-grid {
        grid-template-columns: 1fr;
    }

    .cg-business-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cg-business-hero__actions,
    .cg-business-cta-row,
    .cg-business-single-hero__actions,
    .cg-business-submit-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-body);
    background: linear-gradient(180deg, #fcfeff 0%, #f5faff 56%, #edf5ff 100%);
}

img {
    display: block;
    width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.site-shell {
    width: min(calc(100% - 2rem), var(--cg-max-width));
    margin: 0 auto;
}

.site-main {
    padding-bottom: 4rem;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.94);
    border-bottom: 1px solid rgba(8, 73, 162, 0.08);
    backdrop-filter: blur(16px);
    transition: box-shadow 180ms ease, background 180ms ease;
}

body.admin-bar .site-header {
    top: 32px;
}

.site-header::before {
    content: "";
    position: absolute;
    inset: auto -20% 0;
    height: 3px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, var(--cg-brand-100), var(--cg-brand-700), #e72b4d, var(--cg-brand-100), transparent);
    background-size: 240% 100%;
    opacity: 0.88;
    animation: header-gradient-flow 14s linear infinite;
}

.site-header.is-scrolled {
    box-shadow: 0 14px 34px rgba(17, 40, 79, 0.08);
    background: rgba(255, 255, 255, 0.98);
}

.site-topbar {
    background: var(--cg-ink);
    color: rgba(255, 255, 255, 0.88);
}

.site-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 42px;
}

.site-topbar__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.topbar-chip {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 0.72rem;
    border-radius: 0;
    background: rgba(214, 233, 254, 0.38);
    border: 1px solid rgba(8, 73, 162, 0.1);
    font-size: 0.8rem;
    line-height: 1;
    transition: background 180ms ease, color 180ms ease;
}

.topbar-chip--strong {
    background: var(--cg-ink);
    border-color: var(--cg-ink);
    color: var(--cg-white);
}

.topbar-chip--link:hover {
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

.site-header__masthead {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(1.5rem, 4vw, 4rem);
    min-height: 148px;
    padding: 1rem 0 1.1rem;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    width: min(100%, 620px);
    transform-origin: 18% 50%;
    transition: transform 700ms cubic-bezier(0.2, 0.82, 0.2, 1), filter 220ms ease;
}

.site-brand:hover {
    transform: rotate(360deg) scale(1.01);
    filter: drop-shadow(0 12px 22px rgba(8, 73, 162, 0.16));
}

.site-brand--image {
    flex-direction: column;
    align-items: flex-start;
}

.site-brand--text {
    display: inline-grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
}

.site-brand--text .site-brand__tagline {
    grid-column: 2;
}

.site-brand__image {
    width: min(100%, 560px);
    max-height: 118px;
    object-fit: contain;
    object-position: left center;
}

.site-brand__symbol {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 104px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: linear-gradient(145deg, var(--cg-brand-700), var(--cg-brand-500));
    color: var(--cg-white);
    font-weight: 900;
    font-size: 2rem;
    box-shadow: 0 18px 34px rgba(8, 73, 162, 0.2);
}

.site-brand__title,
.opening-note__title,
.section-heading h2,
.site-footer__title,
.seo-block h2,
.image-cta h2,
.post-card__title,
.event-card__title {
    font-family: var(--cg-font-display);
}

.site-brand__title {
    max-width: 8ch;
    font-size: 3.6rem;
    font-weight: 800;
    line-height: 0.92;
}

.site-brand__tagline,
.site-footer__lead,
.section-description,
.post-card__excerpt,
.opening-note__text,
.site-footer__copy,
.footer-social__label,
.social-float__label,
.city-bulletin__item span,
.city-bulletin__item a,
.event-card__meta {
    color: var(--cg-ink-soft);
}

.site-header__control-room {
    position: relative;
    z-index: 0;
    display: grid;
    gap: 0.82rem;
    min-width: 0;
}

.site-header__control-room::before {
    content: "";
    position: absolute;
    inset: -0.75rem -0.75rem -0.9rem;
    z-index: -1;
    border-radius: 0;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.9), rgba(214, 233, 254, 0.3));
    border: 1px solid rgba(8, 73, 162, 0.08);
}

.site-header__utility,
.site-header__meta {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.site-header__utility {
    justify-content: space-between;
}

.site-header__meta {
    flex-wrap: wrap;
}

.site-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.header-button,
.header-search-toggle,
.header-nav-toggle,
.section-button,
.section-link,
.search-form__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 1.05rem;
    border-radius: 0;
    border: 1px solid transparent;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, background-position 220ms ease, color 180ms ease, border-color 180ms ease;
}

.header-button,
.section-button,
.search-form__button {
    border-color: var(--cg-brand-700);
    background-color: var(--cg-brand-700);
    background-image: linear-gradient(90deg, var(--cg-white) 0 50%, var(--cg-brand-700) 50% 100%);
    background-size: 220% 100%;
    background-position: 100% 0;
    color: var(--cg-white);
    box-shadow: 0 10px 22px rgba(8, 73, 162, 0.22);
}

.header-button--ghost,
.header-search-toggle,
.header-nav-toggle,
.section-link {
    border-color: var(--cg-border);
    background-color: rgba(255, 255, 255, 0.92);
    background-image: linear-gradient(90deg, var(--cg-brand-700) 0 50%, rgba(255, 255, 255, 0.92) 50% 100%);
    background-size: 220% 100%;
    background-position: 100% 0;
    color: var(--cg-brand-700);
    box-shadow: none;
}

.header-button:hover,
.header-search-toggle:hover,
.header-nav-toggle:hover,
.section-button:hover,
.section-link:hover,
.search-form__button:hover {
    transform: translateY(1px);
    background-position: 0 0;
    box-shadow: 0 12px 28px rgba(8, 73, 162, 0.18);
}

.header-button:hover,
.section-button:hover,
.search-form__button:hover {
    color: var(--cg-brand-700);
}

.header-button--ghost:hover,
.header-search-toggle:hover,
.header-nav-toggle:hover,
.section-link:hover {
    color: var(--cg-white);
    border-color: var(--cg-brand-700);
}

.header-nav-toggle {
    display: none;
}

.site-header__navigation {
    position: relative;
    z-index: 0;
    padding-top: 0.25rem;
}

.site-header__navigation::before {
    content: "";
    position: absolute;
    inset: -0.1rem -0.45rem -0.2rem;
    z-index: -1;
    border-radius: 0;
    background: linear-gradient(100deg, transparent, rgba(214, 233, 254, 0.78), rgba(8, 73, 162, 0.1), rgba(231, 43, 77, 0.1), transparent);
    background-size: 220% 100%;
    opacity: 0.72;
    animation: header-gradient-flow 18s linear infinite;
}

.site-nav__list,
.site-footer__menu {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.9rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-nav__list a,
.site-footer__menu a {
    font-weight: 700;
    transition: color 180ms ease;
}

.site-nav__list a {
    position: relative;
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 0 0.22rem 0.32rem;
}

.site-nav__list a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    border-radius: 999px;
    background: rgba(8, 73, 162, 0.2);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 180ms ease;
}

.site-nav__list a:hover,
.site-nav__list .current-menu-item > a,
.site-nav__list .current-menu-parent > a,
.site-footer__menu a:hover {
    color: var(--cg-brand-700);
}

.site-nav__list a:hover::after,
.site-nav__list .current-menu-item > a::after,
.site-nav__list .current-menu-parent > a::after {
    transform: scaleX(1);
}

.site-channel-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0;
}

.site-nav + .site-channel-strip {
    margin-top: 0.55rem;
}

.site-channel {
    --cg-accent: var(--cg-brand-700);
    --cg-accent-soft: rgba(8, 73, 162, 0.12);
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 40px;
    padding: 0 0.86rem 0 0.72rem;
    border-radius: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), var(--cg-accent-soft));
    border: 1px solid var(--cg-border);
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--cg-ink);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.site-channel:hover {
    transform: translateY(-1px);
    border-color: rgba(8, 73, 162, 0.2);
    box-shadow: 0 10px 20px rgba(8, 73, 162, 0.1);
}

.site-channel__icon,
.section-kicker__icon,
.post-card__badge-icon,
.briefing-item__tag-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    color: var(--cg-accent);
}

.site-channel--brand,
.section-kicker--brand,
.post-card__badge--brand,
.briefing-item--brand {
    --cg-accent: var(--cg-brand-700);
    --cg-accent-soft: rgba(8, 73, 162, 0.12);
}

.site-channel--news,
.section-kicker--news,
.post-card__badge--news,
.briefing-item--news {
    --cg-accent: var(--cg-brand-700);
    --cg-accent-soft: rgba(8, 73, 162, 0.12);
}

.site-channel--events,
.section-kicker--events,
.post-card__badge--events,
.briefing-item--events,
.event-card__label {
    --cg-accent: #d25b00;
    --cg-accent-soft: rgba(210, 91, 0, 0.12);
}

.site-channel--city,
.section-kicker--city,
.post-card__badge--city,
.briefing-item--city {
    --cg-accent: #245a83;
    --cg-accent-soft: rgba(36, 90, 131, 0.12);
}

.site-channel--history,
.section-kicker--history,
.post-card__badge--history,
.briefing-item--history {
    --cg-accent: #815824;
    --cg-accent-soft: rgba(129, 88, 36, 0.12);
}

.site-channel--guide,
.section-kicker--guide,
.post-card__badge--guide,
.briefing-item--guide {
    --cg-accent: #278f7d;
    --cg-accent-soft: rgba(39, 143, 125, 0.12);
}

.site-channel--sport,
.section-kicker--sport,
.post-card__badge--sport,
.briefing-item--sport {
    --cg-accent: #287838;
    --cg-accent-soft: rgba(40, 120, 56, 0.12);
}

.site-channel--attractions,
.section-kicker--attractions,
.post-card__badge--attractions,
.briefing-item--attractions {
    --cg-accent: #bb5b00;
    --cg-accent-soft: rgba(187, 91, 0, 0.12);
}

.site-channel--jobs,
.section-kicker--jobs,
.post-card__badge--jobs,
.briefing-item--jobs {
    --cg-accent: #8b42b8;
    --cg-accent-soft: rgba(139, 66, 184, 0.12);
}

.site-channel--classifieds,
.section-kicker--classifieds,
.post-card__badge--classifieds,
.briefing-item--classifieds {
    --cg-accent: #e72b4d;
    --cg-accent-soft: rgba(231, 43, 77, 0.12);
}

.header-search,
.site-header__search {
    border-top: 1px solid rgba(8, 73, 162, 0.08);
}

.site-header__search {
    border-top: 0;
}

.search-form__row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
}

.search-form__input {
    min-height: 54px;
    border: 1px solid var(--cg-border);
    border-radius: 0;
    padding: 0 1.15rem;
    background: rgba(255, 255, 255, 0.92);
    font: inherit;
}

.home-opening {
    padding: clamp(1.6rem, 3vw, 2.4rem) 0 1rem;
}

.opening-note {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 1.5rem;
    align-items: end;
    margin-bottom: 1.35rem;
}

.section-eyebrow,
.site-footer__eyebrow {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--cg-brand-700);
}

.opening-note__title {
    margin: 0.2rem 0 0;
    max-width: 14ch;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1;
    letter-spacing: -0.05em;
}

.opening-note__text {
    font-size: 1rem;
    line-height: 1.7;
}

.opening-note__text p {
    margin: 0;
}

.home-opening__grid,
.featured-list,
.image-cta,
.site-footer__inner {
    display: grid;
    gap: 1.25rem;
}

.home-opening__grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.9fr);
    align-items: start;
}

.home-opening__rail,
.home-opening__secondary,
.briefing-list,
.featured-list__stack,
.headline-list {
    display: grid;
    gap: 1rem;
}

.post-card,
.briefing-panel,
.city-bulletin,
.home-section,
.event-card,
.image-cta,
.ad-slot,
.seo-block,
.site-footer,
.social-float {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(8, 73, 162, 0.08);
    box-shadow: var(--cg-shadow);
}

.post-card {
    display: grid;
    gap: 0;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.post-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--cg-shadow-strong);
    border-color: rgba(8, 73, 162, 0.16);
}

.post-card__media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(8, 73, 162, 0.14), rgba(8, 73, 162, 0.2));
}

.post-card__media img {
    height: 100%;
    object-fit: cover;
    transition: transform 260ms ease;
}

.post-card:hover .post-card__media img {
    transform: scale(1.04);
}

.post-card__media--empty,
.image-cta__fallback {
    display: grid;
    place-items: center;
}

.post-card__placeholder,
.image-cta__fallback {
    padding: 1.5rem;
    font-size: clamp(1.25rem, 2vw, 1.8rem);
    font-weight: 800;
    text-align: center;
    color: rgba(17, 40, 79, 0.72);
}

.post-card__body {
    display: grid;
    gap: 0.45rem;
    padding: 1rem;
}

.post-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    width: fit-content;
    padding: 0.36rem 0.72rem 0.36rem 0.58rem;
    border-radius: 999px;
    background: var(--cg-accent-soft);
    color: var(--cg-accent);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.post-card--lead .post-card__badge {
    position: absolute;
    left: 1rem;
    top: 1rem;
    z-index: 1;
    background: rgba(255, 255, 255, 0.94);
}

.post-card__date {
    display: inline-block;
    font-size: 0.82rem;
    color: var(--cg-ink-soft);
}

.post-card__title {
    margin: 0;
    font-size: clamp(1.12rem, 1.02rem + 0.2vw, 1.34rem);
    line-height: 1.2;
    letter-spacing: -0.03em;
}

.post-card--lead .post-card__title,
.featured-list__lead .post-card__title {
    font-size: clamp(1.95rem, 2.6vw, 2.7rem);
    line-height: 1;
}

.post-card__excerpt {
    margin: 0;
    font-size: 0.96rem;
    line-height: 1.65;
}

.post-card--secondary .post-card__title {
    font-size: 1.26rem;
}

.post-card--headline {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 0;
    padding: 0;
    border-radius: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
}

.post-card--headline:hover {
    transform: none;
    box-shadow: none;
    border-color: transparent;
}

.post-card--headline .post-card__media {
    aspect-ratio: 4 / 3;
    border-radius: 0;
}

.post-card--headline .post-card__body {
    padding: 0.2rem 0 0.2rem 0.95rem;
}

.post-card--headline .post-card__title {
    font-size: 1.02rem;
    line-height: 1.35;
}

.briefing-panel,
.city-bulletin,
.seo-block {
    padding: 1rem;
}

.briefing-item {
    --cg-accent: var(--cg-brand-700);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.85rem;
    align-items: start;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(8, 73, 162, 0.1);
}

.briefing-list > :first-child {
    padding-top: 0;
    border-top: 0;
}

.briefing-item__index {
    min-width: 2.15rem;
    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1;
    color: var(--cg-accent);
}

.briefing-item__body {
    display: grid;
    gap: 0.32rem;
}

.briefing-item__tag {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    width: fit-content;
    color: var(--cg-accent);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.briefing-item__title {
    font-weight: 700;
    line-height: 1.4;
}

.city-bulletin__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.city-bulletin__item {
    display: grid;
    gap: 0.32rem;
    padding: 0.9rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.04);
}

.city-bulletin__label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--cg-brand-700);
}

.city-bulletin__item strong {
    font-size: 1rem;
    line-height: 1.35;
}

.home-section {
    width: min(calc(100% - 2rem), var(--cg-max-width));
    margin: 1.15rem auto 0;
    padding: 1.15rem 0;
    background: rgba(255, 255, 255, 0.82);
}

.section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
    margin-bottom: 1rem;
    padding-bottom: 0.95rem;
    border-bottom: 1px solid rgba(8, 73, 162, 0.08);
}

.section-heading--compact {
    margin-bottom: 0.8rem;
    padding-bottom: 0.8rem;
}

.section-heading__copy {
    display: grid;
    gap: 0.45rem;
}

.section-kicker {
    --cg-accent: var(--cg-brand-700);
    --cg-accent-soft: rgba(8, 73, 162, 0.12);
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    width: fit-content;
    padding: 0.34rem 0.76rem 0.34rem 0.58rem;
    border-radius: 0;
    background: var(--cg-accent-soft);
    color: var(--cg-accent);
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.section-heading h2,
.site-footer__title,
.seo-block h2,
.image-cta h2 {
    margin: 0;
    font-size: clamp(1.75rem, 2vw, 2.35rem);
    line-height: 1;
    letter-spacing: -0.05em;
}

.section-description {
    max-width: 72ch;
    font-size: 0.98rem;
    line-height: 1.7;
}

.section-description p {
    margin: 0;
}

.featured-list {
    grid-template-columns: minmax(0, 1.14fr) minmax(290px, 0.86fr);
}

.featured-list__stack .post-card--headline,
.headline-list .post-card--headline {
    padding: 0.95rem 0;
    border-top: 1px solid rgba(8, 73, 162, 0.1);
}

.featured-list__stack > :first-child,
.headline-list > :first-child {
    padding-top: 0;
    border-top: 0;
}

.compact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.events-slider {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.event-card {
    min-height: 220px;
    padding: 1.15rem;
}

.event-card__label {
    display: inline-flex;
    margin-bottom: 0.95rem;
    padding: 0.36rem 0.72rem;
    border-radius: 999px;
    background: var(--cg-accent-soft);
    color: var(--cg-accent);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.event-card__title {
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.25;
}

.event-card__meta {
    display: grid;
    gap: 0.2rem;
    margin-top: 1rem;
}

.image-cta {
    grid-template-columns: minmax(0, 0.92fr) minmax(320px, 0.88fr);
    padding: 1.15rem;
}

.image-cta__content {
    display: grid;
    align-content: center;
    gap: 0.95rem;
    padding: 0.35rem 0;
}

.image-cta__visual {
    min-height: 300px;
    border-radius: 0;
    overflow: hidden;
    background: rgba(8, 73, 162, 0.08);
}

.image-cta__visual img {
    height: 100%;
    object-fit: cover;
}

.ad-slot {
    padding: 1rem;
}

.ad-slot__label {
    display: inline-flex;
    margin-bottom: 0.85rem;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cg-brand-700);
}

.ad-slot__placeholder {
    display: grid;
    gap: 0.35rem;
    min-height: 150px;
    place-content: center;
    text-align: center;
    border: 1px dashed rgba(8, 73, 162, 0.24);
    border-radius: 0;
    background: rgba(214, 233, 254, 0.22);
    color: var(--cg-ink-soft);
}

.seo-block__content {
    max-width: 72ch;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--cg-ink-soft);
}

.seo-block__content p:last-child {
    margin-bottom: 0;
}

.social-float {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 30;
    display: grid;
    gap: 0.16rem;
    min-width: 190px;
    padding: 0.75rem 0.95rem;
}

.social-float__value,
.footer-social__value {
    font-size: 1rem;
}

.site-footer {
    margin-top: 1rem;
    padding: 2rem 0;
    background: rgba(255, 255, 255, 0.84);
}

.site-footer__inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: start;
}

.site-footer__title {
    margin: 0.25rem 0 0.45rem;
    font-size: clamp(1.7rem, 2vw, 2.3rem);
    letter-spacing: -0.05em;
}

.footer-social {
    display: grid;
    gap: 0.2rem;
    padding: 0.9rem 1rem;
    border-radius: 0;
    background: rgba(214, 233, 254, 0.32);
}

[data-reveal] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 320ms ease, transform 320ms ease;
}

[data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes header-gradient-flow {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 240% 50%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header::before,
    .site-header__navigation::before {
        animation: none;
    }

    .site-brand,
    .header-button,
    .header-search-toggle,
    .header-nav-toggle,
    .section-button,
    .section-link,
    .search-form__button {
        transition: none;
    }

    .site-brand:hover {
        transform: none;
    }
}

@media (max-width: 1180px) {
    .opening-note,
    .home-opening__grid,
    .featured-list,
    .image-cta,
    .site-footer__inner {
        grid-template-columns: 1fr;
    }

    .compact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 960px) {
    .site-header__masthead {
        grid-template-columns: 1fr;
        align-items: start;
        min-height: 0;
    }

    .site-header__masthead {
        padding: 0.9rem 0;
    }

    .site-brand {
        width: min(100%, 480px);
    }

    .site-brand:hover {
        transform: none;
    }

    .site-brand__image {
        max-height: 92px;
    }

    .site-brand__title {
        font-size: 2.8rem;
    }

    .site-header__utility {
        display: grid;
        gap: 0.75rem;
    }

    .site-header__actions {
        justify-content: flex-start;
    }

    .header-nav-toggle {
        display: inline-flex;
    }

    .site-header__navigation[hidden] {
        display: none;
    }

    .site-header__navigation {
        padding-top: 0.5rem;
    }

    .site-nav__list {
        display: grid;
        gap: 0;
    }

    .site-nav__list li {
        border-bottom: 1px solid rgba(8, 73, 162, 0.08);
    }

    .site-nav__list li:last-child {
        border-bottom: 0;
    }

    .site-nav__list a {
        display: block;
        padding: 0.85rem 0;
    }

    .site-nav__list a::after {
        display: none;
    }

    .site-channel-strip {
        margin-top: 0.8rem;
    }

    .social-float {
        position: static;
        width: min(calc(100% - 2rem), var(--cg-max-width));
        margin: 1rem auto 0;
    }
}

@media (max-width: 760px) {
    .site-shell,
    .home-section {
        width: min(calc(100% - 1rem), var(--cg-max-width));
    }

    .header-button,
    .header-search-toggle,
    .header-nav-toggle {
        flex: 1 1 auto;
    }

    .site-brand {
        gap: 0.75rem;
    }

    .site-brand__symbol {
        width: 76px;
        font-size: 1.45rem;
    }

    .site-brand__title {
        font-size: 2.25rem;
    }

    .site-brand__tagline {
        width: 100%;
    }

    .site-header__control-room::before {
        inset: -0.55rem;
    }

    .opening-note__title {
        max-width: none;
        font-size: clamp(1.85rem, 10vw, 2.5rem);
    }

    .search-form__row,
    .city-bulletin__grid,
    .compact-grid {
        grid-template-columns: 1fr;
    }

    .post-card--headline {
        grid-template-columns: 94px minmax(0, 1fr);
    }

    .post-card--headline .post-card__body {
        padding-left: 0.75rem;
    }

    .section-heading {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

/* Header v2 */
:root {
    --cg-font-menu: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.site-header {
    overflow: visible;
    background:
        linear-gradient(105deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.96) 44%, rgba(244, 249, 255, 0.98) 100%);
}

.site-header::before {
    height: 4px;
    background: linear-gradient(90deg, transparent, rgba(214, 233, 254, 0.4), var(--cg-brand-700), rgba(214, 233, 254, 0.72), transparent);
    background-size: 260% 100%;
    animation: header-gradient-flow 10s linear infinite;
}

.site-header__masthead {
    grid-template-columns: minmax(380px, 0.95fr) minmax(560px, 1.05fr);
    align-items: end;
    min-height: 306px;
    padding: 1.35rem 0 1.35rem;
    transition: min-height 220ms ease, padding 220ms ease;
}

.site-header.is-scrolled .site-header__masthead {
    min-height: 132px;
    padding: 0.75rem 0 0.82rem;
}

.site-brand {
    align-self: end;
    width: min(100%, 680px);
    transform: none;
    transform-origin: center;
}

.site-brand:hover {
    transform: none;
    filter: none;
}

.site-brand--image {
    align-items: flex-start;
    gap: 0.72rem;
}

.site-brand__image {
    width: min(34vw, 360px);
    max-height: 360px;
    transform-origin: center;
    transition: transform 760ms cubic-bezier(0.2, 0.82, 0.2, 1), filter 220ms ease;
}

.site-brand:hover .site-brand__image {
    transform: rotate(360deg);
    filter: drop-shadow(0 20px 34px rgba(8, 73, 162, 0.2));
}

.site-header.is-scrolled .site-brand__image {
    width: 96px;
    max-height: 96px;
}

.site-brand__tagline {
    width: auto;
    margin-left: 0.2rem;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.98rem;
    font-weight: 700;
    letter-spacing: 0;
}

.site-header.is-scrolled .site-brand__tagline {
    font-size: 0.86rem;
}

.site-header__control-room {
    align-self: end;
    gap: 0.74rem;
}

.site-header__control-room::before {
    inset: -1rem -1rem -1.05rem;
    border: 0;
    background:
        linear-gradient(110deg, transparent 0%, rgba(214, 233, 254, 0.55) 35%, rgba(255, 255, 255, 0.7) 52%, rgba(8, 73, 162, 0.08) 64%, transparent 100%);
    background-size: 230% 100%;
    opacity: 0.82;
    animation: header-gradient-flow 16s linear infinite;
}

.site-header__utility {
    justify-content: flex-end;
}

.site-header__actions {
    gap: 0.58rem;
}

.header-button,
.header-nav-toggle,
.search-form__button {
    font-family: var(--cg-font-menu);
    letter-spacing: 0;
}

.header-button {
    position: relative;
    overflow: hidden;
    min-height: 46px;
    background: var(--cg-brand-700);
    color: var(--cg-white);
    box-shadow: 0 10px 22px rgba(8, 73, 162, 0.18);
}

.header-button--ghost {
    background: rgba(255, 255, 255, 0.9);
    color: var(--cg-brand-700);
    border-color: rgba(8, 73, 162, 0.16);
    box-shadow: none;
}

.site-nav > ul > li > a::before {
    content: "";
    position: absolute;
    inset: -20% auto -20% -45%;
    width: 42%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.78), transparent);
    transform: skewX(-18deg) translateX(-120%);
    pointer-events: none;
}

.site-nav > ul > li > a:hover::before,
.site-nav > ul > li:focus-within > a::before {
    animation: nav-shine 760ms ease;
}

.site-header__search {
    position: relative;
}

.search-form__row {
    gap: 0.6rem;
}

.search-form__input {
    min-height: 52px;
    border-color: rgba(8, 73, 162, 0.16);
    font-family: var(--cg-font-menu);
    font-size: 0.98rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.site-header__navigation {
    padding-top: 0;
}

.site-header__navigation::before {
    inset: -0.45rem -0.55rem;
    background: linear-gradient(100deg, transparent, rgba(214, 233, 254, 0.62), rgba(255, 255, 255, 0.9), rgba(214, 233, 254, 0.55), transparent);
    background-size: 240% 100%;
    opacity: 0.74;
    animation: header-gradient-flow 13s linear infinite;
}

.site-channel-strip {
    display: none;
}

.site-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-nav > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem 0.55rem;
}

.site-nav li {
    position: relative;
}

.site-nav > ul > li > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 42px;
    padding: 0 0.92rem;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.13);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.76);
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 0.94rem;
    font-weight: 700;
    letter-spacing: 0;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.site-nav > ul > li > a::after {
    left: 0.72rem;
    right: 0.72rem;
    bottom: 0.38rem;
    height: 2px;
    background: linear-gradient(90deg, var(--cg-brand-700), var(--cg-brand-100));
}

.site-nav > ul > li:hover > a,
.site-nav > ul > li:focus-within > a,
.site-nav > ul > .current-menu-item > a,
.site-nav > ul > .current-menu-parent > a {
    transform: translateY(-1px);
    border-color: rgba(8, 73, 162, 0.3);
    background: rgba(214, 233, 254, 0.36);
    color: var(--cg-brand-700);
    box-shadow: 0 12px 24px rgba(8, 73, 162, 0.12);
}

.site-nav .sub-menu {
    position: absolute;
    top: calc(100% + 0.48rem);
    right: 0;
    z-index: 30;
    min-width: 230px;
    padding: 0.45rem;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 20px 46px rgba(17, 40, 79, 0.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.site-nav li:hover > .sub-menu,
.site-nav li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.site-nav .sub-menu a {
    display: flex;
    min-height: 40px;
    align-items: center;
    padding: 0 0.75rem;
    border-radius: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 0.9rem;
    font-weight: 600;
}

.site-nav .sub-menu a:hover,
.site-nav .sub-menu a:focus-visible {
    background: rgba(214, 233, 254, 0.46);
    color: var(--cg-brand-700);
}

.site-nav .sub-menu a::after {
    display: none;
}

.site-nav__chevron {
    width: 0.42rem;
    height: 0.42rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-1px) rotate(45deg);
    transition: transform 160ms ease;
}

.site-nav li:hover > a .site-nav__chevron,
.site-nav li:focus-within > a .site-nav__chevron {
    transform: translateY(1px) rotate(225deg);
}

@keyframes nav-shine {
    0% {
        transform: skewX(-18deg) translateX(-120%);
    }

    100% {
        transform: skewX(-18deg) translateX(430%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header__control-room::before,
    .header-button:hover::before,
    .site-nav > ul > li > a:hover::before,
    .site-nav > ul > li:focus-within > a::before {
        animation: none;
    }

    .site-brand__image,
    .site-header__masthead {
        transition: none;
    }

    .site-brand:hover .site-brand__image {
        transform: none;
    }
}

@media (max-width: 1100px) {
    .site-header__masthead {
        grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1fr);
        min-height: 240px;
    }

    .site-brand__image {
        width: 230px;
        max-height: 230px;
    }
}

@media (max-width: 960px) {
    .site-header__masthead {
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 1rem;
    }

    .site-brand,
    .site-header__control-room {
        align-self: stretch;
    }

    .site-brand__image,
    .site-header.is-scrolled .site-brand__image {
        width: 154px;
        max-height: 154px;
    }

    .site-brand__tagline,
    .site-header.is-scrolled .site-brand__tagline {
        font-size: 0.9rem;
    }

    .site-header__actions {
        justify-content: flex-start;
    }

    .site-nav > ul {
        display: grid;
        justify-content: stretch;
        gap: 0.2rem;
    }

    .site-nav > ul > li > a {
        display: flex;
        justify-content: space-between;
        width: 100%;
        min-height: 44px;
    }

    .site-nav li {
        border-bottom: 0;
    }

    .site-nav .sub-menu {
        position: static;
        min-width: 0;
        margin: 0.15rem 0 0.35rem;
        padding: 0.35rem;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        background: rgba(214, 233, 254, 0.24);
    }
}

@media (max-width: 760px) {
    .site-header__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .header-button,
    .header-nav-toggle {
        width: 100%;
    }
}

/* Header v3 */
.site-brand {
    justify-self: center;
    text-align: center;
}

.site-brand--image {
    align-items: center;
}

.site-brand__image {
    object-position: center center;
}

.site-brand__tagline {
    margin-left: 0;
    text-align: center;
}

.site-header__utility {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto;
    align-items: center;
    gap: 0.72rem;
}

.site-header__actions {
    flex-wrap: nowrap;
}

.site-header__search {
    min-width: 0;
}

.site-header__search .search-form {
    width: 100%;
}

.site-header__search .search-form__input {
    min-height: 48px;
}

.site-header__search .search-form__button {
    min-height: 48px;
}

.site-header__navigation {
    padding-top: 0.08rem;
}

.site-nav > ul {
    justify-content: flex-end;
    align-items: center;
    gap: 0.45rem;
}

.site-nav > ul > li > a {
    min-height: 39px;
    padding: 0 0.78rem;
    font-size: 0.9rem;
}

.site-nav .sub-menu {
    text-align: left;
}

@media (max-width: 1180px) {
    .site-header__utility {
        grid-template-columns: 1fr;
    }

    .site-header__actions {
        justify-content: flex-end;
    }
}

@media (max-width: 960px) {
    .site-brand {
        justify-self: start;
        text-align: left;
    }

    .site-brand--image {
        align-items: flex-start;
    }

    .site-brand__tagline {
        text-align: left;
    }

    .site-header__actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/* Header v4 */
.site-header {
    --cg-header-navy: #0849a2;
    --cg-header-navy-strong: #0849a2;
    --cg-header-navy-glow: #0849a2;
    overflow: visible;
    background: rgba(255, 255, 255, 0.98);
}

.site-header::before {
    display: none;
}

.site-header__top {
    position: relative;
    z-index: 4;
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid rgba(8, 73, 162, 0.08);
}

.site-header__top-inner {
    display: grid;
    grid-template-columns: minmax(300px, 0.48fr) minmax(0, 0.52fr);
    align-items: center;
    min-height: 68px;
    padding: 0.65rem 0;
}

.site-header__top-tools {
    grid-column: 2;
    display: grid;
    grid-template-columns: minmax(300px, 1fr) auto;
    align-items: center;
    gap: 0.7rem;
}

.site-header__top .site-header__search {
    min-width: 0;
}

.site-header__top .search-form,
.site-header__top .search-form__row {
    width: 100%;
}

.site-header__top .search-form__row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.55rem;
}

.site-header__top .search-form__input,
.site-header__top .search-form__button,
.site-header__top .header-button {
    min-height: 44px;
}

.site-header__top .search-form__input {
    background: rgba(255, 255, 255, 0.98);
}

.site-header__top .header-button {
    min-width: 118px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--cg-brand-700);
    border-color: rgba(8, 73, 162, 0.18);
    box-shadow: none;
}

.site-header__top .header-button:hover {
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

.site-header__masthead {
    display: grid;
    grid-template-columns: minmax(300px, 0.48fr) minmax(0, 0.52fr);
    align-items: center;
    min-height: 204px;
    padding: 1rem 0 1.2rem;
    gap: clamp(1rem, 3vw, 3rem);
}

.site-header.is-scrolled .site-header__masthead {
    min-height: 98px;
    padding: 0.6rem 0 0.7rem;
}

.site-brand {
    grid-column: 1;
    justify-self: center;
    align-self: center;
    width: min(100%, 390px);
}

.site-brand--image {
    align-items: center;
}

.site-brand__image {
    width: min(27vw, 230px);
    max-height: 230px;
    object-position: center center;
}

.site-header.is-scrolled .site-brand__image {
    width: 86px;
    max-height: 86px;
}

.site-header__belt {
    position: relative;
    z-index: 5;
    overflow: visible;
    background: linear-gradient(90deg, var(--cg-header-navy-strong), var(--cg-header-navy), #073070);
    box-shadow: 0 16px 34px rgba(6, 31, 79, 0.18);
}

.site-header__belt::before,
.site-header__belt::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    pointer-events: none;
}

.site-header__belt::before {
    top: 0;
    height: 1px;
    background: rgba(214, 233, 254, 0.35);
}

.site-header__belt::after {
    bottom: 0;
    height: 8px;
    background: linear-gradient(90deg, #02112d, var(--cg-header-navy-glow), #02112d);
    background-size: 220% 100%;
    animation: header-gradient-flow 13s linear infinite;
}

.site-header__belt-inner {
    display: grid;
    grid-template-columns: minmax(300px, 0.48fr) minmax(0, 0.52fr);
    align-items: stretch;
    min-height: 70px;
    padding-bottom: 8px;
}

.site-header__belt .site-brand__tagline {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0.8rem clamp(1rem, 2vw, 1.6rem);
    border-right: 1px solid rgba(214, 233, 254, 0.18);
    color: rgba(255, 255, 255, 0.92);
    font-family: var(--cg-font-menu);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
}

.site-header__belt .site-header__navigation {
    display: flex;
    align-items: stretch;
    min-width: 0;
    padding-top: 0;
}

.site-header__belt .site-header__navigation::before {
    display: none;
}

.site-header__belt .site-nav {
    display: flex;
    width: 100%;
}

.site-header__belt .site-nav > ul {
    display: flex;
    flex-wrap: wrap;
    align-content: stretch;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    gap: 0;
}

.site-header__belt .site-nav > ul > li {
    display: flex;
    border-left: 1px solid rgba(214, 233, 254, 0.15);
}

.site-header__belt .site-nav > ul > li:last-child {
    border-right: 1px solid rgba(214, 233, 254, 0.15);
}

.site-header__belt .site-nav > ul > li > a {
    min-height: 62px;
    padding: 0 clamp(0.74rem, 1vw, 1.08rem);
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.98rem;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: none;
}

.site-header__belt .site-nav > ul > li > a::after {
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: var(--cg-brand-100);
}

.site-header__belt .site-nav > ul > li:hover > a,
.site-header__belt .site-nav > ul > li:focus-within > a,
.site-header__belt .site-nav > ul > .current-menu-item > a,
.site-header__belt .site-nav > ul > .current-menu-parent > a {
    transform: none;
    background: rgba(214, 233, 254, 0.13);
    color: var(--cg-white);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.site-header__belt .site-nav .sub-menu {
    top: 100%;
    right: auto;
    left: 0;
    border-color: rgba(6, 31, 79, 0.14);
}

@media (max-width: 1280px) {
    .site-header__top-inner,
    .site-header__masthead,
    .site-header__belt-inner {
        grid-template-columns: minmax(240px, 0.34fr) minmax(0, 0.66fr);
    }

    .site-brand__image {
        width: 190px;
        max-height: 190px;
    }

    .site-header__belt .site-nav > ul > li > a {
        min-height: 56px;
        padding: 0 0.7rem;
        font-size: 0.88rem;
    }
}

@media (max-width: 960px) {
    .site-header__top-inner,
    .site-header__masthead,
    .site-header__belt-inner {
        grid-template-columns: 1fr;
    }

    .site-header__top-tools {
        grid-column: 1;
        grid-template-columns: 1fr;
    }

    .site-header__actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .site-brand {
        justify-self: center;
        text-align: center;
    }

    .site-brand--image {
        align-items: center;
    }

    .site-brand__image,
    .site-header.is-scrolled .site-brand__image {
        width: 140px;
        max-height: 140px;
    }

    .site-header__belt .site-brand__tagline {
        min-height: 48px;
        border-right: 0;
        border-bottom: 1px solid rgba(214, 233, 254, 0.16);
    }

    .site-header__belt .site-header__navigation[hidden] {
        display: none;
    }

    .site-header__belt .site-nav > ul {
        display: grid;
    }

    .site-header__belt .site-nav > ul > li,
    .site-header__belt .site-nav > ul > li:last-child {
        display: block;
        border-right: 0;
        border-left: 0;
        border-bottom: 1px solid rgba(214, 233, 254, 0.14);
    }

    .site-header__belt .site-nav > ul > li > a {
        justify-content: space-between;
        min-height: 48px;
        width: 100%;
    }

    .site-header__belt .site-nav .sub-menu {
        background: rgba(214, 233, 254, 0.1);
    }
}

/* Header v5 */
.site-header {
    --cg-header-navy: #0849a2;
    --cg-header-navy-strong: #0849a2;
    --cg-header-navy-soft: rgba(8, 73, 162, 0.12);
}

.site-header__masthead {
    min-height: 220px;
}

.site-brand {
    gap: 0.7rem;
}

.site-brand__tagline {
    margin: 0;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
}

.site-header.is-scrolled .site-brand__tagline {
    font-size: 0.86rem;
}

.site-header__belt {
    background: transparent;
    box-shadow: none;
}

.site-header__belt::before,
.site-header__belt::after {
    display: none;
}

.site-header__belt-inner {
    grid-template-columns: minmax(300px, 0.48fr) minmax(0, 0.52fr);
    min-height: 0;
    padding-bottom: 0;
}

.site-header__belt .site-header__navigation {
    grid-column: 2;
    overflow: visible;
    border-radius: 0;
    background: var(--cg-header-navy);
    box-shadow: 0 16px 34px rgba(8, 73, 162, 0.18);
}

.site-header__belt .site-nav {
    position: relative;
    z-index: 20;
}

.site-header__belt .site-nav > ul {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(214, 233, 254, 0.24);
    border-radius: 0;
}

.site-header__belt .site-nav > ul > li,
.site-header__belt .site-nav > ul > li:last-child {
    position: static;
    display: block;
    border: 0;
}

.site-header__belt .site-nav > ul > li > a {
    justify-content: center;
    width: 100%;
    min-height: 54px;
    padding: 0.4rem 0.68rem;
    border-radius: 0;
    background: var(--cg-header-navy);
    color: var(--cg-white);
    font-size: 0.88rem;
    line-height: 1.1;
    text-align: center;
}

.site-header__belt .site-nav > ul > li:first-child > a {
    border-top-left-radius: 7px;
}

.site-header__belt .site-nav > ul > li:nth-child(5) > a {
    border-top-right-radius: 7px;
}

.site-header__belt .site-nav > ul > li:nth-last-child(1) > a {
    border-bottom-right-radius: 7px;
}

.site-header__belt .site-nav > ul > li:nth-child(6) > a {
    border-bottom-left-radius: 7px;
}

.site-header__belt .site-nav > ul > li:hover > a,
.site-header__belt .site-nav > ul > li:focus-within > a,
.site-header__belt .site-nav > ul > .current-menu-item > a,
.site-header__belt .site-nav > ul > .current-menu-parent > a {
    background: #0849a2;
    box-shadow: inset 0 0 0 1px rgba(214, 233, 254, 0.18);
}

.site-header__belt .site-nav .sub-menu {
    top: calc(100% + 0.55rem);
    left: 0;
    right: auto;
    z-index: 1000;
    min-width: 310px;
    border-color: rgba(8, 73, 162, 0.18);
    box-shadow: 0 22px 50px rgba(17, 40, 79, 0.18);
}

.site-header__belt .site-nav .sub-menu::before {
    content: "";
    position: absolute;
    top: -0.55rem;
    left: 0;
    right: 0;
    height: 0.55rem;
}

@media (max-width: 1280px) {
    .site-header__belt .site-nav > ul > li > a {
        min-height: 50px;
        font-size: 0.82rem;
    }
}

@media (max-width: 960px) {
    .site-header__belt .site-header__navigation {
        grid-column: 1;
    }

    .site-header__belt .site-nav > ul {
        grid-template-columns: 1fr;
    }

    .site-header__belt .site-nav > ul > li > a,
    .site-header__belt .site-nav > ul > li:first-child > a,
    .site-header__belt .site-nav > ul > li:nth-child(5) > a,
    .site-header__belt .site-nav > ul > li:nth-last-child(1) > a,
    .site-header__belt .site-nav > ul > li:nth-last-child(5) > a {
        border-radius: 0;
    }

    .site-header__belt .site-nav > ul > li:first-child > a {
        border-top-left-radius: 7px;
        border-top-right-radius: 7px;
    }

    .site-header__belt .site-nav > ul > li:last-child > a {
        border-bottom-right-radius: 7px;
        border-bottom-left-radius: 7px;
    }

    .site-header__belt .site-nav .sub-menu {
        position: static;
        min-width: 0;
        margin: 0;
        border-radius: 0;
        background: rgba(255, 255, 255, 0.96);
    }
}

/* Header v6 */
.site-header__masthead {
    min-height: 244px;
    padding-bottom: 0.75rem;
}

.site-brand {
    width: min(100%, 460px);
}

.site-brand__image {
    width: min(31vw, 280px);
    max-height: 280px;
}

.site-header.is-scrolled .site-brand__image {
    width: 96px;
    max-height: 96px;
}

.site-header__belt-inner {
    grid-template-columns: minmax(270px, 0.34fr) minmax(0, 0.66fr);
    align-items: stretch;
    gap: 1rem;
}

.site-header__belt .site-brand__tagline {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 111px;
    margin: 0;
    padding: 0.8rem 1rem;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 1.02rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25;
    text-align: center;
}

.site-header__belt .site-header__navigation {
    grid-column: 2;
    overflow: visible;
}

.site-header__belt .site-nav,
.site-header__belt .site-nav > ul,
.site-header__belt .site-nav > ul > li {
    overflow: visible;
}

.site-header__belt .site-nav > ul > li,
.site-header__belt .site-nav > ul > li:last-child {
    position: relative;
}

.site-header__belt .site-nav .sub-menu {
    top: calc(100% + 0.24rem);
    left: 0;
    right: auto;
    z-index: 3000;
}

.site-header__belt .site-nav .sub-menu::before {
    top: -0.24rem;
    height: 0.24rem;
}

@media (max-width: 1280px) {
    .site-header__belt-inner {
        grid-template-columns: minmax(220px, 0.28fr) minmax(0, 0.72fr);
        gap: 0.75rem;
    }

    .site-brand__image {
        width: 220px;
        max-height: 220px;
    }
}

@media (max-width: 960px) {
    .site-header__belt-inner {
        grid-template-columns: 1fr;
    }

    .site-header__belt .site-brand__tagline {
        min-height: 44px;
        padding: 0 0 0.6rem;
    }

    .site-header__belt .site-header__navigation {
        grid-column: 1;
    }

    .site-header__belt .site-nav > ul > li,
    .site-header__belt .site-nav > ul > li:last-child,
    .site-header__belt .site-nav .sub-menu {
        position: static;
    }
}

/* Header v7 */
.site-header__top-inner,
.site-header__masthead,
.site-header__belt-inner {
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    padding-left: clamp(1rem, 2vw, 2rem);
    padding-right: clamp(1rem, 2vw, 2rem);
}

.site-header__top-tools {
    grid-column: 2;
    justify-self: end;
    width: min(100%, 760px);
}

.site-header__masthead {
    min-height: 286px;
    padding-top: 1rem;
    padding-bottom: 0.85rem;
}

.site-brand {
    grid-column: 1;
    justify-self: center;
    align-self: center;
    width: min(100%, 560px);
}

.site-brand__image {
    width: min(39vw, 360px);
    max-height: 360px;
}

.site-header.is-scrolled .site-brand__image {
    width: 110px;
    max-height: 110px;
}

.site-header__belt-inner {
    align-items: stretch;
    gap: 0;
}

.site-header__belt .site-brand__tagline {
    grid-column: 1;
    justify-content: center;
    min-height: 111px;
    padding: 0.8rem clamp(1rem, 2vw, 1.6rem);
}

.site-header__belt .site-header__navigation {
    grid-column: 2;
    justify-self: stretch;
    width: 100%;
}

.site-header__belt .site-nav,
.site-header__belt .site-nav > ul {
    width: 100%;
}

@media (max-width: 1280px) {
    .site-header__top-inner,
    .site-header__masthead,
    .site-header__belt-inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .site-brand__image {
        width: min(36vw, 310px);
        max-height: 310px;
    }
}

@media (max-width: 960px) {
    .site-header__top-inner,
    .site-header__masthead,
    .site-header__belt-inner {
        grid-template-columns: 1fr;
        padding-right: clamp(1rem, 2vw, 2rem);
    }

    .site-header__top-tools,
    .site-brand,
    .site-header__belt .site-brand__tagline,
    .site-header__belt .site-header__navigation {
        grid-column: 1;
    }

    .site-brand__image,
    .site-header.is-scrolled .site-brand__image {
        width: 170px;
        max-height: 170px;
    }
}

/* Header v8 */
.site-header__masthead,
.site-header__belt-inner {
    width: 100%;
    max-width: none;
    grid-template-columns: 50% 50%;
    padding-left: 0;
    padding-right: 0;
}

.site-brand {
    justify-self: center;
    width: min(100%, 640px);
}

.site-brand__image {
    width: min(43vw, 420px);
    max-height: 420px;
}

.site-header.is-scrolled .site-brand__image {
    width: 118px;
    max-height: 118px;
}

.site-header__belt .site-brand__tagline {
    justify-content: center;
    width: 100%;
}

.site-header__belt .site-header__navigation {
    width: 100%;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.site-header__belt .site-nav > ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.site-header__belt .site-nav > ul > li,
.site-header__belt .site-nav > ul > li:last-child {
    flex: 1 1 20%;
    min-width: 0;
}

.site-header__belt .site-nav > ul > li > a {
    width: 100%;
}

.site-header__belt .site-nav > ul > li:nth-child(5) > a,
.site-header__belt .site-nav > ul > li:last-child > a {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

@media (max-width: 960px) {
    .site-header__masthead,
    .site-header__belt-inner {
        grid-template-columns: 1fr;
        padding-left: clamp(1rem, 2vw, 2rem);
        padding-right: clamp(1rem, 2vw, 2rem);
    }

    .site-brand__image,
    .site-header.is-scrolled .site-brand__image {
        width: 190px;
        max-height: 190px;
    }
}

/* Header v9 */
.site-header__top {
    max-height: 64px;
    overflow: hidden;
    transition: max-height 220ms ease, opacity 180ms ease, border-color 180ms ease;
}

.site-header__top-inner {
    min-height: 58px;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
    transition: min-height 220ms ease, padding 220ms ease;
}

.site-header__top .search-form__input,
.site-header__top .search-form__button,
.site-header__top .header-button {
    min-height: 40px;
}

.site-header__masthead {
    min-height: clamp(170px, 23vw, 230px);
    padding-top: 0.75rem;
    padding-bottom: 0.45rem;
}

.site-brand {
    width: min(100%, 520px);
}

.site-brand__image {
    width: min(36vw, 330px);
    max-height: 330px;
}

.site-header__belt .site-brand__tagline {
    min-height: 96px;
    font-size: 0.98rem;
}

.site-header__belt .site-nav > ul > li > a {
    min-height: 48px;
    padding-top: 0.28rem;
    padding-bottom: 0.28rem;
    font-size: 0.82rem;
}

.site-header.is-scrolled .site-header__top {
    max-height: 0;
    opacity: 0;
    border-bottom-color: transparent;
}

.site-header.is-scrolled .site-header__top-inner {
    min-height: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.site-header.is-scrolled .site-header__masthead {
    min-height: 54px;
    padding-top: 0.24rem;
    padding-bottom: 0.18rem;
}

.site-header.is-scrolled .site-brand {
    width: min(100%, 180px);
}

.site-header.is-scrolled .site-brand__image {
    width: 46px;
    max-height: 46px;
}

.site-header.is-scrolled .site-header__belt .site-brand__tagline {
    min-height: 40px;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    font-size: 0.76rem;
    line-height: 1.05;
}

.site-header.is-scrolled .site-header__belt .site-nav > ul > li > a {
    min-height: 32px;
    padding: 0.16rem 0.38rem;
    font-size: 0.68rem;
}

.site-header.is-scrolled .site-header__belt .site-nav .sub-menu {
    top: calc(100% + 0.16rem);
}

.site-header.is-scrolled .site-header__belt .site-nav .sub-menu a {
    min-height: 34px;
    font-size: 0.78rem;
}

@media (max-width: 960px) {
    .site-header__top {
        max-height: 190px;
    }

    .site-header__masthead {
        min-height: 152px;
    }

    .site-brand__image,
    .site-header.is-scrolled .site-brand__image {
        width: 132px;
        max-height: 132px;
    }

    .site-header.is-scrolled .site-header__top {
        max-height: 0;
    }

    .site-header.is-scrolled .site-header__masthead {
        min-height: 52px;
    }

    .site-header.is-scrolled .site-brand__image {
        width: 42px;
        max-height: 42px;
    }

    .site-header.is-scrolled .site-header__belt .site-brand__tagline {
        min-height: 34px;
    }
}

/* Header v10 */
.site-header {
    overflow: visible;
}

.site-header__top {
    max-height: 56px;
}

.site-header__top-inner {
    min-height: 50px;
    padding-top: 0.32rem;
    padding-bottom: 0.32rem;
}

.site-header__top .search-form__input,
.site-header__top .search-form__button,
.site-header__top .header-button {
    min-height: 36px;
}

.site-header__top .header-button {
    min-width: 112px;
}

.site-header__masthead {
    min-height: clamp(106px, 13vw, 144px);
    padding-top: 0;
    padding-bottom: 0.18rem;
    align-items: end;
}

.site-brand {
    align-self: end;
    width: min(100%, 380px);
    gap: 0.22rem;
    line-height: 0;
}

.site-brand__image {
    display: block;
    width: min(26vw, 200px);
    max-height: 200px;
}

.site-header__belt-inner {
    min-height: 70px;
}

.site-header__belt .site-brand__tagline {
    min-height: 70px;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-size: 0.92rem;
    line-height: 1.1;
}

.site-header__belt .site-nav > ul > li > a {
    min-height: 35px;
    padding: 0.14rem 0.48rem;
    font-size: 0.72rem;
    line-height: 1.08;
}

.site-header__belt .site-nav > ul {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
}

.site-header__belt .site-nav > ul > li,
.site-header__belt .site-nav > ul > li:last-child {
    display: flex;
    min-width: 0;
}

.site-header.is-scrolled {
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: stretch;
    min-height: 64px;
}

.site-header.is-scrolled .site-header__top {
    grid-column: 1 / -1;
}

.site-header.is-scrolled .site-header__masthead {
    grid-column: 1;
    grid-row: 2;
    z-index: 8;
    justify-self: center;
    width: 116px;
    min-height: 64px;
    height: 64px;
    padding: 0;
    background: transparent;
    pointer-events: none;
}

.site-header.is-scrolled .site-brand {
    justify-self: center;
    align-self: stretch;
    justify-content: center;
    width: min(100%, 120px);
    height: 64px;
    min-height: 64px;
    pointer-events: auto;
}

.site-header.is-scrolled .site-brand__image {
    width: 62px;
    max-height: 62px;
}

.site-header.is-scrolled .site-header__belt {
    grid-column: 1 / -1;
    grid-row: 2;
    z-index: 7;
}

.site-header.is-scrolled .site-header__belt-inner {
    grid-template-columns: 50% 50%;
    min-height: 64px;
    padding-left: 0;
    padding-right: 0;
}

.site-header.is-scrolled .site-header__belt .site-brand__tagline {
    display: flex;
    grid-column: 1;
    min-height: 64px;
    padding: 0 1rem 0 calc(50% + 50px);
    align-items: center;
    justify-content: flex-start;
    border: 0;
    color: var(--cg-brand-700);
    font-size: 0.78rem;
    line-height: 1.05;
    white-space: nowrap;
}

.site-header.is-scrolled .site-header__belt .site-header__navigation {
    grid-column: 2;
    width: 100%;
}

.site-header.is-scrolled .site-header__belt .site-nav > ul > li > a {
    min-height: 32px;
    padding: 0.08rem 0.3rem;
    font-size: 0.62rem;
}

.site-header.is-scrolled .site-header__belt .site-nav .sub-menu {
    top: calc(100% + 0.12rem);
}

.site-header.is-scrolled .site-header__belt .site-nav .sub-menu::before {
    top: -0.12rem;
    height: 0.12rem;
}

.site-header.is-scrolled .site-header__belt .site-nav .sub-menu a {
    min-height: 32px;
    font-size: 0.76rem;
}

@media (max-width: 1280px) {
    .site-header__masthead {
        min-height: 112px;
    }

    .site-brand__image {
        width: 178px;
        max-height: 178px;
    }
}

@media (max-width: 960px) {
    .site-header__top {
        max-height: 178px;
    }

    .site-header__masthead {
        min-height: 118px;
    }

    .site-brand__image,
    .site-header.is-scrolled .site-brand__image {
        width: 120px;
        max-height: 120px;
    }

    .site-header.is-scrolled {
        display: block;
    }

    .site-header.is-scrolled .site-header__masthead {
        height: 42px;
        min-height: 42px;
    }

    .site-header.is-scrolled .site-brand {
        height: 42px;
        min-height: 42px;
    }

    .site-header.is-scrolled .site-brand__image {
        width: 40px;
        max-height: 40px;
    }

    .site-header.is-scrolled .site-header__belt-inner {
        grid-template-columns: 1fr;
    }

    .site-header.is-scrolled .site-header__belt .site-brand__tagline {
        display: none;
    }

    .site-header.is-scrolled .site-header__belt .site-header__navigation {
        grid-column: 1;
    }
}

/* Home spotlight v1 */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.home-spotlight {
    padding: 1rem 0 1.15rem;
}

.home-spotlight__grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.portal-slider,
.daily-card {
    position: relative;
    overflow: hidden;
    min-height: 440px;
    border-radius: 0;
    box-shadow: 0 20px 56px rgba(8, 73, 162, 0.13);
}

.portal-slider {
    border: 0;
    background: var(--cg-brand-gradient-strong);
    color: var(--cg-white);
    box-shadow: 0 20px 52px rgba(8, 73, 162, 0.12);
}

.daily-card {
    border: 1px solid rgba(8, 73, 162, 0.1);
}

.portal-slider__track {
    position: relative;
    min-height: inherit;
}

.portal-slide {
    --portal-slide-image: var(--cg-brand-gradient);
    position: absolute;
    inset: 0;
    display: grid;
    align-items: end;
    min-height: inherit;
    padding: 2rem;
    background-image: var(--portal-slide-image);
    background-position: center;
    background-size: cover;
    opacity: 0;
    visibility: hidden;
    transform: translateX(18px);
    transition: opacity 260ms ease, transform 260ms ease, visibility 260ms ease;
}

.portal-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.12) 48%, transparent 64%);
    background-size: 240% 100%;
    opacity: 0;
    animation: none;
}

.portal-slide--empty {
    background-image: var(--cg-brand-gradient-overlay), var(--cg-brand-gradient);
}

.portal-slide--empty::after {
    opacity: 0.34;
    animation: home-slider-shine 16s linear infinite;
}

.portal-slide.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.portal-slide__content {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 0.72rem;
    max-width: 680px;
}

.portal-slide__eyebrow,
.daily-card__kicker,
.daily-card__row span,
.daily-card__weather span {
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.portal-slide__eyebrow {
    display: inline-flex;
    width: fit-content;
    min-height: 30px;
    align-items: center;
    padding: 0 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.92);
}

.portal-slide__title {
    max-width: min(100%, 27ch);
    margin: 0;
    font-size: 2.78rem;
    line-height: 1.02;
    letter-spacing: 0;
    text-shadow: 0 3px 22px rgba(4, 21, 56, 0.58);
}

.portal-slide__text {
    max-width: 58ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 1.02rem;
    line-height: 1.58;
    text-shadow: 0 2px 16px rgba(4, 21, 56, 0.5);
}

.portal-slide__button,
.portal-slider__arrow,
.portal-slider__dot {
    border-radius: 0;
}

.portal-slide__button {
    display: inline-flex;
    width: fit-content;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    border: 1px solid rgba(8, 73, 162, 0.18);
    background: var(--cg-brand-100);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.9rem;
    font-weight: 800;
    box-shadow: 0 14px 32px rgba(8, 73, 162, 0.14);
    transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.portal-slide__button:hover,
.portal-slide__button:focus-visible {
    transform: translateY(-2px);
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

.cg-ad-badge {
    display: inline-flex;
    width: fit-content;
    min-height: 1.9rem;
    align-items: center;
    justify-content: center;
    padding: 0.28rem 0.62rem;
    border: 1px solid rgba(8, 73, 162, 0.16);
    background: rgba(255, 255, 255, 0.94);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
}

.portal-slide--ad::after {
    opacity: 0.3;
    animation: home-slider-shine 18s linear infinite;
}

.portal-slide__ad-link {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 100%;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 0;
    color: var(--cg-white);
    text-decoration: none;
}

.portal-slide__ad-link::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 24, 59, 0.08) 0%, rgba(5, 24, 59, 0.68) 100%);
}

.portal-slide__ad-link > * {
    position: relative;
}

.portal-slide__ad-badge {
    position: absolute !important;
    top: 0;
    left: 0;
}

.portal-slide__ad-cta {
    display: inline-flex;
    width: fit-content;
    min-height: 2.9rem;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(5, 24, 59, 0.58);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.92rem;
    font-weight: 800;
    box-shadow: 0 18px 36px rgba(4, 21, 56, 0.22);
    backdrop-filter: blur(12px);
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.portal-slide__ad-link:hover .portal-slide__ad-cta,
.portal-slide__ad-link:focus-visible .portal-slide__ad-cta {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(5, 24, 59, 0.74);
}

.portal-slider__controls {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.4rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 0;
    background: rgba(5, 19, 47, 0.54);
    backdrop-filter: blur(14px);
}

.portal-slider__arrow,
.portal-slider__dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    color: var(--cg-white);
    cursor: pointer;
}

.portal-slider__arrow {
    width: 34px;
    height: 34px;
    background: rgba(255, 255, 255, 0.14);
    font: inherit;
}

.portal-slider__arrow:hover,
.portal-slider__arrow:focus-visible {
    background: var(--cg-white);
    color: var(--cg-brand-700);
}

.portal-slider__dots {
    display: flex;
    align-items: center;
    gap: 0.32rem;
}

.portal-slider__dot {
    width: 0.6rem;
    height: 0.6rem;
    padding: 0;
    background: rgba(255, 255, 255, 0.42);
}

.portal-slider__dot.is-active {
    width: 1.75rem;
    background: var(--cg-white);
}

.daily-card {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    align-content: stretch;
    gap: clamp(0.7rem, 1vw, 0.94rem);
    padding: 1.1rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 249, 255, 0.98) 100%);
}

.daily-card::before {
    content: none;
    display: none;
}

.daily-card__header {
    display: grid;
    gap: 0.5rem;
    padding-top: 0;
}

.daily-card__kicker,
.daily-card__row span,
.daily-card__weather span {
    color: var(--cg-brand-700);
}

.daily-card__date {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.82rem;
    align-items: center;
}

.daily-card__day {
    display: inline-grid;
    width: 4.8rem;
    height: 4.8rem;
    place-items: center;
    border-radius: 0;
    background: var(--cg-brand-700);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1;
}

.daily-card__date-copy {
    display: grid;
    gap: 0.12rem;
}

.daily-card__date-copy strong {
    font-size: 1.45rem;
    line-height: 1.08;
    text-transform: capitalize;
}

.daily-card__date-copy span {
    color: var(--cg-ink-soft);
    font-weight: 700;
}

.daily-card__weather {
    display: grid;
    gap: 0.28rem;
    padding: 0.92rem;
    border-radius: 0;
    background: linear-gradient(135deg, var(--cg-brand-700) 0%, var(--cg-brand-500) 100%);
    color: var(--cg-white);
}

.daily-card__weather span,
.daily-card__weather em {
    color: rgba(255, 255, 255, 0.8);
}

.daily-card__weather strong {
    font-size: 1.35rem;
    line-height: 1.18;
}

.daily-card__weather em {
    font-style: normal;
    font-weight: 700;
}

.daily-card__rows {
    display: flex;
    min-height: 0;
    flex-direction: column;
}

.daily-card__row,
.daily-card__quote {
    margin: 0;
    padding: 0.72rem 0;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
}

.daily-card__row {
    display: grid;
    gap: 0.22rem;
}

.daily-card__row strong {
    font-size: 1.02rem;
    line-height: 1.32;
}

.daily-card__row--link:hover strong,
.daily-card__row--link:focus-visible strong {
    color: var(--cg-brand-500);
}

.daily-card__quote {
    display: grid;
    gap: 0.32rem;
}

.daily-card__quote p {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.38;
}

.daily-card__quote cite {
    color: var(--cg-ink-soft);
    font-style: normal;
    font-weight: 700;
}

@keyframes home-slider-shine {
    0% {
        background-position: 180% 0;
    }

    100% {
        background-position: -80% 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-slide,
    .portal-slide::after,
    .portal-slide__button {
        animation: none;
        transition: none;
    }
}

@media (max-width: 1180px) {
    .home-spotlight__grid {
        grid-template-columns: 1fr;
    }

    .daily-card {
        min-height: 0;
    }
}

@media (max-width: 760px) {
    .home-spotlight {
        padding-top: 0.6rem;
    }

    .portal-slider {
        min-height: 390px;
    }

    .portal-slide {
        padding: 1.1rem;
    }

    .portal-slide__title {
        max-width: none;
        font-size: 2rem;
    }

    .portal-slide__text {
        font-size: 0.94rem;
    }

    .portal-slider__controls {
        right: 0.7rem;
        bottom: 0.7rem;
    }

    .daily-card__date {
        grid-template-columns: 1fr;
    }
}

/* Layout rescue v1 */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}

@supports not (overflow: clip) {
    html,
    body {
        overflow-x: hidden;
    }
}

.site-header,
.site-main,
.site-footer,
.home-spotlight,
.home-spotlight__grid,
.portal-slider,
.daily-card {
    max-width: 100%;
}

.home-spotlight__grid,
.home-spotlight__grid > *,
.portal-slider,
.portal-slider__track,
.portal-slide,
.portal-slide__content,
.daily-card {
    min-width: 0;
}

.portal-slide {
    overflow: hidden;
}

.portal-slide__eyebrow {
    display: none;
}

.portal-slide__title,
.portal-slide__text,
.daily-card,
.daily-card * {
    overflow-wrap: anywhere;
}

.portal-slider__controls {
    max-width: calc(100% - 1rem);
}

.daily-card__countdown-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.35rem;
}

.daily-card__countdown-grid span {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
    padding: 0.42rem 0.28rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.06);
    text-align: center;
}

.daily-card__countdown-grid b {
    font-family: var(--cg-font-menu);
    font-size: 1.05rem;
    line-height: 1;
}

.daily-card__countdown-grid small {
    color: var(--cg-ink-soft);
    font-size: 0.66rem;
    font-weight: 800;
    line-height: 1;
}

.site-header.is-scrolled {
    display: block;
    min-height: 64px;
}

.site-header.is-scrolled .site-header__masthead {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 8;
    justify-self: auto;
    width: 50%;
    min-height: 64px;
    height: 64px;
    padding: 0;
    background: transparent;
    pointer-events: none;
}

.site-header.is-scrolled .site-brand {
    justify-self: center;
    align-self: stretch;
    justify-content: center;
    width: 120px;
    height: 64px;
    min-height: 64px;
    pointer-events: auto;
}

.site-header.is-scrolled .site-brand__image {
    width: 58px;
    max-height: 58px;
}

.site-header.is-scrolled .site-header__belt {
    position: relative;
    z-index: 7;
}

.site-header.is-scrolled .site-header__belt-inner {
    grid-template-columns: 50% 50%;
    min-height: 64px;
    padding-left: 0;
    padding-right: 0;
}

.site-header.is-scrolled .site-header__belt .site-brand__tagline {
    display: flex;
    min-width: 0;
    min-height: 64px;
    padding: 0 1rem 0 calc(50% + 48px);
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    border: 0;
    color: var(--cg-brand-700);
    font-size: 0.78rem;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-header.is-scrolled .site-header__belt .site-header__navigation {
    grid-column: 2;
    min-width: 0;
    width: 100%;
}

.site-header.is-scrolled .site-header__belt .site-nav > ul {
    width: 100%;
}

.site-header.is-scrolled .site-header__belt .site-nav > ul > li > a {
    min-height: 32px;
    padding: 0.08rem 0.26rem;
    font-size: 0.62rem;
}

@media (max-width: 960px) {
    .site-header.is-scrolled .site-header__masthead {
        position: relative;
        width: 100%;
        height: 42px;
        min-height: 42px;
    }

    .site-header.is-scrolled .site-header__belt-inner {
        grid-template-columns: 1fr;
    }

    .site-header.is-scrolled .site-header__belt .site-brand__tagline {
        display: none;
    }

    .site-header.is-scrolled .site-header__belt .site-header__navigation {
        grid-column: 1;
    }
}

@media (max-width: 520px) {
    .daily-card__countdown-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* First viewport QA v1 */
:root {
    --cg-first-header-height: 0px;
    --cg-first-spotlight-padding: clamp(0.32rem, 0.55vw, 0.56rem);
}

.home-spotlight {
    box-sizing: border-box;
    display: flex;
    padding-top: var(--cg-first-spotlight-padding);
    padding-bottom: var(--cg-first-spotlight-padding);
}

.home-spotlight > .site-shell {
    display: flex;
    width: 100%;
}

.home-spotlight__grid {
    flex: 1;
    min-height: 0;
}

.portal-slide {
    padding: clamp(1rem, 1.7vw, 1.55rem);
}

.portal-slide__title {
    max-width: min(100%, 27ch);
    font-size: clamp(2rem, 1.74rem + 1.18vw, 2.82rem);
    line-height: 1.05;
    overflow-wrap: normal;
    text-wrap: balance;
}

.portal-slide__text {
    max-width: 62ch;
    font-size: clamp(0.9rem, 0.95vw, 1rem);
    line-height: 1.48;
}

.daily-card {
    gap: clamp(0.44rem, 0.8vh, 0.78rem);
    padding: clamp(0.68rem, 1vw, 0.96rem);
}

.daily-card__header {
    gap: clamp(0.32rem, 0.7vh, 0.58rem);
    padding-top: 0.16rem;
}

.daily-card__date {
    gap: clamp(0.52rem, 0.9vw, 0.78rem);
}

.daily-card__day {
    width: clamp(3.45rem, 4.5vw, 4.25rem);
    height: clamp(3.45rem, 4.5vw, 4.25rem);
    font-size: clamp(2rem, 2.45vw, 2.45rem);
}

.daily-card__date-copy strong {
    font-size: clamp(1.05rem, 1.2vw, 1.3rem);
}

.daily-card__weather {
    gap: 0.2rem;
    padding: clamp(0.58rem, 0.85vw, 0.78rem);
}

.daily-card__weather strong {
    font-size: clamp(1.02rem, 1.15vw, 1.22rem);
}

.daily-card__row,
.daily-card__quote {
    padding-top: clamp(0.38rem, 0.7vh, 0.62rem);
    padding-bottom: clamp(0.38rem, 0.7vh, 0.62rem);
}

.daily-card__quote {
    gap: 0.32rem;
}

.daily-card__quote p {
    font-size: clamp(0.9rem, 0.92vw, 1rem);
    line-height: 1.28;
}

.daily-card__countdown-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 961px) {
    :root {
        --cg-first-header-height: clamp(406px, calc(470.0667px - 3.3368vw), 438px);
    }

    .home-spotlight__grid,
    .portal-slider,
    .daily-card,
    .portal-slider__track,
    .portal-slide {
        height: 100%;
        min-height: 0;
    }

    .portal-slider__track,
    .portal-slide {
        min-height: 100%;
    }
}

@media (max-width: 1280px) {
    :root {
        --cg-first-spotlight-padding: clamp(0.28rem, 0.4vw, 0.44rem);
    }

    .portal-slide__title {
        max-width: min(100%, 24ch);
        font-size: clamp(1.92rem, 1.68rem + 0.96vw, 2.46rem);
    }
}

@media (min-width: 961px) and (max-height: 820px) {
    :root {
        --cg-first-header-height: clamp(414px, calc(472.0605px - 3.024vw), 443px);
        --cg-first-spotlight-padding: clamp(0.24rem, 0.32vw, 0.36rem);
    }

    .portal-slide {
        padding: 1.18rem;
    }

    .portal-slide__title {
        font-size: clamp(1.82rem, 2.4vw, 2.28rem);
    }

    .portal-slide__text {
        line-height: 1.4;
    }

    .daily-card {
        gap: 0.42rem;
        padding: 0.68rem 0.78rem;
    }

    .daily-card__row,
    .daily-card__quote {
        padding-top: 0.38rem;
        padding-bottom: 0.38rem;
    }
}

@media (max-width: 960px) {
    .home-spotlight {
        display: block;
        height: auto;
        min-height: 0;
    }

    .home-spotlight > .site-shell {
        display: block;
    }

    .portal-slider,
    .daily-card {
        height: auto;
        min-height: 0;
    }

    .portal-slider__track,
    .portal-slide {
        height: auto;
        min-height: 390px;
    }
}

@media (max-width: 760px) {
    .portal-slide__title {
        max-width: 100%;
        font-size: clamp(1.8rem, 1.54rem + 1.12vw, 2.06rem);
    }

    .daily-card__date {
        grid-template-columns: 1fr;
    }

    .daily-card__countdown-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Home actualities v1 */
.home-actualities {
    scroll-margin-top: 96px;
    padding: 3rem 0 3.25rem;
    background:
        linear-gradient(180deg, rgba(244, 249, 255, 0.96), rgba(255, 255, 255, 0.98)),
        linear-gradient(115deg, rgba(8, 73, 162, 0.08), rgba(231, 43, 77, 0.06));
    border-top: 1px solid rgba(8, 73, 162, 0.08);
}

.home-actualities__header {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
    gap: 1.4rem;
    align-items: end;
    margin-bottom: 1.35rem;
}

.home-actualities__title {
    display: grid;
    gap: 0.55rem;
}

.home-actualities__eyebrow {
    display: inline-flex;
    width: fit-content;
    min-height: 30px;
    align-items: center;
    padding: 0 0.72rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.1);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-actualities h2 {
    margin: 0;
    color: var(--cg-ink);
    font-size: 3rem;
    line-height: 0.95;
    letter-spacing: 0;
}

.home-actualities__intro {
    display: grid;
    gap: 0.55rem;
    max-width: 760px;
    color: var(--cg-ink-soft);
    font-size: 1rem;
    line-height: 1.68;
}

.home-actualities__intro p {
    margin: 0;
}

.home-actualities__layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 0.9fr);
    gap: 1rem;
    align-items: stretch;
}

.actuality-tiles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.actuality-tile {
    --actuality-image: var(--cg-brand-gradient-strong);
    position: relative;
    display: flex;
    min-height: 245px;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.5rem;
    overflow: hidden;
    padding: 1rem;
    border-radius: 0;
    background-image:
        linear-gradient(180deg, rgba(5, 24, 58, 0.04), rgba(5, 24, 58, 0.82)),
        var(--actuality-image);
    background-position: center;
    background-size: cover;
    color: var(--cg-white);
    text-decoration: none;
    box-shadow: 0 18px 40px rgba(8, 73, 162, 0.13);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.actuality-tile::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.18) 48%, transparent 62%);
    background-size: 220% 100%;
    opacity: 0;
    transition: opacity 180ms ease;
}

.actuality-tile:hover,
.actuality-tile:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 22px 52px rgba(8, 73, 162, 0.18);
}

.actuality-tile:hover::after,
.actuality-tile:focus-visible::after {
    opacity: 1;
    animation: home-slider-shine 1.2s linear;
}

.actuality-tile--empty {
    background-image: var(--cg-brand-gradient-strong);
}

.actuality-tile__date,
.actuality-tile h3 {
    position: relative;
    z-index: 1;
}

.actuality-tile__date {
    color: rgba(255, 255, 255, 0.76);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.actuality-tile h3 {
    max-width: 18ch;
    margin: 0;
    font-size: 1.24rem;
    line-height: 1.12;
    letter-spacing: 0;
}

.message-rail {
    display: grid;
    align-content: start;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid rgba(8, 73, 162, 0.1);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 40px rgba(8, 73, 162, 0.09);
}

.message-rail__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.78rem;
    border-bottom: 1px solid rgba(8, 73, 162, 0.12);
}

.message-rail__heading span,
.message-rail__heading a {
    font-family: var(--cg-font-menu);
    font-weight: 800;
    letter-spacing: 0;
}

.message-rail__heading span {
    color: var(--cg-ink);
    font-size: 1.02rem;
}

.message-rail__heading a {
    color: var(--cg-brand-700);
    font-size: 0.78rem;
    text-transform: uppercase;
}

.message-rail__list {
    display: grid;
}

.message-rail__item {
    display: block;
    padding: 0.72rem 0;
    border-bottom: 1px solid rgba(8, 73, 162, 0.1);
    color: var(--cg-ink);
    font-weight: 750;
    line-height: 1.32;
    text-decoration: none;
}

.message-rail__item:last-child {
    border-bottom: 0;
}

.message-rail__item:hover,
.message-rail__item:focus-visible {
    color: var(--cg-brand-700);
}

@media (max-width: 1180px) {
    .home-actualities__header,
    .home-actualities__layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .home-actualities {
        padding: 2.1rem 0;
    }

    .home-actualities h2 {
        font-size: 2.2rem;
    }

    .actuality-tiles {
        grid-template-columns: 1fr;
    }

    .actuality-tile {
        min-height: 220px;
    }
}

/* Home actualities v2 */
.home-actualities {
    display: flex;
    min-height: 0;
    scroll-margin-top: 150px;
    align-items: stretch;
    padding: 2.4rem 0 2.6rem;
}

.home-actualities__shell {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(320px, 0.78fr);
    gap: 1.15rem;
    align-items: stretch;
}

.home-actualities__main {
    display: grid;
    min-width: 0;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 1.15rem;
}

.home-actualities__header {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.62rem;
    align-items: start;
    margin-bottom: 0;
}

.home-actualities__intro {
    max-width: 760px;
}

.actuality-tiles {
    grid-template-columns: minmax(210px, 0.82fr) repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(132px, 1fr));
    min-height: 520px;
}

.actuality-tile {
    min-height: 0;
}

.actuality-tile--lead {
    grid-column: 2 / 4;
    grid-row: 1 / 3;
}

.actuality-tile--slot-2 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.actuality-tile--slot-3 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}

.actuality-tile--slot-4 {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
}

.actuality-tile--slot-5 {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
}

.actuality-tile--slot-6 {
    grid-column: 3 / 4;
    grid-row: 3 / 4;
}

.actuality-tile--lead h3 {
    max-width: 20ch;
    font-size: 2rem;
    line-height: 1.02;
}

.actuality-tile--ad {
    background-image:
        linear-gradient(135deg, rgba(8, 73, 162, 0.92), rgba(8, 73, 162, 0.86)),
        linear-gradient(125deg, #0849a2, #e72b4d);
}

.actuality-tile--ad::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent),
        radial-gradient(circle at 18% 18%, rgba(214, 233, 254, 0.34), transparent 34%);
    background-size: 220% 100%, 100% 100%;
    opacity: 0.72;
    animation: header-gradient-flow 9s linear infinite;
}

.message-rail {
    min-height: 100%;
    align-content: stretch;
    grid-template-rows: minmax(220px, 1fr) auto auto auto;
    gap: 0.5rem;
}

.message-rail__ad {
    position: relative;
    display: grid;
    min-height: 220px;
    align-content: end;
    gap: 0.38rem;
    overflow: hidden;
    margin-bottom: 0.35rem;
    padding: 1.18rem;
    border-radius: 0;
    background:
        linear-gradient(135deg, rgba(8, 73, 162, 0.93), rgba(8, 73, 162, 0.86)),
        linear-gradient(125deg, #0849a2, #e72b4d);
    color: var(--cg-white);
    text-decoration: none;
    box-shadow: 0 18px 42px rgba(8, 73, 162, 0.15);
}

.message-rail__ad--image {
    padding: 0;
    background: #d8e5f7;
}

.message-rail__ad::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent),
        radial-gradient(circle at 18% 18%, rgba(214, 233, 254, 0.35), transparent 34%);
    background-size: 220% 100%, 100% 100%;
    opacity: 0.74;
    animation: header-gradient-flow 9s linear infinite;
}

.message-rail__ad--image::before {
    display: none;
}

.message-rail__ad-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.message-rail__ad-badge,
.message-rail__ad strong,
.message-rail__ad p {
    position: relative;
    z-index: 1;
}

.message-rail__ad-badge {
    position: absolute !important;
    top: 1rem;
    left: 1rem;
}

.message-rail__ad strong {
    max-width: 20ch;
    font-size: 1.38rem;
    line-height: 1.08;
}

.message-rail__ad p {
    max-width: 26ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.84rem;
    line-height: 1.45;
}

.message-rail__heading {
    padding-bottom: 0.34rem;
}

.home-actualities .message-rail__title {
    margin: 0;
    color: var(--cg-ink);
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0;
}

.message-rail__list {
    align-content: start;
}

.message-rail__item {
    padding: 0.4rem 0;
    font-size: 0.92rem;
}

.message-rail__more {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    margin-top: 0.45rem;
    border: 1px solid rgba(8, 73, 162, 0.22);
    border-radius: 0;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.message-rail__more:hover,
.message-rail__more:focus-visible {
    transform: translateY(-2px);
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

@media (max-width: 1180px) {
    .home-actualities {
        min-height: 0;
    }

    .home-actualities__shell {
        grid-template-columns: 1fr;
    }

    .actuality-tiles {
        min-height: 0;
    }

    .message-rail {
        grid-template-rows: auto auto auto auto;
    }
}

@media (max-width: 760px) {
    .actuality-tiles {
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .actuality-tile {
        min-height: 220px;
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .actuality-tile--lead h3 {
        font-size: 1.5rem;
    }
}

/* Home events v1 */
.home-events {
    display: flex;
    min-height: calc(100svh - 64px);
    flex-direction: column;
    overflow: hidden;
    scroll-margin-top: 130px;
    padding: 0.88rem 0 1rem;
    background:
        radial-gradient(circle at 18% 0%, rgba(214, 233, 254, 0.2), transparent 34%),
        radial-gradient(circle at 88% 12%, rgba(8, 73, 162, 0.24), transparent 30%),
        linear-gradient(180deg, #0849a2 0%, #0849a2 48%, #0849a2 100%);
    color: var(--cg-white);
}

.events-ticker {
    overflow: hidden;
    margin-bottom: 0.82rem;
    border-top: 1px solid rgba(214, 233, 254, 0.22);
    border-bottom: 1px solid rgba(214, 233, 254, 0.22);
    background: rgba(255, 255, 255, 0.08);
    color: var(--cg-white);
}

.events-ticker__track {
    display: flex;
    width: max-content;
    gap: 1.25rem;
    padding: 0.54rem 0;
    animation: events-ticker-flow 34s linear infinite;
}

.events-ticker span {
    flex: 0 0 auto;
    font-family: var(--cg-font-menu);
    font-size: 0.86rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.events-ticker span::after {
    content: "/";
    margin-left: 1.25rem;
    color: rgba(255, 255, 255, 0.44);
}

.home-events__shell {
    display: grid;
    width: min(calc(100% - clamp(2rem, 5vw, 4.75rem)), var(--cg-max-width));
    margin: 0 auto;
    flex: 1;
    align-content: center;
    grid-template-rows: auto auto minmax(238px, auto);
    gap: 0.64rem;
}

.home-events__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.9rem;
    align-items: center;
}

.home-events__intro h2 {
    margin: 0;
    letter-spacing: 0;
}

.home-events__intro h2 {
    color: var(--cg-white);
    font-size: clamp(1.82rem, 2.45vw, 2.34rem);
    line-height: 0.96;
}

.home-events__intro p {
    max-width: 680px;
    margin: 0.28rem 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.86rem;
    line-height: 1.34;
}

.home-events__button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    align-self: center;
    padding: 0 0.92rem;
    border: 1px solid var(--cg-brand-700);
    border-radius: 0;
    background-color: var(--cg-white);
    background-image: linear-gradient(90deg, var(--cg-brand-700) 0 50%, var(--cg-white) 50% 100%);
    background-size: 220% 100%;
    background-position: 100% 0;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 14px 36px rgba(8, 73, 162, 0.11);
    transition: transform 180ms ease, background-position 220ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.home-events__button:hover,
.home-events__button:focus-visible {
    transform: translateY(-2px);
    background-position: 0 0;
    box-shadow: 0 18px 34px rgba(8, 73, 162, 0.16);
    color: var(--cg-white);
}

.event-strip-panel {
    position: relative;
    display: grid;
    gap: 0.72rem;
    min-width: 0;
}

.event-strip-panel__heading {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
}

.event-strip-panel__heading {
    position: static;
}

.event-strip-panel__controls {
    display: inline-flex;
    gap: 0.5rem;
}

.event-strip-panel__controls button,
.cg-events-featured-slider__controls > button {
    border: 0;
    border-radius: 999px;
    cursor: pointer;
}

.event-strip-panel__controls button {
    width: clamp(2.85rem, 4vw, 3.35rem);
    height: clamp(2.85rem, 4vw, 3.35rem);
    border: 1px solid rgba(8, 73, 162, 0.18);
    background-color: rgba(255, 255, 255, 0.96);
    background-image: linear-gradient(90deg, var(--cg-brand-700) 0 50%, rgba(255, 255, 255, 0.96) 50% 100%);
    background-size: 220% 100%;
    background-position: 100% 0;
    color: #0849a2;
    font: inherit;
    font-size: 1.15rem;
    font-weight: 850;
    line-height: 1;
    box-shadow: 0 14px 28px rgba(2, 17, 45, 0.2);
    transition: transform 180ms ease, background-position 220ms ease, color 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.event-strip-panel__controls button:hover,
.event-strip-panel__controls button:focus-visible {
    transform: translateY(-2px);
    border-color: var(--cg-brand-700);
    background-position: 0 0;
    color: var(--cg-white);
    box-shadow: 0 18px 34px rgba(8, 73, 162, 0.22);
}

.event-strip {
    display: flex;
    min-width: 0;
    gap: 0.72rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.event-strip::-webkit-scrollbar {
    display: none;
}

.event-strip-card {
    position: relative;
    display: grid;
    flex: 0 0 clamp(244px, 18vw, 292px);
    min-height: 214px;
    align-content: start;
    gap: 0.46rem;
    overflow: hidden;
    scroll-snap-align: start;
    padding: 0.58rem;
    border: 1px solid rgba(8, 73, 162, 0.13);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.92);
    color: var(--cg-ink);
    text-decoration: none;
    box-shadow: 0 16px 34px rgba(8, 73, 162, 0.08);
    transition: transform 160ms ease, border-color 160ms ease;
}

.event-strip-card__media {
    display: block;
    min-height: 132px;
    border-radius: 0;
    background-image:
        linear-gradient(180deg, rgba(5, 24, 58, 0.08), rgba(5, 24, 58, 0.24)),
        var(--event-strip-image, linear-gradient(135deg, var(--cg-brand-700), var(--cg-brand-500)));
    background-position: center;
    background-size: cover;
}

.event-strip-card--empty .event-strip-card__media {
    background-image:
        linear-gradient(135deg, rgba(8, 73, 162, 0.14), rgba(214, 233, 254, 0.64)),
        linear-gradient(135deg, var(--cg-brand-700), var(--cg-brand-500));
}

.event-strip-card:hover,
.event-strip-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(8, 73, 162, 0.32);
}

.event-strip-card__date {
    width: fit-content;
    border-radius: 999px;
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.event-strip-card__date {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    padding: 0.28rem 0.68rem;
    background: rgba(255, 255, 255, 0.92);
    color: var(--cg-brand-700);
    box-shadow: 0 10px 22px rgba(6, 31, 79, 0.16);
}

.event-strip-card h4 {
    margin: 0;
    color: var(--cg-ink);
    letter-spacing: 0;
}

.event-strip-card h4 {
    display: -webkit-box;
    overflow: hidden;
    font-family: var(--cg-font-menu);
    font-size: clamp(1.02rem, 0.98rem + 0.18vw, 1.1rem);
    font-weight: 700;
    line-height: 1.14;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.event-strip-card p {
    margin: 0;
    display: -webkit-box;
    overflow: hidden;
    color: var(--cg-ink-soft);
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.28;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-events__lower {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.home-events__lower .cg-events-featured-rail,
.cg-events-page--archive .cg-events-featured-rail {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
}

.home-events__lower .cg-events-featured-slider,
.cg-events-page--archive .cg-events-featured-slider {
    display: grid;
    gap: 0.8rem;
    min-height: 0;
    overflow: visible;
    border: 0;
    background: transparent;
    color: var(--cg-white);
    box-shadow: none;
}

.home-events__lower .cg-events-featured-slider__title,
.cg-events-page--archive .cg-events-featured-slider__title {
    max-width: 18ch;
    margin: 0;
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.3rem, 2.2vw, 1.95rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.04;
}

.home-events__lower .cg-events-featured-slider__top,
.cg-events-page--archive .cg-events-featured-slider__top {
    position: static;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    pointer-events: auto;
}

.home-events__lower .cg-events-featured-slider__slides,
.cg-events-page--archive .cg-events-featured-slider__slides {
    position: relative;
    min-height: clamp(18rem, 30vw, 25rem);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 0;
    background: var(--cg-events-navy);
    box-shadow: 0 1rem 2.4rem rgba(8, 73, 162, 0.16);
}

.home-events__lower .cg-events-featured-slide,
.cg-events-page--archive .cg-events-featured-slide {
    position: absolute;
    inset: 0;
    display: grid;
    align-content: end;
    color: var(--cg-white);
    opacity: 0;
    pointer-events: none;
    text-decoration: none;
    transform: scale(1.015);
    transition: opacity 0.42s ease, transform 0.58s ease;
}

.home-events__lower .cg-events-featured-slide.is-active,
.cg-events-page--archive .cg-events-featured-slide.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

.home-events__lower .cg-events-featured-slide::after,
.cg-events-page--archive .cg-events-featured-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(5, 24, 58, 0.08) 0%, rgba(5, 24, 58, 0.16) 44%, rgba(5, 24, 58, 0.84) 100%),
        linear-gradient(90deg, rgba(5, 24, 58, 0.36), transparent 68%);
    pointer-events: none;
}

.home-events__lower .cg-events-featured-slide__media,
.home-events__lower .cg-events-featured-slide__media img,
.cg-events-page--archive .cg-events-featured-slide__media,
.cg-events-page--archive .cg-events-featured-slide__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-events__lower .cg-events-featured-slide__media,
.cg-events-page--archive .cg-events-featured-slide__media {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--cg-brand-700), var(--cg-brand-500));
    color: rgba(255, 255, 255, 0.54);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.85rem, 4vw, 3.2rem);
    font-weight: 850;
}

.home-events__lower .cg-events-featured-slide__media img,
.cg-events-page--archive .cg-events-featured-slide__media img {
    object-fit: cover;
}

.home-events__lower .cg-events-featured-slide__date,
.cg-events-page--archive .cg-events-featured-slide__date {
    position: absolute;
    top: clamp(0.9rem, 1.8vw, 1.1rem);
    left: clamp(0.9rem, 1.8vw, 1.1rem);
    z-index: 2;
    padding: 0.34rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 10px 22px rgba(5, 24, 58, 0.18);
}

.home-events__lower .cg-events-featured-slide__content,
.cg-events-page--archive .cg-events-featured-slide__content {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 0.4rem;
    max-width: min(34rem, calc(100% - 2.2rem));
    padding: clamp(1rem, 2.4vw, 1.35rem);
}

.home-events__lower .cg-events-featured-slide__content strong,
.cg-events-page--archive .cg-events-featured-slide__content strong {
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.6rem, 3vw, 2.7rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.04;
    text-shadow: 0 0.5rem 1.35rem rgba(5, 24, 58, 0.36);
    text-wrap: balance;
}

.home-events__lower .cg-events-featured-slide__content small,
.cg-events-page--archive .cg-events-featured-slide__content small {
    display: -webkit-box;
    max-width: 32rem;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-events__lower .cg-events-featured-slider__controls,
.cg-events-page--archive .cg-events-featured-slider__controls {
    position: static;
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: flex-end;
}

.home-events__lower .cg-events-featured-slider__controls > button,
.cg-events-page--archive .cg-events-featured-slider__controls > button {
    width: clamp(2.85rem, 4vw, 3.35rem);
    height: clamp(2.85rem, 4vw, 3.35rem);
    border: 1px solid rgba(255, 255, 255, 0.28);
    background-color: rgba(255, 255, 255, 0.96);
    background-image: linear-gradient(90deg, var(--cg-brand-700) 0 50%, rgba(255, 255, 255, 0.96) 50% 100%);
    background-size: 220% 100%;
    background-position: 100% 0;
    color: var(--cg-brand-700);
    font-size: 1.15rem;
    font-weight: 850;
    line-height: 1;
    backdrop-filter: blur(10px);
    box-shadow: 0 14px 28px rgba(5, 24, 58, 0.18);
    transition: transform 180ms ease, background-position 220ms ease, color 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.home-events__lower .cg-events-featured-slider__controls > button:hover,
.home-events__lower .cg-events-featured-slider__controls > button:focus-visible,
.cg-events-page--archive .cg-events-featured-slider__controls > button:hover,
.cg-events-page--archive .cg-events-featured-slider__controls > button:focus-visible {
    transform: translateY(-2px);
    border-color: var(--cg-brand-700);
    background-position: 0 0;
    color: var(--cg-white);
    box-shadow: 0 18px 34px rgba(8, 73, 162, 0.22);
}

@keyframes events-ticker-flow {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .events-ticker__track {
        animation: none;
    }
}

@media (max-width: 1180px) {
    .home-events {
        min-height: 0;
    }

    .home-events__shell {
        min-height: 0;
    }

    .home-events__intro,
    .home-events__lower {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 760px) {
    .home-events {
        padding: 1rem 0 1.5rem;
    }

    .home-events__intro h2 {
        font-size: 2.1rem;
    }

    .home-events__button {
        width: 100%;
    }

    .event-strip-card {
        flex-basis: 86%;
    }

    .home-events__lower .cg-events-featured-slider__top {
        align-items: end;
    }

    .home-events__lower .cg-events-featured-slider__slides {
        min-height: 21rem;
    }

    .home-events__lower .cg-events-featured-slide__content strong {
        font-size: 1.75rem;
    }
}

/* Home worth knowing v1 */
.home-worth-knowing {
    position: relative;
    display: flex;
    min-height: calc(100svh - 64px);
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    scroll-margin-top: 130px;
    padding: 1.2rem 0 1.45rem;
    background:
        linear-gradient(120deg, rgba(8, 73, 162, 0.08), transparent 32%),
        repeating-linear-gradient(135deg, rgba(8, 73, 162, 0.055) 0, rgba(8, 73, 162, 0.055) 1px, transparent 1px, transparent 14px),
        linear-gradient(180deg, #ffffff 0%, #eef8ff 100%);
    color: var(--cg-ink);
}

.home-worth-knowing::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--cg-brand-700), #00a6c8, var(--cg-brand-500), var(--cg-brand-700));
    background-size: 240% 100%;
    opacity: 0.92;
    animation: worth-knowing-shine 13s linear infinite;
}

.home-worth-knowing__shell {
    position: relative;
    z-index: 1;
    display: grid;
    flex: 1;
    align-content: center;
    gap: 0.9rem;
}

.home-worth-knowing__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-items: end;
}

.home-worth-knowing__eyebrow {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 0.38rem;
    padding: 0.28rem 0.58rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.1);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-worth-knowing__intro h2 {
    max-width: none;
    margin: 0;
    color: var(--cg-ink);
    font-size: 3.05rem;
    line-height: 0.94;
    letter-spacing: 0;
}

.home-worth-knowing__intro p {
    max-width: clamp(42ch, 74vw, 110ch);
    margin: 0.58rem 0 0;
    color: var(--cg-ink-soft);
    font-size: 0.96rem;
    line-height: 1.42;
}

@media (min-width: 1181px) {
    .home-worth-knowing__intro h2 {
        white-space: nowrap;
    }
}

.home-worth-knowing__button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    background: var(--cg-brand-700);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 16px 36px rgba(8, 73, 162, 0.14);
    transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}

.home-worth-knowing__button:hover,
.home-worth-knowing__button:focus-visible {
    transform: translateY(-2px);
    background: #00a6c8;
    color: var(--cg-white);
}

.home-worth-knowing__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(272px, 0.32fr);
    gap: 0.85rem;
    align-items: stretch;
}

.home-worth-knowing__posts {
    display: grid;
    min-height: 468px;
    grid-template-columns: minmax(250px, 1.18fr) repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 0.72rem;
}

.worth-knowing-card {
    --worth-knowing-card-image: linear-gradient(135deg, var(--cg-brand-100), var(--cg-brand-700));
    position: relative;
    display: grid;
    overflow: hidden;
    min-height: 130px;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 0.66rem;
    align-items: stretch;
    padding: 0.58rem;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.94);
    color: var(--cg-ink);
    text-decoration: none;
    box-shadow: 0 16px 34px rgba(8, 73, 162, 0.08);
    transition: transform 170ms ease, border-color 170ms ease, box-shadow 170ms ease;
}

.worth-knowing-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.16) 45%, transparent 58%);
    background-size: 260% 100%;
    opacity: 0;
    pointer-events: none;
    animation: worth-knowing-shine 11s linear infinite;
    transition: opacity 170ms ease;
}

.worth-knowing-card:hover,
.worth-knowing-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(8, 73, 162, 0.28);
    box-shadow: 0 22px 44px rgba(8, 73, 162, 0.13);
}

.worth-knowing-card:hover::after,
.worth-knowing-card:focus-visible::after {
    opacity: 1;
}

.worth-knowing-card--slot-6 {
    grid-column: 2 / 4;
}

.worth-knowing-card--lead {
    min-height: 100%;
    grid-row: 1 / 4;
    grid-template-columns: 1fr;
    align-content: end;
    padding: 1rem;
    background: #051b43;
    color: var(--cg-white);
}

.worth-knowing-card__media {
    min-height: 100%;
    border-radius: 0;
    background-image:
        linear-gradient(180deg, rgba(4, 13, 35, 0.02), rgba(4, 13, 35, 0.18)),
        var(--worth-knowing-card-image);
    background-position: center;
    background-size: cover;
}

.worth-knowing-card--empty .worth-knowing-card__media {
    background-image:
        linear-gradient(135deg, rgba(8, 73, 162, 0.22), rgba(214, 233, 254, 0.78)),
        linear-gradient(135deg, var(--cg-brand-100), var(--cg-brand-700));
}

.worth-knowing-card--lead .worth-knowing-card__media {
    position: absolute;
    inset: 0;
    border-radius: 0;
    background-image:
        linear-gradient(180deg, rgba(5, 27, 67, 0.08), rgba(5, 27, 67, 0.88)),
        var(--worth-knowing-card-image);
    transform: scale(1.02);
    transition: transform 220ms ease;
}

.worth-knowing-card--lead:hover .worth-knowing-card__media,
.worth-knowing-card--lead:focus-visible .worth-knowing-card__media {
    transform: scale(1.07);
}

.worth-knowing-card__body {
    position: relative;
    z-index: 1;
    display: grid;
    min-width: 0;
    align-content: center;
    gap: 0.35rem;
}

.worth-knowing-card--lead .worth-knowing-card__body {
    align-content: end;
    min-height: 100%;
}

.worth-knowing-card__meta {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    flex-wrap: wrap;
    gap: 0.34rem;
    align-items: center;
    padding: 0.24rem 0.52rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.1);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.15;
    text-transform: uppercase;
}

.worth-knowing-card--lead .worth-knowing-card__meta {
    background: rgba(255, 255, 255, 0.94);
    color: var(--cg-brand-700);
}

.worth-knowing-card__meta small {
    font: inherit;
    color: inherit;
    opacity: 1;
}

.worth-knowing-card strong {
    display: -webkit-box;
    overflow: hidden;
    color: inherit;
    font-size: 0.98rem;
    line-height: 1.16;
    letter-spacing: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.worth-knowing-card--lead strong {
    max-width: 12ch;
    font-size: 2rem;
    line-height: 0.98;
    -webkit-line-clamp: 4;
}

.worth-knowing-card em {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cg-ink-soft);
    font-size: 0.78rem;
    font-style: normal;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.worth-knowing-card--lead em {
    max-width: 42ch;
    color: rgba(255, 255, 255, 0.82);
}

.home-worth-knowing-ad {
    --worth-knowing-ad-image: linear-gradient(135deg, #051b43, var(--cg-brand-700));
    position: relative;
    display: grid;
    overflow: hidden;
    min-height: 100%;
    align-content: end;
    gap: 0.52rem;
    padding: 1rem;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    background-image:
        linear-gradient(180deg, rgba(5, 27, 67, 0.08), rgba(5, 27, 67, 0.9)),
        var(--worth-knowing-ad-image);
    background-position: center;
    background-size: cover;
    color: var(--cg-white);
    text-decoration: none;
    box-shadow: 0 24px 54px rgba(8, 73, 162, 0.17);
    transition: transform 170ms ease, box-shadow 170ms ease;
}

.home-worth-knowing-ad::before {
    content: none;
}

.home-worth-knowing-ad--empty {
    background-image:
        linear-gradient(135deg, rgba(5, 27, 67, 0.92), rgba(8, 73, 162, 0.82)),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0, rgba(255, 255, 255, 0.12) 1px, transparent 1px, transparent 16px);
}

.home-worth-knowing-ad span,
.home-worth-knowing-ad strong,
.home-worth-knowing-ad p,
.home-worth-knowing-ad b {
    position: relative;
    z-index: 1;
}

.home-worth-knowing-ad__badge {
    position: absolute !important;
    top: 1rem;
    left: 1rem;
}

.home-worth-knowing-ad strong {
    max-width: 10ch;
    color: var(--cg-white);
    font-size: 2rem;
    line-height: 0.98;
    letter-spacing: 0;
}

.home-worth-knowing-ad p {
    max-width: 28ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.86rem;
    line-height: 1.34;
}

.home-worth-knowing-ad b {
    display: inline-flex;
    width: fit-content;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    margin-top: 0.2rem;
    padding: 0 0.78rem;
    border: 1px solid rgba(8, 73, 162, 0.18);
    border-radius: 0;
    background: var(--cg-brand-100);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
    transition: transform 170ms ease, background 170ms ease, color 170ms ease, border-color 170ms ease;
}

.home-worth-knowing-ad:hover,
.home-worth-knowing-ad:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 30px 64px rgba(8, 73, 162, 0.22);
}

.home-worth-knowing-ad:hover b,
.home-worth-knowing-ad:focus-visible b {
    transform: translateY(-1px);
    border-color: var(--cg-brand-700);
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

.home-ad-banner {
    padding: 1rem 0 0;
}

.home-ad-banner__card {
    position: relative;
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.14);
    background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
    box-shadow: 0 18px 44px rgba(8, 73, 162, 0.1);
    color: var(--cg-ink);
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.home-ad-banner__card:hover,
.home-ad-banner__card:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 24px 54px rgba(8, 73, 162, 0.14);
}

.home-ad-banner__badge {
    position: absolute !important;
    top: 1rem;
    left: 1rem;
    z-index: 2;
}

.home-ad-banner__image {
    display: block;
    width: 100%;
    min-height: clamp(10rem, 20vw, 14rem);
    object-fit: cover;
}

.home-ad-banner__card--placeholder {
    min-height: clamp(10rem, 18vw, 13rem);
    align-content: center;
    gap: 0.55rem;
    padding: 4.1rem 1.4rem 1.4rem;
    background:
        linear-gradient(145deg, rgba(8, 73, 162, 0.06), rgba(255, 255, 255, 0.98) 60%),
        repeating-linear-gradient(135deg, rgba(8, 73, 162, 0.08) 0, rgba(8, 73, 162, 0.08) 1px, transparent 1px, transparent 18px);
}

.home-ad-banner__card--placeholder strong,
.home-ad-banner__card--placeholder p {
    position: relative;
    z-index: 1;
    max-width: 58ch;
    margin: 0;
}

.home-ad-banner__card--placeholder strong {
    color: var(--cg-ink);
    font-size: clamp(1.15rem, 1.7vw, 1.55rem);
    line-height: 1.06;
}

.home-ad-banner__card--placeholder p {
    color: var(--cg-ink-soft);
    font-size: 0.95rem;
    line-height: 1.5;
}

@keyframes worth-knowing-shine {
    from {
        background-position: -180% 0;
    }

    to {
        background-position: 180% 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-worth-knowing::before,
    .worth-knowing-card::after {
        animation: none;
    }

    .worth-knowing-card--lead .worth-knowing-card__media,
    .worth-knowing-card--lead:hover .worth-knowing-card__media,
    .worth-knowing-card--lead:focus-visible .worth-knowing-card__media {
        transform: none;
    }
}

@media (max-width: 1180px) {
    .home-worth-knowing {
        min-height: 0;
        padding: 1.5rem 0;
    }

    .home-worth-knowing__layout,
    .home-worth-knowing__intro {
        grid-template-columns: 1fr;
    }

    .home-worth-knowing__posts {
        min-height: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .worth-knowing-card--lead,
    .worth-knowing-card--slot-6 {
        grid-column: auto;
        grid-row: auto;
    }

    .worth-knowing-card--lead {
        min-height: 330px;
    }

    .home-worth-knowing-ad {
        min-height: 260px;
    }
}

@media (max-width: 760px) {
    .home-worth-knowing__intro h2 {
        max-width: none;
        font-size: 2.2rem;
    }

    .home-worth-knowing__button {
        width: 100%;
    }

    .home-worth-knowing__posts {
        grid-template-columns: 1fr;
    }

    .worth-knowing-card {
        min-height: 118px;
        grid-template-columns: 86px minmax(0, 1fr);
    }

    .worth-knowing-card--lead {
        min-height: 300px;
    }

    .worth-knowing-card--lead strong,
    .home-worth-knowing-ad strong {
        font-size: 1.72rem;
    }
}

/* Home attractions v1 */
.home-attractions {
    display: flex;
    min-height: calc(100svh - 64px);
    align-items: center;
    scroll-margin-top: 130px;
    padding: 2rem 0 2.2rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(234, 246, 255, 0.92)),
        #f4faff;
}

.home-attractions__shell {
    display: grid;
    gap: 1.05rem;
}

.home-attractions__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.2rem;
    align-items: end;
}

.home-attractions__intro span {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 0.42rem;
    padding: 0.28rem 0.58rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.1);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-attractions__intro h2 {
    margin: 0;
    color: var(--cg-ink);
    font-size: clamp(2.35rem, 4vw, 4rem);
    line-height: 0.95;
    letter-spacing: 0;
}

.home-attractions__intro p {
    max-width: 760px;
    margin: 0.72rem 0 0;
    color: var(--cg-ink-soft);
    font-size: 1rem;
    line-height: 1.52;
}

.home-attractions__button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0 1.05rem;
    border: 1px solid rgba(8, 73, 162, 0.18);
    border-radius: 0;
    background: var(--cg-white);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 16px 38px rgba(8, 73, 162, 0.1);
    transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}

.home-attractions__button:hover,
.home-attractions__button:focus-visible {
    transform: translateY(-2px);
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

.attractions-board {
    display: grid;
    gap: 0.9rem;
}

.attractions-board__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
}

.attraction-lane,
.attraction-nearby {
    --attraction-image: linear-gradient(135deg, #d6e9fe, #0849a2 58%, #0849a2);
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 46px rgba(8, 73, 162, 0.1);
}

.attraction-lane {
    display: grid;
    min-height: clamp(390px, 47vh, 470px);
    grid-template-rows: minmax(250px, 1fr) auto;
}

.attraction-lane__hero,
.attraction-nearby__hero {
    position: relative;
    display: grid;
    align-content: end;
    gap: 0.54rem;
    overflow: hidden;
    background-image:
        linear-gradient(180deg, rgba(4, 13, 35, 0.08), rgba(4, 13, 35, 0.78)),
        var(--attraction-image);
    background-position: center;
    background-size: cover;
    color: var(--cg-white);
    text-decoration: none;
}

.attraction-lane__hero {
    min-height: 250px;
    padding: 1rem;
}

.attraction-lane__hero::after,
.attraction-nearby__hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.16) 47%, transparent 60%);
    background-size: 260% 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 160ms ease;
    animation: home-slider-shine 13s linear infinite;
}

.attraction-lane__hero:hover::after,
.attraction-lane__hero:focus-visible::after,
.attraction-nearby__hero:hover::after,
.attraction-nearby__hero:focus-visible::after {
    opacity: 0.72;
}

.attraction-lane__hero span,
.attraction-nearby__hero span,
.attraction-lane__hero h3,
.attraction-nearby__hero h3,
.attraction-lane__hero p,
.attraction-nearby__hero p,
.attraction-lane__hero strong,
.attraction-nearby__hero strong {
    position: relative;
    z-index: 1;
}

.attraction-lane__hero span,
.attraction-nearby__hero span {
    width: fit-content;
    padding: 0.26rem 0.56rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.92);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.attraction-lane__hero h3,
.attraction-nearby__hero h3 {
    max-width: 12ch;
    margin: 0;
    color: var(--cg-white);
    font-size: 1.78rem;
    line-height: 1.02;
    letter-spacing: 0;
}

.attraction-lane__hero p,
.attraction-nearby__hero p {
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.86rem;
    line-height: 1.34;
}

.attraction-lane__hero strong,
.attraction-nearby__hero strong {
    display: inline-flex;
    width: fit-content;
    min-height: 34px;
    align-items: center;
    padding: 0 0.72rem;
    border-radius: 0;
    background: var(--cg-white);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.attraction-lane__posts,
.attraction-nearby__posts {
    display: grid;
    background: var(--cg-white);
}

.attraction-lane__posts a,
.attraction-lane__posts span,
.attraction-nearby__posts a,
.attraction-nearby__posts span {
    display: block;
    border-top: 1px solid rgba(8, 73, 162, 0.1);
    color: var(--cg-ink);
    font-weight: 780;
    line-height: 1.24;
    text-decoration: none;
}

.attraction-lane__posts a,
.attraction-lane__posts span {
    min-height: 52px;
    padding: 0.68rem 0.85rem;
}

.attraction-lane__posts a:hover,
.attraction-lane__posts a:focus-visible,
.attraction-nearby__posts a:hover,
.attraction-nearby__posts a:focus-visible {
    color: var(--cg-brand-700);
}

.attraction-nearby {
    display: grid;
    min-height: 188px;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
}

.attraction-nearby__hero {
    min-height: 188px;
    padding: 1.15rem;
}

.attraction-nearby__hero h3 {
    max-width: 18ch;
    font-size: 2rem;
}

.attraction-nearby__hero p {
    max-width: 58ch;
}

.attraction-nearby__posts {
    align-content: stretch;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.attraction-nearby__posts a,
.attraction-nearby__posts span {
    min-height: 94px;
    padding: 0.92rem 1rem;
    border-left: 1px solid rgba(8, 73, 162, 0.1);
}

@media (max-width: 1180px) {
    .home-attractions {
        min-height: 0;
    }

    .home-attractions__intro,
    .attraction-nearby {
        grid-template-columns: 1fr;
    }

    .attractions-board__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .home-attractions {
        padding: 1.6rem 0;
    }

    .home-attractions__intro,
    .attractions-board__grid,
    .attraction-nearby__posts {
        grid-template-columns: 1fr;
    }

    .home-attractions__button {
        width: 100%;
    }

    .attraction-lane,
    .attraction-nearby {
        min-height: 0;
    }

    .attraction-lane__hero,
    .attraction-nearby__hero {
        min-height: 230px;
    }

    .attraction-nearby__posts a,
    .attraction-nearby__posts span {
        min-height: 58px;
        border-left: 0;
    }
}

/* Home attractions v2 */
.home-attractions {
    padding: 1.7rem 0 1.9rem;
}

.home-attractions__shell {
    gap: 0.9rem;
}

.home-attractions__intro h2 {
    font-size: clamp(2.15rem, 3.35vw, 3.35rem);
}

.home-attractions__intro p {
    max-width: 690px;
    margin-top: 0.5rem;
    font-size: 0.94rem;
    line-height: 1.42;
}

.attractions-board {
    gap: 0.78rem;
}

.attractions-board__grid {
    gap: 0.78rem;
}

.attraction-category {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 46px rgba(8, 73, 162, 0.1);
}

.attraction-category__head {
    border-bottom: 1px solid rgba(8, 73, 162, 0.1);
    background:
        linear-gradient(90deg, rgba(214, 233, 254, 0.82), rgba(255, 255, 255, 0.95));
}

.attraction-category__head a {
    display: grid;
    min-height: 78px;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.72rem;
    align-items: center;
    padding: 0.72rem 0.82rem;
    color: var(--cg-ink);
    text-decoration: none;
}

.attraction-category__icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: #0849a2;
    color: var(--cg-white);
}

.attraction-category__icon svg {
    width: 1.18rem;
    height: 1.18rem;
}

.attraction-category__icon img {
    width: 1.18rem;
    height: 1.18rem;
    object-fit: contain;
    display: block;
}

.attraction-category__head small {
    display: block;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.attraction-category__head strong {
    display: block;
    margin-top: 0.1rem;
    color: var(--cg-ink);
    font-size: 1.25rem;
    line-height: 1.04;
}

.attraction-category__posts {
    display: grid;
}

.attraction-post {
    --attraction-post-image: linear-gradient(135deg, var(--cg-brand-100), var(--cg-brand-700));
    display: grid;
    min-height: 92px;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 0.72rem;
    align-items: center;
    padding: 0.58rem 0.72rem;
    border-bottom: 1px solid rgba(8, 73, 162, 0.1);
    color: var(--cg-ink);
    text-decoration: none;
}

.attraction-post:last-child {
    border-bottom: 0;
}

.attraction-post__image {
    display: block;
    width: 88px;
    aspect-ratio: 1.28;
    border-radius: 0;
    background-image:
        linear-gradient(180deg, rgba(4, 13, 35, 0.04), rgba(4, 13, 35, 0.18)),
        var(--attraction-post-image);
    background-position: center;
    background-size: cover;
}

.attraction-post--empty .attraction-post__image {
    background-image:
        linear-gradient(135deg, rgba(8, 73, 162, 0.22), rgba(214, 233, 254, 0.72)),
        linear-gradient(135deg, var(--cg-brand-100), var(--cg-brand-700));
}

.attraction-post strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.9rem;
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.attraction-post:hover,
.attraction-post:focus-visible {
    color: var(--cg-brand-700);
}

.attraction-category--wide {
    grid-template-columns: minmax(260px, 0.5fr) minmax(0, 1.5fr);
}

.attraction-category--wide .attraction-category__head {
    border-right: 1px solid rgba(8, 73, 162, 0.1);
    border-bottom: 0;
}

.attraction-category--wide .attraction-category__head a {
    min-height: 100%;
    align-content: center;
}

.attraction-category__posts--wide {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.attraction-category__posts--wide .attraction-post {
    min-height: 152px;
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: start;
    border-right: 1px solid rgba(8, 73, 162, 0.1);
    border-bottom: 0;
}

.attraction-category__posts--wide .attraction-post:last-child {
    border-right: 0;
}

.attraction-category__posts--wide .attraction-post__image {
    width: 100%;
    aspect-ratio: 1.72;
}

@media (max-width: 1180px) {
    .attraction-category--wide {
        grid-template-columns: 1fr;
    }

    .attraction-category--wide .attraction-category__head {
        border-right: 0;
        border-bottom: 1px solid rgba(8, 73, 162, 0.1);
    }

    .attraction-category__posts--wide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .attraction-category__posts--wide {
        grid-template-columns: 1fr;
    }

    .attraction-category__posts--wide .attraction-post {
        min-height: 92px;
        grid-template-columns: 88px minmax(0, 1fr);
        grid-template-rows: none;
        border-right: 0;
        border-bottom: 1px solid rgba(8, 73, 162, 0.1);
    }

    .attraction-category__posts--wide .attraction-post__image {
        width: 88px;
        aspect-ratio: 1.28;
    }
}

/* Home city duo v1 */
.home-city-duo {
    display: flex;
    min-height: calc(100svh - 64px);
    align-items: center;
    scroll-margin-top: 130px;
    padding: 1.9rem 0 2.1rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 249, 255, 0.94)),
        var(--cg-sky);
}

.home-city-duo__shell {
    display: grid;
    gap: 1rem;
}

.home-city-duo__intro {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1.05rem;
    align-items: end;
}

.home-city-duo__intro > span {
    display: inline-flex;
    width: min-content;
    min-height: 92px;
    align-items: center;
    justify-content: center;
    padding: 0.58rem 0.48rem;
    border-radius: 0;
    background: #0849a2;
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.05;
    text-align: center;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.home-city-duo__intro h2 {
    margin: 0;
    color: var(--cg-ink);
    font-size: clamp(2.2rem, 3.45vw, 3.65rem);
    line-height: 0.94;
    letter-spacing: 0;
}

.home-city-duo__intro p {
    max-width: 780px;
    margin: 0.56rem 0 0;
    color: var(--cg-ink-soft);
    font-size: 0.98rem;
    line-height: 1.45;
}

.home-city-duo__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.9rem;
}

.city-duo-panel {
    display: grid;
    min-height: clamp(486px, 62vh, 620px);
    align-content: start;
    gap: 0.72rem;
    overflow: hidden;
    padding: 0.82rem;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 46px rgba(8, 73, 162, 0.1);
}

.city-duo-panel--sport {
    border-color: rgba(214, 233, 254, 0.18);
    background:
        radial-gradient(circle at 84% 0%, rgba(8, 73, 162, 0.38), transparent 32%),
        linear-gradient(180deg, #0849a2 0%, #0849a2 100%);
    color: var(--cg-white);
    box-shadow: 0 22px 56px rgba(2, 17, 45, 0.22);
}

.city-duo-panel__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: start;
}

.city-duo-panel__head > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 0.62rem;
    align-items: center;
}

.city-duo-panel__icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    grid-row: span 3;
    border-radius: 0;
    background: #0849a2;
    color: var(--cg-white);
}

.city-duo-panel--sport .city-duo-panel__icon {
    background: var(--cg-white);
    color: #0849a2;
}

.city-duo-panel__icon svg {
    width: 1.15rem;
    height: 1.15rem;
}

.city-duo-panel__eyebrow {
    display: block;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.city-duo-panel--sport .city-duo-panel__eyebrow {
    color: rgba(255, 255, 255, 0.76);
}

.city-duo-panel h3 {
    margin: 0.08rem 0 0;
    color: var(--cg-ink);
    font-size: 1.8rem;
    line-height: 0.98;
    letter-spacing: 0;
}

.city-duo-panel--sport h3 {
    color: var(--cg-white);
}

.city-duo-panel__head p {
    grid-column: 2;
    max-width: 46ch;
    margin: 0.22rem 0 0;
    color: var(--cg-ink-soft);
    font-size: 0.84rem;
    line-height: 1.35;
}

.city-duo-panel--sport .city-duo-panel__head p {
    color: rgba(255, 255, 255, 0.74);
}

.city-duo-panel__link {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0 0.82rem;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}

.city-duo-panel--sport .city-duo-panel__link {
    border-color: rgba(255, 255, 255, 0.28);
    color: var(--cg-white);
}

.city-duo-panel__link:hover,
.city-duo-panel__link:focus-visible {
    transform: translateY(-2px);
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

.city-duo-panel--sport .city-duo-panel__link:hover,
.city-duo-panel--sport .city-duo-panel__link:focus-visible {
    background: var(--cg-white);
    color: #0849a2;
}

.city-duo-feature {
    --city-duo-image: linear-gradient(125deg, var(--cg-brand-100), var(--cg-brand-700));
    position: relative;
    display: grid;
    min-height: clamp(218px, 30vh, 310px);
    align-content: end;
    gap: 0.5rem;
    overflow: hidden;
    padding: 1rem;
    border-radius: 0;
    background-image:
        linear-gradient(180deg, rgba(4, 13, 35, 0.08), rgba(4, 13, 35, 0.78)),
        var(--city-duo-image);
    background-position: center;
    background-size: cover;
    color: var(--cg-white);
    text-decoration: none;
}

.city-duo-feature::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.16) 47%, transparent 60%);
    background-size: 260% 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 160ms ease;
    animation: home-slider-shine 14s linear infinite;
}

a.city-duo-feature:hover::after,
a.city-duo-feature:focus-visible::after {
    opacity: 0.72;
}

.city-duo-feature--empty {
    background-image:
        linear-gradient(135deg, rgba(8, 73, 162, 0.18), rgba(214, 233, 254, 0.74)),
        linear-gradient(125deg, var(--cg-brand-100), var(--cg-brand-700));
}

.city-duo-feature__badge,
.city-duo-feature h3,
.city-duo-feature h4,
.city-duo-feature p,
.city-duo-feature__button {
    position: relative;
    z-index: 1;
}

.city-duo-feature__badge {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.34rem;
    padding: 0.26rem 0.56rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.92);
    color: #0849a2;
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.city-duo-feature__badge svg {
    width: 0.9rem;
    height: 0.9rem;
}

.city-duo-feature h3,
.city-duo-feature h3,
.city-duo-feature h4 {
    max-width: 18ch;
    margin: 0;
    color: var(--cg-white);
    font-size: clamp(1.45rem, 2.2vw, 2.2rem);
    line-height: 1.02;
    letter-spacing: 0;
}

.city-duo-feature p {
    display: -webkit-box;
    max-width: 56ch;
    margin: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.88rem;
    line-height: 1.34;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.city-duo-feature__button {
    display: inline-flex;
    width: fit-content;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0 0.82rem;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.1);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 160ms ease, background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.city-duo-feature__button:hover,
.city-duo-feature__button:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.88);
    background: rgba(255, 255, 255, 0.94);
    color: #0849a2;
}

.city-duo-panel__list {
    display: grid;
    gap: 0.58rem;
}

.city-duo-teaser {
    --city-duo-thumb: linear-gradient(125deg, var(--cg-brand-100), var(--cg-brand-700));
    display: grid;
    min-height: 82px;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 0.68rem;
    align-items: center;
    padding: 0.48rem;
    border: 1px solid rgba(8, 73, 162, 0.1);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.9);
    color: var(--cg-ink);
    text-decoration: none;
    transition: transform 160ms ease, border-color 160ms ease, color 160ms ease;
}

.city-duo-panel--sport .city-duo-teaser {
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.1);
    color: var(--cg-white);
}

.city-duo-teaser__image {
    display: block;
    width: 90px;
    aspect-ratio: 1.42;
    border-radius: 0;
    background-image:
        linear-gradient(180deg, rgba(4, 13, 35, 0.04), rgba(4, 13, 35, 0.24)),
        var(--city-duo-thumb);
    background-position: center;
    background-size: cover;
}

.city-duo-teaser--empty .city-duo-teaser__image {
    background-image:
        linear-gradient(135deg, rgba(8, 73, 162, 0.2), rgba(214, 233, 254, 0.78)),
        linear-gradient(125deg, var(--cg-brand-100), var(--cg-brand-700));
}

.city-duo-teaser__body {
    display: grid;
    gap: 0.18rem;
}

.city-duo-teaser small {
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.city-duo-panel--sport .city-duo-teaser small {
    color: rgba(255, 255, 255, 0.66);
}

.city-duo-teaser strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.94rem;
    line-height: 1.16;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

a.city-duo-teaser:hover,
a.city-duo-teaser:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(8, 73, 162, 0.32);
    color: var(--cg-brand-700);
}

.city-duo-panel--sport a.city-duo-teaser:hover,
.city-duo-panel--sport a.city-duo-teaser:focus-visible {
    border-color: rgba(255, 255, 255, 0.38);
    color: var(--cg-white);
}

@media (max-width: 1180px) {
    .home-city-duo {
        min-height: 0;
    }

    .home-city-duo__grid {
        grid-template-columns: 1fr;
    }

    .city-duo-panel {
        min-height: 0;
    }
}

@media (max-width: 760px) {
    .home-city-duo {
        padding: 1.55rem 0;
    }

    .home-city-duo__intro {
        grid-template-columns: 1fr;
    }

    .home-city-duo__intro > span {
        width: fit-content;
        min-height: 0;
        writing-mode: initial;
        transform: none;
    }

    .home-city-duo__intro h2 {
        font-size: 2.15rem;
    }

    .city-duo-panel,
    .city-duo-panel__head,
    .city-duo-panel__head > div {
        grid-template-columns: 1fr;
    }

    .city-duo-panel__icon {
        grid-row: auto;
    }

    .city-duo-panel__head p {
        grid-column: auto;
    }

    .city-duo-panel__link {
        width: 100%;
    }

    .city-duo-feature {
        min-height: 260px;
    }

    .city-duo-teaser {
        grid-template-columns: 86px minmax(0, 1fr);
    }

    .city-duo-teaser__image {
        width: 86px;
    }
}

/* Home city duo v2 */
.home-city-duo {
    min-height: calc(100svh - 64px);
    padding: 1.35rem 0 1.55rem;
}

.home-city-duo__shell {
    gap: 0;
}

.home-city-duo__grid {
    align-items: stretch;
}

.city-duo-panel {
    min-height: clamp(560px, calc(100svh - 112px), 680px);
    align-content: stretch;
    grid-template-rows: auto minmax(176px, 1fr) auto;
    gap: 0.54rem;
    padding: 0.72rem;
}

.city-duo-panel__head {
    align-items: center;
}

.city-duo-panel__head > div {
    column-gap: 0.56rem;
}

.city-duo-panel__icon {
    width: 38px;
    height: 38px;
}

.city-duo-panel h3 {
    font-size: clamp(1.54rem, 2vw, 2.02rem);
}

.city-duo-panel__head p {
    max-width: 42ch;
    margin-top: 0.16rem;
    font-size: 0.8rem;
    line-height: 1.3;
}

.city-duo-panel__link {
    min-height: 36px;
    padding: 0 0.76rem;
    font-size: 0.68rem;
    white-space: nowrap;
}

.city-duo-feature {
    min-height: clamp(176px, 24vh, 248px);
    padding: 0.86rem;
}

.city-duo-feature h4 {
    max-width: 20ch;
    font-size: clamp(1.28rem, 1.8vw, 1.9rem);
}

.city-duo-feature p {
    font-size: 0.82rem;
    line-height: 1.28;
}

.city-duo-panel__list {
    gap: 0.42rem;
}

.city-duo-teaser {
    min-height: 66px;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 0.56rem;
    padding: 0.4rem;
}

.city-duo-teaser__image {
    width: 78px;
    aspect-ratio: 1.45;
}

.city-duo-teaser small {
    font-size: 0.62rem;
}

.city-duo-teaser strong {
    font-size: 0.84rem;
    line-height: 1.14;
}

@media (max-height: 820px) and (min-width: 1181px) {
    .home-city-duo {
        padding: 0.95rem 0 1.05rem;
    }

    .city-duo-panel {
        min-height: calc(100svh - 96px);
        gap: 0.44rem;
        padding: 0.62rem;
    }

    .city-duo-feature {
        min-height: 168px;
    }

    .city-duo-teaser {
        min-height: 60px;
    }

    .city-duo-panel__head p {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
}

@media (max-width: 1180px) {
    .city-duo-panel {
        min-height: 0;
    }
}

@media (max-width: 760px) {
    .home-city-duo {
        padding: 1.5rem 0;
    }

    .home-city-duo__grid {
        gap: 0.86rem;
    }

    .city-duo-panel {
        grid-template-rows: none;
        padding: 0.72rem;
    }

    .city-duo-panel__link {
        white-space: normal;
    }

    .city-duo-feature {
        min-height: 230px;
    }

    .city-duo-teaser {
        grid-template-columns: 82px minmax(0, 1fr);
    }

    .city-duo-teaser__image {
        width: 82px;
    }
}

/* Home contact CTA v1 */
.home-contact-cta {
    scroll-margin-top: 130px;
    padding: 1.05rem 0;
    background:
        linear-gradient(90deg, #0849a2 0%, #0849a2 56%, #0849a2 100%);
    color: var(--cg-white);
}

.home-contact-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    min-height: 126px;
}

.home-contact-cta__copy {
    display: grid;
    gap: 0.32rem;
}

.home-contact-cta__copy span {
    color: rgba(255, 255, 255, 0.68);
    font-family: var(--cg-font-menu);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-contact-cta__copy h2 {
    margin: 0;
    color: var(--cg-white);
    font-size: clamp(1.8rem, 3vw, 3.1rem);
    line-height: 0.96;
    letter-spacing: 0;
}

.home-contact-cta__copy p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.98rem;
    line-height: 1.42;
}

.home-contact-cta__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.home-contact-cta__button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 0;
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}

.home-contact-cta__button--primary,
.home-contact-cta__button:hover,
.home-contact-cta__button:focus-visible {
    transform: translateY(-2px);
    background: var(--cg-white);
    color: #0849a2;
}

.home-contact-cta__button--primary:hover,
.home-contact-cta__button--primary:focus-visible {
    background: var(--cg-brand-100);
}

@media (max-width: 900px) {
    .home-contact-cta__inner {
        grid-template-columns: 1fr;
        min-height: 0;
        padding-top: 0.3rem;
        padding-bottom: 0.3rem;
    }

    .home-contact-cta__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .home-contact-cta__button {
        width: 100%;
    }
}

/* Home contact CTA v2 */
.home-contact-cta {
    padding: clamp(2.6rem, 7vh, 5rem) 0;
}

.home-contact-cta__inner {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 1.05rem;
    min-height: clamp(430px, 58vh, 620px);
    text-align: center;
}

.home-contact-cta__copy {
    justify-items: center;
}

.home-contact-cta__copy h2 {
    font-size: clamp(2.35rem, 5vw, 5.1rem);
}

.home-contact-cta__copy p {
    max-width: 760px;
    font-size: clamp(1rem, 1.25vw, 1.18rem);
}

.home-contact-cta__visual {
    width: min(520px, 82vw);
    margin: 0;
}

.home-contact-cta__visual img {
    width: 100%;
    aspect-ratio: 1.7;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 0;
    box-shadow: 0 24px 62px rgba(2, 17, 45, 0.34);
}

.home-contact-cta__actions {
    justify-content: center;
}

@media (max-width: 760px) {
    .home-contact-cta__inner {
        min-height: 0;
    }

    .home-contact-cta__copy h2 {
        font-size: 2.35rem;
    }
}

/* Home contact CTA v3 */
.home-contact-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(2rem, 5vh, 3.4rem) 0;
    background-image:
        linear-gradient(180deg, rgba(4, 13, 35, 0.44), rgba(4, 13, 35, 0.5)),
        url("https://czescgizycko.pl/wp-content/uploads/2026/02/Park-Soldany.jpg");
    background-position: center;
    background-size: cover;
}

.home-contact-cta__inner {
    min-height: clamp(300px, 42vh, 430px);
    gap: 0.86rem;
}

.home-contact-cta__copy h2 {
    font-size: clamp(2.1rem, 4.2vw, 4.2rem);
    text-shadow: 0 14px 34px rgba(2, 17, 45, 0.34);
}

.home-contact-cta__copy p {
    max-width: 700px;
    color: rgba(255, 255, 255, 0.86);
}

.home-contact-cta__visual {
    display: none;
}

@media (max-width: 760px) {
    .home-contact-cta__inner {
        min-height: 320px;
    }
}

/* Home help v1 */
.home-help {
    display: flex;
    min-height: calc(100svh - 64px);
    align-items: center;
    scroll-margin-top: 130px;
    padding: 2rem 0 2.2rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 255, 0.94)),
        var(--cg-sky);
}

.home-help__shell {
    display: grid;
    gap: 1.05rem;
}

.home-help__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
}

.home-help__kicker {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.38rem;
    margin-bottom: 0.45rem;
    padding: 0.28rem 0.58rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.1);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-help__kicker svg {
    width: 1rem;
    height: 1rem;
}

.home-help__intro h2 {
    max-width: 24ch;
    margin: 0;
    color: var(--cg-ink);
    font-size: clamp(2.35rem, 4.5vw, 4.5rem);
    line-height: 0.92;
    letter-spacing: 0;
}

.home-help__intro p {
    max-width: 720px;
    margin: 0.62rem 0 0;
    color: var(--cg-ink-soft);
    font-size: 1rem;
    line-height: 1.44;
}

.home-help__button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    border: 1px solid rgba(8, 73, 162, 0.18);
    border-radius: 0;
    background: var(--cg-white);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 16px 38px rgba(8, 73, 162, 0.1);
    transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}

.home-help__button:hover,
.home-help__button:focus-visible {
    transform: translateY(-2px);
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

.home-help__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.9fr);
    grid-template-rows: repeat(3, minmax(112px, 1fr));
    gap: 0.82rem;
    min-height: clamp(430px, 55vh, 590px);
}

.home-help-card {
    --home-help-image: linear-gradient(125deg, var(--cg-brand-100), var(--cg-brand-700));
    position: relative;
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-white);
    color: var(--cg-ink);
    text-decoration: none;
    box-shadow: 0 18px 46px rgba(8, 73, 162, 0.1);
    isolation: isolate;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.home-help-card--lead {
    grid-row: 1 / 4;
    min-height: 430px;
    align-content: end;
    padding: 1.25rem;
    color: var(--cg-white);
}

.home-help-card:not(.home-help-card--lead) {
    grid-template-columns: minmax(126px, 0.42fr) minmax(0, 1fr);
    min-height: 112px;
}

.home-help-card__image {
    background-image:
        linear-gradient(180deg, rgba(4, 13, 35, 0.02), rgba(4, 13, 35, 0.22)),
        var(--home-help-image);
    background-position: center;
    background-size: cover;
    transition: transform 500ms ease;
}

.home-help-card--lead .home-help-card__image {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.home-help-card--lead::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(4, 13, 35, 0.08), rgba(4, 13, 35, 0.82)),
        linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.16) 48%, transparent 62%);
    background-size: 100% 100%, 240% 100%;
    background-position: center, -120% 0;
    transition: background-position 600ms ease;
}

.home-help-card:not(.home-help-card--lead) .home-help-card__image {
    min-height: 100%;
}

.home-help-card--empty .home-help-card__image {
    background-image:
        linear-gradient(135deg, rgba(8, 73, 162, 0.18), rgba(214, 233, 254, 0.74)),
        linear-gradient(125deg, var(--cg-brand-100), var(--cg-brand-700));
}

a.home-help-card:hover,
a.home-help-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(8, 73, 162, 0.3);
    box-shadow: 0 24px 62px rgba(8, 73, 162, 0.16);
}

a.home-help-card:hover .home-help-card__image,
a.home-help-card:focus-visible .home-help-card__image {
    transform: scale(1.04);
}

a.home-help-card--lead:hover::before,
a.home-help-card--lead:focus-visible::before {
    background-position: center, 120% 0;
}

.home-help-card__body {
    display: grid;
    align-content: end;
    gap: 0.38rem;
}

.home-help-card:not(.home-help-card--lead) .home-help-card__body {
    padding: 0.78rem;
}

.home-help-card small {
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.66rem;
    font-style: normal;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-help-card--lead small {
    width: fit-content;
    padding: 0.26rem 0.56rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.92);
    color: #0849a2;
}

.home-help-card strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 1rem;
    line-height: 1.16;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.home-help-card--lead strong {
    max-width: 16ch;
    color: var(--cg-white);
    font-size: clamp(1.7rem, 3.1vw, 3rem);
    line-height: 0.98;
    -webkit-line-clamp: 4;
}

.home-help-card em {
    display: -webkit-box;
    max-width: 58ch;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.92rem;
    font-style: normal;
    line-height: 1.38;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 1180px) {
    .home-help {
        min-height: 0;
    }

    .home-help__grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        min-height: 0;
    }

    .home-help-card--lead {
        grid-row: auto;
        min-height: 360px;
    }
}

@media (max-width: 760px) {
    .home-help {
        padding: 1.6rem 0;
    }

    .home-help__intro {
        grid-template-columns: 1fr;
    }

    .home-help__intro h2 {
        font-size: 2.25rem;
    }

    .home-help__button {
        width: 100%;
    }

    .home-help-card:not(.home-help-card--lead) {
        grid-template-columns: 112px minmax(0, 1fr);
    }

    .home-help-card--lead {
        min-height: 310px;
    }
}

/* Home help v2 */
.home-help__shell {
    grid-template-columns: minmax(270px, 0.58fr) minmax(0, 1.42fr);
    gap: clamp(1rem, 2.2vw, 1.8rem);
    align-items: center;
}

.home-help__intro {
    grid-template-columns: 1fr;
    align-content: center;
    align-items: start;
    min-height: clamp(430px, 55vh, 590px);
}

.home-help__intro h2 {
    max-width: 9ch;
}

.home-help__intro p {
    max-width: 46ch;
}

.home-help__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
    margin-top: 0.8rem;
}

.home-help__chips span {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 0 0.68rem;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: var(--cg-white);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-help__button {
    width: fit-content;
    margin-top: 0.2rem;
}

.home-help__grid {
    min-height: clamp(430px, 55vh, 590px);
}

@media (max-width: 1180px) {
    .home-help__shell {
        grid-template-columns: 1fr;
    }

    .home-help__intro {
        min-height: 0;
    }
}

@media (max-width: 760px) {
    .home-help__button {
        width: 100%;
    }
}

/* Home community categories v1 */
.home-community {
    scroll-margin-top: 130px;
    padding: clamp(2.6rem, 5vw, 5.2rem) 0;
    background:
        radial-gradient(circle at 50% -8%, rgba(8, 73, 162, 0.14), transparent 32rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 247, 255, 0.96)),
        var(--cg-sky);
}

.home-community__shell {
    display: grid;
    gap: clamp(1.35rem, 2.6vw, 2.25rem);
}

.home-community__header {
    display: grid;
    justify-items: center;
    gap: 0.65rem;
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}

.home-community__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    padding: 0.3rem 0.68rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.1);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-community__kicker svg {
    width: 1rem;
    height: 1rem;
}

.home-community__header h2 {
    max-width: 24ch;
    margin: 0;
    color: var(--cg-ink);
    font-size: clamp(2.25rem, 4.8vw, 4.9rem);
    line-height: 0.93;
    letter-spacing: 0;
}

.home-community__header p {
    max-width: 70ch;
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: clamp(0.98rem, 1.3vw, 1.08rem);
    line-height: 1.48;
}

.home-community__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.9rem, 1.8vw, 1.35rem);
}

.home-community-topic {
    --community-topic-image: linear-gradient(135deg, rgba(8, 73, 162, 0.18), rgba(226, 241, 255, 0.88));
    --topic-accent: var(--cg-brand-700);
    --topic-accent-deep: #013577;
    --topic-soft: rgba(8, 73, 162, 0.1);
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 0.82rem;
    min-height: clamp(430px, 46vw, 520px);
    overflow: hidden;
    padding: clamp(0.8rem, 1.3vw, 1.05rem);
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.96));
    box-shadow: 0 22px 54px rgba(8, 73, 162, 0.1);
    isolation: isolate;
}

.home-community-topic::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: var(--topic-accent);
    transform: scaleX(0.28);
    transform-origin: left;
    transition: transform 240ms ease;
}

.home-community-topic:hover::after,
.home-community-topic:focus-within::after {
    transform: scaleX(1);
}

.home-community-topic--rodzina {
    --topic-accent: #015ac7;
    --topic-accent-deep: #01418f;
    --topic-soft: rgba(1, 90, 199, 0.1);
}

.home-community-topic--socjalne {
    --topic-accent: #024f9f;
    --topic-accent-deep: #01356f;
    --topic-soft: rgba(2, 79, 159, 0.11);
}

.home-community-topic--ngo {
    --topic-accent: #123f8f;
    --topic-accent-deep: #0d2f6b;
    --topic-soft: rgba(18, 63, 143, 0.11);
}

.home-community-topic__top {
    position: relative;
    display: grid;
    align-content: end;
    min-height: clamp(165px, 20vw, 220px);
    overflow: hidden;
    padding: clamp(0.95rem, 1.5vw, 1.25rem);
    border-radius: 0;
    color: var(--cg-white);
    background:
        linear-gradient(180deg, rgba(4, 13, 35, 0.02), rgba(4, 13, 35, 0.82)),
        var(--community-topic-image);
    background-position: center;
    background-size: cover;
}

.home-community-topic__top::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.16) 46%, transparent 62%);
    background-size: 230% 100%;
    background-position: -120% 0;
    transition: background-position 600ms ease;
    pointer-events: none;
}

.home-community-topic:hover .home-community-topic__top::before,
.home-community-topic:focus-within .home-community-topic__top::before {
    background-position: 120% 0;
}

.home-community-topic__icon {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.92);
    color: var(--topic-accent);
}

.home-community-topic__icon svg {
    width: 1.35rem;
    height: 1.35rem;
}

.home-community-topic__icon img {
    width: 1.35rem;
    height: 1.35rem;
    object-fit: contain;
}

.home-community-topic__label {
    position: relative;
    width: fit-content;
    margin-bottom: 0.42rem;
    padding: 0.24rem 0.54rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.9);
    color: var(--topic-accent-deep);
    font-family: var(--cg-font-menu);
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-community-topic h3 {
    position: relative;
    max-width: 24ch;
    margin: 0;
    font-size: clamp(1.6rem, 3vw, 3rem);
    line-height: 0.96;
    letter-spacing: 0;
}

.home-community-topic p {
    position: relative;
    max-width: 42ch;
    margin: 0.5rem 0 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.94rem;
    line-height: 1.42;
}

.home-community-topic__posts {
    display: grid;
    gap: 0.55rem;
}

.home-community-post {
    --community-post-image: linear-gradient(135deg, rgba(8, 73, 162, 0.18), rgba(226, 241, 255, 0.9));
    display: grid;
    grid-template-columns: clamp(82px, 10vw, 116px) minmax(0, 1fr);
    min-height: clamp(82px, 8vw, 104px);
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.96);
    color: var(--cg-ink);
    text-decoration: none;
    transition: transform 170ms ease, border-color 170ms ease, background 170ms ease;
}

a.home-community-post:hover,
a.home-community-post:focus-visible {
    transform: translateX(4px);
    border-color: rgba(8, 73, 162, 0.3);
    background: var(--cg-white);
}

.home-community-post__image {
    background-image:
        linear-gradient(180deg, rgba(4, 13, 35, 0), rgba(4, 13, 35, 0.18)),
        var(--community-post-image);
    background-position: center;
    background-size: cover;
    transition: transform 420ms ease;
}

a.home-community-post:hover .home-community-post__image,
a.home-community-post:focus-visible .home-community-post__image {
    transform: scale(1.06);
}

.home-community-post--empty .home-community-post__image {
    background-image:
        linear-gradient(135deg, var(--topic-soft), rgba(255, 255, 255, 0.74)),
        linear-gradient(125deg, var(--cg-brand-100), var(--cg-brand-700));
}

.home-community-post__body {
    display: grid;
    align-content: center;
    gap: 0.3rem;
    min-width: 0;
    padding: 0.68rem 0.78rem;
}

.home-community-post small {
    overflow: hidden;
    color: var(--topic-accent);
    font-family: var(--cg-font-menu);
    font-size: 0.64rem;
    font-weight: 850;
    letter-spacing: 0;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.home-community-post strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: clamp(0.88rem, 1.05vw, 1.02rem);
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-community-topic__button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    padding: 0 1rem;
    border: 1px solid rgba(8, 73, 162, 0.22);
    border-radius: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(242, 247, 255, 0.96));
    color: var(--topic-accent-deep);
    font-family: var(--cg-font-menu);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 12px 28px rgba(8, 73, 162, 0.08);
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.home-community-topic__button::after {
    content: "\2192";
    font-size: 0.95rem;
    line-height: 1;
    transform: translateX(0);
    transition: transform 160ms ease;
}

.home-community-topic__button:hover,
.home-community-topic__button:focus-visible {
    transform: translateY(-2px);
    border-color: var(--topic-accent);
    background: var(--topic-accent);
    color: var(--cg-white);
    box-shadow: 0 16px 34px rgba(8, 73, 162, 0.16);
}

.home-community-topic__button:hover::after,
.home-community-topic__button:focus-visible::after {
    transform: translateX(3px);
}

@media (max-width: 1060px) {
    .home-community__grid {
        grid-template-columns: 1fr;
    }

    .home-community-topic {
        min-height: 0;
    }
}

@media (max-width: 680px) {
    .home-community {
        padding: 2.25rem 0;
    }

    .home-community__header {
        justify-items: start;
        text-align: left;
    }

    .home-community__header h2 {
        font-size: 2.35rem;
    }

    .home-community-topic__top {
        min-height: 220px;
    }

    .home-community-post {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .home-community-topic__button {
        width: 100%;
    }
}

/* Home photo gallery v2 */
.home-photo-gallery {
    position: relative;
    overflow: hidden;
    scroll-margin-top: 130px;
    padding: 3.8rem 0 4rem;
    background:
        linear-gradient(90deg, rgba(8, 73, 162, 0.04) 1px, transparent 1px),
        linear-gradient(180deg, #ffffff 0%, #eef6ff 100%);
    background-size: 78px 78px, 100% 100%;
}

.home-photo-gallery__shell {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(1.25rem, 3.8vw, 4rem);
    align-items: center;
}

.home-photo-gallery__intro {
    display: grid;
    grid-column: 1;
    grid-row: 1;
    gap: 0.85rem;
}

.home-photo-gallery__intro span {
    display: inline-flex;
    width: fit-content;
    padding: 0.32rem 0.68rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.1);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-photo-gallery__intro h2 {
    max-width: 9ch;
    margin: 0;
    color: var(--cg-ink);
    font-size: 4rem;
    line-height: 0.94;
    letter-spacing: 0;
}

.home-photo-gallery__intro p {
    max-width: 48ch;
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 1rem;
    line-height: 1.55;
}

.home-photo-gallery__links {
    display: grid;
    grid-column: 1;
    grid-row: 2;
    gap: 0.56rem;
    margin-top: 0.35rem;
}

.home-photo-gallery__links a {
    position: relative;
    display: grid;
    gap: 0.18rem;
    overflow: hidden;
    padding: 0.78rem 0.86rem;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.76);
    color: var(--cg-ink);
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(8, 73, 162, 0);
    isolation: isolate;
    transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, box-shadow 220ms ease, color 220ms ease;
}

.home-photo-gallery__links a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(110deg, transparent 0%, rgba(157, 216, 255, 0.34) 50%, transparent 100%);
    transform: translateX(-120%);
    transition: transform 520ms ease;
}

.home-photo-gallery__links a:hover,
.home-photo-gallery__links a:focus-visible {
    transform: translateY(-4px) scale(1.015);
    border-color: rgba(8, 73, 162, 0.44);
    background: var(--cg-brand-700);
    color: var(--cg-white);
    box-shadow: 0 18px 42px rgba(8, 73, 162, 0.22);
}

.home-photo-gallery__links a:hover::after,
.home-photo-gallery__links a:focus-visible::after {
    transform: translateX(120%);
}

.home-photo-gallery__links span {
    position: relative;
    z-index: 1;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.64rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-photo-gallery__links a:hover span,
.home-photo-gallery__links a:focus-visible span,
.home-photo-gallery__links a:hover strong,
.home-photo-gallery__links a:focus-visible strong {
    color: var(--cg-white);
}

.home-photo-gallery__links strong {
    position: relative;
    z-index: 1;
    font-size: 1rem;
    line-height: 1.18;
}

.home-photo-gallery__wall {
    display: grid;
    grid-column: 2;
    grid-row: 1 / span 2;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    grid-template-rows: repeat(7, minmax(58px, 1fr));
    gap: 0.7rem;
    min-height: 640px;
    perspective: 1200px;
}

.home-photo-shot {
    position: relative;
    display: block;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    background: var(--cg-ink);
    color: var(--cg-white);
    text-decoration: none;
    box-shadow: 0 22px 54px rgba(8, 73, 162, 0.15);
    animation: gallery-shot-drift 9s ease-in-out infinite;
    transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}

.home-photo-shot::before {
    content: "";
    position: absolute;
    inset: -20%;
    z-index: 1;
    background:
        linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.36) 48%, transparent 64%);
    opacity: 0;
    transform: translateX(-45%) rotate(8deg);
    transition: opacity 180ms ease, transform 700ms ease;
    pointer-events: none;
}

.home-photo-shot:hover,
.home-photo-shot:focus-visible {
    z-index: 12;
    animation: none;
    border-color: rgba(157, 216, 255, 0.9);
    box-shadow: 0 32px 86px rgba(8, 73, 162, 0.28);
    transform: translateY(-12px) rotate(0.6deg) scale(1.025);
}

.home-photo-shot:nth-child(2n) {
    animation-direction: reverse;
    animation-duration: 11s;
}

.home-photo-shot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms ease, filter 200ms ease;
}

.home-photo-shot:hover img,
.home-photo-shot:focus-visible img {
    transform: scale(1.11);
    filter: saturate(1.12) contrast(1.04);
}

.home-photo-shot:hover::before,
.home-photo-shot:focus-visible::before {
    opacity: 1;
    transform: translateX(45%) rotate(8deg);
}

.home-photo-shot__caption {
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    display: grid;
    gap: 0.46rem;
    justify-items: start;
    padding: 0.8rem;
    background: linear-gradient(180deg, transparent, rgba(4, 16, 40, 0.86));
}

.home-photo-shot strong {
    font-size: 1.05rem;
    line-height: 1.08;
}

.home-photo-shot__cta {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 0.58rem;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.14);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.home-photo-shot:hover .home-photo-shot__cta,
.home-photo-shot:focus-visible .home-photo-shot__cta {
    background: var(--cg-white);
    color: var(--cg-brand-700);
    transform: translateY(-1px);
}

.home-photo-shot--1 {
    grid-column: 1 / 5;
    grid-row: 1 / 5;
}

.home-photo-shot--2 {
    grid-column: 5 / 9;
    grid-row: 1 / 4;
    animation-delay: -2s;
}

.home-photo-shot--3 {
    grid-column: 5 / 7;
    grid-row: 4 / 8;
    animation-delay: -4.2s;
}

.home-photo-shot--4 {
    grid-column: 7 / 9;
    grid-row: 4 / 8;
    animation-delay: -1.2s;
}

.home-photo-shot--5 {
    grid-column: 1 / 3;
    grid-row: 5 / 8;
    animation-delay: -5.6s;
}

.home-photo-shot--6 {
    grid-column: 3 / 5;
    grid-row: 5 / 8;
    animation-delay: -3.4s;
}

/* Home YouTube v1 */
.home-youtube {
    position: relative;
    display: flex;
    min-height: 0;
    align-items: center;
    overflow: hidden;
    scroll-margin-top: 130px;
    padding: 1.15rem 0 1.25rem;
    background:
        linear-gradient(135deg, rgba(0, 166, 200, 0.18), transparent 34%),
        linear-gradient(180deg, #07142c 0%, #0849a2 100%);
    color: var(--cg-white);
}

.home-youtube::before {
    content: "CZEÄąĹˇĂ„â€  GIÄąÂ»YCKO VIDEO";
    position: absolute;
    top: 0.8rem;
    right: -0.3rem;
    color: rgba(255, 255, 255, 0.08);
    font-family: var(--cg-font-menu);
    font-size: 3rem;
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: 0;
    pointer-events: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.home-youtube::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 42%;
    background: linear-gradient(180deg, transparent, rgba(8, 73, 162, 0.08));
    pointer-events: none;
}

.home-youtube__shell {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0.78rem;
}

.home-youtube__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: end;
}

.home-youtube__intro span {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 0.3rem;
    padding: 0.22rem 0.48rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.12);
    color: #d6e9fe;
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-youtube__intro h2 {
    margin: 0;
    color: var(--cg-white);
    font-size: 2.05rem;
    line-height: 0.98;
    letter-spacing: 0;
}

.home-youtube__intro p {
    max-width: 620px;
    margin: 0.32rem 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.88rem;
    line-height: 1.42;
}

.home-youtube__channel {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0 0.82rem;
    border: 1px solid rgba(8, 73, 162, 0.18);
    border-radius: 0;
    background: var(--cg-brand-100);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18);
    transition: transform 170ms ease, background 170ms ease, color 170ms ease, border-color 170ms ease;
}

.home-youtube__channel:hover,
.home-youtube__channel:focus-visible {
    transform: translateY(-2px);
    border-color: var(--cg-brand-700);
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

.home-youtube__grid {
    display: grid;
    min-height: 0;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.62rem;
}

.home-youtube-card {
    position: relative;
    display: grid;
    overflow: hidden;
    min-height: 188px;
    grid-template-rows: 112px auto;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.96);
    color: var(--cg-ink);
    text-decoration: none;
    box-shadow: 0 22px 52px rgba(2, 17, 45, 0.18);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.home-youtube-card--lead {
    grid-row: auto;
    min-height: 188px;
}

.home-youtube-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: 112px;
    background: #0849a2;
}

.home-youtube-card--lead .home-youtube-card__media {
    min-height: 112px;
}

.home-youtube-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(5, 27, 67, 0.02), rgba(5, 27, 67, 0.34)),
        linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.12) 45%, transparent 58%);
    background-size: auto, 260% 100%;
    opacity: 0.8;
    pointer-events: none;
    animation: youtube-card-shine 12s linear infinite;
}

.home-youtube-card img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform 220ms ease;
}

.home-youtube-card__play {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.46);
    border-radius: 0;
    background: rgba(8, 73, 162, 0.88);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
    transform: translate(-50%, -50%);
    transition: transform 170ms ease, background 170ms ease;
}

.home-youtube-card__play::before {
    content: "";
    width: 0;
    height: 0;
    margin-left: 0.22rem;
    border-top: 0.42rem solid transparent;
    border-bottom: 0.42rem solid transparent;
    border-left: 0.64rem solid #ffffff;
}

.home-youtube-card__body {
    display: grid;
    gap: 0.28rem;
    padding: 0.62rem 0.68rem 0.72rem;
}

.home-youtube-card__body small {
    width: fit-content;
    padding: 0.22rem 0.5rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.1);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.15;
    text-transform: uppercase;
}

.home-youtube-card__body strong {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cg-ink);
    font-size: 0.92rem;
    line-height: 1.13;
    letter-spacing: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-youtube-card--lead .home-youtube-card__body strong {
    max-width: none;
    font-size: 0.92rem;
    line-height: 1.13;
    -webkit-line-clamp: 2;
}

.home-youtube-card__body em {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cg-ink-soft);
    font-size: 0.82rem;
    font-style: normal;
    line-height: 1.32;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-youtube-card:hover,
.home-youtube-card:focus-visible {
    transform: translateY(-4px);
    border-color: rgba(157, 216, 255, 0.55);
    box-shadow: 0 30px 68px rgba(2, 17, 45, 0.25);
}

.home-youtube-card:hover img,
.home-youtube-card:focus-visible img {
    transform: scale(1.06);
}

.home-youtube-card:hover .home-youtube-card__play,
.home-youtube-card:focus-visible .home-youtube-card__play {
    transform: translate(-50%, -50%) scale(1.08);
    background: #00a6c8;
}

@keyframes youtube-card-shine {
    from {
        background-position: 0 0, -180% 0;
    }

    to {
        background-position: 0 0, 180% 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-youtube-card__media::after {
        animation: none;
    }

    .home-youtube-card:hover img,
    .home-youtube-card:focus-visible img {
        transform: none;
    }
}

@media (max-width: 1180px) {
    .home-youtube {
        min-height: 0;
        padding: 1.15rem 0 1.25rem;
    }

    .home-youtube__intro {
        grid-template-columns: 1fr;
    }

    .home-youtube__grid {
        min-height: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-youtube-card--lead {
        grid-row: auto;
        grid-column: auto;
        min-height: 188px;
    }
}

@media (max-width: 760px) {
    .home-youtube::before {
        display: none;
    }

    .home-youtube__intro h2 {
        font-size: 1.78rem;
    }

    .home-youtube__channel {
        width: 100%;
    }

    .home-youtube__grid {
        grid-template-columns: 1fr;
    }

    .home-youtube-card,
    .home-youtube-card--lead {
        min-height: 0;
    }

    .home-youtube-card--lead .home-youtube-card__media {
        min-height: 112px;
    }

    .home-youtube-card--lead .home-youtube-card__body strong {
        max-width: none;
        font-size: 0.92rem;
    }
}

/* Home about and foundation v3 */
.home-about-story {
    position: relative;
    display: flex;
    min-height: calc(100svh - 64px);
    align-items: center;
    overflow: hidden;
    scroll-margin-top: 130px;
    padding: 3.2rem 0 3.7rem;
    background:
        linear-gradient(90deg, rgba(8, 73, 162, 0.07) 1px, transparent 1px),
        linear-gradient(180deg, rgba(8, 73, 162, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, #ffffff 0%, #eef6ff 100%);
    background-size: 92px 92px, 92px 92px, 100% 100%;
    color: var(--cg-ink);
    isolation: isolate;
}

.home-about-story::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(8, 73, 162, 0.1) 46%, transparent 58%);
    background-size: 260% 100%;
    animation: about-signal-sweep 12s linear infinite;
    opacity: 0.9;
    pointer-events: none;
}

.home-about-story::after {
    content: "CZESC GIZYCKO";
    position: absolute;
    right: -1.6rem;
    bottom: 2.7rem;
    z-index: 0;
    max-width: 8ch;
    color: transparent;
    font-family: var(--cg-font-heading);
    font-size: 7.8rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.82;
    text-transform: uppercase;
    transform: rotate(-4deg);
    opacity: 0.42;
    pointer-events: none;
    -webkit-text-stroke: 1px rgba(8, 73, 162, 0.12);
}

.home-about-story__ticker {
    position: absolute;
    inset: 0 0 auto;
    z-index: 1;
    overflow: hidden;
    border-bottom: 1px solid rgba(8, 73, 162, 0.13);
    background: rgba(214, 233, 254, 0.78);
    pointer-events: none;
    transform-origin: center;
    will-change: transform;
}

.home-about-story__ticker--diagonal {
    top: 6%;
    right: -18%;
    left: -18%;
    opacity: 0.82;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
    border-bottom-color: rgba(8, 73, 162, 0.1);
    background: rgba(214, 233, 254, 0.7);
    filter: none;
    transform: rotate(-4.5deg);
    backdrop-filter: none;
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.3) 36%, #000 58%);
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.3) 36%, #000 58%);
}

.home-about-story__ticker--reverse {
    top: auto;
    bottom: 11%;
    opacity: 0.58;
    transform: rotate(5deg);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.36) 34%, #000 56%);
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.36) 34%, #000 56%);
}

.home-about-story__ticker-track {
    display: flex;
    width: max-content;
    gap: 1rem;
    padding: 0.62rem 0;
    animation: about-ticker 34s linear infinite;
}

.home-about-story__ticker--diagonal .home-about-story__ticker-track {
    animation-duration: 27s;
}

.home-about-story__ticker--reverse .home-about-story__ticker-track {
    animation-name: about-ticker-reverse;
    animation-duration: 31s;
}

.home-about-story__ticker span {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    color: rgba(8, 73, 162, 0.7);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
    text-shadow: none;
}

.home-about-story__ticker span::after {
    content: "";
    display: inline-block;
    width: 0.38rem;
    height: 0.38rem;
    border-radius: 0;
    background: #0849a2;
}

.home-about-story__shell {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: center;
    padding-top: 2.2rem;
}

.home-about-story__copy {
    display: grid;
    gap: 1rem;
    max-width: 640px;
}

.home-about-story__kicker,
.home-foundation__kicker {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    padding: 0.32rem 0.68rem;
    border-radius: 0;
    background: rgba(214, 233, 254, 0.88);
    color: #0849a2;
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-about-story__copy h2 {
    max-width: 11ch;
    margin: 0;
    color: var(--cg-ink);
    font-size: 4.55rem;
    line-height: 0.92;
    letter-spacing: 0;
    text-shadow: none;
}

.home-about-story__copy p {
    max-width: 55ch;
    margin: 0;
    color: var(--cg-ink);
    font-size: 1.05rem;
    line-height: 1.58;
    text-shadow: none;
}

.home-about-story__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.4rem;
}

.home-about-story__facts span {
    display: grid;
    min-height: 78px;
    align-content: center;
    gap: 0.24rem;
    padding: 0.68rem;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: rgba(214, 233, 254, 0.56);
    backdrop-filter: none;
    animation: about-counter-pulse 8s ease-in-out infinite;
}

.home-about-story__facts span:nth-child(2n) {
    animation-delay: -2.4s;
}

.home-about-story__facts span:nth-child(3n) {
    animation-delay: -4.6s;
}

.home-about-story__facts strong {
    color: var(--cg-ink);
    font-size: 1.42rem;
    line-height: 1;
}

.home-about-story__facts em {
    color: var(--cg-ink-soft);
    font-size: 0.78rem;
    font-style: normal;
    line-height: 1.25;
}

.home-about-story__notes {
    display: grid;
    gap: 0.45rem;
}

.home-about-story__note {
    display: block;
    padding: 0.62rem 0.74rem;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: rgba(214, 233, 254, 0.56);
    color: rgba(17, 17, 17, 0.84);
    font-size: 0.9rem;
    line-height: 1.38;
    backdrop-filter: none;
    animation: about-note-slide 9s ease-in-out infinite;
}

.home-about-story__note--2 {
    margin-left: 1.2rem;
    animation-delay: -3s;
}

.home-about-story__note--3 {
    margin-left: 2.4rem;
    animation-delay: -5.8s;
}

.home-about-story__actions,
.home-foundation__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 0.3rem;
}

.home-about-story__button,
.home-foundation__button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    border: 1px solid rgba(8, 73, 162, 0.18);
    border-radius: 0;
    background: var(--cg-brand-100);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 160ms ease, background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.home-about-story__button--primary,
.home-foundation__button--primary,
.home-about-story__button:hover,
.home-about-story__button:focus-visible,
.home-foundation__button:hover,
.home-foundation__button:focus-visible {
    border-color: var(--cg-brand-700);
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

.home-about-story__button:hover,
.home-about-story__button:focus-visible,
.home-foundation__button:hover,
.home-foundation__button:focus-visible {
    transform: translateY(-2px);
}

.home-about-board {
    position: relative;
    min-height: 700px;
}

.home-about-board::before {
    content: "";
    position: absolute;
    inset: 10% 8%;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0;
    transform: rotate(-3deg);
}

.home-about-board::after {
    content: "";
    position: absolute;
    inset: 5% 3% 9%;
    border-radius: 0;
    background:
        linear-gradient(90deg, transparent 0%, rgba(157, 216, 255, 0.2) 48%, transparent 54%),
        linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.12) 50%, transparent 56%);
    background-size: 240% 100%, 100% 240%;
    background-position: -120% 0, 0 120%;
    animation: about-board-scan 8s linear infinite;
    pointer-events: none;
}

.home-about-board__photo {
    position: absolute;
    overflow: hidden;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0;
    background: #081833;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.24);
    transition: box-shadow 240ms ease, border-color 240ms ease, filter 240ms ease;
}

.home-about-board:hover .home-about-board__photo {
    filter: saturate(0.86);
}

.home-about-board__photo:hover {
    z-index: 20;
    animation: none;
    border-color: rgba(157, 216, 255, 0.92);
    box-shadow: 0 36px 96px rgba(0, 0, 0, 0.32);
    filter: saturate(1.12);
    transform: translateY(-10px) rotate(0.4deg) scale(1.035);
}

.home-about-board:hover .home-about-board__photo:hover {
    filter: saturate(1.12);
}

.home-about-board__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms ease;
}

.home-about-board__photo:hover img,
.home-about-board__photo:focus-within img {
    transform: scale(1.1);
}

.home-about-board__photo figcaption {
    position: absolute;
    inset: auto 0 0;
    padding: 0.62rem 0.74rem;
    background: linear-gradient(180deg, transparent, rgba(4, 16, 40, 0.86));
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.74rem;
    line-height: 1.25;
}

.home-about-board__photo--1 {
    top: 5%;
    left: 14%;
    z-index: 2;
    width: 54%;
    height: 38%;
    animation: about-photo-float-a 8s ease-in-out infinite;
}

.home-about-board__photo--1 img,
.home-about-board__photo--2 img,
.home-about-board__photo--3 img,
.home-about-board__photo--5 img,
.home-about-board__photo--6 img,
.home-about-board__photo--7 img,
.home-about-board__photo--8 img {
    object-position: center bottom;
}

.home-about-board__photo--2 {
    top: 36%;
    left: 3%;
    z-index: 3;
    width: 34%;
    height: 38%;
    animation: about-photo-float-b 9s ease-in-out infinite;
}

.home-about-board__photo--3 {
    top: 43%;
    right: 9%;
    z-index: 4;
    width: 36%;
    height: 36%;
    animation: about-photo-float-c 10s ease-in-out infinite;
}

.home-about-board__photo--4 {
    top: 9%;
    right: 0;
    z-index: 5;
    width: 31%;
    height: 25%;
    animation: about-photo-float-b 11s ease-in-out infinite reverse;
}

.home-about-board__photo--5 {
    top: 62%;
    left: 31%;
    z-index: 6;
    width: 32%;
    height: 24%;
    animation: about-photo-float-d 8.5s ease-in-out infinite;
}

.home-about-board__photo--6 {
    top: 22%;
    left: 0;
    z-index: 1;
    width: 29%;
    height: 24%;
    animation: about-photo-float-c 9.5s ease-in-out infinite reverse;
}

.home-about-board__photo--7 {
    right: 0;
    bottom: 3%;
    z-index: 7;
    width: 35%;
    height: 26%;
    animation: about-photo-float-a 12s ease-in-out infinite reverse;
}

.home-about-board__photo--8 {
    left: 10%;
    bottom: 0;
    z-index: 5;
    width: 34%;
    height: 22%;
    animation: about-photo-float-d 11s ease-in-out infinite reverse;
}

.home-foundation {
    position: relative;
    overflow: hidden;
    scroll-margin-top: 130px;
    padding: clamp(3.8rem, 4.6vw, 5.1rem) 0 clamp(2.2rem, 3.1vw, 3.4rem);
    background:
        linear-gradient(90deg, rgba(8, 73, 162, 0.06) 1px, transparent 1px),
        linear-gradient(180deg, #ffffff 0%, #f1f7ff 100%);
    background-size: 86px 86px, 100% 100%;
}

.home-foundation__shell {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: clamp(1.5rem, 4vw, 4.2rem);
    align-items: center;
}

.home-foundation__visual {
    position: relative;
    isolation: isolate;
    min-height: 520px;
}

.home-foundation__halo {
    position: absolute;
    top: clamp(3.5rem, 5.5vw, 5rem);
    left: 0;
    z-index: 6;
    width: min(86%, 580px);
    height: 74%;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 50%;
    transform: rotate(-9deg);
    pointer-events: none;
}

.home-foundation__halo::before,
.home-foundation__halo::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(8, 73, 162, 0.1);
    border-radius: 50%;
}

.home-foundation__halo::before {
    inset: 2.4rem 1.6rem;
    transform: rotate(14deg);
}

.home-foundation__halo::after {
    inset: 5.2rem 3.2rem;
    transform: rotate(-18deg);
}

.home-foundation__visual:hover .home-foundation__halo {
    transform: rotate(-7deg) scale(1.01);
}

.home-foundation__halo-word {
    --foundation-label-radius: 14.8rem;
    --foundation-label-tilt: 9deg;
    --foundation-label-start: 0deg;
    --foundation-label-end: 360deg;
    --foundation-label-counter-start: 0deg;
    --foundation-label-counter-end: -360deg;
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 0 0.68rem;
    border: 1px solid rgba(8, 73, 162, 0.18);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.92);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.63rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 18px 38px rgba(8, 73, 162, 0.15);
    transform: translate(-50%, -50%) rotate(var(--foundation-label-start)) translateX(var(--foundation-label-radius)) rotate(var(--foundation-label-counter-start)) rotate(var(--foundation-label-tilt));
    animation: foundation-label-orbit 36s linear infinite;
    will-change: transform;
}

.home-foundation__visual:hover .home-foundation__halo-word {
    animation-duration: 28s;
}

.home-foundation__halo-word--1 {
    --foundation-label-start: 0deg;
    --foundation-label-end: 360deg;
    --foundation-label-counter-start: 0deg;
    --foundation-label-counter-end: -360deg;
}

.home-foundation__halo-word--2 {
    --foundation-label-start: 45deg;
    --foundation-label-end: 405deg;
    --foundation-label-counter-start: -45deg;
    --foundation-label-counter-end: -405deg;
}

.home-foundation__halo-word--3 {
    --foundation-label-start: 90deg;
    --foundation-label-end: 450deg;
    --foundation-label-counter-start: -90deg;
    --foundation-label-counter-end: -450deg;
}

.home-foundation__halo-word--4 {
    --foundation-label-start: 135deg;
    --foundation-label-end: 495deg;
    --foundation-label-counter-start: -135deg;
    --foundation-label-counter-end: -495deg;
}

.home-foundation__halo-word--5 {
    --foundation-label-start: 180deg;
    --foundation-label-end: 540deg;
    --foundation-label-counter-start: -180deg;
    --foundation-label-counter-end: -540deg;
}

.home-foundation__halo-word--6 {
    --foundation-label-start: 225deg;
    --foundation-label-end: 585deg;
    --foundation-label-counter-start: -225deg;
    --foundation-label-counter-end: -585deg;
}

.home-foundation__halo-word--7 {
    --foundation-label-start: 270deg;
    --foundation-label-end: 630deg;
    --foundation-label-counter-start: -270deg;
    --foundation-label-counter-end: -630deg;
}

.home-foundation__halo-word--8 {
    --foundation-label-start: 315deg;
    --foundation-label-end: 675deg;
    --foundation-label-counter-start: -315deg;
    --foundation-label-counter-end: -675deg;
}

.home-foundation__photo {
    position: absolute;
    z-index: 1;
    overflow: hidden;
    margin: 0;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    background: var(--cg-white);
    box-shadow: 0 28px 78px rgba(8, 73, 162, 0.17);
    opacity: 0.86;
    transition: box-shadow 220ms ease, border-color 220ms ease;
}

.home-foundation__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 620ms ease, filter 220ms ease;
}

.home-foundation__photo:hover {
    z-index: 5;
    animation: none;
    border-color: rgba(8, 73, 162, 0.42);
    box-shadow: 0 38px 98px rgba(8, 73, 162, 0.26);
    transform: translateY(-12px) scale(1.025);
}

.home-foundation__photo:hover img {
    transform: scale(1.08);
    filter: saturate(1.08) contrast(1.04);
}

.home-foundation__photo figcaption {
    position: absolute;
    inset: auto 0 0;
    padding: 0.68rem 0.78rem;
    background: linear-gradient(180deg, transparent, rgba(4, 16, 40, 0.82));
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.76rem;
    line-height: 1.25;
}

.home-foundation__photo--1 {
    inset: 6% 7% auto auto;
    width: min(72%, 640px);
    height: 66%;
    animation: foundation-image-drift 11s ease-in-out infinite;
}

.home-foundation__photo--2 {
    left: 0;
    bottom: 5%;
    width: min(48%, 420px);
    height: 42%;
    animation: foundation-image-drift-alt 9s ease-in-out infinite;
}

.home-foundation__visual::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 4%;
    z-index: 0;
    width: 70%;
    height: 46%;
    border: 1px solid rgba(8, 73, 162, 0.18);
    border-radius: 0;
    background:
        linear-gradient(90deg, rgba(8, 73, 162, 0.08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(8, 73, 162, 0.08) 1px, transparent 1px),
        rgba(255, 255, 255, 0.62);
    background-size: 34px 34px;
}

.home-foundation__mark {
    position: absolute;
    right: 4%;
    bottom: 4%;
    z-index: 7;
    display: inline-flex;
    width: 6.6rem;
    height: 6.6rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(8, 73, 162, 0.2);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.74);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 1.6rem;
    font-weight: 900;
    letter-spacing: 0;
    box-shadow: 0 20px 44px rgba(8, 73, 162, 0.13);
    animation: foundation-mark-spin 14s linear infinite;
}

.home-foundation__copy {
    display: grid;
    gap: 1rem;
}

.home-foundation__kicker {
    background: rgba(8, 73, 162, 0.1);
    color: var(--cg-brand-700);
}

.home-foundation__copy h2 {
    max-width: 13ch;
    margin: 0;
    color: var(--cg-ink);
    font-size: 4.1rem;
    line-height: 0.94;
    letter-spacing: 0;
}

.home-foundation__copy p {
    max-width: 64ch;
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 1.05rem;
    line-height: 1.58;
}

.home-foundation__button {
    border-color: rgba(8, 73, 162, 0.18);
    background: var(--cg-brand-100);
    color: var(--cg-brand-700);
}

.home-foundation__button--primary,
.home-foundation__button:hover,
.home-foundation__button:focus-visible {
    border-color: var(--cg-brand-700);
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

@keyframes gallery-shot-drift {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(0);
    }
    50% {
        transform: translate3d(0, -8px, 0) rotate(1deg);
    }
}

@keyframes about-ticker {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

@keyframes about-ticker-reverse {
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(0);
    }
}

@keyframes about-signal-sweep {
    from {
        background-position: -160% 0;
    }
    to {
        background-position: 160% 0;
    }
}

@keyframes about-photo-float-a {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(-2deg);
    }
    50% {
        transform: translate3d(12px, -16px, 0) rotate(1deg);
    }
}

@keyframes about-photo-float-b {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(3deg);
    }
    50% {
        transform: translate3d(-10px, 14px, 0) rotate(-1deg);
    }
}

@keyframes about-photo-float-c {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(-1deg);
    }
    50% {
        transform: translate3d(10px, 12px, 0) rotate(3deg);
    }
}

@keyframes about-photo-float-d {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(2deg) scale(1);
    }
    50% {
        transform: translate3d(-14px, -10px, 0) rotate(-3deg) scale(1.03);
    }
}

@keyframes about-counter-pulse {
    0%, 100% {
        transform: translateY(0);
        border-color: rgba(255, 255, 255, 0.14);
    }
    50% {
        transform: translateY(-4px);
        border-color: rgba(157, 216, 255, 0.34);
    }
}

@keyframes about-note-slide {
    0%, 100% {
        transform: translateX(0);
        border-color: rgba(157, 216, 255, 0.2);
    }
    50% {
        transform: translateX(10px);
        border-color: rgba(157, 216, 255, 0.38);
    }
}

@keyframes about-board-scan {
    0% {
        background-position: -120% 0, 0 120%;
    }
    100% {
        background-position: 120% 0, 0 -120%;
    }
}

@keyframes foundation-image-drift {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(1deg);
    }
    50% {
        transform: translate3d(-14px, 12px, 0) rotate(-1deg);
    }
}

@keyframes foundation-image-drift-alt {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(-2deg);
    }
    50% {
        transform: translate3d(16px, -10px, 0) rotate(2deg);
    }
}

@keyframes foundation-label-orbit {
    from {
        transform: translate(-50%, -50%) rotate(var(--foundation-label-start)) translateX(var(--foundation-label-radius)) rotate(var(--foundation-label-counter-start)) rotate(var(--foundation-label-tilt));
    }

    to {
        transform: translate(-50%, -50%) rotate(var(--foundation-label-end)) translateX(var(--foundation-label-radius)) rotate(var(--foundation-label-counter-end)) rotate(var(--foundation-label-tilt));
    }
}

@keyframes foundation-mark-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1180px) {
    .home-about-story {
        min-height: 0;
    }

    .home-about-story::after {
        right: -1.2rem;
        bottom: 1.2rem;
        font-size: 5.8rem;
    }

    .home-photo-gallery__shell,
    .home-about-story__shell,
    .home-foundation__shell {
        grid-template-columns: 1fr;
    }

    .home-photo-gallery__intro h2 {
        max-width: 24ch;
    }

    .home-photo-gallery__intro,
    .home-photo-gallery__links,
    .home-photo-gallery__wall {
        grid-column: auto;
        grid-row: auto;
    }

    .home-about-board {
        min-height: 560px;
    }

    .home-foundation__visual {
        order: 2;
        min-height: 460px;
    }

    .home-foundation__halo {
        left: 1%;
        width: 82%;
        opacity: 0.72;
    }
}

@media (max-width: 760px) {
    .home-photo-gallery {
        padding: 3.7rem 0;
    }

    .home-photo-gallery__intro h2 {
        font-size: 2.55rem;
    }

    .home-photo-gallery__links {
        margin-top: 0;
    }

    .home-photo-gallery__wall {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        min-height: 0;
        gap: 0.75rem;
    }

    .home-photo-shot,
    .home-photo-shot--1,
    .home-photo-shot--2,
    .home-photo-shot--3,
    .home-photo-shot--4,
    .home-photo-shot--5,
    .home-photo-shot--6 {
        grid-column: auto;
        grid-row: auto;
        min-height: 260px;
        animation: none;
    }

    .home-about-story {
        padding: 3.7rem 0 2.2rem;
    }

    .home-about-story::after {
        right: -0.8rem;
        bottom: 0.8rem;
        font-size: 3.6rem;
        opacity: 0.46;
    }

    .home-about-story__ticker--diagonal {
        display: none;
    }

    .home-about-story__shell {
        gap: 1.5rem;
        padding-top: 1.2rem;
    }

    .home-about-story__copy h2,
    .home-foundation__copy h2 {
        font-size: 2.65rem;
    }

    .home-about-story__facts {
        grid-template-columns: 1fr;
    }

    .home-about-story__button,
    .home-foundation__button {
        width: 100%;
    }

    .home-about-board {
        display: grid;
        gap: 0.75rem;
        min-height: 0;
    }

    .home-about-board::before,
    .home-about-board::after {
        display: none;
    }

    .home-about-board__photo,
    .home-about-board__photo--1,
    .home-about-board__photo--2,
    .home-about-board__photo--3,
    .home-about-board__photo--4,
    .home-about-board__photo--5,
    .home-about-board__photo--6,
    .home-about-board__photo--7,
    .home-about-board__photo--8 {
        position: relative;
        inset: auto;
        width: 100%;
        height: 250px;
        animation: none;
    }

    .home-foundation {
        padding: 4rem 0;
    }

    .home-foundation__visual {
        display: grid;
        gap: 0.75rem;
        min-height: 0;
    }

    .home-foundation__halo {
        display: none;
    }

    .home-foundation__photo,
    .home-foundation__photo--1,
    .home-foundation__photo--2 {
        position: relative;
        inset: auto;
        width: 100%;
        height: 260px;
        animation: none;
    }

    .home-foundation__photo img {
        height: 100%;
    }

    .home-foundation__visual::before,
    .home-foundation__mark {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-photo-shot,
    .home-about-story::before,
    .home-about-story__ticker-track,
    .home-about-board__photo,
    .home-about-story__facts span,
    .home-about-story__note,
    .home-foundation__halo,
    .home-foundation__halo-word,
    .home-foundation__photo,
    .home-foundation__mark {
        animation: none;
    }
}

/* Site footer cosmic v1 */
.site-footer {
    position: relative;
    overflow: hidden;
    margin-top: 0;
    padding: 4.7rem 0 0;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(135deg, #020916 0%, #0849a2 38%, #0849a2 74%, #0849a2 100%);
    background-size: 86px 86px, 86px 86px, 100% 100%;
    color: var(--cg-white);
    box-shadow: none;
    isolation: isolate;
}

.site-footer::before {
    content: "CZESC GIZYCKO";
    position: absolute;
    right: -0.5rem;
    bottom: 1.2rem;
    z-index: 0;
    max-width: 9ch;
    color: transparent;
    font-family: var(--cg-font-display);
    font-size: 8.2rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.78;
    opacity: 0.22;
    pointer-events: none;
    transform: rotate(-4deg);
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.32);
}

.site-footer::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(112deg, transparent 0%, rgba(157, 216, 255, 0.24) 46%, rgba(231, 43, 77, 0.18) 52%, transparent 66%);
    background-size: 260% 100%;
    animation: footer-signal-sweep 16s linear infinite;
    opacity: 0.54;
    pointer-events: none;
}

.site-footer__beam {
    position: absolute;
    top: 18%;
    right: -10%;
    left: -10%;
    z-index: 1;
    height: 7.2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    background:
        linear-gradient(90deg, transparent, rgba(157, 216, 255, 0.2), rgba(255, 255, 255, 0.16), rgba(231, 43, 77, 0.2), transparent);
    transform: rotate(-5deg);
    animation: footer-beam-breathe 9s ease-in-out infinite;
    pointer-events: none;
}

.site-footer__ticker {
    position: absolute;
    right: 0;
    left: 0;
    z-index: 5;
    overflow: hidden;
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(2, 9, 22, 0.34);
    pointer-events: none;
}

.site-footer__ticker--top {
    top: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.site-footer__ticker--bottom {
    bottom: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.site-footer__ticker-track {
    display: flex;
    width: max-content;
    gap: 1rem;
    padding: 0.68rem 0;
    color: rgba(255, 255, 255, 0.74);
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
    animation: footer-ticker-left 36s linear infinite;
}

.site-footer__ticker--bottom .site-footer__ticker-track {
    animation-name: footer-ticker-right;
}

.site-footer__ticker span {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    white-space: nowrap;
}

.site-footer__ticker span::after {
    content: "";
    display: inline-block;
    width: 0.36rem;
    height: 0.36rem;
    border-radius: 0;
    background: #d6e9fe;
}

.site-footer__inner {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.78fr);
    grid-template-areas:
        "brand orbit"
        "links nav"
        "meta meta";
    gap: 1.4rem 2rem;
    align-items: center;
    padding: 1.8rem 0 4.7rem;
}

.site-footer__brand {
    display: grid;
    grid-area: brand;
    gap: 0.9rem;
    align-content: center;
}

.site-footer__eyebrow {
    width: fit-content;
    margin: 0;
    padding: 0.34rem 0.68rem;
    border: 1px solid rgba(157, 216, 255, 0.24);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.08);
    color: #d6e9fe;
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.site-footer__brand-link {
    display: block;
    width: fit-content;
    max-width: 100%;
    text-decoration: none;
}

.site-footer__title {
    display: flex;
    flex-wrap: wrap;
    max-width: 9ch;
    margin: 0;
    color: var(--cg-white);
    font-family: var(--cg-font-display);
    font-size: 5.6rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.78;
    text-transform: uppercase;
}

.site-footer__title span {
    display: inline-block;
    color: transparent;
    background: linear-gradient(135deg, #ffffff 0%, #d6e9fe 48%, #e72b4d 100%);
    background-clip: text;
    -webkit-background-clip: text;
    transform-origin: 50% 80%;
    transition: transform 220ms ease, filter 220ms ease;
}

.site-footer__title span.is-space {
    width: 0.25em;
}

.site-footer__brand-link:hover .site-footer__title span,
.site-footer__brand-link:focus-visible .site-footer__title span {
    animation: footer-letter-wave 900ms ease both;
    animation-delay: calc(var(--letter-index) * 42ms);
    filter: drop-shadow(0 16px 24px rgba(157, 216, 255, 0.22));
}

.site-footer__brand-link:active .site-footer__title span {
    transform: scale(0.9) rotate(-3deg);
}

.site-footer__lead {
    max-width: 58ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.06rem;
    line-height: 1.62;
}

.site-footer__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.site-footer__actions a,
.site-footer__top {
    position: relative;
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.08);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.site-footer__actions a::before,
.site-footer__top::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent, rgba(157, 216, 255, 0.34), transparent);
    transform: translateX(-115%);
    transition: transform 500ms ease;
}

.site-footer__actions a:hover,
.site-footer__actions a:focus-visible,
.site-footer__top:hover,
.site-footer__top:focus-visible {
    transform: translateY(-4px) scale(1.02);
    border-color: #d6e9fe;
    background: #d6e9fe;
    color: #0849a2;
}

.site-footer__actions a:hover::before,
.site-footer__actions a:focus-visible::before,
.site-footer__top:hover::before,
.site-footer__top:focus-visible::before {
    transform: translateX(115%);
}

.site-footer__actions a:active,
.site-footer__top:active,
.site-footer__linkgrid a:active,
.footer-social:active {
    transform: translateY(1px) scale(0.96);
}

.site-footer__orbit {
    position: relative;
    grid-area: orbit;
    justify-self: center;
    width: 24rem;
    max-width: 100%;
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    animation: footer-orbit-spin 34s linear infinite;
}

.site-footer__orbit::before,
.site-footer__orbit::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
}

.site-footer__orbit::before {
    inset: 2.2rem;
}

.site-footer__orbit::after {
    inset: 5.4rem 2.2rem;
    transform: rotate(23deg);
}

.site-footer__orbit > span {
    position: absolute;
    inset: 50% auto auto 50%;
    z-index: 2;
    display: inline-flex;
    width: 7.2rem;
    aspect-ratio: 1;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(157, 216, 255, 0.28);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 1.8rem;
    font-weight: 900;
    letter-spacing: 0;
    transform: translate(-50%, -50%);
    backdrop-filter: blur(10px);
}

.site-footer__orbit-word {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 0.62rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0;
    background: rgba(2, 9, 22, 0.36);
    color: rgba(255, 255, 255, 0.82);
    font-family: var(--cg-font-menu);
    font-size: 0.64rem;
    font-style: normal;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
    backdrop-filter: blur(10px);
}

.site-footer__orbit-word--1 {
    transform: translate(-50%, -50%) rotate(0deg) translateX(12rem) rotate(0deg);
}

.site-footer__orbit-word--2 {
    transform: translate(-50%, -50%) rotate(45deg) translateX(12rem) rotate(-45deg);
}

.site-footer__orbit-word--3 {
    transform: translate(-50%, -50%) rotate(90deg) translateX(12rem) rotate(-90deg);
}

.site-footer__orbit-word--4 {
    transform: translate(-50%, -50%) rotate(135deg) translateX(12rem) rotate(-135deg);
}

.site-footer__orbit-word--5 {
    transform: translate(-50%, -50%) rotate(180deg) translateX(12rem) rotate(-180deg);
}

.site-footer__orbit-word--6 {
    transform: translate(-50%, -50%) rotate(225deg) translateX(12rem) rotate(-225deg);
}

.site-footer__orbit-word--7 {
    transform: translate(-50%, -50%) rotate(270deg) translateX(12rem) rotate(-270deg);
}

.site-footer__orbit-word--8 {
    transform: translate(-50%, -50%) rotate(315deg) translateX(12rem) rotate(-315deg);
}

.site-footer__linkgrid {
    display: grid;
    grid-area: links;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.62rem;
}

.site-footer__linkgrid a {
    position: relative;
    display: grid;
    gap: 0.28rem;
    overflow: hidden;
    min-height: 88px;
    align-content: end;
    padding: 0.78rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.08);
    color: var(--cg-white);
    text-decoration: none;
    transition: transform 190ms ease, background 190ms ease, border-color 190ms ease;
}

.site-footer__linkgrid a::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(157, 216, 255, 0.24), rgba(231, 43, 77, 0.2), transparent);
    opacity: 0;
    transition: opacity 190ms ease;
}

.site-footer__linkgrid a span,
.site-footer__linkgrid a strong {
    position: relative;
    z-index: 1;
}

.site-footer__linkgrid a span {
    color: #d6e9fe;
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0;
}

.site-footer__linkgrid a strong {
    font-size: 1rem;
    line-height: 1.16;
}

.site-footer__linkgrid a:hover,
.site-footer__linkgrid a:focus-visible {
    transform: translateY(-6px) rotate(-1deg);
    border-color: rgba(157, 216, 255, 0.62);
    background: rgba(255, 255, 255, 0.14);
}

.site-footer__linkgrid a:hover::before,
.site-footer__linkgrid a:focus-visible::before {
    opacity: 1;
}

.site-footer__nav {
    display: grid;
    grid-area: nav;
    gap: 0.75rem;
    align-self: stretch;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 0;
    background: rgba(2, 9, 22, 0.18);
}

.site-footer__nav-title {
    margin: 0;
    color: #d6e9fe;
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.site-footer__menu {
    display: grid;
    gap: 0.4rem;
}

.site-footer__menu a {
    position: relative;
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    width: fit-content;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 750;
    transition: transform 160ms ease, color 160ms ease;
}

.site-footer__menu a::before {
    content: "";
    width: 0;
    height: 1px;
    margin-right: 0;
    background: #d6e9fe;
    transition: width 160ms ease, margin-right 160ms ease;
}

.site-footer__menu a:hover,
.site-footer__menu a:focus-visible {
    color: var(--cg-white);
    transform: translateX(4px);
}

.site-footer__menu a:hover::before,
.site-footer__menu a:focus-visible::before {
    width: 1.1rem;
    margin-right: 0.42rem;
}

.site-footer__meta {
    display: flex;
    grid-area: meta;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.footer-social {
    display: grid;
    gap: 0.16rem;
    min-width: 220px;
    padding: 0.86rem 1rem;
    border: 1px solid rgba(157, 216, 255, 0.24);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.1);
    color: var(--cg-white);
    text-decoration: none;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.footer-social:hover,
.footer-social:focus-visible {
    transform: translateY(-4px);
    border-color: #d6e9fe;
    background: rgba(157, 216, 255, 0.16);
}

.footer-social__label,
.site-footer__copy {
    color: rgba(255, 255, 255, 0.72);
}

.footer-social__value {
    color: var(--cg-white);
    font-size: 1.25rem;
}

.site-footer__copy {
    margin: 0;
    font-size: 0.9rem;
}

@keyframes footer-ticker-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

@keyframes footer-ticker-right {
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(0);
    }
}

@keyframes footer-signal-sweep {
    from {
        background-position: -160% 0;
    }
    to {
        background-position: 160% 0;
    }
}

@keyframes footer-beam-breathe {
    0%, 100% {
        transform: rotate(-5deg) translateY(0);
        opacity: 0.58;
    }
    50% {
        transform: rotate(-3deg) translateY(1.2rem);
        opacity: 0.92;
    }
}

@keyframes footer-letter-wave {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    45% {
        transform: translateY(-0.22em) scale(1.16) rotate(-2deg);
    }
    72% {
        transform: translateY(0.08em) scale(0.9) rotate(1deg);
    }
}

@keyframes footer-orbit-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1180px) {
    .site-footer__inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "orbit"
            "links"
            "nav"
            "meta";
    }

    .site-footer__orbit {
        width: 20rem;
    }

    .site-footer__orbit-word--1 {
        transform: translate(-50%, -50%) rotate(0deg) translateX(10rem) rotate(0deg);
    }

    .site-footer__orbit-word--2 {
        transform: translate(-50%, -50%) rotate(45deg) translateX(10rem) rotate(-45deg);
    }

    .site-footer__orbit-word--3 {
        transform: translate(-50%, -50%) rotate(90deg) translateX(10rem) rotate(-90deg);
    }

    .site-footer__orbit-word--4 {
        transform: translate(-50%, -50%) rotate(135deg) translateX(10rem) rotate(-135deg);
    }

    .site-footer__orbit-word--5 {
        transform: translate(-50%, -50%) rotate(180deg) translateX(10rem) rotate(-180deg);
    }

    .site-footer__orbit-word--6 {
        transform: translate(-50%, -50%) rotate(225deg) translateX(10rem) rotate(-225deg);
    }

    .site-footer__orbit-word--7 {
        transform: translate(-50%, -50%) rotate(270deg) translateX(10rem) rotate(-270deg);
    }

    .site-footer__orbit-word--8 {
        transform: translate(-50%, -50%) rotate(315deg) translateX(10rem) rotate(-315deg);
    }
}

@media (max-width: 760px) {
    .site-footer {
        padding-top: 4rem;
    }

    .site-footer::before,
    .site-footer__beam,
    .site-footer__orbit {
        display: none;
    }

    .site-footer__inner {
        padding-bottom: 4.2rem;
    }

    .site-footer__title {
        font-size: 3.05rem;
        line-height: 0.84;
    }

    .site-footer__linkgrid {
        grid-template-columns: 1fr;
    }

    .site-footer__meta {
        display: grid;
    }

    .footer-social,
    .site-footer__top {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-footer::after,
    .site-footer__beam,
    .site-footer__ticker-track,
    .site-footer__brand-link:hover .site-footer__title span,
    .site-footer__brand-link:focus-visible .site-footer__title span,
    .site-footer__orbit {
        animation: none;
    }
}

/* Site footer editorial v2 */
.site-footer--editorial {
    padding: 4.7rem 0 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(138deg, #0849a2 0%, #0849a2 46%, #0849a2 100%);
    background-size: 88px 88px, 88px 88px, 100% 100%;
}

.site-footer--editorial::before {
    content: "GiÄąÄ˝ycko";
    right: -1.2rem;
    bottom: 2.1rem;
    max-width: none;
    font-size: 9rem;
    line-height: 0.9;
    opacity: 0.2;
    transform: rotate(-3deg);
    white-space: nowrap;
    -webkit-text-stroke: 1px rgba(157, 216, 255, 0.38);
}

.site-footer--editorial::after {
    background:
        linear-gradient(114deg, transparent 0%, rgba(157, 216, 255, 0.2) 40%, rgba(255, 255, 255, 0.16) 48%, rgba(231, 43, 77, 0.14) 56%, transparent 70%);
    animation: footer-editorial-glow 14s linear infinite;
    opacity: 0.5;
}

.site-footer--editorial .site-footer__beam {
    top: 34%;
    height: 5.2rem;
    background:
        linear-gradient(90deg, transparent, rgba(157, 216, 255, 0.16), rgba(255, 255, 255, 0.18), rgba(157, 216, 255, 0.16), transparent);
    transform: rotate(-2deg);
    animation: footer-editorial-beam 8s ease-in-out infinite;
}

.site-footer__wordfield {
    position: absolute;
    inset: 3.6rem 0 3rem;
    z-index: 1;
    pointer-events: none;
}

.site-footer__word {
    position: absolute;
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 0 0.62rem;
    border: 1px solid rgba(157, 216, 255, 0.16);
    border-radius: 0;
    background: rgba(2, 9, 22, 0.26);
    color: rgba(255, 255, 255, 0.62);
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

.site-footer__word--1 {
    top: 8%;
    left: 6%;
    animation: footer-word-fly-a 11s ease-in-out infinite;
}

.site-footer__word--2 {
    top: 12%;
    right: 14%;
    animation: footer-word-fly-b 13s ease-in-out infinite;
}

.site-footer__word--3 {
    top: 55%;
    left: 3%;
    animation: footer-word-fly-c 12s ease-in-out infinite;
}

.site-footer__word--4 {
    right: 6%;
    bottom: 28%;
    animation: footer-word-fly-a 14s ease-in-out infinite reverse;
}

.site-footer__word--5 {
    right: 25%;
    bottom: 8%;
    animation: footer-word-fly-b 10s ease-in-out infinite reverse;
}

.site-footer--editorial .site-footer__inner {
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
    grid-template-areas:
        "brand contact"
        "links nav"
        "meta meta";
    gap: 1.35rem 2rem;
}

.site-footer--editorial .site-footer__title {
    flex-wrap: nowrap;
    max-width: none;
    width: max-content;
    max-width: 100%;
    gap: 0.18em;
    font-size: 5.25rem;
    line-height: 0.86;
    white-space: nowrap;
}

.site-footer--editorial .site-footer__title span {
    background: linear-gradient(135deg, #ffffff 0%, #d6e9fe 56%, #ffffff 100%);
    background-clip: text;
    -webkit-background-clip: text;
}

.site-footer--editorial .site-footer__brand-link:hover .site-footer__title span,
.site-footer--editorial .site-footer__brand-link:focus-visible .site-footer__title span {
    animation: footer-word-grow 900ms ease both, footer-word-glow 1.6s ease-in-out infinite;
    animation-delay: calc(var(--word-index) * 80ms), 0ms;
}

.site-footer--editorial .site-footer__brand-link:active .site-footer__title span {
    transform: scale(0.94) translateY(0.04em);
}

.site-footer--editorial .site-footer__lead {
    max-width: 64ch;
}

.site-footer__contact {
    position: relative;
    display: grid;
    grid-area: contact;
    gap: 0.66rem;
    align-self: stretch;
    padding: 1rem;
    border: 1px solid rgba(157, 216, 255, 0.18);
    border-radius: 0;
    background: rgba(2, 9, 22, 0.22);
    overflow: hidden;
}

.site-footer__contact::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(157, 216, 255, 0.14) 50%, transparent 100%);
    transform: translateX(-110%);
    animation: footer-contact-shine 8s ease-in-out infinite;
    pointer-events: none;
}

.site-footer__contact-row {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0.18rem;
    min-height: 62px;
    align-content: center;
    padding: 0.74rem 0.8rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.08);
    color: var(--cg-white);
    text-decoration: none;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.site-footer__contact-row span {
    color: #d6e9fe;
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.site-footer__contact-row strong {
    font-size: 1rem;
    line-height: 1.22;
}

.site-footer__contact-row:hover,
.site-footer__contact-row:focus-visible {
    transform: translateX(7px);
    border-color: rgba(157, 216, 255, 0.48);
    background: rgba(157, 216, 255, 0.14);
}

.site-footer--editorial .site-footer__orbit {
    display: none;
}

.site-footer__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 0.62rem;
}

.site-footer--editorial .footer-social {
    min-width: 0;
    min-height: 62px;
}

.site-footer--editorial .footer-social:hover,
.site-footer--editorial .footer-social:focus-visible {
    transform: translateY(-5px) scale(1.02);
}

@keyframes footer-editorial-glow {
    from {
        background-position: -160% 0;
    }
    to {
        background-position: 160% 0;
    }
}

@keyframes footer-editorial-beam {
    0%, 100% {
        transform: rotate(-2deg) translateY(0);
        opacity: 0.54;
    }
    50% {
        transform: rotate(-1deg) translateY(0.85rem);
        opacity: 0.9;
    }
}

@keyframes footer-word-grow {
    0%, 100% {
        transform: scale(1) translateY(0);
    }
    45% {
        transform: scale(1.12) translateY(-0.14em);
    }
    72% {
        transform: scale(0.94) translateY(0.05em);
    }
}

@keyframes footer-word-glow {
    0%, 100% {
        filter: drop-shadow(0 0 0 rgba(157, 216, 255, 0));
    }
    50% {
        filter: drop-shadow(0 0 26px rgba(157, 216, 255, 0.56));
    }
}

@keyframes footer-word-fly-a {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(-2deg);
    }
    50% {
        transform: translate3d(18px, -12px, 0) rotate(2deg);
    }
}

@keyframes footer-word-fly-b {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(2deg);
    }
    50% {
        transform: translate3d(-22px, 14px, 0) rotate(-2deg);
    }
}

@keyframes footer-word-fly-c {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(1deg);
    }
    50% {
        transform: translate3d(16px, 18px, 0) rotate(-2deg);
    }
}

@keyframes footer-contact-shine {
    0%, 64% {
        transform: translateX(-110%);
    }
    100% {
        transform: translateX(110%);
    }
}

@media (max-width: 1180px) {
    .site-footer--editorial .site-footer__inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "contact"
            "links"
            "nav"
            "meta";
    }

    .site-footer--editorial .site-footer__title {
        font-size: 4.2rem;
    }
}

@media (max-width: 760px) {
    .site-footer--editorial::before,
    .site-footer__wordfield {
        display: none;
    }

    .site-footer--editorial .site-footer__title {
        font-size: 2.62rem;
        line-height: 0.92;
    }

    .site-footer__socials {
        display: grid;
    }
}

@media (max-width: 380px) {
    .site-footer--editorial .site-footer__title {
        font-size: 2.28rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-footer--editorial::after,
    .site-footer--editorial .site-footer__beam,
    .site-footer--editorial .site-footer__brand-link:hover .site-footer__title span,
    .site-footer--editorial .site-footer__brand-link:focus-visible .site-footer__title span,
    .site-footer__word,
    .site-footer__contact::before {
        animation: none;
    }
}

/* Site footer clean v5 */
.site-footer--clean {
    margin-top: 0;
    padding: clamp(2.15rem, 4vw, 3.35rem) 0 1.05rem;
    border-top: 0;
    background: #0849a2;
    color: var(--cg-white);
}

.site-footer--clean::before,
.site-footer--clean::after {
    content: none;
    display: none;
}

.site-footer--clean .site-footer__beam,
.site-footer--clean .site-footer__ticker,
.site-footer--clean .site-footer__wordfield,
.site-footer--clean .site-footer__actions,
.site-footer--clean .site-footer__nav,
.site-footer--clean .site-footer__linkgrid {
    display: none;
}

.site-footer--clean .site-footer__inner {
    grid-template-columns: minmax(260px, 0.92fr) minmax(280px, 0.72fr);
    grid-template-areas:
        "brand contact"
        "meta meta";
    gap: clamp(1.55rem, 4vw, 4rem);
    padding-bottom: 0;
}

.site-footer--clean .site-footer__brand {
    display: grid;
    grid-area: brand;
    gap: 1rem;
    align-content: start;
    justify-items: start;
}

.site-footer--clean .site-footer__brand-link {
    display: inline-flex;
    width: clamp(10rem, 12vw, 14rem);
    height: auto;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    text-decoration: none;
    transition: transform 180ms ease;
}

.site-footer--clean .site-footer__brand-link:hover,
.site-footer--clean .site-footer__brand-link:focus-visible {
    transform: translateY(-2px);
}

.site-footer--clean .site-footer__logo {
    display: inline-flex;
    width: 100%;
    height: auto;
    align-items: center;
    justify-content: center;
    overflow: visible;
    border-radius: 0;
}

.site-footer--clean .site-footer__logo-image {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    max-height: none;
    object-fit: contain;
    filter: none;
}

.site-footer--clean .site-footer__logo-fallback {
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0;
}

.site-footer--clean .site-footer__lead {
    max-width: 45ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1rem;
    line-height: 1.58;
}

.site-footer--clean .site-footer__contact {
    display: grid;
    grid-area: contact;
    width: min(100%, 100%);
    gap: clamp(0.8rem, 2vw, 1rem);
    align-self: start;
    justify-self: stretch;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.site-footer--clean .site-footer__social-column {
    display: grid;
    grid-area: social;
    align-self: start;
    justify-self: center;
    gap: 0.55rem;
    min-width: 0;
}

.site-footer--clean .site-footer__contact-details {
    min-width: 0;
    display: grid;
    gap: 0.15rem;
}

.site-footer--clean .site-footer__contact::before {
    content: none;
}

.site-footer--clean .site-footer__nav-title {
    margin: 0 0 0.45rem;
    color: rgba(255, 255, 255, 0.68);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.site-footer--clean .site-footer__contact-row {
    display: grid;
    gap: 0.16rem;
    min-height: 0;
    padding: 0.68rem 0;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0;
    background: transparent;
    color: var(--cg-white);
    text-decoration: none;
    transition: transform 180ms ease, color 180ms ease;
}

.site-footer--clean .site-footer__contact-row span {
    color: rgba(255, 255, 255, 0.68);
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.site-footer--clean .site-footer__contact-row strong {
    color: var(--cg-white);
    font-size: 1rem;
    line-height: 1.25;
}

.site-footer--clean .site-footer__contact-row:hover,
.site-footer--clean .site-footer__contact-row:focus-visible {
    transform: translateX(3px);
    color: var(--cg-white);
}

.site-footer--clean .site-footer__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0;
    align-items: center;
}

.site-footer--clean .footer-social {
    display: inline-flex;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 0;
    background: var(--cg-white);
    color: #071831;
    text-decoration: none;
    box-shadow: none;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.site-footer--clean .footer-social__icon {
    display: inline-flex;
    width: 1.18rem;
    height: 1.18rem;
    align-items: center;
    justify-content: center;
}

.site-footer--clean .footer-social__icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
    stroke: none;
}

.site-footer--clean .footer-social[aria-label="Instagram"] .footer-social__icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.site-footer--clean .footer-social[aria-label="Instagram"] .footer-social__icon circle:last-child {
    fill: currentColor;
    stroke: none;
}

.site-footer--clean .footer-social[aria-label="YouTube"] .footer-social__icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.site-footer--clean .footer-social[aria-label="YouTube"] .footer-social__icon path {
    fill: currentColor;
    stroke: none;
}

.site-footer--clean .footer-social:hover,
.site-footer--clean .footer-social:focus-visible {
    transform: translateY(-2px);
    border-color: var(--cg-white);
    background: #071831;
    color: var(--cg-white);
}

.site-footer--clean .site-footer__meta {
    display: flex;
    grid-area: meta;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    justify-content: flex-start;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.site-footer--clean .site-footer__legal-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.85rem;
    margin-top: 0.95rem;
    padding-top: 0.95rem;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.site-footer--clean .site-footer__legal-links a {
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.84rem;
    font-weight: 760;
    text-decoration: none;
}

.site-footer--clean .site-footer__legal-links a:hover,
.site-footer--clean .site-footer__legal-links a:focus-visible {
    color: var(--cg-white);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.site-footer--clean .site-footer__copy {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.92rem;
}

.site-footer--clean .site-footer__top {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.12);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.75rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.site-footer--clean .site-footer__top::before {
    content: none;
}

.site-footer--clean .site-footer__top:hover,
.site-footer--clean .site-footer__top:focus-visible {
    transform: translateY(-2px);
    border-color: var(--cg-white);
    background: var(--cg-white);
    color: var(--cg-brand-700);
}

@media (max-width: 760px) {
    .site-footer--clean {
        padding-top: 2.1rem;
    }

    .site-footer--clean .site-footer__inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "contact"
            "meta";
        gap: 1.45rem;
    }

    .site-footer--clean .site-footer__brand-link {
        width: clamp(9.5rem, 44vw, 12rem);
    }

    .site-footer--clean .site-footer__contact {
        width: 100%;
        justify-self: stretch;
    }

    .site-footer--clean .site-footer__social-column {
        justify-self: start;
    }

    .site-footer--clean .site-footer__meta {
        display: grid;
        justify-content: stretch;
    }

    .site-footer--clean .site-footer__top {
        width: fit-content;
    }
}

/* Homepage viewport sections v1 */
:root {
    --cg-home-section-min-height: 100svh;
    --cg-home-edge-gap: clamp(0.75rem, 1.35vw, 1.3rem);
    --cg-home-first-screen-height: auto;
}

.home-spotlight {
    padding-right: var(--cg-home-edge-gap);
    padding-left: var(--cg-home-edge-gap);
}

.home-spotlight > .site-shell {
    width: 100%;
    max-width: none;
}

.home-spotlight__grid {
    gap: clamp(0.75rem, 1.25vw, 1.15rem);
}

@supports (min-height: 100dvh) {
    :root {
        --cg-home-section-min-height: 100dvh;
    }
}

@media (min-width: 961px) {
    :root {
        --cg-home-first-screen-height: calc(var(--cg-home-section-min-height) - var(--cg-first-header-height));
    }

    .home-spotlight {
        min-height: var(--cg-home-first-screen-height);
        height: auto;
    }

    .home-events,
    .home-worth-knowing,
    .home-attractions,
    .home-city-duo,
    .home-community,
    .home-photo-gallery,
    .home-about-story {
        min-height: var(--cg-home-section-min-height);
    }

    .home-foundation {
        min-height: 0;
    }

    .home-contact-cta {
        display: flex;
        align-items: center;
        min-height: 0;
    }
}

@media (max-width: 960px) {
    .home-spotlight {
        min-height: 0;
        height: auto;
        padding-right: clamp(0.7rem, 3vw, 1rem);
        padding-left: clamp(0.7rem, 3vw, 1rem);
    }

    .home-spotlight > .site-shell {
        width: 100%;
    }

    .home-actualities,
    .home-events,
    .home-worth-knowing,
    .home-attractions,
    .home-city-duo,
    .home-community,
    .home-photo-gallery,
    .home-about-story,
    .home-foundation,
    .home-contact-cta {
        min-height: 0;
    }
}

/* Homepage tuning v1 */
.daily-card__countdown {
    position: relative;
    overflow: hidden;
    gap: 0.82rem;
    margin-top: 0.34rem;
    padding: 1rem;
    border: 2px solid rgba(157, 216, 255, 0.46);
    border-top: 2px solid rgba(157, 216, 255, 0.46);
    border-radius: 0;
    background:
        radial-gradient(circle at 18% 18%, rgba(231, 43, 77, 0.42), transparent 34%),
        linear-gradient(135deg, rgba(0, 166, 200, 0.34), transparent 46%),
        linear-gradient(180deg, #0849a2 0%, #061c48 100%);
    color: var(--cg-white);
    box-shadow: 0 24px 48px rgba(8, 73, 162, 0.3);
    overflow-wrap: normal;
}

.daily-card__countdown::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.16) 44%, transparent 58%);
    background-size: 260% 100%;
    pointer-events: none;
    animation: countdown-card-shine 10s linear infinite;
}

.daily-card__countdown > span,
.daily-card__countdown-grid {
    position: relative;
    z-index: 1;
}

.daily-card__countdown > span {
    color: #d6e9fe;
    font-family: var(--cg-font-menu);
    font-size: 0.96rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.18;
    text-transform: uppercase;
}

.daily-card__countdown-grid {
    gap: 0.48rem;
}

.daily-card__countdown-grid span {
    min-height: 74px;
    align-content: center;
    padding: 0.64rem 0.34rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.15);
}

.daily-card__countdown-grid b {
    color: var(--cg-white);
    font-size: 2.05rem;
    font-weight: 900;
    line-height: 0.95;
}

.daily-card__countdown-grid small {
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.72rem;
}

.daily-card__row--link.daily-card__countdown:hover strong,
.daily-card__row--link.daily-card__countdown:focus-visible strong,
.daily-card__row--link.daily-card__countdown:hover b,
.daily-card__row--link.daily-card__countdown:focus-visible b {
    color: var(--cg-white);
}

@keyframes countdown-card-shine {
    from {
        background-position: -180% 0;
    }

    to {
        background-position: 180% 0;
    }
}

.section-heading h2,
.home-actualities h2,
.home-events__intro h2,
.home-worth-knowing__intro h2,
.home-attractions__intro h2,
.home-city-duo__intro h2,
.home-contact-cta__copy h2,
.home-community__header h2,
.home-photo-gallery__intro h2,
.home-youtube__intro h2,
.home-about-story__copy h2,
.home-foundation__copy h2 {
    max-width: 40ch;
    color: var(--cg-heading-color);
    font-size: 2rem;
    line-height: 1.08;
    letter-spacing: 0;
}

.home-events__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.48rem;
    align-items: center;
    justify-content: flex-end;
}

.home-events__button--secondary {
    border-color: rgba(255, 255, 255, 0.46);
    background-color: rgba(255, 255, 255, 0.08);
    background-image: linear-gradient(90deg, var(--cg-white) 0 50%, rgba(255, 255, 255, 0.08) 50% 100%);
    background-size: 220% 100%;
    background-position: 100% 0;
    color: var(--cg-white);
    box-shadow: none;
}

.home-events__button--secondary:hover,
.home-events__button--secondary:focus-visible {
    border-color: rgba(255, 255, 255, 0.84);
    background-position: 0 0;
    color: var(--cg-brand-700);
}

.site-header__belt .site-nav > ul {
    gap: 0.72rem 0.82rem;
}

.site-header__belt .site-nav > ul > li > a {
    min-height: 42px;
    padding: 0.12rem 0.86rem;
    font-size: 0.86rem;
    font-weight: 800;
}

.site-header.is-scrolled .site-header__belt .site-nav > ul > li > a {
    min-height: 36px;
    padding: 0.08rem 0.62rem;
    font-size: 0.78rem;
}

@media (prefers-reduced-motion: reduce) {
    .daily-card__countdown::before {
        animation: none;
    }
}

@media (max-width: 1180px) {
    .daily-card__countdown-grid span {
        min-height: 68px;
    }

    .daily-card__countdown-grid b {
        font-size: 1.82rem;
    }

    .section-heading h2,
    .home-actualities h2,
    .home-events__intro h2,
    .home-worth-knowing__intro h2,
    .home-attractions__intro h2,
    .home-city-duo__intro h2,
    .home-contact-cta__copy h2,
    .home-community__header h2,
    .home-photo-gallery__intro h2,
    .home-youtube__intro h2,
    .home-about-story__copy h2,
    .home-foundation__copy h2 {
        max-width: none;
        font-size: 1.86rem;
    }

    .home-events__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .daily-card__countdown-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .daily-card__countdown {
        padding: 0.88rem;
    }

    .daily-card__countdown > span {
        font-size: 0.84rem;
    }

    .daily-card__countdown-grid span {
        min-height: 64px;
    }

    .daily-card__countdown-grid b {
        font-size: 1.62rem;
    }

    .section-heading h2,
    .home-actualities h2,
    .home-events__intro h2,
    .home-worth-knowing__intro h2,
    .home-attractions__intro h2,
    .home-city-duo__intro h2,
    .home-contact-cta__copy h2,
    .home-community__header h2,
    .home-photo-gallery__intro h2,
    .home-youtube__intro h2,
    .home-about-story__copy h2,
    .home-foundation__copy h2 {
        font-size: 1.58rem;
    }
}

/* Homepage tuning v2 */
.site-header__belt .site-nav {
    width: 100%;
}

.site-header__belt .site-nav > ul {
    width: 100%;
    justify-content: space-between;
    gap: 0.95rem 1.05rem;
}

.site-header__belt .site-nav > ul > li,
.site-header__belt .site-nav > ul > li:last-child {
    flex: 1 1 0;
    min-width: max-content;
}

.site-header__belt .site-nav > ul > li > a {
    width: 100%;
    min-height: 48px;
    padding: 0.16rem 1.06rem;
    font-size: 0.98rem;
    font-weight: 850;
    line-height: 1.08;
}

.site-header.is-scrolled .site-header__belt .site-nav > ul {
    gap: 0.72rem 0.84rem;
}

.site-header.is-scrolled .site-header__belt .site-nav > ul > li > a {
    min-height: 40px;
    padding: 0.12rem 0.76rem;
    font-size: 0.88rem;
}

.daily-card__countdown {
    isolation: isolate;
    display: grid;
    gap: 0.98rem;
    margin-top: 0.48rem;
    padding: 1.18rem;
    border: 0;
    background:
        radial-gradient(circle at 8% 0%, rgba(255, 91, 117, 0.92), transparent 36%),
        radial-gradient(circle at 88% 18%, rgba(80, 218, 255, 0.66), transparent 30%),
        linear-gradient(145deg, #e72b4d 0%, #0849a2 44%, #0849a2 100%);
    box-shadow: 0 24px 52px rgba(8, 73, 162, 0.36), 0 8px 0 rgba(231, 43, 77, 0.24);
}

.daily-card__countdown::before {
    z-index: 0;
    background:
        linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.26) 42%, transparent 58%),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 28px);
    background-size: 260% 100%, auto;
    opacity: 0.82;
}

.daily-card__countdown::after {
    content: "";
    position: absolute;
    inset: 0.42rem;
    z-index: 0;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 0;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
    pointer-events: none;
    animation: countdown-card-pulse 3.6s ease-in-out infinite;
}

.daily-card__countdown > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    color: var(--cg-white);
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1.1;
}

.daily-card__countdown > span::after {
    content: "teraz";
    flex: 0 0 auto;
    padding: 0.22rem 0.44rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.66rem;
    line-height: 1;
    text-transform: uppercase;
}

.daily-card__countdown-grid {
    display: grid;
    grid-template-columns: minmax(7.5rem, 1.35fr) repeat(3, minmax(0, 0.75fr));
    gap: 0.58rem;
    align-items: stretch;
}

.daily-card__countdown-grid span {
    min-height: 88px;
    align-content: center;
    padding: 0.62rem 0.4rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.daily-card__countdown-grid span:first-child {
    min-height: 104px;
    background: var(--cg-white);
    color: #0849a2;
}

.daily-card__countdown-grid b {
    color: var(--cg-white);
    font-size: 2.28rem;
    font-weight: 950;
}

.daily-card__countdown-grid span:first-child b {
    color: #0849a2;
    font-size: 3.45rem;
}

.daily-card__countdown-grid small {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.72rem;
    font-weight: 900;
}

.daily-card__countdown-grid span:first-child small {
    color: #e72b4d;
    font-size: 0.78rem;
}

.section-heading .section-kicker,
.home-worth-knowing__eyebrow,
.home-attractions__intro span,
.home-city-duo__intro > span,
.home-youtube__intro span,
.home-community__kicker,
.home-photo-gallery__intro > span,
.home-about-story__kicker,
.home-foundation__kicker,
.home-contact-cta__copy > span,
.city-duo-panel__icon,
.city-duo-panel__eyebrow {
    display: none;
}

.section-heading__copy,
.home-worth-knowing__intro,
.home-attractions__intro,
.home-city-duo__intro,
.home-youtube__intro,
.home-community__header,
.home-photo-gallery__intro,
.home-about-story__copy,
.home-foundation__copy,
.home-contact-cta__copy,
.city-duo-panel__head > div {
    gap: 0.62rem;
}

.section-heading h2,
.home-actualities h2,
.home-events__intro h2,
.home-worth-knowing__intro h2,
.home-attractions__intro h2,
.home-city-duo__intro h2,
.home-contact-cta__copy h2,
.home-community__header h2,
.home-photo-gallery__intro h2,
.home-youtube__intro h2,
.home-about-story__copy h2,
.home-foundation__copy h2,
.city-duo-panel__head h3 {
    max-width: 42ch;
    font-size: 1.78rem;
    line-height: 1.16;
    letter-spacing: 0;
}

.home-community__header h2 {
    max-width: 24ch;
}

@keyframes countdown-card-pulse {
    0%,
    100% {
        opacity: 0.55;
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(0.985);
    }
}

@media (prefers-reduced-motion: reduce) {
    .daily-card__countdown::after {
        animation: none;
    }
}

@media (max-width: 1280px) {
    .site-header__belt .site-nav > ul {
        gap: 0.78rem;
    }

    .site-header__belt .site-nav > ul > li > a {
        min-height: 44px;
        padding: 0.14rem 0.84rem;
        font-size: 0.9rem;
    }
}

@media (max-width: 1180px) {
    .daily-card__countdown-grid {
        grid-template-columns: minmax(6.6rem, 1.2fr) repeat(3, minmax(0, 0.78fr));
    }

    .daily-card__countdown-grid span {
        min-height: 78px;
    }

    .daily-card__countdown-grid span:first-child {
        min-height: 90px;
    }

    .daily-card__countdown-grid b {
        font-size: 1.92rem;
    }

    .daily-card__countdown-grid span:first-child b {
        font-size: 2.82rem;
    }

    .section-heading h2,
    .home-actualities h2,
    .home-events__intro h2,
    .home-worth-knowing__intro h2,
    .home-attractions__intro h2,
    .home-city-duo__intro h2,
    .home-contact-cta__copy h2,
    .home-community__header h2,
    .home-photo-gallery__intro h2,
    .home-youtube__intro h2,
    .home-about-story__copy h2,
    .home-foundation__copy h2,
    .city-duo-panel__head h3 {
        max-width: 36ch;
        font-size: 1.62rem;
    }
}

@media (max-width: 760px) {
    .daily-card__countdown {
        padding: 1rem;
    }

    .daily-card__countdown > span {
        font-size: 0.9rem;
    }

    .daily-card__countdown-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .daily-card__countdown-grid span,
    .daily-card__countdown-grid span:first-child {
        min-height: 74px;
    }

    .daily-card__countdown-grid b,
    .daily-card__countdown-grid span:first-child b {
        font-size: 1.86rem;
    }

    .section-heading h2,
    .home-actualities h2,
    .home-events__intro h2,
    .home-worth-knowing__intro h2,
    .home-attractions__intro h2,
    .home-city-duo__intro h2,
    .home-contact-cta__copy h2,
    .home-community__header h2,
    .home-photo-gallery__intro h2,
    .home-youtube__intro h2,
    .home-about-story__copy h2,
    .home-foundation__copy h2,
    .city-duo-panel__head h3 {
        max-width: none;
        font-size: 1.38rem;
    }
}

/* Homepage tuning v3 */
.site-header__belt .site-nav {
    width: 100%;
}

.site-header__belt .site-nav > ul,
.site-header.is-scrolled .site-header__belt .site-nav > ul {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    gap: 0;
    justify-content: stretch;
    align-items: stretch;
}

.site-header__belt .site-nav > ul > li,
.site-header__belt .site-nav > ul > li:last-child {
    display: flex;
    min-width: 0;
    flex: initial;
}

.site-header__belt .site-nav > ul > li > a,
.site-header.is-scrolled .site-header__belt .site-nav > ul > li > a {
    width: 100%;
    min-height: 44px;
    padding: 0.18rem 0.6rem;
    justify-content: center;
    overflow: visible;
    font-size: 0.9rem;
    line-height: 1.12;
    text-align: center;
    white-space: normal;
}

.daily-card__countdown {
    gap: 0.62rem;
    margin-top: 0.36rem;
    padding: 0.82rem;
    border: 1px solid rgba(157, 216, 255, 0.5);
    background:
        radial-gradient(circle at 16% 12%, rgba(157, 216, 255, 0.72), transparent 32%),
        linear-gradient(135deg, #d6e9fe 0%, #0849a2 46%, #0849a2 100%);
    box-shadow: 0 18px 38px rgba(8, 73, 162, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.daily-card__countdown::before {
    background:
        linear-gradient(112deg, transparent 0%, rgba(214, 233, 254, 0.34) 44%, transparent 60%),
        repeating-linear-gradient(90deg, rgba(214, 233, 254, 0.12) 0 1px, transparent 1px 30px);
    opacity: 0.7;
}

.daily-card__countdown::after {
    inset: 0.36rem;
    border-color: rgba(214, 233, 254, 0.42);
}

.daily-card__countdown > span {
    color: var(--cg-white);
    font-size: 0.95rem;
}

.daily-card__countdown > span::after {
    background: rgba(214, 233, 254, 0.2);
    color: var(--cg-white);
}

.daily-card__countdown-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.46rem;
}

.daily-card__countdown-grid span,
.daily-card__countdown-grid span:first-child {
    min-height: 64px;
    padding: 0.42rem 0.28rem;
    border-color: rgba(214, 233, 254, 0.38);
    background: rgba(255, 255, 255, 0.14);
    color: var(--cg-white);
}

.daily-card__countdown-grid span:first-child {
    background: rgba(255, 255, 255, 0.94);
    color: #0849a2;
}

.daily-card__countdown-grid b,
.daily-card__countdown-grid span:first-child b {
    color: var(--cg-white);
    font-size: 1.92rem;
}

.daily-card__countdown-grid span:first-child b {
    color: #0849a2;
    font-size: 2.3rem;
}

.daily-card__countdown-grid small {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.64rem;
}

.daily-card__countdown-grid span:first-child small {
    color: #0849a2;
    font-size: 0.66rem;
}

@media (max-width: 1280px) {
    .site-header__belt .site-nav > ul,
    .site-header.is-scrolled .site-header__belt .site-nav > ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .site-header__belt .site-nav > ul > li > a,
    .site-header.is-scrolled .site-header__belt .site-nav > ul > li > a {
        min-height: 42px;
        padding: 0.16rem 0.46rem;
        font-size: 0.84rem;
    }
}

@media (max-width: 760px) {
    .site-header__belt .site-nav > ul,
    .site-header.is-scrolled .site-header__belt .site-nav > ul {
        grid-template-columns: 1fr;
    }

    .daily-card__countdown-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .daily-card__countdown-grid span,
    .daily-card__countdown-grid span:first-child {
        min-height: 58px;
    }

    .daily-card__countdown-grid b,
    .daily-card__countdown-grid span:first-child b {
        font-size: 1.72rem;
    }
}

/* Homepage tuning v4 */
.site-header__belt .site-header__navigation,
.site-header__belt .site-nav,
.site-header__belt .site-nav > ul,
.site-header__belt .site-nav > ul > li {
    overflow: visible;
}

.site-header__belt .site-nav > ul,
.site-header.is-scrolled .site-header__belt .site-nav > ul {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    background: #0849a2;
}

.site-header__belt .site-nav > ul > li,
.site-header__belt .site-nav > ul > li:last-child {
    display: flex;
    min-width: 0;
    flex: initial;
    border: 1px solid rgba(214, 233, 254, 0.2);
}

.site-header__belt .site-nav > ul > li > a,
.site-header.is-scrolled .site-header__belt .site-nav > ul > li > a {
    position: relative;
    width: 100%;
    min-height: 42px;
    padding: 0.52rem 0.72rem;
    justify-content: center;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--cg-white);
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.14;
    text-align: center;
    text-transform: uppercase;
    white-space: normal;
    transform: none;
    transition: background-color 160ms ease, color 160ms ease;
}

.site-header__belt .site-nav > ul > li > a::before,
.site-header.is-scrolled .site-header__belt .site-nav > ul > li > a::before {
    content: none;
    display: none;
}

.site-header__belt .site-nav > ul > li > a::after,
.site-header.is-scrolled .site-header__belt .site-nav > ul > li > a::after {
    content: "";
    position: absolute;
    left: 50%;
    right: auto;
    bottom: 0.38rem;
    display: block;
    width: 0;
    height: 2px;
    border: 0;
    border-radius: 2px;
    background: #d6e9fe;
    opacity: 1;
    transform: translateX(-50%);
    transition: width 160ms ease;
}

.site-header__belt .site-nav > ul > li:hover > a,
.site-header__belt .site-nav > ul > li:focus-within > a,
.site-header__belt .site-nav > ul > .current-menu-item > a,
.site-header__belt .site-nav > ul > .current-menu-parent > a,
.site-header.is-scrolled .site-header__belt .site-nav > ul > li:hover > a,
.site-header.is-scrolled .site-header__belt .site-nav > ul > li:focus-within > a,
.site-header.is-scrolled .site-header__belt .site-nav > ul > .current-menu-item > a,
.site-header.is-scrolled .site-header__belt .site-nav > ul > .current-menu-parent > a {
    background: rgba(214, 233, 254, 0.1);
    color: var(--cg-white);
    transform: none;
}

.site-header__belt .site-nav > ul > li:hover > a::after,
.site-header__belt .site-nav > ul > li:focus-within > a::after,
.site-header__belt .site-nav > ul > .current-menu-item > a::after,
.site-header__belt .site-nav > ul > .current-menu-parent > a::after {
    width: calc(100% - 1.4rem);
}

.site-header__belt .site-nav__chevron {
    flex: 0 0 auto;
    margin-left: 0.34rem;
}

.daily-card__countdown {
    box-sizing: border-box;
    display: grid;
    gap: 0.68rem;
    margin-top: auto;
    padding: 0.9rem;
    overflow: hidden;
    border: 1px solid rgba(214, 233, 254, 0.48);
    border-top: 0;
    border-radius: 0;
    background: linear-gradient(135deg, var(--cg-brand-500) 0%, var(--cg-brand-700) 100%);
    box-shadow: 0 12px 26px rgba(8, 73, 162, 0.16);
    isolation: auto;
}

.daily-card__countdown::before,
.daily-card__countdown::after {
    content: none;
    display: none;
    animation: none;
}

.daily-card__countdown > span {
    display: block;
    color: var(--cg-white);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.04;
}

.daily-card__countdown > span::after {
    content: none;
    display: none;
}

.daily-card__countdown-grid {
    display: grid;
    grid-template-columns: minmax(8.1rem, 1.24fr) repeat(3, minmax(0, 0.82fr));
    gap: 0.42rem;
}

.daily-card__countdown-grid span,
.daily-card__countdown-grid span:first-child {
    min-height: 62px;
    align-content: center;
    padding: 0.42rem 0.28rem;
    border: 1px solid rgba(214, 233, 254, 0.42);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.18);
    color: var(--cg-white);
    box-shadow: none;
}

.daily-card__countdown-grid span:first-child {
    min-height: 76px;
    background: rgba(255, 255, 255, 0.92);
}

.daily-card__countdown-grid b,
.daily-card__countdown-grid span:first-child b {
    color: var(--cg-white);
    font-size: 1.7rem;
    font-weight: 900;
    line-height: 0.95;
}

.daily-card__countdown-grid span:first-child b {
    color: #0849a2;
    font-size: 2.5rem;
}

.daily-card__countdown-grid small,
.daily-card__countdown-grid span:first-child small {
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.62rem;
    font-weight: 900;
    line-height: 1;
}

.daily-card__countdown-grid span:first-child small {
    color: #0849a2;
    font-size: 0.68rem;
}

@media (max-width: 1280px) {
    .site-header__belt .site-nav > ul > li > a,
    .site-header.is-scrolled .site-header__belt .site-nav > ul > li > a {
        min-height: 40px;
        padding: 0.46rem 0.48rem;
        font-size: 0.78rem;
    }

    .daily-card__countdown-grid span,
    .daily-card__countdown-grid span:first-child {
        min-height: 58px;
    }

    .daily-card__countdown-grid b,
    .daily-card__countdown-grid span:first-child b {
        font-size: 1.52rem;
    }

    .daily-card__countdown-grid span:first-child b {
        font-size: 2.18rem;
    }
}

@media (max-width: 760px) {
    .site-header__belt .site-nav > ul,
    .site-header.is-scrolled .site-header__belt .site-nav > ul {
        grid-template-columns: 1fr;
    }

    .daily-card__countdown-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .daily-card__countdown {
        padding: 0.82rem;
    }

    .daily-card__countdown > span {
        font-size: 0.92rem;
    }

    .daily-card__countdown-grid span,
    .daily-card__countdown-grid span:first-child {
        min-height: 64px;
    }

    .daily-card__countdown-grid b,
    .daily-card__countdown-grid span:first-child b {
        font-size: 1.64rem;
    }

    .daily-card__countdown-grid span:first-child b {
        font-size: 2rem;
    }
}

/* Facebook side panel v1 */
.facebook-side-panel {
    position: fixed;
    right: 0;
    top: 54%;
    z-index: 80;
    transform: translateY(-50%);
}

.facebook-side-panel__link {
    display: grid;
    grid-template-columns: 42px 178px;
    min-height: 96px;
    color: var(--cg-white);
    text-decoration: none;
    transform: translateX(178px);
    transition: transform 180ms ease;
}

.facebook-side-panel__link:hover,
.facebook-side-panel__link:focus-visible {
    transform: translateX(0);
}

.facebook-side-panel__tab,
.facebook-side-panel__body {
    background: linear-gradient(180deg, #0849a2 0%, #0849a2 100%);
}

.facebook-side-panel__tab {
    display: grid;
    place-items: center;
    border-radius: 0;
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0;
    writing-mode: vertical-rl;
    text-orientation: mixed;
}

.facebook-side-panel__body {
    display: grid;
    align-content: center;
    gap: 0.18rem;
    padding: 0.82rem 0.9rem;
    border-left: 1px solid rgba(214, 233, 254, 0.2);
    box-shadow: 0 14px 34px rgba(8, 73, 162, 0.24);
}

.facebook-side-panel__eyebrow,
.facebook-side-panel__body span,
.facebook-side-panel__body em {
    font-family: var(--cg-font-menu);
    letter-spacing: 0;
}

.facebook-side-panel__eyebrow {
    color: #d6e9fe;
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.facebook-side-panel__body strong {
    color: var(--cg-white);
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1;
}

.facebook-side-panel__body span {
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.78rem;
    font-weight: 750;
}

.facebook-side-panel__body em {
    width: fit-content;
    margin-top: 0.22rem;
    padding: 0.3rem 0.54rem;
    border-radius: 0;
    background: #d6e9fe;
    color: #0849a2;
    font-size: 0.76rem;
    font-style: normal;
    font-weight: 900;
}

@media (max-width: 760px) {
    .facebook-side-panel {
        top: auto;
        right: 0.75rem;
        bottom: 0.75rem;
        transform: none;
    }

    .facebook-side-panel__link {
        grid-template-columns: 40px 158px;
        min-height: 78px;
        transform: translateX(158px);
    }

    .facebook-side-panel__body {
        padding: 0.7rem 0.78rem;
    }

    .facebook-side-panel__body strong {
        font-size: 1.24rem;
    }
}

/* Facebook side panel v2 */
.facebook-side-panel {
    --fb-panel-tab: 40px;
    --fb-panel-body: 164px;
    --fb-panel-total: calc(var(--fb-panel-tab) + var(--fb-panel-body));
    right: max(0.75rem, calc(((100vw - var(--cg-max-width)) / 2) - var(--fb-panel-total) - 0.75rem));
    top: 34%;
    transform: translateY(-50%);
}

.facebook-side-panel__link {
    grid-template-columns: var(--fb-panel-tab) var(--fb-panel-body);
    min-height: 86px;
    transform: translateX(var(--fb-panel-body));
}

.facebook-side-panel__tab,
.facebook-side-panel__body {
    background: linear-gradient(180deg, #1877f2 0%, #0a58ca 100%);
}

.facebook-side-panel__tab {
    font-size: 0.72rem;
}

.facebook-side-panel__body {
    gap: 0.12rem;
    padding: 0.7rem 0.78rem;
    border-left-color: rgba(255, 255, 255, 0.22);
    box-shadow: 0 12px 28px rgba(24, 119, 242, 0.26);
}

.facebook-side-panel__eyebrow {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.64rem;
}

.facebook-side-panel__body strong {
    color: var(--cg-white);
    font-size: 1.34rem;
}

.facebook-side-panel__body span {
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.74rem;
}

.facebook-side-panel__body em {
    margin-top: 0.16rem;
    background: var(--cg-white);
    color: #1877f2;
    font-size: 0.72rem;
}

@media (max-width: 1500px) {
    .facebook-side-panel {
        right: 0;
    }
}

@media (max-width: 760px) {
    .facebook-side-panel {
        --fb-panel-tab: 38px;
        --fb-panel-body: 150px;
        top: auto;
        right: 0.65rem;
        bottom: 0.65rem;
        transform: none;
    }

    .facebook-side-panel__link {
        grid-template-columns: var(--fb-panel-tab) var(--fb-panel-body);
        min-height: 72px;
        transform: translateX(var(--fb-panel-body));
    }

    .facebook-side-panel__body strong {
        font-size: 1.1rem;
    }
}

/* Facebook side panel v3 */
.facebook-side-panel {
    --fb-panel-tab: 34px;
    --fb-panel-body: 132px;
    --fb-panel-total: calc(var(--fb-panel-tab) + var(--fb-panel-body));
    left: max(0.75rem, calc(((100vw - var(--cg-max-width)) / 2) - var(--fb-panel-total) - 0.75rem));
    right: auto;
    top: 34%;
}

.facebook-side-panel__link {
    grid-template-columns: var(--fb-panel-body) var(--fb-panel-tab);
    min-height: 78px;
    transform: translateX(calc(-1 * var(--fb-panel-body)));
}

.facebook-side-panel__link:hover,
.facebook-side-panel__link:focus-visible {
    transform: translateX(0);
}

.facebook-side-panel__tab {
    grid-column: 2;
    grid-row: 1;
    border-radius: 0;
    font-size: 0.66rem;
}

.facebook-side-panel__body {
    grid-column: 1;
    grid-row: 1;
    padding: 0.62rem 0.68rem;
    border-left: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.22);
}

.facebook-side-panel__body strong {
    font-size: 1.14rem;
}

.facebook-side-panel__body span {
    font-size: 0.68rem;
}

.facebook-side-panel__body em {
    padding: 0.26rem 0.44rem;
    font-size: 0.68rem;
}

@media (max-width: 1500px) {
    .facebook-side-panel {
        left: 0;
        right: auto;
    }
}

@media (max-width: 760px) {
    .facebook-side-panel {
        --fb-panel-tab: 34px;
        --fb-panel-body: 126px;
        left: 0;
        right: auto;
        bottom: 0.65rem;
    }

    .facebook-side-panel__link {
        grid-template-columns: var(--fb-panel-body) var(--fb-panel-tab);
        min-height: 68px;
        transform: translateX(calc(-1 * var(--fb-panel-body)));
    }
}

/* Facebook side panel v4 */
.facebook-side-panel {
    --fb-panel-tab: 36px;
    --fb-panel-body: 112px;
    --fb-panel-total: calc(var(--fb-panel-tab) + var(--fb-panel-body));
}

.facebook-side-panel__link {
    grid-template-columns: var(--fb-panel-body) var(--fb-panel-tab);
    min-height: 104px;
    transform: translateX(calc(-1 * var(--fb-panel-body)));
}

.facebook-side-panel__tab {
    display: flex;
    flex-direction: column;
    gap: 0.32rem;
    align-items: center;
    justify-content: center;
    padding: 0.46rem 0.2rem;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 0.7rem;
}

.facebook-side-panel__mark {
    display: inline-grid;
    width: 1.18rem;
    height: 1.18rem;
    place-items: center;
    border-radius: 999px;
    background: var(--cg-white);
    color: #1877f2;
    font-family: Arial, sans-serif;
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1;
    text-transform: none;
}

.facebook-side-panel__body {
    padding: 0.58rem 0.58rem;
}

.facebook-side-panel__body strong {
    font-size: 1.02rem;
}

.facebook-side-panel__body span {
    font-size: 0.64rem;
}

.facebook-side-panel__body em {
    padding: 0.24rem 0.38rem;
    font-size: 0.64rem;
}

@media (max-width: 760px) {
    .facebook-side-panel {
        --fb-panel-tab: 34px;
        --fb-panel-body: 108px;
    }

    .facebook-side-panel__link {
        min-height: 96px;
    }
}

/* Facebook side panel v5 */
.facebook-side-panel__tab {
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
    align-items: center;
    justify-content: flex-start;
    padding: 0.58rem 0.18rem 0.46rem;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
}

.facebook-side-panel__tab > span:not(.facebook-side-panel__mark) {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    line-height: 1;
}

.facebook-side-panel__mark {
    flex: 0 0 auto;
    order: -1;
    margin: 0;
}

/* Facebook side panel v6 */
.facebook-side-panel {
    --fb-panel-tab: 36px;
    --fb-panel-body: 112px;
    --fb-panel-total: calc(var(--fb-panel-tab) + var(--fb-panel-body));
    left: 0;
    right: auto;
    top: 34%;
    transform: translateY(-50%);
}

.facebook-side-panel__link {
    grid-template-columns: var(--fb-panel-body) var(--fb-panel-tab);
    width: var(--fb-panel-total);
    min-height: 104px;
    margin-left: calc(-1 * var(--fb-panel-body));
    transform: none;
    transition: margin-left 180ms ease;
    will-change: margin-left;
}

.facebook-side-panel__link:hover,
.facebook-side-panel__link:focus-visible {
    margin-left: 0;
    transform: none;
}

.facebook-side-panel__tab {
    grid-column: 2;
    grid-row: 1;
}

.facebook-side-panel__body {
    grid-column: 1;
    grid-row: 1;
}

@media (max-width: 760px) {
    .facebook-side-panel {
        --fb-panel-tab: 34px;
        --fb-panel-body: 108px;
        left: 0;
        right: auto;
        bottom: 0.65rem;
        top: auto;
        transform: none;
    }

    .facebook-side-panel__link {
        width: calc(var(--fb-panel-tab) + var(--fb-panel-body));
        min-height: 96px;
        margin-left: calc(-1 * var(--fb-panel-body));
    }
}

body.page-template-template-advertising-page .facebook-side-panel,
body.page-template-template-advertising-detail-page .facebook-side-panel,
body.page-template-template-patronage-page .facebook-side-panel {
    top: auto;
    bottom: 1rem;
    transform: none;
}

/* Homepage heading system v1 */
.home-actualities__header,
.home-worth-knowing__intro > div,
.home-youtube__intro > div,
.home-attractions__intro > div,
.home-community__header,
.home-photo-gallery__intro,
.home-contact-cta__copy,
.home-about-story__copy,
.home-foundation__copy,
.city-duo-panel__head > div {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.56rem;
    align-items: start;
}

.home-actualities__shell,
.home-actualities__main,
.home-actualities__header,
.home-actualities__intro,
.home-events__intro,
.home-events__intro > div,
.home-worth-knowing__intro,
.home-worth-knowing__intro > div,
.home-youtube__intro,
.home-youtube__intro > div,
.home-attractions__intro,
.home-attractions__intro > div,
.home-community__header,
.home-community-topic,
.home-community-topic__top,
.home-photo-gallery__intro,
.home-contact-cta__copy,
.home-about-story__copy,
.home-foundation__copy,
.city-duo-panel,
.city-duo-panel__head,
.city-duo-panel__head > div {
    min-width: 0;
}

.home-events__intro > div {
    display: grid;
    gap: 0.56rem;
}

.home-actualities__header {
    grid-template-columns: 1fr;
    align-items: start;
    max-width: none;
}

.home-actualities__intro,
.home-events__intro p,
.home-worth-knowing__intro p,
.home-youtube__intro p,
.home-attractions__intro p,
.home-community__header p,
.home-photo-gallery__intro p,
.home-contact-cta__copy p,
.home-about-story__copy p,
.home-foundation__copy p,
.city-duo-panel__head p {
    max-width: 68ch;
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.52;
    overflow-wrap: break-word;
}

.home-actualities__intro,
.home-actualities__intro p {
    max-width: none;
    font-size: 0.92rem;
    line-height: 1.46;
}

.home-actualities h2,
.home-events__intro h2,
.home-worth-knowing__intro h2,
.home-youtube__intro h2,
.home-attractions__intro h2,
.home-community__header h2,
.home-photo-gallery__intro h2,
.home-contact-cta__copy h2,
.home-about-story__copy h2,
.home-foundation__copy h2,
.section-heading h2,
.home-actualities .message-rail__title {
    max-width: 42ch;
    margin: 0;
    color: var(--cg-heading-color);
    font-size: clamp(1.5rem, 1.28rem + 0.62vw, 1.9rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: 0;
    overflow-wrap: break-word;
    text-wrap: balance;
}

.city-duo-panel__head h3,
.home-community-topic h3 {
    max-width: 36ch;
    margin: 0;
    color: var(--cg-heading-color);
    font-size: 1.44rem;
    font-weight: 850;
    line-height: 1.18;
    letter-spacing: 0;
    overflow-wrap: break-word;
    text-wrap: balance;
}

.message-rail__title {
    color: var(--cg-ink);
}

.home-actualities .message-rail__title {
    color: var(--cg-ink);
}

.city-duo-panel__head {
    align-items: start;
}

.city-duo-panel__head > div {
    min-width: 0;
}

.city-duo-panel__head p {
    grid-column: 1;
}

.city-duo-panel--sport .city-duo-panel__head p {
    color: rgba(255, 255, 255, 0.76);
}

.actuality-tile h3,
.worth-knowing-card strong,
.city-duo-feature h3,
.city-duo-feature h4,
.attraction-category__head strong {
    max-width: 28ch;
    font-family: var(--cg-font-body);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: 0;
    overflow-wrap: break-word;
    text-wrap: pretty;
}

.actuality-tile--lead h3,
.city-duo-feature h3,
.city-duo-feature h4 {
    max-width: 22ch;
    font-size: 1rem;
    line-height: 1.02;
}

.actuality-tile:not(.actuality-tile--lead) h3 {
    max-width: 17ch;
    font-size: 0.72rem;
    line-height: 1.06;
}

.event-strip-card h4,
.city-duo-teaser strong,
.home-community-post strong,
.home-youtube-card__body strong,
.attraction-post strong,
.home-photo-shot strong {
    font-family: var(--cg-font-body);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: 0;
}

.home-community-topic__top {
    align-content: end;
}

.home-community-topic p {
    max-width: 48ch;
    margin: 0.44rem 0 0;
    font-size: 0.92rem;
    line-height: 1.4;
}

@media (max-width: 1180px) {
    .home-events__intro,
    .home-youtube__intro,
    .home-attractions__intro,
    .city-duo-panel__head {
        grid-template-columns: 1fr;
    }

    .home-events__actions,
    .home-youtube__channel,
    .home-attractions__button,
    .city-duo-panel__link {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    .home-actualities h2,
    .home-events__intro h2,
    .home-worth-knowing__intro h2,
    .home-youtube__intro h2,
    .home-attractions__intro h2,
    .home-community__header h2,
    .home-photo-gallery__intro h2,
    .home-contact-cta__copy h2,
    .home-about-story__copy h2,
    .home-foundation__copy h2,
    .section-heading h2,
    .home-actualities .message-rail__title {
        max-width: none;
        font-size: clamp(1.46rem, 1.28rem + 0.72vw, 1.74rem);
    }

    .city-duo-panel__head h3,
    .home-community-topic h3 {
        max-width: none;
        font-size: 1.3rem;
    }

    .actuality-tile--lead h3,
    .city-duo-feature h3,
    .city-duo-feature h4 {
        font-size: 1.32rem;
    }
}

/* Classifieds module v1 */
.cg-classifieds-page {
    --cg-classifieds-navy: #0849a2;
    --cg-classifieds-blue: #0849a2;
    --cg-classifieds-accent: #0849a2;
    --cg-classifieds-sky: #d6e9fe;
    --cg-classifieds-ice: #edf7ff;
    --cg-classifieds-line: rgba(8, 73, 162, 0.14);
    --cg-classifieds-shadow: 0 1.3rem 3.2rem rgba(8, 73, 162, 0.12);
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 249, 255, 0.98) 38%, #ffffff 100%);
}

.cg-classifieds-page__body {
    display: grid;
    gap: clamp(1rem, 2vw, 1.6rem);
    padding-block: clamp(1.2rem, 3vw, 2.6rem) clamp(2rem, 5vw, 4rem);
}

.cg-classifieds-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 18rem;
    background:
        linear-gradient(120deg, rgba(8, 73, 162, 0.98), rgba(8, 73, 162, 0.95), rgba(8, 73, 162, 0.9), rgba(214, 233, 254, 0.54), rgba(8, 73, 162, 0.98));
    background-size: 240% 240%;
    color: var(--cg-white);
    animation: classifieds-gradient-flow 18s ease-in-out infinite;
}

.cg-classifieds-hero::before {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: -1;
    height: 42%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(214, 233, 254, 0.26));
}

.cg-classifieds-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 4.5rem 4.5rem;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
    opacity: 0.45;
}

.cg-classifieds-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(1.2rem, 4vw, 3rem);
    align-items: end;
    min-height: 18rem;
    padding-block: clamp(2rem, 5vw, 4.8rem);
}

.cg-classifieds-hero__copy {
    max-width: 48rem;
    min-width: 0;
}

.cg-classifieds-hero__eyebrow,
.cg-classifieds-filters label > span,
.cg-classifieds-filters__fieldset legend,
.cg-classifieds-submit__label-line,
.cg-classifieds-contact__item span {
    margin: 0;
    color: inherit;
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.cg-classifieds-hero__eyebrow {
    color: rgba(255, 255, 255, 0.78);
}

.cg-classifieds-hero h1,
.cg-classifieds-single__summary h1,
.cg-classifieds-empty h2 {
    max-width: 22ch;
    margin: 0.42rem 0 0;
    font-family: var(--cg-font-menu);
    font-size: 3rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.02;
    overflow-wrap: break-word;
    text-wrap: balance;
}

.cg-classifieds-hero p:not(.cg-classifieds-hero__eyebrow) {
    max-width: 62ch;
    margin: 0.88rem 0 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1rem;
    line-height: 1.62;
    overflow-wrap: break-word;
}

.cg-classifieds-hero__actions,
.cg-classifieds-filters__actions,
.cg-classifieds-submit__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.cg-classifieds-button,
.cg-classifieds-filters__actions button,
.cg-classifieds-filters__actions a,
.cg-classifieds-submit__actions button,
.cg-classifieds-submit__actions a,
.cg-classifieds-single__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.48rem;
    min-height: 2.8rem;
    padding: 0.72rem 1rem;
    border: 1px solid transparent;
    border-radius: 0;
    font-family: var(--cg-font-menu);
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition: transform 180ms ease, background-position 220ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.cg-classifieds-button::before,
.cg-classifieds-filters__actions button::before,
.cg-classifieds-filters__actions a::before,
.cg-classifieds-submit__actions button::before,
.cg-classifieds-submit__actions a::before,
.cg-classifieds-single__back::before {
    content: "";
    display: block;
    flex: 0 0 auto;
    width: 0.98rem;
    height: 0.98rem;
    background: currentColor;
    -webkit-mask: var(--cg-classifieds-button-icon) center / contain no-repeat;
    mask: var(--cg-classifieds-button-icon) center / contain no-repeat;
}

.cg-classifieds-button--dark {
    --cg-classifieds-button-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}

.cg-classifieds-button--light {
    --cg-classifieds-button-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h12M8 12h12M8 18h12M4 6h.01M4 12h.01M4 18h.01'/%3E%3C/svg%3E");
}

.cg-classifieds-filters__actions button {
    --cg-classifieds-button-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16l-6 7v5l-4 2v-7L4 5z'/%3E%3C/svg%3E");
}

.cg-classifieds-filters__actions a {
    --cg-classifieds-button-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4v6h6M20 20v-6h-6M5 13a7 7 0 0 0 12 4M19 11a7 7 0 0 0-12-4'/%3E%3C/svg%3E");
}

.cg-classifieds-submit__actions button {
    --cg-classifieds-button-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l16-7-7 16-2-7-7-2z'/%3E%3C/svg%3E");
}

.cg-classifieds-submit__actions a,
.cg-classifieds-single__back {
    --cg-classifieds-button-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6M9 12h11'/%3E%3C/svg%3E");
}

.cg-classifieds-button--dark,
.cg-classifieds-filters__actions button,
.cg-classifieds-submit__actions button {
    border-color: rgba(255, 255, 255, 0.18);
    background: var(--cg-classifieds-navy);
    color: var(--cg-white);
    cursor: pointer;
}

.cg-classifieds-button--light,
.cg-classifieds-filters__actions a,
.cg-classifieds-submit__actions a,
.cg-classifieds-single__back {
    border-color: rgba(8, 73, 162, 0.18);
    background: rgba(214, 233, 254, 0.76);
    color: var(--cg-classifieds-navy);
}

.cg-classifieds-button:hover,
.cg-classifieds-filters__actions button:hover,
.cg-classifieds-filters__actions a:hover,
.cg-classifieds-submit__actions button:hover,
.cg-classifieds-submit__actions a:hover,
.cg-classifieds-single__back:hover {
    transform: translateY(-2px);
    box-shadow: 0 1rem 2rem rgba(8, 73, 162, 0.16);
}

.cg-classifieds-button--dark:hover,
.cg-classifieds-filters__actions button:hover,
.cg-classifieds-submit__actions button:hover {
    background: var(--cg-classifieds-blue);
    box-shadow: 0 1rem 2rem rgba(8, 73, 162, 0.24);
}

.cg-classifieds-button--light:hover,
.cg-classifieds-filters__actions a:hover,
.cg-classifieds-submit__actions a:hover,
.cg-classifieds-single__back:hover {
    border-color: rgba(8, 73, 162, 0.28);
    background: var(--cg-classifieds-sky);
    color: var(--cg-classifieds-navy);
}

.cg-classifieds-filters,
.cg-classifieds-submit,
.cg-classifieds-empty,
.cg-classifieds-single__summary,
.cg-classifieds-contact,
.cg-classifieds-single__content-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--cg-classifieds-line);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--cg-classifieds-shadow);
}

.cg-classifieds-filters::before,
.cg-classifieds-submit::before,
.cg-classifieds-single__summary::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 0%, rgba(214, 233, 254, 0.62) 40%, rgba(8, 73, 162, 0.12) 52%, transparent 68%);
    background-size: 220% 100%;
    opacity: 0.55;
    animation: classifieds-panel-flow 16s ease-in-out infinite;
}

.cg-classifieds-filters > *,
.cg-classifieds-submit > *,
.cg-classifieds-single__summary > * {
    position: relative;
    z-index: 1;
}

.cg-classifieds-filters {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 2.4vw, 1.45rem);
}

.cg-classifieds-filters__grid,
.cg-classifieds-submit__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 1.35fr);
    gap: 0.9rem;
}

.cg-classifieds-filters label,
.cg-classifieds-submit__form label {
    display: grid;
    gap: 0.46rem;
    min-width: 0;
}

.cg-classifieds-filters label > span,
.cg-classifieds-filters__fieldset legend,
.cg-classifieds-submit__label-line {
    color: rgba(17, 40, 79, 0.7);
}

.cg-classifieds-filters label > span:not(.cg-classifieds-chip__label),
.cg-classifieds-filters__fieldset legend {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
}

.cg-classifieds-filters label > span:not(.cg-classifieds-chip__label)::before,
.cg-classifieds-filters__fieldset legend::before {
    content: "";
    display: block;
    flex: 0 0 auto;
    width: 0.88rem;
    height: 0.88rem;
    background: var(--cg-classifieds-navy);
    opacity: 0.76;
    -webkit-mask: var(--cg-classifieds-label-icon) center / contain no-repeat;
    mask: var(--cg-classifieds-label-icon) center / contain no-repeat;
}

.cg-classifieds-filters__grid label:nth-child(1) > span {
    --cg-classifieds-label-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10v10H4V10M2 7h20l-2-4H4L2 7zM12 7v13'/%3E%3C/svg%3E");
}

.cg-classifieds-filters__grid label:nth-child(2) > span {
    --cg-classifieds-label-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h14M7 12h10M7 17h6M3 7h.01M3 12h.01M3 17h.01'/%3E%3C/svg%3E");
}

.cg-classifieds-filters__search > span {
    --cg-classifieds-label-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4.5-4.5'/%3E%3C/svg%3E");
}

.cg-classifieds-filters__fieldset legend {
    --cg-classifieds-label-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h7v7H4zM13 5h7v7h-7zM4 14h7v5H4zM13 14h7v5h-7z'/%3E%3C/svg%3E");
}

.cg-classifieds-filters input,
.cg-classifieds-filters select,
.cg-classifieds-submit__grid input[type="text"],
.cg-classifieds-submit__grid input[type="tel"],
.cg-classifieds-submit__grid input[type="email"],
.cg-classifieds-submit__grid input[type="file"],
.cg-classifieds-submit__grid select,
.cg-classifieds-submit__grid textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    background: var(--cg-white);
    color: var(--cg-ink);
    box-shadow: none;
}

.cg-classifieds-filters input,
.cg-classifieds-filters select,
.cg-classifieds-submit__grid input[type="text"],
.cg-classifieds-submit__grid input[type="tel"],
.cg-classifieds-submit__grid input[type="email"],
.cg-classifieds-submit__grid select {
    min-height: 2.9rem;
    padding: 0 0.82rem;
}

.cg-classifieds-submit__grid input[type="file"] {
    min-height: 2.9rem;
    padding: 0.7rem 0.82rem;
}

.cg-classifieds-submit__grid textarea {
    min-height: 11rem;
    padding: 0.86rem;
    resize: vertical;
}

.cg-classifieds-filters input:focus,
.cg-classifieds-filters select:focus,
.cg-classifieds-submit__grid input:focus,
.cg-classifieds-submit__grid select:focus,
.cg-classifieds-submit__grid textarea:focus {
    outline: 2px solid rgba(8, 73, 162, 0.24);
    outline-offset: 2px;
    border-color: rgba(8, 73, 162, 0.42);
}

.cg-classifieds-filters__fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.cg-classifieds-filters__fieldset legend {
    margin-bottom: 0.72rem;
}

.cg-classifieds-filters__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.62rem;
}

.cg-classifieds-category-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

.cg-classifieds-category-links > span {
    color: rgba(17, 40, 79, 0.68);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.cg-classifieds-category-links a {
    position: relative;
    display: inline-flex;
    min-height: 2.35rem;
    align-items: center;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    padding: 0.5rem 0.7rem;
    background: rgba(255, 255, 255, 0.98);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.cg-classifieds-category-links a::after {
    content: "";
    position: absolute;
    inset: auto -1px -1px -1px;
    height: 0.15rem;
    background: var(--cg-category);
    opacity: 0.72;
}

.cg-classifieds-category-links a:hover {
    transform: translateY(-1px);
    border-color: rgba(8, 73, 162, 0.18);
    background: rgba(237, 247, 255, 0.68);
}

.cg-classifieds-chip {
    position: relative;
    display: inline-flex;
}

.cg-classifieds-chip input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.cg-classifieds-chip__label {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    padding: 0.68rem 0.92rem 0.82rem;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.98);
    color: var(--cg-brand-700);
    font-weight: 800;
    line-height: 1.12;
    text-align: center;
    box-shadow: none;
    transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.cg-classifieds-chip__label::before {
    content: "";
    position: absolute;
    inset: auto -1px -1px -1px;
    width: auto;
    height: 0.16rem;
    border-radius: 0;
    background: var(--cg-category);
    opacity: 0.72;
    box-shadow: none;
}

.cg-classifieds-chip:hover .cg-classifieds-chip__label {
    transform: translateY(-1px);
    border-color: rgba(8, 73, 162, 0.18);
    background: rgba(237, 247, 255, 0.68);
}

.cg-classifieds-chip input:checked + .cg-classifieds-chip__label {
    border-color: rgba(8, 73, 162, 0.22);
    background: var(--cg-category-soft);
    color: var(--cg-brand-700);
}

.cg-classifieds-results__count {
    margin: 0 0 1rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.cg-classifieds-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.9rem, 2vw, 1.2rem);
}

.cg-classifieds-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-white);
    box-shadow: 0 1rem 2.2rem rgba(8, 73, 162, 0.09);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.cg-classifieds-card:hover {
    transform: translateY(-5px);
    border-color: rgba(8, 73, 162, 0.24);
    box-shadow: 0 1.45rem 3rem rgba(8, 73, 162, 0.16);
}

.cg-classifieds-card__image {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--cg-classifieds-ice);
    text-decoration: none;
}

.cg-classifieds-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.28), transparent 58%);
    transform: translateX(-110%);
    transition: transform 520ms ease;
}

.cg-classifieds-card:hover .cg-classifieds-card__image::after {
    transform: translateX(110%);
}

.cg-classifieds-card__img,
.cg-classifieds-single__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 420ms ease;
}

.cg-classifieds-card:hover .cg-classifieds-card__img {
    transform: scale(1.05);
}

.cg-classifieds-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background:
        linear-gradient(135deg, rgba(8, 73, 162, 0.14), rgba(214, 233, 254, 0.72)),
        linear-gradient(45deg, transparent 0 46%, rgba(255, 255, 255, 0.42) 46% 54%, transparent 54%);
}

.cg-classifieds-placeholder span {
    display: grid;
    width: 4rem;
    height: 4rem;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 0;
    color: var(--cg-classifieds-navy);
    font-family: var(--cg-font-menu);
    font-weight: 900;
}

.cg-classifieds-card__category,
.cg-classifieds-card__flag,
.cg-classifieds-card__type,
.cg-classifieds-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.42rem 0.62rem;
    border-radius: 0;
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
}

.cg-classifieds-card__category,
.cg-classifieds-card__flag,
.cg-classifieds-card__type {
    position: absolute;
    z-index: 5;
}

.cg-classifieds-card__category {
    top: 0.72rem;
    left: 0.72rem;
    background: var(--cg-category);
    color: var(--cg-white);
}

.cg-classifieds-card__flag {
    top: 0.72rem;
    right: 0.72rem;
    background: var(--cg-classifieds-navy);
    color: var(--cg-white);
}

.cg-classifieds-card__type {
    left: 0.72rem;
    bottom: 4.9rem;
    background: rgba(255, 255, 255, 0.92);
    color: var(--cg-classifieds-navy);
}

.cg-classifieds-card__overlay {
    position: absolute;
    inset: auto 0 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 0.32rem;
    padding: 3.6rem 0.86rem 0.86rem;
    background: linear-gradient(180deg, rgba(7, 17, 34, 0), rgba(7, 17, 34, 0.9));
    color: var(--cg-white);
}

.cg-classifieds-card__price {
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 1.28rem;
    font-weight: 900;
    line-height: 1.04;
    overflow-wrap: break-word;
}

.cg-classifieds-card__title {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cg-white);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.22;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cg-classifieds-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.82rem;
    padding: 0.95rem 1rem 1rem;
}

.cg-classifieds-card__excerpt {
    flex: 1;
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 0.96rem;
    line-height: 1.54;
}

.cg-classifieds-card__footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.62rem;
    align-items: center;
    justify-content: space-between;
    padding-top: 0.78rem;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
    color: rgba(17, 40, 79, 0.68);
    font-size: 0.88rem;
}

.cg-classifieds-card__footer a {
    color: var(--cg-category-text);
    font-family: var(--cg-font-menu);
    font-weight: 850;
    text-decoration: none;
}

.cg-classifieds-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 0.56rem;
    justify-content: center;
    margin-top: 1.5rem;
}

.cg-classifieds-pagination__link {
    display: inline-grid;
    min-width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.08);
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-weight: 850;
    text-decoration: none;
}

.cg-classifieds-pagination__link.is-current,
.cg-classifieds-pagination__link:hover {
    background: var(--cg-classifieds-navy);
    color: var(--cg-white);
}

.cg-classifieds-empty {
    display: grid;
    gap: 0.9rem;
    justify-items: start;
    padding: clamp(1.2rem, 3vw, 2rem);
}

.cg-classifieds-empty h2 {
    color: var(--cg-ink);
    font-size: 2rem;
}

.cg-classifieds-empty p {
    max-width: 58ch;
    margin: 0;
    color: var(--cg-ink-soft);
    line-height: 1.58;
}

.cg-classifieds-single__back {
    margin-bottom: 1rem;
}

.cg-classifieds-single__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
    gap: clamp(1rem, 2.4vw, 1.4rem);
    align-items: start;
}

.cg-classifieds-single__media {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-white);
    box-shadow: var(--cg-classifieds-shadow);
}

.cg-classifieds-single__media .cg-classifieds-placeholder {
    min-height: 22rem;
}

.cg-classifieds-single__sidebar {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.cg-classifieds-single__summary,
.cg-classifieds-contact,
.cg-classifieds-single__content-card,
.cg-classifieds-submit {
    padding: clamp(1rem, 2.4vw, 1.35rem);
}

.cg-classifieds-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.9rem;
}

.cg-classifieds-badge {
    text-decoration: none;
}

.cg-classifieds-badge.badge-type {
    background: rgba(8, 73, 162, 0.08);
    color: var(--cg-classifieds-navy);
}

.cg-classifieds-badge.badge-category {
    background: var(--cg-category-soft);
    color: var(--cg-category-text);
}

.cg-classifieds-single__price {
    margin: 0.8rem 0 0.7rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.9rem;
    font-weight: 900;
    line-height: 1.05;
    overflow-wrap: break-word;
}

.cg-classifieds-single__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 1rem;
    color: var(--cg-ink-soft);
    font-size: 0.95rem;
}

.cg-classifieds-contact h2,
.cg-classifieds-single__content-card h2 {
    margin: 0 0 0.9rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.28rem;
    font-weight: 850;
    letter-spacing: 0;
}

.cg-classifieds-contact__grid {
    display: grid;
    gap: 0.7rem;
}

.cg-classifieds-contact__item {
    display: grid;
    gap: 0.25rem;
    padding: 0.9rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.07);
}

.cg-classifieds-contact__item span {
    color: rgba(17, 40, 79, 0.68);
}

.cg-classifieds-contact__item strong,
.cg-classifieds-contact__item a {
    color: var(--cg-ink);
    overflow-wrap: anywhere;
}

.cg-classifieds-single__content-card {
    margin-top: 1rem;
}

.cg-classifieds-single__content {
    max-width: 72ch;
    color: var(--cg-ink-soft);
    line-height: 1.74;
}

.cg-classifieds-submit {
    max-width: 980px;
}

.cg-classifieds-notice {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: rgba(214, 233, 254, 0.5);
}

.cg-classifieds-notice.is-success {
    border-color: rgba(37, 134, 90, 0.26);
    background: rgba(37, 134, 90, 0.1);
}

.cg-classifieds-notice.is-error {
    border-color: rgba(8, 73, 162, 0.28);
    background: rgba(214, 233, 254, 0.46);
}

.cg-classifieds-notice p,
.cg-classifieds-notice ul {
    margin: 0;
}

.cg-classifieds-submit__legend {
    margin: 0 0 1rem;
    color: var(--cg-ink-soft);
    line-height: 1.55;
}

.cg-classifieds-submit__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cg-classifieds-submit__grid label > span:not([class]) {
    display: none;
}

.cg-classifieds-submit__required {
    color: var(--cg-classifieds-accent);
}

.cg-classifieds-submit__hint {
    color: rgba(17, 40, 79, 0.66);
    font-size: 0.86rem;
    line-height: 1.42;
}

.cg-classifieds-submit__full {
    grid-column: 1 / -1;
}

.cg-classifieds-submit__challenge {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.cg-classifieds-submit__anti-spam {
    max-width: 20rem;
}

.cg-classifieds-submit__consent {
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
}

.cg-classifieds-submit__consent input {
    flex: 0 0 auto;
    margin-top: 0.2rem;
}

.cg-classifieds-submit__consent span {
    color: var(--cg-ink-soft);
    line-height: 1.52;
}

.cg-classifieds-submit__honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Taxonomy landing pages v1 */
.cg-classifieds-page--category .cg-classifieds-hero {
    background:
        linear-gradient(120deg, rgba(7, 24, 39, 0.98), rgba(8, 73, 162, 0.9), var(--cg-category));
    background-size: 180% 180%;
}

.cg-classifieds-page--category .cg-classifieds-results {
    display: grid;
    gap: 1rem;
}

.cg-classifieds-submit__consent a,
.cg-event-submit__consent a {
    color: var(--cg-classifieds-navy, var(--cg-events-navy));
    font-weight: 850;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}

.cg-event-submit-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    justify-content: flex-end;
}

.cg-tax-landing {
    padding: clamp(2.2rem, 5vw, 4.5rem) 0;
    background: #fff;
    color: var(--cg-ink);
}

.cg-tax-landing--classifieds {
    background:
        linear-gradient(180deg, rgba(237, 247, 255, 0.88), #fff 72%);
}

.cg-tax-landing__inner {
    display: grid;
    gap: clamp(1rem, 2.8vw, 1.8rem);
}

.cg-tax-landing__head {
    display: grid;
    max-width: 760px;
    gap: 0.55rem;
}

.cg-tax-landing__head p {
    margin: 0;
    color: var(--cg-classifieds-navy, var(--business-blue));
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.cg-tax-landing__head h2 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: clamp(2rem, 4vw, 3.8rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-wrap: balance;
}

.cg-tax-landing__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.52fr);
    gap: clamp(1.2rem, 3vw, 2rem);
    align-items: start;
}

.cg-tax-landing__copy {
    max-width: 78ch;
    color: var(--cg-ink-soft);
    font-size: clamp(1rem, 1.2vw, 1.08rem);
    line-height: 1.72;
}

.cg-tax-landing__copy > *:first-child {
    margin-top: 0;
}

.cg-tax-landing__copy > *:last-child {
    margin-bottom: 0;
}

.cg-tax-landing__copy h2,
.cg-tax-landing__copy h3 {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    letter-spacing: 0;
    line-height: 1.12;
}

.cg-tax-landing__gallery {
    display: grid;
    gap: 0.75rem;
}

.cg-tax-landing__gallery figure {
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 16 / 10;
    margin: 0;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.08);
}

.cg-tax-landing__gallery img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cg-tax-landing__faq {
    display: grid;
    gap: 0.85rem;
    max-width: 960px;
}

.cg-tax-landing__faq h3 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.55rem, 2.4vw, 2.2rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.cg-tax-landing__faq-list {
    display: grid;
    gap: 0.6rem;
}

.cg-tax-landing__faq details {
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.92);
}

.cg-tax-landing__faq summary {
    cursor: pointer;
    padding: 0.95rem 1rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.cg-tax-landing__faq details > div {
    padding: 0 1rem 1rem;
    color: var(--cg-ink-soft);
    line-height: 1.62;
}

@media (max-width: 860px) {
    .cg-tax-landing__content {
        grid-template-columns: 1fr;
    }

    .cg-event-submit-hero__actions {
        justify-content: flex-start;
    }
}

/* Taxonomy/category editor panel v8 */
.category-hub-cta {
    padding: clamp(28px, 4vw, 58px) 0;
    background: #f6f8fb;
}

.category-hub-cta__inner,
.cg-tax-landing__cta {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    border: 1px solid rgba(20, 32, 52, .12);
    border-radius: 0;
    padding: clamp(22px, 3vw, 36px);
    background: #fff;
}

.category-hub-cta h2,
.cg-tax-landing__cta h3 {
    margin: 0;
    color: #10233f;
    font-size: clamp(24px, 2vw, 34px);
    line-height: 1.1;
}

.category-hub-cta p,
.cg-tax-landing__cta p {
    max-width: 680px;
    margin: 10px 0 0;
    color: #526174;
    line-height: 1.65;
}

.category-hub-cta a,
.cg-tax-landing__cta a,
.cg-tax-landing__links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border-radius: 0;
    padding: 0 18px;
    background: #1f7a5c;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.cg-tax-landing__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.cg-tax-landing__links article {
    border: 1px solid rgba(20, 32, 52, .12);
    border-radius: 0;
    padding: 18px;
    background: #fff;
}

.cg-tax-landing__links h3 {
    margin: 0 0 8px;
    color: #10233f;
    font-size: 18px;
    line-height: 1.25;
}

.cg-tax-landing__links p {
    margin: 0 0 14px;
    color: #526174;
    line-height: 1.55;
}

.cg-tax-landing--events {
    background: #f6f8fb;
}

@media (max-width: 760px) {
    .category-hub-cta__inner,
    .cg-tax-landing__cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .cg-tax-landing__links {
        grid-template-columns: 1fr;
    }
}

@keyframes classifieds-gradient-flow {
    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

@keyframes classifieds-panel-flow {
    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

@media (max-width: 1100px) {
    .cg-classifieds-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cg-classifieds-single__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .cg-classifieds-hero__inner {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .cg-classifieds-hero h1,
    .cg-classifieds-single__summary h1 {
        max-width: none;
        font-size: 2.34rem;
    }

    .cg-classifieds-filters__grid,
    .cg-classifieds-submit__grid {
        grid-template-columns: 1fr;
    }

    .cg-classifieds-submit__anti-spam {
        max-width: none;
    }
}

@media (max-width: 620px) {
    .cg-classifieds-page__body {
        width: min(calc(100% - 1rem), var(--cg-max-width));
    }

    .cg-classifieds-hero {
        min-height: 0;
    }

    .cg-classifieds-hero__inner {
        min-height: 0;
    }

    .cg-classifieds-hero h1,
    .cg-classifieds-single__summary h1 {
        font-size: 2rem;
    }

    .cg-classifieds-grid {
        grid-template-columns: 1fr;
    }

    .cg-classifieds-card__type {
        bottom: 5.35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cg-classifieds-hero,
    .cg-classifieds-filters::before,
    .cg-classifieds-submit::before,
    .cg-classifieds-single__summary::before {
        animation: none;
    }

    .cg-classifieds-card,
    .cg-classifieds-card__img,
    .cg-classifieds-card__image::after,
    .cg-classifieds-button,
    .cg-classifieds-filters__actions button,
    .cg-classifieds-filters__actions a,
    .cg-classifieds-submit__actions button,
    .cg-classifieds-submit__actions a {
        transition: none;
    }
}

.cg-classifieds-page--archive .cg-classifieds-hero {
    min-height: clamp(20rem, 38vw, 27rem);
}

.cg-classifieds-page--archive .cg-classifieds-hero--with-media {
    animation: none;
    background-image:
        linear-gradient(100deg, rgba(4, 22, 55, 0.9) 0%, rgba(8, 73, 162, 0.78) 46%, rgba(8, 73, 162, 0.28) 100%),
        var(--cg-classifieds-hero-image);
    background-position: center;
    background-size: cover;
}

.cg-classifieds-page--archive .cg-classifieds-hero__inner {
    min-height: clamp(20rem, 38vw, 27rem);
    align-items: flex-end;
    padding-block: clamp(2.6rem, 5vw, 4.8rem);
}

.cg-classifieds-page--archive .cg-classifieds-hero__copy {
    max-width: min(100%, 60rem);
}

.cg-classifieds-page--archive .cg-classifieds-hero h1 {
    max-width: none;
    margin-top: 0.46rem;
    font-size: clamp(2.45rem, 4vw, 3.95rem);
    line-height: 0.98;
    text-wrap: pretty;
}

.cg-classifieds-page--archive .cg-classifieds-hero p:not(.cg-classifieds-hero__eyebrow) {
    max-width: 57rem;
    margin-top: 0.98rem;
    font-size: 1rem;
    line-height: 1.62;
}

.cg-classifieds-page--archive .cg-classifieds-page__body {
    padding-top: clamp(1rem, 2.2vw, 1.7rem);
}

.cg-classifieds-archive-links,
.cg-business-archive-links {
    padding-block: clamp(1rem, 2.4vw, 1.8rem) 0;
}

.cg-classifieds-results__head {
    display: grid;
    gap: 0.38rem;
    margin-bottom: 1rem;
}

.cg-classifieds-results__eyebrow {
    margin: 0;
    color: var(--cg-classifieds-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
}

.cg-classifieds-results__head h2 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    font-weight: 850;
    line-height: 1.04;
}

.cg-classifieds-editorial {
    --category-line: var(--cg-classifieds-line);
    --category-navy: var(--cg-classifieds-navy);
    --category-ice: var(--cg-classifieds-ice);
    --category-section-space: 0;
    padding-block: 0 clamp(2rem, 4vw, 3.2rem);
}

.cg-classifieds-editorial .category-editorial__inner {
    box-shadow: var(--cg-classifieds-shadow);
}

.cg-classifieds-submit-steps {
    display: grid;
    gap: 1rem;
}

.cg-classifieds-submit-steps__head {
    max-width: 54rem;
}

.cg-classifieds-submit-steps__head h2 {
    margin: 0.38rem 0 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.65rem, 2.5vw, 2.35rem);
    font-weight: 850;
    line-height: 1.04;
}

.cg-classifieds-submit-steps__head p:not(.cg-classifieds-hero__eyebrow) {
    margin: 0.8rem 0 0;
    color: var(--cg-ink-soft);
    line-height: 1.62;
}

.cg-classifieds-submit-steps__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.9rem, 1.8vw, 1.2rem);
}

.cg-classifieds-submit-step {
    display: grid;
    gap: 0.72rem;
    align-content: start;
    min-height: 100%;
    padding: clamp(1rem, 2vw, 1.25rem);
    border: 1px solid rgba(8, 73, 162, 0.12);
    background: #ffffff;
    box-shadow: 0 0.9rem 2rem rgba(8, 73, 162, 0.08);
}

.cg-classifieds-submit-step__number {
    color: rgba(8, 73, 162, 0.44);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.cg-classifieds-submit-step h3 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.18rem, 1.8vw, 1.42rem);
    font-weight: 850;
    line-height: 1.08;
}

.cg-classifieds-submit-step p {
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 0.95rem;
    line-height: 1.58;
}

.cg-business-page--archive .cg-business-hero {
    position: relative;
    overflow: hidden;
    min-height: clamp(20rem, 40vw, 28rem);
    background-image:
        linear-gradient(100deg, rgba(4, 22, 55, 0.9) 0%, rgba(8, 73, 162, 0.78) 46%, rgba(8, 73, 162, 0.24) 100%),
        var(--cg-business-hero-image, linear-gradient(135deg, #0849a2, #0a63d6));
    background-position: center;
    background-size: cover;
}

.cg-business-page--archive .cg-business-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 42%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(247, 251, 255, 0.74));
}

.cg-business-page--archive .cg-business-hero__inner {
    position: relative;
    z-index: 1;
    min-height: clamp(20rem, 40vw, 28rem);
    align-items: flex-end;
    padding-block: clamp(2.8rem, 5vw, 4.8rem);
}

.cg-business-page--archive .cg-business-hero__copy {
    max-width: min(100%, 60rem);
}

.cg-business-page--archive .cg-business-hero h1 {
    max-width: none;
    font-size: clamp(2.45rem, 4vw, 3.95rem);
    line-height: 0.98;
    text-wrap: pretty;
}

.cg-business-page--archive .cg-business-hero p {
    max-width: 57rem;
    margin-top: 0.98rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
    line-height: 1.62;
}

.cg-business-category-links {
    display: grid;
    gap: 0.72rem;
    margin-top: 1rem;
}

.cg-business-category-links > span {
    color: var(--business-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
}

.cg-business-editorial--archive {
    --category-line: var(--business-line);
    --category-navy: var(--business-blue);
    --category-ice: #edf7ff;
    --category-section-space: 0;
    padding-block: 0 clamp(2rem, 4vw, 3.2rem);
}

.cg-business-editorial--archive .category-editorial__inner {
    box-shadow: 0 1rem 2.4rem rgba(8, 73, 162, 0.08);
}

.cg-business-submit-side .cg-business-eyebrow {
    margin: 0 0 0.42rem;
    color: var(--business-blue);
}

.cg-business-submit-side li {
    display: grid;
    gap: 0.18rem;
}

.cg-business-submit-side li strong {
    color: var(--business-ink);
}

.cg-business-submit-side li span {
    color: var(--business-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

@media (max-width: 980px) {
    .cg-classifieds-submit-steps__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .cg-classifieds-page--archive .cg-classifieds-hero__inner,
    .cg-business-page--archive .cg-business-hero__inner {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }
}

@media (max-width: 760px) {
    .cg-classifieds-page--archive .cg-classifieds-hero h1,
    .cg-business-page--archive .cg-business-hero h1 {
        font-size: clamp(2.1rem, 8.6vw, 2.9rem);
    }
}

/* Collection page template v3 */
.collection-page {
    --collection-navy: #0849a2;
    --collection-blue: #0849a2;
    --collection-sky: #d6e9fe;
    --collection-ice: #edf7ff;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(237, 247, 255, 0.92) 34%, #ffffff 100%);
}

.collection-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 26rem;
    background-image:
        linear-gradient(100deg, rgba(4, 22, 55, 0.54) 0%, rgba(8, 73, 162, 0.36) 40%, rgba(8, 73, 162, 0.12) 70%, rgba(214, 233, 254, 0.02) 100%),
        var(--collection-hero-image, linear-gradient(135deg, #0849a2, #0849a2));
    background-position: center;
    background-size: cover;
    color: var(--cg-white);
}

.collection-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(115deg, transparent 0%, rgba(214, 233, 254, 0.1) 40%, rgba(255, 255, 255, 0.05) 50%, transparent 64%);
    background-size: 180% 100%;
    opacity: 0.3;
    animation: collection-hero-flow 18s ease-in-out infinite;
}

.collection-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: -1;
    height: 42%;
    background: linear-gradient(180deg, rgba(237, 247, 255, 0), rgba(237, 247, 255, 0.78));
}

.collection-hero__inner {
    display: flex;
    min-height: 26rem;
    align-items: flex-start;
    padding-block: clamp(3rem, 6vw, 5rem) clamp(3.2rem, 5vw, 4.3rem);
}

.collection-hero__copy {
    max-width: min(100%, 60rem);
}

.collection-hero h1 {
    max-width: none;
    margin: 0;
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: clamp(2.7rem, 4.1vw, 3.85rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 0.98;
    text-wrap: pretty;
}

.collection-hero__lead {
    max-width: 54rem;
    margin-top: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.05rem;
    line-height: 1.62;
}

.collection-hero__lead p {
    margin: 0;
}

.collection-page__sections {
    display: grid;
    gap: 0;
}

.collection-topic {
    position: relative;
    padding-block: clamp(2.2rem, 5vw, 4.4rem);
    border-top: 1px solid rgba(8, 73, 162, 0.1);
}

.collection-topic:nth-child(even) {
    background: rgba(237, 247, 255, 0.72);
}

.collection-topic__shell {
    display: grid;
    gap: clamp(1.1rem, 2.4vw, 1.7rem);
    --collection-shell-edge-right: calc((100vw - min(var(--cg-max-width), calc(100vw - 2rem))) / 2);
}

.collection-topic__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(25rem, 0.96fr);
    gap: clamp(1.2rem, 3vw, 2.35rem);
    align-items: flex-start;
}

.collection-topic__copy {
    display: grid;
    align-content: start;
    justify-items: start;
    min-width: 0;
    padding-block: clamp(0.9rem, 2vw, 1.5rem) 0;
}

.collection-topic__title-row {
    display: flex;
    max-width: 100%;
    align-items: center;
    gap: 0.82rem;
}

.collection-topic__icon {
    display: inline-grid;
    flex: 0 0 auto;
    width: clamp(2.2rem, 3vw, 2.9rem);
    height: clamp(2.2rem, 3vw, 2.9rem);
    place-items: center;
    color: var(--collection-navy);
    line-height: 0;
}

.collection-topic__icon svg {
    width: 100%;
    height: 100%;
}

.collection-topic__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.collection-topic h2 {
    max-width: none;
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: clamp(2.2rem, 3vw, 2.9rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-wrap: pretty;
}

.collection-topic__description {
    max-width: 70ch;
    margin: 0.78rem 0 0;
    color: var(--cg-ink-soft);
    font-size: 1.04rem;
    line-height: 1.62;
}

.collection-topic__visual {
    position: relative;
    width: 100%;
    min-height: clamp(19rem, 27vw, 28rem);
    aspect-ratio: 4 / 3;
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    background:
        linear-gradient(135deg, rgba(8, 73, 162, 0.18), rgba(214, 233, 254, 0.72)),
        var(--collection-topic-image, linear-gradient(135deg, #d6e9fe, #0849a2));
    box-shadow: 0 1.1rem 2.8rem rgba(8, 73, 162, 0.14);
}

.collection-topic__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 22%, rgba(255, 255, 255, 0.24), transparent 58%);
    transform: translateX(-115%);
    animation: collection-image-shine 8s ease-in-out infinite;
}

.collection-topic__visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.collection-post-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(0.68rem, 1.4vw, 0.9rem);
}

.collection-post-card {
    min-width: 0;
}

.collection-post-card__inner {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-white);
    color: var(--cg-ink);
    text-decoration: none;
    box-shadow: 0 0.9rem 2rem rgba(8, 73, 162, 0.08);
    transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

a.collection-post-card__inner:hover,
a.collection-post-card__inner:focus-visible {
    transform: translateY(-4px);
    border-color: rgba(8, 73, 162, 0.26);
    box-shadow: 0 1.25rem 2.6rem rgba(8, 73, 162, 0.14);
}

.collection-post-card__media {
    position: relative;
    display: block;
    aspect-ratio: 1.42;
    overflow: hidden;
    background: var(--collection-ice);
}

.collection-post-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 420ms ease;
}

a.collection-post-card__inner:hover .collection-post-card__media img,
a.collection-post-card__inner:focus-visible .collection-post-card__media img {
    transform: scale(1.05);
}

.collection-post-card__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background: linear-gradient(135deg, rgba(8, 73, 162, 0.12), rgba(214, 233, 254, 0.78));
    color: var(--collection-navy);
    font-family: var(--cg-font-menu);
    font-weight: 900;
}

.collection-post-card__body {
    display: grid;
    gap: 0.42rem;
    padding: 0.8rem 0.82rem 0.92rem;
}

.collection-post-card__date {
    color: rgba(17, 40, 79, 0.62);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 780;
    letter-spacing: 0;
}

.collection-post-card strong {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cg-ink);
    font-size: 0.94rem;
    font-weight: 850;
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.collection-post-card__excerpt {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cg-ink-soft);
    font-size: 0.84rem;
    line-height: 1.42;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.collection-topic__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    align-items: center;
}

.collection-button {
    display: inline-flex;
    min-height: 2.8rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.72rem 1rem;
    border: 1px solid transparent;
    border-radius: 0;
    font-family: var(--cg-font-menu);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.collection-button::after {
    content: "";
    width: 0.52rem;
    height: 0.52rem;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

.collection-button--load {
    background: var(--collection-navy);
    color: var(--cg-white);
}

.collection-button--category {
    border-color: rgba(8, 73, 162, 0.18);
    background: rgba(214, 233, 254, 0.78);
    color: var(--collection-navy);
}

.collection-button:hover,
.collection-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 1rem 2rem rgba(8, 73, 162, 0.16);
}

.collection-button--load:hover,
.collection-button--load:focus-visible {
    background: var(--collection-blue);
}

.collection-button--category:hover,
.collection-button--category:focus-visible {
    border-color: rgba(8, 73, 162, 0.3);
    background: var(--collection-sky);
}

.collection-button.is-loading {
    opacity: 0.74;
    cursor: wait;
}

.collection-button.has-error {
    background: var(--collection-blue);
}

.collection-seo {
    padding-block: clamp(2.2rem, 5vw, 4.8rem);
    background:
        linear-gradient(180deg, #ffffff, rgba(237, 247, 255, 0.78));
}

.collection-seo__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(13.5rem, 21rem);
    gap: clamp(1.1rem, 3vw, 2.2rem);
    align-items: start;
}

.collection-seo__copy {
    min-width: 0;
}

.collection-seo__label {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.46rem;
    margin: 0 0 0.72rem;
    padding: 0.34rem 0.62rem;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: rgba(214, 233, 254, 0.72);
    color: var(--collection-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
}

.collection-seo__label svg {
    width: 1rem;
    height: 1rem;
}

.collection-seo__content {
    padding-left: clamp(1rem, 2.4vw, 1.4rem);
    border-left: 4px solid var(--collection-navy);
    color: var(--cg-ink-soft);
    font-size: 1rem;
    line-height: 1.78;
}

.collection-seo__content > *:first-child {
    margin-top: 0;
}

.collection-seo__content > *:last-child {
    margin-bottom: 0;
}

.collection-seo__content h2,
.collection-seo__content h3 {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    letter-spacing: 0;
    line-height: 1.1;
}

.collection-seo__content h2 {
    margin: 1.55rem 0 0.56rem;
    font-size: 1.72rem;
}

.collection-seo__content h3 {
    margin: 1.05rem 0 0.42rem;
    font-size: 1.12rem;
}

.collection-seo__content p {
    margin: 0 0 0.92rem;
}

.collection-seo__gallery {
    display: grid;
    gap: 0.72rem;
    align-self: stretch;
}

.collection-seo__gallery figure {
    position: relative;
    min-height: 6.8rem;
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    background: var(--collection-ice);
    box-shadow: 0 0.9rem 2rem rgba(8, 73, 162, 0.1);
}

.collection-seo__gallery figure:nth-child(even) {
    transform: translateX(0.75rem);
}

.collection-seo__gallery img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 6.8rem;
    object-fit: cover;
    transition: transform 420ms ease;
}

.collection-seo__gallery figure:hover img {
    transform: scale(1.04);
}

.collection-faq {
    max-width: 980px;
    margin-top: clamp(1.7rem, 4vw, 3rem);
}

.collection-faq h2 {
    margin: 0 0 0.92rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.9rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.collection-faq__list {
    display: grid;
    gap: 0.7rem;
}

.collection-faq__item {
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-white);
    box-shadow: 0 0.7rem 1.7rem rgba(8, 73, 162, 0.07);
}

.collection-faq__item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.92rem 1rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1.2;
    cursor: pointer;
}

.collection-faq__item summary::-webkit-details-marker {
    display: none;
}

.collection-faq__item summary::after {
    content: "";
    flex: 0 0 auto;
    width: 0.62rem;
    height: 0.62rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 180ms ease;
}

.collection-faq__item[open] summary::after {
    transform: rotate(225deg) translate(-2px, -1px);
}

.collection-faq__answer {
    padding: 0 1rem 1rem;
    color: var(--cg-ink-soft);
    font-size: 0.96rem;
    line-height: 1.62;
}

.collection-faq__answer > *:first-child {
    margin-top: 0;
}

.collection-faq__answer > *:last-child {
    margin-bottom: 0;
}

@keyframes collection-hero-flow {
    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

@keyframes collection-image-shine {
    0%,
    42% {
        transform: translateX(-115%);
    }

    68%,
    100% {
        transform: translateX(115%);
    }
}

@media (max-width: 1180px) {
    .collection-post-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 901px) {
    .collection-hero h1,
    .collection-topic h2 {
        white-space: nowrap;
    }

    .collection-topic__intro {
        grid-template-columns: minmax(0, 0.9fr) minmax(31rem, 1.1fr);
    }

    .collection-topic__visual {
        width: calc(100% + var(--collection-shell-edge-right));
        max-width: none;
        margin-right: calc(-1 * var(--collection-shell-edge-right));
    }
}

@media (max-width: 900px) {
    .collection-hero h1 {
        max-width: none;
        font-size: 2.4rem;
        white-space: normal;
    }

    .collection-topic__intro {
        grid-template-columns: 1fr;
    }

    .collection-topic__visual {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .collection-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .collection-seo__inner {
        grid-template-columns: 1fr;
    }

    .collection-seo__gallery {
        max-width: 32rem;
    }
}

@media (max-width: 620px) {
    .collection-hero,
    .collection-hero__inner {
        min-height: 0;
    }

    .collection-hero__inner {
        padding-block: 2.6rem 3rem;
    }

    .collection-hero h1 {
        font-size: 2rem;
    }

    .collection-hero__lead {
        font-size: 0.98rem;
    }

    .collection-topic__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .collection-button {
        width: 100%;
    }

    .collection-topic h2 {
        font-size: 2rem;
    }

    .collection-post-grid {
        grid-template-columns: 1fr;
    }

    .collection-seo__content {
        padding-left: 0.9rem;
    }

    .collection-seo__gallery figure:nth-child(even) {
        transform: none;
    }

    .collection-faq h2 {
        font-size: 1.55rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .collection-hero::before,
    .collection-topic__visual::after {
        animation: none;
    }

    .collection-post-card__inner,
    .collection-post-card__media img,
    .collection-seo__gallery img,
    .collection-button {
        transition: none;
    }
}

/* Contact page v2 */
.contact-page {
    --contact-navy: #0849a2;
    --contact-sky: #d6e9fe;
    --contact-ice: #f5faff;
    --contact-line: rgba(8, 73, 162, 0.16);
    --contact-line-strong: rgba(8, 73, 162, 0.28);
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 42%, #ffffff 100%);
}

.contact-hero {
    position: relative;
    overflow: hidden;
    min-height: clamp(21rem, 42vw, 34rem);
    background-image:
        linear-gradient(90deg, rgba(6, 24, 59, 0.9) 0%, rgba(8, 73, 162, 0.78) 48%, rgba(8, 73, 162, 0.24) 100%),
        var(--contact-hero-image, linear-gradient(135deg, #0849a2, #0849a2));
    background-position: center;
    background-size: cover;
    color: var(--cg-white);
}

.contact-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: clamp(5rem, 14vw, 8rem);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff);
}

.contact-hero__inner {
    display: flex;
    min-height: inherit;
    align-items: flex-end;
    padding-block: clamp(3rem, 7vw, 5.75rem);
}

.contact-hero__copy {
    position: relative;
    z-index: 1;
    max-width: 44rem;
}

.contact-hero h1 {
    max-width: 11ch;
    margin: 0;
    color: var(--cg-white);
    text-wrap: balance;
}

.contact-hero__lead {
    max-width: 35rem;
    margin-top: 1rem;
    color: rgba(255, 255, 255, 0.88);
}

.contact-hero__lead p {
    margin: 0;
}

.contact-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.5rem;
}

.contact-button,
.contact-form__submit {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 0.84rem 1.05rem;
    border: 1px solid var(--contact-line);
    border-radius: 0;
    background: var(--contact-sky);
    color: var(--contact-navy);
    text-decoration: none;
    cursor: pointer;
    transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.contact-button::after,
.contact-form__submit::after {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

.contact-button:not(.contact-button--primary) {
    border-color: rgba(255, 255, 255, 0.36);
    background: rgba(255, 255, 255, 0.08);
    color: var(--cg-white);
}

.contact-button:hover,
.contact-button:focus-visible,
.contact-form__submit:hover,
.contact-form__submit:focus-visible {
    transform: translateY(-2px);
}

.contact-button--primary:hover,
.contact-button--primary:focus-visible,
.contact-form__submit:hover,
.contact-form__submit:focus-visible {
    border-color: var(--contact-navy);
    background: var(--contact-navy);
    color: var(--cg-white);
}

.contact-button:not(.contact-button--primary):hover,
.contact-button:not(.contact-button--primary):focus-visible {
    border-color: var(--cg-white);
    background: var(--cg-white);
    color: var(--contact-navy);
}

.contact-overview {
    padding-block: clamp(1.7rem, 4vw, 2.5rem) 0;
}

.contact-overview__head {
    margin-bottom: 0.9rem;
}

.contact-overview__head h2 {
    margin: 0;
    color: var(--cg-ink);
}

.contact-overview__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--contact-line);
    background: var(--cg-white);
}

.contact-overview__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
        "icon eyebrow"
        "icon value";
    column-gap: 0.9rem;
    row-gap: 0.18rem;
    min-width: 0;
    padding: 1.35rem 1.5rem;
    color: var(--cg-ink);
    text-decoration: none;
    background: var(--cg-white);
    transition: transform 180ms ease, background 180ms ease;
}

.contact-overview__item + .contact-overview__item {
    border-left: 1px solid var(--contact-line);
}

.contact-overview__item:hover,
.contact-overview__item:focus-visible {
    background: var(--contact-ice);
}

.contact-overview__icon,
.contact-side-note__icon,
.contact-route__icon,
.contact-socials a span {
    display: inline-grid;
    place-items: center;
    background: var(--contact-sky);
    color: var(--contact-navy);
}

.contact-overview__icon {
    grid-area: icon;
    width: 1.5rem;
    height: 1.5rem;
    align-self: center;
    background: transparent;
}

.contact-side-note__icon {
    width: 3rem;
    height: 3rem;
}

.contact-route__icon {
    width: 2.65rem;
    height: 2.65rem;
    background: var(--contact-ice);
}

.contact-socials a span {
    flex: 0 0 auto;
    width: 2.1rem;
    height: 2.1rem;
    background: transparent;
}

.contact-overview__icon svg,
.contact-overview__icon img,
.contact-side-note__icon svg,
.contact-side-note__icon img,
.contact-route__icon svg,
.contact-route__icon img,
.contact-socials a span svg,
.contact-socials a span img {
    display: block;
    width: 1.45rem;
    height: 1.45rem;
    object-fit: contain;
}

.contact-overview__eyebrow {
    grid-area: eyebrow;
    color: var(--cg-ink-soft);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.contact-overview__item strong {
    grid-area: value;
    font-size: clamp(1.02rem, calc(0.95rem + 0.24vw), 1.18rem);
    line-height: 1.25;
}

.contact-main {
    padding-block: clamp(2.2rem, 5vw, 4.8rem);
}

.contact-main__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
    gap: clamp(1.3rem, 3vw, 2.4rem);
    align-items: start;
}

.contact-main__inner > :only-child {
    grid-column: 1 / -1;
}

.contact-form-area,
.contact-side__panel {
    min-width: 0;
    border: 1px solid var(--contact-line);
    border-radius: 0;
    background: var(--cg-white);
}

.contact-form-area {
    padding: clamp(1.2rem, 2.8vw, 1.8rem);
}

.contact-form-area__header {
    max-width: 38rem;
    margin-bottom: 1.2rem;
}

.contact-form-area__header h2,
.contact-side h2 {
    margin: 0;
    color: var(--cg-ink);
}

.contact-form-area__header p,
.contact-side-note__copy p {
    margin: 0.6rem 0 0;
    color: var(--cg-ink-soft);
}

.contact-form {
    display: grid;
    gap: 1rem;
}

.contact-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.contact-form label {
    display: grid;
    gap: 0.42rem;
    min-width: 0;
    color: var(--cg-ink);
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.3;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    min-height: 3rem;
    padding: 0.82rem 0.9rem;
    border: 1px solid var(--contact-line);
    border-radius: 0;
    background: #ffffff;
    color: var(--cg-ink);
    font: inherit;
    outline: none;
    transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.contact-form textarea {
    min-height: 12rem;
    resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: var(--contact-line-strong);
    background: var(--contact-ice);
    box-shadow: 0 0 0 3px rgba(214, 233, 254, 0.92);
}

.contact-form__consent {
    display: flex !important;
    align-items: flex-start;
    gap: 0.62rem !important;
    color: var(--cg-ink-soft) !important;
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    line-height: 1.42;
}

.contact-form__consent input {
    width: 1.05rem;
    min-height: 0;
    height: 1.05rem;
    margin-top: 0.1rem;
    padding: 0;
}

.contact-form__submit {
    width: fit-content;
    margin-top: 0.2rem;
}

.contact-form__trap {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.contact-form__notice {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--contact-line);
    border-radius: 0;
    background: var(--contact-ice);
    color: var(--cg-ink);
}

.contact-form__notice--error {
    border-color: var(--contact-line-strong);
}

.contact-form__notice--success {
    background: rgba(214, 233, 254, 0.72);
}

.contact-form__notice p {
    margin: 0;
    font-weight: 700;
}

.contact-form__notice ul {
    margin: 0.55rem 0 0;
    padding-left: 1.15rem;
}

.contact-side__panel {
    display: grid;
}

.contact-side__section {
    padding: 1.25rem 1.35rem;
}

.contact-side__section + .contact-side__section {
    border-top: 1px solid var(--contact-line);
}

.contact-side-note {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.9rem;
    align-items: start;
}

.contact-side-note__copy h2 {
    margin: 0;
}

.contact-side-note__copy {
    order: 1;
}

.contact-side-note__icon {
    order: 2;
    justify-self: end;
    width: 1.45rem;
    height: 1.45rem;
    background: transparent;
}

.contact-routes {
    display: grid;
}

.contact-route {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.82rem;
    align-items: start;
    padding: 1rem 0;
    color: var(--cg-ink);
    text-decoration: none;
    transition: transform 180ms ease, color 180ms ease;
}

.contact-route + .contact-route {
    border-top: 1px solid var(--contact-line);
}

.contact-route:hover,
.contact-route:focus-visible {
    transform: translateX(4px);
    color: var(--contact-navy);
}

.contact-route__copy strong,
.contact-route__copy em,
.contact-route__cta {
    display: block;
}

.contact-route__copy strong {
    line-height: 1.12;
}

.contact-route__copy em {
    margin-top: 0.22rem;
    color: var(--cg-ink-soft);
    font-style: normal;
    font-size: 0.9rem;
    line-height: 1.45;
}

.contact-route__cta {
    margin-top: 0.55rem;
    color: var(--contact-navy);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.contact-socials h2 {
    margin-bottom: 0.85rem;
}

.contact-socials__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.contact-socials a {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    gap: 0.62rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--contact-line);
    border-radius: 0;
    background: var(--contact-ice);
    color: var(--contact-navy);
    text-decoration: none;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.contact-socials a:hover,
.contact-socials a:focus-visible {
    transform: translateY(-2px);
    border-color: var(--contact-line-strong);
    background: var(--contact-sky);
}

.contact-socials a strong {
    overflow: hidden;
    font-size: 0.9rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.contact-gallery {
    padding-bottom: clamp(3rem, 6vw, 5rem);
}

.contact-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.contact-gallery figure {
    min-height: 11rem;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--contact-line);
    border-radius: 0;
    background: var(--contact-ice);
}

.contact-gallery img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1100px) {
    .contact-main__inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .contact-overview__list {
        grid-template-columns: 1fr;
    }

    .contact-overview__item + .contact-overview__item {
        border-top: 1px solid var(--contact-line);
        border-left: 0;
    }
}

@media (max-width: 760px) {
    .contact-hero {
        min-height: 0;
    }

    .contact-hero__inner {
        padding-block: 2.8rem 3.3rem;
    }

    .contact-hero h1 {
        max-width: none;
    }

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

    .contact-button,
    .contact-form__submit {
        width: 100%;
    }

    .contact-form__grid,
    .contact-socials__list,
    .contact-gallery__grid {
        grid-template-columns: 1fr;
    }

    .contact-overview__item {
        padding: 1.15rem 1.1rem;
    }

    .contact-side-note {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .contact-side__section,
    .contact-form-area {
        padding: 1.05rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-button,
    .contact-form__submit,
    .contact-overview__item,
    .contact-route,
    .contact-socials a,
    .contact-form input,
    .contact-form select,
    .contact-form textarea {
        transition: none;
    }
}

/* About page v3 */
.about-page {
    --about-navy: #0849a2;
    --about-blue: #0849a2;
    --about-soft-blue: #0849a2;
    --about-sky: #d6e9fe;
    --about-ice: #edf7ff;
    --about-line: rgba(8, 73, 162, 0.14);
    --about-shadow: 0 1.3rem 3rem rgba(8, 73, 162, 0.12);
    --about-h1: 3.75rem;
    --about-h2: 2.38rem;
    --about-h3: 1.28rem;
    --about-h4: 1.05rem;
    --about-section-space: clamp(2.6rem, 4.8vw, 4.9rem);
    --about-section-space-compact: clamp(2.1rem, 3.8vw, 3.85rem);
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, rgba(237, 247, 255, 0.74) 46%, #ffffff 100%);
    color: var(--cg-ink);
}

.about-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 26rem;
    background-image:
        linear-gradient(100deg, rgba(4, 22, 55, 0.54) 0%, rgba(8, 73, 162, 0.36) 40%, rgba(8, 73, 162, 0.12) 70%, rgba(214, 233, 254, 0.02) 100%),
        var(--about-hero-image, linear-gradient(135deg, #0849a2, #0849a2));
    background-position: center;
    background-size: cover;
    color: var(--cg-white);
}

.about-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(115deg, transparent 0%, rgba(214, 233, 254, 0.1) 40%, rgba(255, 255, 255, 0.05) 50%, transparent 64%);
    background-size: 180% 100%;
    opacity: 0.3;
    animation: collection-hero-flow 18s ease-in-out infinite;
}

.about-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 42%;
    z-index: -1;
    background: linear-gradient(180deg, rgba(237, 247, 255, 0), rgba(237, 247, 255, 0.78));
}

.about-hero__inner {
    display: flex;
    min-height: 26rem;
    align-items: flex-start;
    padding-block: clamp(3rem, 6vw, 5rem) clamp(3.2rem, 5vw, 4.3rem);
}

.about-hero__copy {
    max-width: min(100%, 60rem);
}

.about-hero h1,
.about-story h2,
.about-section-head h2,
.about-duo h2,
.about-foundation h2,
.about-mission h2,
.about-cta h2,
.about-page h3,
.about-page h4 {
    margin: 0;
    font-family: var(--cg-font-menu);
    font-weight: 880;
    letter-spacing: 0;
    line-height: 1.04;
}

.about-hero h1 {
    max-width: none;
    color: var(--cg-white);
    font-size: clamp(2.7rem, 4.1vw, 3.85rem);
    font-weight: 850;
    line-height: 0.98;
    text-wrap: pretty;
}

.about-hero__lead {
    max-width: 54rem;
    margin-top: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.05rem;
    line-height: 1.62;
}

.about-hero__lead p {
    margin: 0;
}

.about-hero__actions,
.about-foundation__content > .about-button,
.about-cta__inner > .about-button {
    margin-top: 1.55rem;
}

.about-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.72rem;
}

.about-button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.78rem 1.05rem;
    border: 1px solid rgba(8, 73, 162, 0.18);
    border-radius: 0;
    background: var(--about-sky);
    color: var(--about-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.95rem;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    transition: transform 190ms ease, color 190ms ease, background 190ms ease, border-color 190ms ease, box-shadow 190ms ease;
}

.about-button span {
    display: inline-grid;
    place-items: center;
}

.about-button:hover,
.about-button:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(8, 73, 162, 0.34);
    background: var(--about-sky);
    box-shadow: 0 0.7rem 1.4rem rgba(8, 73, 162, 0.12);
}

.about-button--primary {
    border-color: rgba(8, 73, 162, 0.18);
    background: var(--about-sky);
    color: var(--about-navy);
}

.about-button--primary:hover,
.about-button--primary:focus-visible {
    background: var(--about-navy);
    color: #ffffff;
}

.about-button--light {
    border-color: rgba(8, 73, 162, 0.18);
    background: var(--about-sky);
    color: var(--about-navy);
}

.about-story,
.about-features,
.about-team,
.about-duo,
.about-foundation,
.about-mission,
.about-cta {
    position: relative;
}

.about-story {
    padding-block: var(--about-section-space);
    background: linear-gradient(180deg, rgba(237, 247, 255, 0.82), #ffffff);
}

.about-story__inner,
.about-duo__inner,
.about-foundation__inner,
.about-mission__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(18rem, 0.72fr);
    gap: clamp(1.15rem, 3vw, 2.7rem);
    align-items: center;
}

.about-story__content,
.about-duo__content,
.about-foundation__content,
.about-mission__content {
    min-width: 0;
}

.about-story h2,
.about-duo h2,
.about-foundation h2,
.about-mission h2,
.about-cta h2 {
    color: var(--cg-ink);
    font-size: var(--about-h2);
}

.about-story__content p,
.about-duo__content p,
.about-foundation__content p,
.about-mission__content p,
.about-cta__inner p {
    color: var(--cg-ink-soft);
    font-size: 1.04rem;
    line-height: 1.72;
}

.about-story__content p:last-child,
.about-duo__content p:last-child,
.about-foundation__content p:last-child,
.about-mission__content p:last-child,
.about-cta__inner p:last-child {
    margin-bottom: 0;
}

.about-story__image,
.about-duo__image,
.about-foundation__image,
.about-mission__image {
    position: relative;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--about-line);
    border-radius: 0;
    background: var(--about-ice);
    box-shadow: var(--about-shadow);
}

.about-story__image::after,
.about-duo__image::after,
.about-foundation__image::after,
.about-mission__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 28%, rgba(214, 233, 254, 0.24), transparent 62%);
    transform: translateX(-120%);
    transition: transform 620ms ease;
}

.about-story__image:hover::after,
.about-duo__image:hover::after,
.about-foundation__image:hover::after,
.about-mission__image:hover::after {
    transform: translateX(120%);
}

.about-story__image img,
.about-duo__image img,
.about-foundation__image img,
.about-mission__image img {
    width: 100%;
    height: 100%;
    min-height: 24rem;
    object-fit: cover;
    transition: transform 520ms ease;
}

.about-story__image:hover img,
.about-duo__image:hover img,
.about-foundation__image:hover img,
.about-mission__image:hover img {
    transform: scale(1.035);
}

.about-features {
    padding-block: var(--about-section-space);
    background: #ffffff;
}

.about-section-head {
    max-width: 50rem;
    margin-bottom: clamp(1.4rem, 3vw, 2.2rem);
}

.about-section-head h2 {
    color: var(--cg-ink);
    font-size: var(--about-h2);
}

.about-section-head p {
    margin: 0.82rem 0 0;
    color: var(--cg-ink-soft);
    font-size: 1.04rem;
    line-height: 1.64;
}

.about-section-head--light h2,
.about-section-head--light p {
    color: #ffffff;
}

.about-section-head--light p {
    color: rgba(255, 255, 255, 0.82);
}

.about-features__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.82rem;
}

.about-feature {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding: 1.05rem;
    border: 1px solid var(--about-line);
    border-radius: 0;
    background: linear-gradient(180deg, #ffffff, rgba(237, 247, 255, 0.72));
    box-shadow: 0 0.9rem 2rem rgba(8, 73, 162, 0.08);
    transition: transform 190ms ease, border-color 190ms ease, box-shadow 190ms ease;
}

.about-feature::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 30%, rgba(214, 233, 254, 0.42), transparent 70%);
    transform: translateX(-120%);
    transition: transform 520ms ease;
}

.about-feature:hover,
.about-feature:focus-within {
    transform: translateY(-4px);
    border-color: rgba(8, 73, 162, 0.28);
    box-shadow: 0 1rem 2.4rem rgba(8, 73, 162, 0.12);
}

.about-feature:hover::before,
.about-feature:focus-within::before {
    transform: translateX(120%);
}

.about-feature > * {
    position: relative;
    z-index: 1;
}

.about-feature__icon,
.about-foundation__goal svg {
    display: inline-grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border-radius: 0;
    background: var(--about-sky);
    color: var(--about-navy);
}

.about-feature__icon svg,
.about-foundation__goal svg {
    width: 1.18rem;
    height: 1.18rem;
}

.about-feature h3 {
    margin: 0.9rem 0 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: var(--about-h4);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.18;
}

.about-feature p {
    margin: 0.55rem 0 0;
    color: var(--cg-ink-soft);
    font-size: 0.93rem;
    line-height: 1.5;
}

.about-team {
    padding-block: var(--about-section-space);
    background:
        linear-gradient(120deg, rgba(8, 73, 162, 0.96), rgba(8, 73, 162, 0.88), rgba(8, 73, 162, 0.78)),
        linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 180% 180%, 5rem 5rem, 5rem 5rem;
    animation: about-panel-flow 20s ease-in-out infinite;
}

.about-team__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 2.4vw, 1.6rem);
}

.about-member {
    display: grid;
    grid-template-columns: minmax(11rem, 0.42fr) minmax(0, 0.58fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 1.2rem 2.8rem rgba(0, 24, 80, 0.18);
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.about-member:hover {
    transform: translateY(-4px);
    box-shadow: 0 1.6rem 3.4rem rgba(0, 24, 80, 0.24);
}

.about-member__photo {
    min-height: 23rem;
    margin: 0;
    overflow: hidden;
    background: var(--about-ice);
}

.about-member__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 520ms ease;
}

.about-member:hover .about-member__photo img {
    transform: scale(1.035);
}

.about-member__body {
    display: grid;
    align-content: start;
    gap: 0.9rem;
    padding: 1.18rem;
}

.about-member h3 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: var(--about-h3);
    font-weight: 870;
    letter-spacing: 0;
    line-height: 1.08;
}

.about-member__role {
    margin: 0.35rem 0 0;
    color: var(--about-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.86rem;
    font-weight: 850;
    line-height: 1.28;
}

.about-member__body > p {
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 0.96rem;
    line-height: 1.58;
}

.about-member__latest {
    display: grid;
    gap: 0.36rem;
    padding: 0.72rem;
    border-radius: 0;
    background: rgba(237, 247, 255, 0.76);
}

.about-member__latest strong {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
}

.about-member__latest a {
    color: var(--cg-ink-soft);
    font-size: 0.86rem;
    line-height: 1.32;
    text-decoration: none;
}

.about-member__latest a:hover {
    color: var(--about-blue);
}

.about-member__link {
    display: inline-flex;
    width: fit-content;
    min-height: 2.65rem;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 0.9rem;
    border: 1px solid rgba(8, 73, 162, 0.18);
    border-radius: 0;
    background: var(--about-blue);
    color: #ffffff;
    font-family: var(--cg-font-menu);
    font-size: 0.9rem;
    font-weight: 850;
    text-decoration: none;
    transition: transform 180ms ease, background 180ms ease;
}

.about-member__link:hover,
.about-member__link:focus-visible {
    transform: translateY(-2px);
    background: var(--about-navy);
}

.about-duo {
    padding-block: var(--about-section-space);
    background: linear-gradient(180deg, #ffffff, rgba(237, 247, 255, 0.74));
}

.about-duo__inner {
    grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1fr);
}

.about-duo__content ul {
    display: grid;
    gap: 0.5rem;
    margin: 1rem 0;
    padding: 0;
    list-style: none;
}

.about-duo__content li {
    position: relative;
    padding-left: 1.45rem;
    color: var(--cg-ink);
    font-weight: 720;
    line-height: 1.5;
}

.about-duo__content li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 0;
    background: var(--about-blue);
}

.about-foundation {
    overflow: hidden;
    padding-block: var(--about-section-space);
    background:
        linear-gradient(90deg, transparent, rgba(214, 233, 254, 0.46), transparent),
        linear-gradient(180deg, #ffffff 0%, rgba(237, 247, 255, 0.74) 100%);
    background-size: 220% 100%, 100% 100%;
    animation: about-foundation-sweep 18s ease-in-out infinite;
}

.about-foundation::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(8, 73, 162, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(8, 73, 162, 0.045) 1px, transparent 1px);
    background-size: 4.6rem 4.6rem;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
    opacity: 0.9;
}

.about-foundation__inner {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.76fr);
}

.about-foundation__goals {
    position: relative;
    width: min(100%, 50rem);
    margin-top: 1.3rem;
    overflow: hidden;
    padding-block: 0.34rem;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.about-foundation__goals-track {
    display: flex;
    width: max-content;
    gap: 0.62rem;
    will-change: transform;
    animation: about-foundation-marquee 30s linear infinite;
}

.about-foundation__goals:hover .about-foundation__goals-track {
    animation-play-state: paused;
}

.about-foundation__goal {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.58rem;
    width: max-content;
    min-width: 16.4rem;
    padding: 0.72rem 0.9rem;
    border: 1px solid var(--about-line);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.9);
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.22;
    box-shadow: 0 0.55rem 1.2rem rgba(8, 73, 162, 0.08);
    white-space: nowrap;
}

.about-foundation__goal svg {
    flex: 0 0 auto;
}

.about-mission {
    overflow: hidden;
    padding-block: var(--about-section-space);
    background:
        linear-gradient(135deg, rgba(214, 233, 254, 0.74), transparent 36%, rgba(237, 247, 255, 0.86)),
        linear-gradient(180deg, rgba(237, 247, 255, 0.82), #ffffff);
}

.about-mission::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(8, 73, 162, 0.12), transparent);
    background-size: 240% 100%;
    opacity: 0.72;
    animation: about-mission-scan 15s ease-in-out infinite;
}

.about-mission__inner {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 0.7fr);
}

.about-mission__content {
    position: relative;
    grid-column: 2;
    grid-row: 1;
    padding-left: clamp(1.05rem, 2vw, 1.55rem);
}

.about-mission__image {
    grid-column: 1;
    grid-row: 1;
}

.about-mission__content::before {
    content: "";
    position: absolute;
    top: 0.2rem;
    bottom: 0.2rem;
    left: 0;
    width: 0.22rem;
    border-radius: 0;
    background: linear-gradient(180deg, var(--about-blue), var(--about-sky), var(--about-blue));
    background-size: 100% 220%;
    animation: about-rail-flow 7s ease-in-out infinite;
}

.about-mission__pulse {
    position: relative;
    width: min(100%, 38rem);
    margin-top: 1.35rem;
    overflow: hidden;
    border-block: 1px solid rgba(8, 73, 162, 0.14);
    padding-block: 0.48rem;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}

.about-mission__pulse-track {
    display: flex;
    width: max-content;
    gap: 0.52rem;
    will-change: transform;
    animation: about-mission-marquee 24s linear infinite;
}

.about-mission__pulse span {
    flex: 0 0 auto;
    padding: 0.42rem 0.72rem;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.8);
    color: var(--about-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.about-cta {
    isolation: isolate;
    overflow: hidden;
    padding-block: var(--about-section-space-compact);
    background:
        linear-gradient(115deg, rgba(8, 73, 162, 0.98), rgba(8, 73, 162, 0.92), rgba(8, 73, 162, 0.76)),
        linear-gradient(90deg, transparent, rgba(214, 233, 254, 0.24), transparent);
    background-size: 180% 180%, 240% 100%;
    color: #ffffff;
    animation: about-panel-flow 18s ease-in-out infinite;
}

.about-cta::before,
.about-cta::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.about-cta::before {
    background:
        linear-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 4.2rem 4.2rem;
    opacity: 0.58;
}

.about-cta::after {
    background: linear-gradient(105deg, transparent 22%, rgba(255, 255, 255, 0.2), transparent 48%);
    transform: translateX(-70%);
    animation: about-cta-shine 9s ease-in-out infinite;
}

.about-cta__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
}

.about-cta__copy {
    max-width: 54rem;
}

.about-cta h2 {
    color: #ffffff;
    font-size: 2.06rem;
}

.about-cta__inner p {
    max-width: 38rem;
    margin: 0.5rem 0 0;
    color: rgba(255, 255, 255, 0.84);
}

@keyframes about-hero-flow {
    0%,
    100% {
        background-position: 0% 50%, 0 0, 0 0;
    }

    50% {
        background-position: 100% 50%, 2rem 0, 2rem 0;
    }
}

@keyframes about-panel-flow {
    0%,
    100% {
        background-position: 0% 50%, 0 0, 0 0;
    }

    50% {
        background-position: 100% 50%, 1.8rem 0, 1.8rem 0;
    }
}

@keyframes about-foundation-sweep {
    0%,
    100% {
        background-position: 0% 50%, 0 0;
    }

    50% {
        background-position: 100% 50%, 0 0;
    }
}

@keyframes about-foundation-marquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@keyframes about-mission-scan {
    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

@keyframes about-rail-flow {
    0%,
    100% {
        background-position: 0 0%;
    }

    50% {
        background-position: 0 100%;
    }
}

@keyframes about-mission-marquee {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}

@keyframes about-cta-shine {
    0%,
    42% {
        transform: translateX(-80%);
    }

    72%,
    100% {
        transform: translateX(80%);
    }
}

@media (max-width: 1180px) {
    .about-features__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .about-team__grid,
    .about-story__inner,
    .about-duo__inner,
    .about-foundation__inner,
    .about-mission__inner {
        grid-template-columns: 1fr;
    }

    .about-duo__image {
        order: 2;
    }

    .about-duo__content {
        order: 1;
    }

    .about-mission__content,
    .about-mission__image {
        grid-column: auto;
        grid-row: auto;
    }

    .about-mission__content {
        order: 1;
    }

    .about-mission__image {
        order: 2;
    }

    .about-member {
        grid-template-columns: minmax(11rem, 0.36fr) minmax(0, 0.64fr);
    }
}

@media (max-width: 860px) {
    .about-page {
        --about-h1: 3.05rem;
        --about-h2: 2.06rem;
        --about-h3: 1.2rem;
        --about-h4: 1rem;
        --about-section-space: clamp(2.25rem, 5.8vw, 3.2rem);
        --about-section-space-compact: clamp(1.9rem, 5vw, 2.8rem);
    }

    .about-hero,
    .about-hero__inner {
        min-height: 0;
    }

    .about-hero__lead {
        font-size: 1.04rem;
    }

    .about-features__grid {
        grid-template-columns: 1fr;
    }

    .about-foundation__goal {
        min-width: 14.6rem;
    }

    .about-team__grid,
    .about-member {
        grid-template-columns: 1fr;
    }

    .about-member__photo {
        min-height: 18rem;
    }

    .about-cta__inner {
        display: grid;
    }
}

@media (max-width: 560px) {
    .about-page {
        --about-h1: 2.28rem;
        --about-h2: 1.78rem;
        --about-h3: 1.12rem;
        --about-h4: 0.98rem;
        --about-section-space: 2.15rem;
        --about-section-space-compact: 1.85rem;
    }

    .about-hero__inner {
        padding-block: 3rem 3.5rem;
    }

    .about-hero__actions,
    .about-button,
    .about-member__link {
        width: 100%;
    }

    .about-story__image img,
    .about-duo__image img,
    .about-foundation__image img,
    .about-mission__image img {
        min-height: 17rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-hero::before,
    .about-team,
    .about-foundation,
    .about-foundation__goals-track,
    .about-mission::before,
    .about-mission__content::before,
    .about-mission__pulse-track,
    .about-cta,
    .about-cta::after {
        animation: none;
    }

    .about-foundation__goals,
    .about-mission__pulse {
        -webkit-mask-image: none;
        mask-image: none;
    }

    .about-foundation__goals-track,
    .about-mission__pulse-track {
        width: auto;
        flex-wrap: wrap;
        transform: none;
    }

    .about-foundation__goal[aria-hidden="true"] {
        display: none;
    }

    .about-button,
    .about-story__image::after,
    .about-duo__image::after,
    .about-foundation__image::after,
    .about-mission__image::after,
    .about-story__image img,
    .about-duo__image img,
    .about-foundation__image img,
    .about-mission__image img,
    .about-feature,
    .about-feature::before,
    .about-member,
    .about-member__photo img,
    .about-member__link {
        transition: none;
    }
}

/* Category hub v2 */
.category-hub {
    --category-navy: #0849a2;
    --category-blue: #0849a2;
    --category-sky: #d6e9fe;
    --category-ice: #edf7ff;
    --category-aqua: #00a6c8;
    --category-line: rgba(8, 73, 162, 0.14);
    --category-line-strong: rgba(8, 73, 162, 0.24);
    --category-shadow: 0 1rem 2.6rem rgba(8, 73, 162, 0.1);
    --category-h1: 3rem;
    --category-h2: 2rem;
    --category-h3: 1.14rem;
    --category-section-space: clamp(2.4rem, 4.8vw, 4.6rem);
    overflow: hidden;
    background:
        linear-gradient(180deg, #ffffff 0%, rgba(237, 247, 255, 0.82) 34%, #ffffff 100%);
    color: var(--cg-ink);
}

.category-hub svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.category-hub-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 19rem;
    background-image:
        linear-gradient(100deg, rgba(4, 22, 55, 0.56) 0%, rgba(8, 73, 162, 0.36) 40%, rgba(8, 73, 162, 0.12) 72%, rgba(214, 233, 254, 0.02) 100%),
        var(--category-hero-image, linear-gradient(135deg, #0849a2, #0849a2 58%, #00a6c8));
    background-position: center;
    background-size: cover;
    color: var(--cg-white);
}

.category-hub-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(115deg, transparent 0%, rgba(214, 233, 254, 0.1) 40%, rgba(255, 255, 255, 0.05) 50%, transparent 64%);
    background-size: 180% 100%;
    opacity: 0.3;
    animation: category-hero-flow 17s ease-in-out infinite;
}

.category-hub-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: -1;
    height: 40%;
    background: linear-gradient(180deg, rgba(237, 247, 255, 0), rgba(237, 247, 255, 0.78));
}

.category-hub-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.34fr);
    min-height: 19rem;
    align-items: end;
    gap: clamp(1rem, 3vw, 2rem);
    padding-block: clamp(2.1rem, 4.8vw, 4.4rem);
}

.category-hub-hero__copy {
    max-width: 48rem;
}

.category-hub-hero__label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.75rem;
    padding: 0.42rem 0.62rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.88);
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 760;
    letter-spacing: 0;
    line-height: 1;
}

.category-hub-hero__label span {
    display: inline-grid;
    width: 1rem;
    height: 1rem;
    place-items: center;
}

.category-hub-hero__label svg {
    width: 1rem;
    height: 1rem;
}

.category-hub-hero h1 {
    max-width: 13ch;
    margin: 0;
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: var(--category-h1);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.category-hub-hero__lead {
    max-width: 43rem;
    margin-top: 0.85rem;
    color: rgba(255, 255, 255, 0.86);
    font-size: 1rem;
    line-height: 1.62;
}

.category-hub-hero__lead p {
    margin: 0;
}

.category-hub-hero__meta {
    display: grid;
    justify-items: end;
    gap: 0.62rem;
}

.category-hub-hero__meta span {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4rem;
    max-width: 100%;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: var(--category-blue);
    color: rgba(255, 255, 255, 0.94);
    box-shadow: 0 0.9rem 1.9rem rgba(8, 73, 162, 0.24);
    font-family: var(--cg-font-menu);
    font-size: 0.86rem;
    font-weight: 720;
    letter-spacing: 0;
    line-height: 1.15;
    text-align: right;
}

.category-hub-hero__meta strong {
    color: var(--cg-white);
    font-size: 1.34rem;
    line-height: 1;
}

.category-ticker {
    position: relative;
    overflow: hidden;
    border-block: 1px solid rgba(255, 255, 255, 0.16);
    background: linear-gradient(90deg, #0849a2 0%, var(--category-navy) 34%, var(--category-blue) 68%, #0d63d6 100%);
    color: var(--cg-white);
}

.category-ticker::before,
.category-ticker::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: min(11vw, 7rem);
    pointer-events: none;
}

.category-ticker::before {
    left: 0;
    background: linear-gradient(90deg, #0849a2, rgba(7, 53, 123, 0));
}

.category-ticker::after {
    right: 0;
    background: linear-gradient(270deg, #0d63d6, rgba(13, 99, 214, 0));
}

.category-ticker__track {
    display: flex;
    width: max-content;
    min-width: 100%;
    gap: 0;
    padding-block: 0.72rem;
    animation: category-ticker-flow var(--category-ticker-duration, 34s) linear infinite;
    will-change: transform;
}

.category-ticker:hover .category-ticker__track {
    animation-play-state: paused;
}

.category-ticker span {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0;
    padding: 0;
    color: rgba(255, 255, 255, 0.92);
    font-family: var(--cg-font-menu);
    font-size: 0.88rem;
    font-weight: 760;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

.category-ticker span::after {
    content: "/";
    margin-inline: 0.92rem;
    color: rgba(255, 255, 255, 0.48);
}

.category-feed {
    position: relative;
    padding-block: var(--category-section-space);
}

.category-feed::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 8rem;
    background: linear-gradient(180deg, rgba(214, 233, 254, 0.52), rgba(214, 233, 254, 0));
    pointer-events: none;
}

.category-feed > .site-shell {
    position: relative;
}

.category-feed__head {
    display: block;
    margin-bottom: clamp(1.2rem, 2.5vw, 2rem);
}

.category-feed__head h2,
.category-editorial h2,
.category-empty h2 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: var(--category-h2);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.05;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.category-feature-grid,
.category-feed__grid {
    display: grid;
    gap: 1rem;
    align-items: stretch;
}

.category-feature-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.category-feed__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.category-article {
    display: grid;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--category-line);
    border-radius: 0;
    background: var(--cg-white);
    box-shadow: 0 0.8rem 1.9rem rgba(8, 73, 162, 0.07);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.category-article:hover {
    transform: translateY(-0.18rem);
    border-color: var(--category-line-strong);
    box-shadow: var(--category-shadow);
}

.category-article--lead {
    grid-column: span 2;
    grid-row: span 2;
}

.category-article--support {
    min-height: 100%;
}

.category-article__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10.5;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(214, 233, 254, 0.82), rgba(8, 73, 162, 0.72));
    color: var(--category-navy);
}

.category-article--lead .category-article__media {
    aspect-ratio: 16 / 9.4;
}

.category-article__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 73, 162, 0), rgba(8, 73, 162, 0.18));
    opacity: 0;
    transition: opacity 180ms ease;
}

.category-article:hover .category-article__media::after {
    opacity: 1;
}

.category-article__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 420ms ease;
}

.category-article:hover .category-article__media img {
    transform: scale(1.045);
}

.category-article__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background:
        linear-gradient(135deg, rgba(214, 233, 254, 0.86), rgba(0, 166, 200, 0.18)),
        linear-gradient(90deg, rgba(255, 255, 255, 0.38) 1px, transparent 1px);
    background-size: auto, 2rem 2rem;
    color: var(--category-navy);
}

.category-article__placeholder svg {
    width: 3rem;
    height: 3rem;
}

.category-article__body {
    display: grid;
    align-content: start;
    gap: 0.52rem;
    padding: 0.95rem;
}

.category-article time {
    color: rgba(17, 40, 79, 0.58);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 740;
    letter-spacing: 0;
    line-height: 1.25;
}

.category-article h3 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: var(--category-h3);
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1.12;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.category-article--lead h3 {
    font-size: 1.48rem;
}

.category-article--standard .category-article__body {
    gap: 0.46rem;
    padding: 0.82rem;
}

.category-article--standard h3 {
    font-size: 1rem;
}

.category-article--standard p {
    font-size: 0.9rem;
    line-height: 1.5;
}

.category-article h3 a {
    color: inherit;
    text-decoration: none;
}

.category-article h3 a:hover {
    color: var(--category-navy);
}

.category-article p {
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 0.95rem;
    line-height: 1.55;
}

.category-pagination {
    margin-top: clamp(1.4rem, 3vw, 2.4rem);
}

.category-pagination ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.category-pagination a,
.category-pagination span {
    display: inline-flex;
    min-width: 2.55rem;
    min-height: 2.55rem;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.72rem;
    border: 1px solid var(--category-line);
    border-radius: 0;
    background: var(--cg-white);
    color: var(--category-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.9rem;
    font-weight: 780;
    letter-spacing: 0;
    text-decoration: none;
}

.category-pagination a:hover,
.category-pagination .current {
    border-color: var(--category-navy);
    background: var(--category-navy);
    color: var(--cg-white);
}

.category-empty {
    display: grid;
    gap: 0.8rem;
    max-width: 42rem;
    padding: clamp(1.4rem, 3vw, 2rem);
    border: 1px solid var(--category-line);
    border-radius: 0;
    background: var(--cg-white);
    box-shadow: var(--category-shadow);
}

.category-empty p {
    margin: 0;
    color: var(--cg-ink-soft);
    line-height: 1.62;
}

.category-editorial {
    padding-block: 0 var(--category-section-space);
}

.category-editorial__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(13.5rem, 21rem);
    gap: clamp(1.2rem, 3vw, 2.2rem);
    align-items: start;
    padding: clamp(1.4rem, 3.4vw, 2.6rem);
    border: 1px solid var(--category-line);
    border-radius: 0;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(237, 247, 255, 0.86));
}

.category-editorial__copy {
    min-width: 0;
}

.category-editorial__content {
    margin-top: 0.8rem;
    padding-left: clamp(1rem, 2.4vw, 1.4rem);
    border-left: 4px solid var(--category-navy);
    color: var(--cg-ink-soft);
    font-size: 1rem;
    line-height: 1.78;
}

.category-editorial__content > *:first-child {
    margin-top: 0;
}

.category-editorial__content > *:last-child {
    margin-bottom: 0;
}

.category-editorial__content h2,
.category-editorial__content h3 {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    letter-spacing: 0;
    line-height: 1.1;
}

.category-editorial__content h2 {
    margin: 1.55rem 0 0.56rem;
    font-size: 1.72rem;
}

.category-editorial__content h3 {
    margin: 1.05rem 0 0.42rem;
    font-size: 1.12rem;
}

.category-editorial__content p {
    margin: 0 0 0.92rem;
}

.category-editorial__gallery {
    display: grid;
    gap: 0.72rem;
    align-self: stretch;
}

.category-editorial__gallery figure {
    position: relative;
    min-height: 6.8rem;
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    background: var(--category-ice);
    box-shadow: 0 0.9rem 2rem rgba(8, 73, 162, 0.1);
}

.category-editorial__gallery figure:nth-child(even) {
    transform: translateX(0.75rem);
}

.category-editorial__gallery img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 6.8rem;
    object-fit: cover;
    transition: transform 420ms ease;
}

.category-editorial__gallery figure:hover img {
    transform: scale(1.04);
}

.category-faq {
    max-width: 980px;
    margin-top: clamp(1.7rem, 4vw, 3rem);
}

.category-faq h2 {
    margin: 0 0 0.92rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.9rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.category-faq__list {
    display: grid;
    gap: 0;
}

.category-faq__item {
    border-top: 1px solid rgba(8, 73, 162, 0.14);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.category-faq__item:last-child {
    border-bottom: 1px solid rgba(8, 73, 162, 0.14);
}

.category-faq__item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1.2;
    cursor: pointer;
}

.category-faq__item summary::-webkit-details-marker {
    display: none;
}

.category-faq__item summary::after {
    content: "";
    flex: 0 0 auto;
    width: 0.62rem;
    height: 0.62rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 180ms ease;
}

.category-faq__item[open] summary::after {
    transform: rotate(225deg) translate(-2px, -1px);
}

.category-faq__answer {
    padding: 0 0 1rem;
    color: var(--cg-ink-soft);
    font-size: 0.96rem;
    line-height: 1.62;
}

.category-faq__answer > *:first-child {
    margin-top: 0;
}

.category-faq__answer > *:last-child {
    margin-bottom: 0;
}

@keyframes category-hero-flow {
    0%,
    100% {
        background-position: 0% 50%, 0 0;
    }

    50% {
        background-position: 100% 50%, 0 0;
    }
}

@keyframes category-ticker-flow {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-25%);
    }
}

@media (max-width: 1120px) {
    .category-hub {
        --category-h1: 2.68rem;
        --category-h2: 1.86rem;
    }

    .category-feature-grid,
    .category-feed__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .category-hub {
        --category-h1: 2.34rem;
        --category-h2: 1.72rem;
        --category-section-space: clamp(2rem, 6vw, 3.2rem);
    }

    .category-hub-hero,
    .category-hub-hero__inner {
        min-height: 0;
    }

    .category-hub-hero__inner,
    .category-feed__head,
    .category-editorial__inner {
        grid-template-columns: 1fr;
    }

    .category-hub-hero__meta {
        justify-items: start;
    }

    .category-feature-grid,
    .category-feed__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .category-hub {
        --category-h1: 2.08rem;
        --category-h2: 1.52rem;
        --category-h3: 1.08rem;
        --category-section-space: 2rem;
    }

    .category-hub-hero__inner {
        padding-block: 2.2rem 2.8rem;
    }

    .category-feature-grid,
    .category-feed__grid {
        grid-template-columns: 1fr;
    }

    .category-article--lead {
        grid-column: auto;
        grid-row: auto;
    }

    .category-editorial__content {
        padding-left: 0;
        border-left: 0;
    }

    .category-editorial__gallery figure:nth-child(even) {
        transform: none;
    }

    .category-article--lead h3 {
        font-size: 1.22rem;
    }

    .category-ticker::before,
    .category-ticker::after {
        width: 2.3rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .category-hub-hero::before,
    .category-ticker__track {
        animation: none;
    }

    .category-ticker__track {
        width: auto;
        flex-wrap: wrap;
        transform: none;
        padding-inline: 0.85rem;
    }

    .category-ticker span[aria-hidden="true"] {
        display: none;
    }

    .category-article,
    .category-article__media::after,
    .category-article__media img,
    .category-editorial__gallery img,
    .category-faq__item summary::after {
        transition: none;
    }

    .category-article:hover,
    .category-article:hover .category-article__media img,
    .category-editorial__gallery figure:hover img {
        transform: none;
    }
}

/* Article single v1 */
.article-single {
    --article-navy: #0849a2;
    --article-blue: #0849a2;
    --article-sky: #d6e9fe;
    --article-ice: #f4f9ff;
    --article-teal: #007a86;
    --article-line: rgba(8, 73, 162, 0.14);
    --article-line-strong: rgba(8, 73, 162, 0.24);
    --article-shadow: 0 1rem 2.7rem rgba(8, 73, 162, 0.1);
    color: var(--cg-ink);
    background: linear-gradient(180deg, #ffffff 0%, rgba(244, 249, 255, 0.92) 38%, #ffffff 100%);
}

.article-progress {
    position: fixed;
    top: var(--article-progress-top, 0);
    left: 0;
    right: 0;
    z-index: 39;
    height: 1.8rem;
    border-bottom: 1px solid rgba(8, 73, 162, 0.1);
    background: rgba(255, 255, 255, 0.94);
    color: var(--article-blue);
    opacity: 0;
    pointer-events: none;
    backdrop-filter: blur(14px);
    transition: opacity 180ms ease;
}

.article-progress.is-active {
    opacity: 1;
}

.article-progress__bar {
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: linear-gradient(90deg, var(--article-blue), var(--article-teal));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 90ms linear;
}

.article-progress__label {
    position: absolute;
    right: 1rem;
    top: 50%;
    color: var(--article-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 760;
    letter-spacing: 0;
    line-height: 1;
    transform: translateY(-50%);
}

.article-hero {
    position: relative;
    isolation: isolate;
    min-height: 25rem;
    overflow: hidden;
    background: linear-gradient(135deg, #06285c, var(--article-blue) 56%, var(--article-teal));
    color: var(--cg-white);
}

.article-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(110deg, rgba(5, 20, 52, 0.92) 0%, rgba(8, 73, 162, 0.72) 46%, rgba(0, 122, 134, 0.26) 100%),
        linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: auto, 4.2rem 4.2rem;
}

.article-hero__image {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.article-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.05);
}

.article-hero__inner {
    display: grid;
    min-height: 25rem;
    align-items: end;
    padding-block: clamp(3rem, 7vw, 6rem) clamp(2.2rem, 4vw, 4rem);
}

.article-hero__copy {
    max-width: 58rem;
}

.article-hero__kicker,
.article-meta-line,
.article-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.7rem;
}

.article-category-pill,
.article-sponsored-label,
.article-type-label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.2rem;
    padding: 0.48rem 0.68rem;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.92);
    font-family: var(--cg-font-menu);
    font-size: 0.84rem;
    font-weight: 780;
    letter-spacing: 0;
    line-height: 1;
}

.article-category-pill svg {
    width: 1rem;
    height: 1rem;
}

.article-sponsored-label {
    background: rgba(214, 233, 254, 0.18);
}

.article-type-label {
    border-color: rgba(214, 233, 254, 0.42);
    background: var(--cg-white);
    color: var(--article-blue);
}

.article-single--type-interview .article-type-label {
    color: var(--article-teal);
}

.article-single--type-places .article-type-label {
    color: #0f6d42;
}

.article-single--type-gallery .article-type-label {
    color: #6d4a0f;
}

.article-hero h1 {
    max-width: 14ch;
    margin: 1rem 0 0;
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 3.35rem;
    font-weight: 870;
    letter-spacing: 0;
    line-height: 0.98;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.article-hero__lead {
    max-width: 48rem;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 1.12rem;
    line-height: 1.68;
}

.article-meta-line {
    margin-top: 1.25rem;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.95rem;
    line-height: 1.35;
}

.article-meta-line > * {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.article-meta-line__author img {
    width: 2.9rem;
    height: 2.9rem;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    object-fit: cover;
}

.article-meta-line__author span {
    display: grid;
    gap: 0.12rem;
}

.article-meta-line__author strong {
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.96rem;
    line-height: 1;
}

.article-meta-line__author em {
    color: rgba(255, 255, 255, 0.7);
    font-style: normal;
    font-size: 0.82rem;
}

.article-featured-media {
    margin-top: -2.6rem;
    position: relative;
    z-index: 2;
}

.article-featured-media img {
    max-height: 39rem;
    border-radius: 0;
    object-fit: cover;
    box-shadow: var(--article-shadow);
}

.article-featured-media figcaption {
    margin-top: 0.62rem;
    color: var(--cg-ink-soft);
    font-size: 0.86rem;
    line-height: 1.45;
}

.article-interview-strip {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
    margin-top: clamp(1.3rem, 3vw, 2.2rem);
    padding: 1rem;
    border: 1px solid var(--article-line);
    border-radius: 0;
    background: linear-gradient(135deg, rgba(0, 122, 134, 0.1), #ffffff);
    box-shadow: 0 0.9rem 2.2rem rgba(8, 73, 162, 0.08);
}

.article-interview-strip p {
    margin: 0;
    padding: 0.5rem 0.64rem;
    border-radius: 0;
    background: var(--article-teal);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
}

.article-interview-strip div {
    display: grid;
    gap: 0.18rem;
}

.article-interview-strip strong {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.12rem;
    line-height: 1.1;
}

.article-interview-strip span,
.article-interview-strip em {
    color: var(--cg-ink-soft);
    font-style: normal;
    line-height: 1.45;
}

.article-photo-gallery {
    margin-top: clamp(1.6rem, 3.4vw, 2.8rem);
    padding: clamp(1rem, 2.5vw, 1.5rem);
    border: 1px solid var(--article-line);
    border-radius: 0;
    background: linear-gradient(135deg, #ffffff, rgba(214, 233, 254, 0.5));
}

.article-photo-gallery__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-bottom: 1rem;
}

.article-photo-gallery__head p,
.article-photo-gallery__head h2 {
    margin: 0;
}

.article-photo-gallery__head p,
.article-comments__head p,
.article-author-box p:first-child,
.article-reactions__head p,
.article-sidebar p,
.author-feed__head p,
.author-featured-post__body > p {
    color: var(--article-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.8rem;
    font-weight: 780;
    letter-spacing: 0;
    line-height: 1;
}

.article-photo-gallery__head h2 {
    margin-top: 0.35rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.8rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.04;
}

.article-photo-gallery__head > span {
    flex: 0 0 auto;
    padding: 0.5rem 0.65rem;
    border-radius: 0;
    background: var(--article-blue);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.84rem;
    font-weight: 780;
    letter-spacing: 0;
    line-height: 1;
}

.article-photo-gallery__grid {
    display: grid;
    grid-template-columns: 1.35fr repeat(2, minmax(0, 0.72fr));
    gap: 0.7rem;
}

.article-photo-gallery__item {
    position: relative;
    min-height: 8rem;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--article-ice);
    color: var(--cg-white);
    cursor: pointer;
}

.article-photo-gallery__item--lead {
    grid-row: span 2;
    min-height: 17rem;
}

.article-photo-gallery__item img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform 360ms ease;
}

.article-photo-gallery__item:hover img {
    transform: scale(1.04);
}

.article-photo-gallery__item span {
    position: absolute;
    left: 0.8rem;
    bottom: 0.8rem;
    padding: 0.5rem 0.65rem;
    border-radius: 0;
    background: rgba(5, 20, 52, 0.72);
    font-family: var(--cg-font-menu);
    font-size: 0.86rem;
    font-weight: 780;
}

.article-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem);
    gap: clamp(1.4rem, 3vw, 2.6rem);
    align-items: start;
    padding-top: clamp(2rem, 4.5vw, 4rem);
}

.article-main {
    min-width: 0;
}

.article-content {
    color: var(--cg-ink);
    font-size: 1.08rem;
    line-height: 1.78;
}

.article-content > * {
    max-width: 47rem;
}

.article-content > *:first-child {
    margin-top: 0;
}

.article-content p {
    margin: 0 0 1.22rem;
}

.article-content h2,
.article-content h3,
.article-content h4 {
    position: relative;
    margin: 2.2rem 0 0.82rem;
    color: var(--cg-heading-color);
    font-family: var(--cg-font-menu);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
    scroll-margin-top: calc(var(--article-sticky-top, 140px) + 1.5rem);
    text-wrap: balance;
}

.article-content h2 {
    font-size: 2rem;
}

.article-content h2::before {
    content: "";
    position: absolute;
    left: -1.1rem;
    top: 0.18em;
    width: 0.36rem;
    height: 1.2em;
    border-radius: 0;
    background: linear-gradient(180deg, var(--article-blue), var(--article-teal));
}

.article-content h3 {
    font-size: 1.42rem;
}

.article-content h4 {
    font-size: 1.14rem;
}

.article-content a {
    color: var(--article-blue);
    font-weight: 740;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.22em;
}

.article-content strong {
    color: var(--cg-ink);
    font-weight: 780;
}

.article-content em {
    color: rgba(17, 40, 79, 0.76);
}

.article-content blockquote,
.article-content .wp-block-quote {
    position: relative;
    margin: 2rem 0;
    padding: 1.25rem 1.25rem 1.25rem 1.5rem;
    border-left: 0.36rem solid var(--article-blue);
    border-radius: 0;
    background: linear-gradient(135deg, rgba(214, 233, 254, 0.78), rgba(255, 255, 255, 0.92));
    box-shadow: 0 0.8rem 2rem rgba(8, 73, 162, 0.08);
}

.article-content blockquote::before {
    content: "Ă˘â‚¬Ĺľ";
    position: absolute;
    right: 1rem;
    top: -0.45rem;
    color: rgba(8, 73, 162, 0.15);
    font-family: Georgia, serif;
    font-size: 4.2rem;
    line-height: 1;
}

.article-content blockquote p {
    margin-bottom: 0.72rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.26rem;
    font-weight: 690;
    line-height: 1.42;
}

.article-content blockquote cite {
    color: var(--cg-ink-soft);
    font-style: normal;
    font-size: 0.92rem;
}

.article-content ul,
.article-content ol {
    display: grid;
    gap: 0.52rem;
    margin: 1.4rem 0 1.6rem;
    padding: 0;
    list-style: none;
}

.article-content li {
    position: relative;
    padding-left: 2rem;
}

.article-content ul li::before {
    content: "";
    position: absolute;
    left: 0.35rem;
    top: 0.72em;
    width: 0.46rem;
    height: 0.46rem;
    border-radius: 50%;
    background: var(--article-blue);
    box-shadow: 0 0 0 0.32rem rgba(214, 233, 254, 0.8);
}

.article-content ol {
    counter-reset: article-list;
}

.article-content ol li {
    counter-increment: article-list;
}

.article-content ol li::before {
    content: counter(article-list);
    position: absolute;
    left: 0;
    top: 0.18rem;
    display: grid;
    width: 1.42rem;
    height: 1.42rem;
    place-items: center;
    border-radius: 0;
    background: var(--article-blue);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 820;
    line-height: 1;
}

.article-content figure {
    margin: 2rem 0;
}

.article-content figure,
.article-content img,
.article-content .wp-caption {
    max-width: 100%;
}

.article-content img {
    border-radius: 0;
}

.article-content figcaption,
.article-content .wp-caption-text {
    margin-top: 0.55rem;
    color: var(--cg-ink-soft);
    font-size: 0.86rem;
    line-height: 1.45;
}

.article-content table {
    width: 100%;
    margin: 2rem 0;
    border-collapse: collapse;
    overflow: hidden;
    border: 1px solid var(--article-line);
    border-radius: 0;
    background: var(--cg-white);
    font-size: 0.96rem;
}

.article-content th,
.article-content td {
    padding: 0.78rem;
    border-bottom: 1px solid var(--article-line);
    text-align: left;
    vertical-align: top;
}

.article-content th {
    background: var(--article-ice);
    color: var(--article-blue);
    font-family: var(--cg-font-menu);
}

.article-sidebar {
    min-width: 0;
}

.article-sidebar__sticky {
    position: sticky;
    top: var(--article-sticky-top, 8rem);
    display: grid;
    gap: 0.9rem;
}

.article-side-actions,
.article-toc,
.article-side-ad,
.article-recommended,
.article-related-side {
    border: 1px solid var(--article-line);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 0.8rem 2rem rgba(8, 73, 162, 0.07);
}

.article-side-actions,
.article-toc,
.article-recommended,
.article-related-side {
    padding: 1rem;
}

.article-side-actions {
    display: grid;
    gap: 0.5rem;
}

.article-side-actions button,
.article-side-actions a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 2.45rem;
    padding: 0.58rem 0.68rem;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-white);
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 0.9rem;
    font-weight: 780;
    letter-spacing: 0;
    cursor: pointer;
}

.article-side-actions button:hover,
.article-side-actions a:hover,
.article-side-actions button.is-copied {
    border-color: var(--article-blue);
    background: var(--article-blue);
    color: var(--cg-white);
}

.article-quote-copy {
    position: absolute;
    z-index: 80;
    min-height: 2.25rem;
    padding: 0.5rem 0.68rem;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 0;
    background: var(--article-blue);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.84rem;
    font-weight: 780;
    letter-spacing: 0;
    box-shadow: 0 0.8rem 1.8rem rgba(8, 73, 162, 0.2);
    cursor: pointer;
}

.article-quote-copy[hidden] {
    display: none;
}

.article-toc ol {
    display: grid;
    gap: 0.35rem;
    margin: 0.72rem 0 0;
    padding: 0;
    list-style: none;
}

.article-toc a {
    display: block;
    padding: 0.42rem 0.52rem;
    border-left: 3px solid transparent;
    border-radius: 0;
    color: var(--cg-ink-soft);
    font-size: 0.9rem;
    line-height: 1.35;
}

.article-toc__item--3 a {
    padding-left: 1.15rem;
    font-size: 0.85rem;
}

.article-toc a:hover,
.article-toc a.is-active {
    border-left-color: var(--article-blue);
    background: rgba(214, 233, 254, 0.54);
    color: var(--cg-ink);
}

.article-side-ad {
    display: grid;
    gap: 0.45rem;
    overflow: hidden;
    padding: 0.6rem;
}

.article-side-ad__badge {
    justify-self: start;
}

.article-side-ad__caption {
    color: var(--cg-ink-soft);
    font-size: 0.76rem;
    line-height: 1.35;
}

.article-side-ad img {
    border-radius: 0;
}

.article-recommended {
    display: grid;
    gap: 0.65rem;
}

.article-recommended a {
    display: grid;
    gap: 0.25rem;
    padding: 0.72rem 0;
    border-top: 1px solid var(--article-line);
}

.article-recommended p + a {
    border-top: 0;
    padding-top: 0;
}

.article-recommended strong {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 0.96rem;
    line-height: 1.18;
}

.article-recommended span {
    color: var(--cg-ink-soft);
    font-size: 0.86rem;
    line-height: 1.45;
}

.article-mini-card {
    display: grid;
    grid-template-columns: 5.2rem minmax(0, 1fr);
    gap: 0.7rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--article-line);
}

.article-related-side p + .article-mini-card {
    border-top: 0;
    padding-top: 0;
}

.article-mini-card__media {
    display: grid;
    min-height: 4.5rem;
    overflow: hidden;
    place-items: center;
    border-radius: 0;
    background: var(--article-ice);
    color: var(--article-blue);
}

.article-mini-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-mini-card__body {
    display: grid;
    gap: 0.25rem;
    align-content: start;
}

.article-mini-card__category {
    color: var(--article-blue);
    font-size: 0.76rem;
    font-weight: 780;
}

.article-mini-card h3 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 0.92rem;
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1.18;
}

.article-mini-card time {
    color: var(--cg-ink-soft);
    font-size: 0.78rem;
}

.article-places,
.article-faq,
.article-reactions,
.article-author-box,
.article-neighbours,
.article-comments {
    max-width: 47rem;
    margin-top: clamp(2rem, 4vw, 3.5rem);
}

.article-places {
    padding: 1.15rem;
    border: 1px solid var(--article-line);
    border-radius: 0;
    background: linear-gradient(135deg, rgba(15, 109, 66, 0.08), #ffffff);
}

.article-places__head p,
.article-places__head h2 {
    margin: 0;
}

.article-places__head p {
    color: #0f6d42;
    font-family: var(--cg-font-menu);
    font-size: 0.8rem;
    font-weight: 780;
    letter-spacing: 0;
    line-height: 1;
}

.article-places__head h2,
.article-faq h2 {
    margin-top: 0.35rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.78rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.article-places__map {
    margin-top: 1rem;
    overflow: hidden;
    border-radius: 0;
    background: var(--article-ice);
}

.article-places__map iframe {
    display: block;
    width: 100%;
    min-height: 22rem;
    border: 0;
}

.article-places__list {
    display: grid;
    gap: 0.75rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.article-places__list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    padding: 0.9rem;
    border: 1px solid rgba(15, 109, 66, 0.12);
    border-radius: 0;
    background: var(--cg-white);
}

.article-places__list li > span {
    display: grid;
    width: 2.2rem;
    height: 2.2rem;
    place-items: center;
    border-radius: 0;
    background: #0f6d42;
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.article-places__list h3 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.18rem;
    letter-spacing: 0;
    line-height: 1.12;
}

.article-places__list p {
    margin: 0.35rem 0 0;
    color: var(--cg-ink-soft);
    line-height: 1.56;
}

.article-places__address {
    color: #0f6d42;
    font-weight: 720;
}

.article-places__list a {
    display: inline-flex;
    margin-top: 0.62rem;
    color: #0f6d42;
    font-family: var(--cg-font-menu);
    font-weight: 800;
}

.article-faq {
    padding: clamp(1rem, 2.2vw, 1.35rem) 0 0;
    border: 0;
    border-top: 1px solid var(--article-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.article-faq h2 {
    margin: 0 0 0.9rem;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.08rem, 1.05vw, 1.2rem) !important;
    font-weight: 850;
    letter-spacing: -0.02em;
    line-height: 1.06 !important;
}

.article-faq__list {
    display: grid;
    gap: 0;
}

.article-faq__item {
    border: 0;
    border-top: 1px solid var(--article-line);
    border-radius: 0;
    background: transparent;
}

.article-faq__item:first-child {
    border-top: 0;
}

.article-faq__item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.95rem 0;
    color: var(--cg-heading-color);
    font-family: var(--cg-font-menu);
    font-weight: 780;
    letter-spacing: 0;
    cursor: pointer;
}

.article-faq__item summary::-webkit-details-marker {
    display: none;
}

.article-faq__item summary::after {
    content: "";
    flex: 0 0 auto;
    width: 0.58rem;
    height: 0.58rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}

.article-faq__item[open] summary::after {
    transform: rotate(225deg);
}

.article-faq__answer {
    padding: 0 0 1rem;
    color: var(--cg-ink-soft);
    line-height: 1.62;
}

.article-faq__answer > *:first-child {
    margin-top: 0;
}

.article-faq__answer > *:last-child {
    margin-bottom: 0;
}

.cg-builder-faq.article-faq {
    padding: clamp(44px, 5vw, 86px) 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.cg-builder-faq .article-faq__list {
    display: grid;
    gap: 0;
}

.cg-builder-faq .article-faq__item {
    border-top-color: rgba(8, 73, 162, 0.14);
}

.cg-builder-faq .article-faq__item summary {
    padding: 1rem 0;
}

.cg-builder-faq .article-faq__answer {
    padding: 0 0 1rem;
}

.article-reactions {
    padding: 1.15rem;
    border: 1px solid var(--article-line);
    border-radius: 0;
    background: linear-gradient(135deg, rgba(214, 233, 254, 0.56), #ffffff);
}

.article-reactions__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-bottom: 0.92rem;
}

.article-reactions__head h2,
.article-comments__head h2,
.article-author-box h2 {
    margin: 0.28rem 0 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.75rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.article-reactions__head p:last-child {
    max-width: 17rem;
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 0.92rem;
    line-height: 1.45;
}

.article-reactions__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
}

.article-reaction {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.46rem;
    align-items: center;
    min-height: 3.2rem;
    padding: 0.58rem 0.68rem;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: var(--cg-white);
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 0.88rem;
    font-weight: 780;
    letter-spacing: 0;
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.article-reaction:hover,
.article-reaction.is-selected {
    transform: translateY(-0.08rem);
    border-color: var(--article-blue);
    background: var(--article-blue);
    color: var(--cg-white);
}

.article-reaction:disabled {
    cursor: default;
}

.article-reaction__icon {
    display: grid;
    width: 1.7rem;
    height: 1.7rem;
    place-items: center;
    border-radius: 0;
    background: rgba(214, 233, 254, 0.78);
    color: var(--article-blue);
}

.article-reaction.is-selected .article-reaction__icon,
.article-reaction:hover .article-reaction__icon {
    background: rgba(255, 255, 255, 0.2);
    color: var(--cg-white);
}

.article-author-box {
    display: grid;
    grid-template-columns: 6rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1.1rem;
    border: 1px solid var(--article-line);
    border-radius: 0;
    background: var(--cg-white);
    box-shadow: 0 0.9rem 2.4rem rgba(8, 73, 162, 0.08);
}

.article-author-box img {
    width: 6rem;
    height: 6rem;
    border-radius: 0;
    object-fit: cover;
}

.article-author-box__bio {
    margin: 0.45rem 0 0.75rem;
    color: var(--cg-ink-soft);
    line-height: 1.6;
}

.article-author-box a,
.article-comments__head a {
    display: inline-flex;
    align-items: center;
    min-height: 2.35rem;
    padding: 0.55rem 0.72rem;
    border-radius: 0;
    background: var(--article-blue);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.9rem;
    font-weight: 780;
    letter-spacing: 0;
}

.article-neighbours {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.article-neighbour {
    display: grid;
    gap: 0.45rem;
    min-height: 8rem;
    align-content: end;
    padding: 1rem;
    border-radius: 0;
    background: linear-gradient(135deg, var(--article-blue), var(--article-teal));
    color: var(--cg-white);
    overflow-wrap: anywhere;
}

.article-neighbour span {
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.8rem;
}

.article-neighbour strong {
    font-family: var(--cg-font-menu);
    font-size: 1.05rem;
    line-height: 1.16;
}

.article-comments {
    padding-top: 1.8rem;
    border-top: 1px solid var(--article-line);
}

.article-comments__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-bottom: 1rem;
}

.article-comments__list {
    display: grid;
    gap: 0.8rem;
    margin: 0 0 1.5rem;
    padding: 0;
    list-style: none;
}

.article-comment__body {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.78rem;
    padding: 1rem;
    border: 1px solid var(--article-line);
    border-radius: 0;
    background: var(--cg-white);
}

.article-comment__avatar img {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
}

.article-comment__content header {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: baseline;
    margin-bottom: 0.38rem;
}

.article-comment__content strong {
    font-family: var(--cg-font-menu);
}

.article-comment__content time,
.article-comment__moderation {
    color: var(--cg-ink-soft);
    font-size: 0.84rem;
}

.article-comment__text {
    color: var(--cg-ink-soft);
    line-height: 1.62;
}

.article-comments__empty {
    padding: 1rem;
    border: 1px solid var(--article-line);
    border-radius: 0;
    background: var(--article-ice);
}

.article-comments__empty h3,
.article-comments__empty p {
    margin: 0;
}

.article-comments__empty p {
    margin-top: 0.35rem;
    color: var(--cg-ink-soft);
}

.article-comment-form {
    display: grid;
    gap: 0.8rem;
    margin-top: 1.2rem;
    padding: 1.1rem;
    border: 1px solid var(--article-line);
    border-radius: 0;
    background: var(--cg-white);
}

.article-comment-form p {
    margin: 0;
}

.article-comment-form label {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 0.88rem;
    font-weight: 780;
}

.article-comment-form input:not([type="checkbox"]),
.article-comment-form textarea {
    width: 100%;
    border: 1px solid var(--article-line);
    border-radius: 0;
    padding: 0.75rem;
    color: var(--cg-ink);
    font: inherit;
}

.article-comment-form .submit {
    width: auto;
    min-height: 2.7rem;
    padding: 0.65rem 0.9rem;
    border: 0;
    background: var(--article-blue);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-weight: 800;
    cursor: pointer;
}

.article-comment-form .submit,
.article-comment-form input[type="submit"] {
    color: var(--cg-white) !important;
    -webkit-text-fill-color: var(--cg-white);
}

.article-comment-form .comment-notes {
    color: var(--cg-ink-soft);
    font-size: 0.94rem;
    line-height: 1.5;
}

.article-comment-form .comment-form-cookies-consent {
    display: flex;
    align-items: flex-start;
    gap: 0.72rem;
}

.article-comment-form .comment-form-cookies-consent input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin: 0.18rem 0 0;
    padding: 0;
    accent-color: var(--article-blue);
}

.article-comment-form .comment-form-cookies-consent label {
    display: block;
    margin: 0;
    font-family: var(--cg-font-body);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.55;
}

.article-lightbox[hidden] {
    display: none;
}

.article-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 1.8rem);
}

.article-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 20, 52, 0.82);
    backdrop-filter: blur(12px);
}

.article-lightbox__dialog {
    position: relative;
    z-index: 1;
    display: grid;
    width: min(100%, 78rem);
    justify-items: center;
}

.article-lightbox figure {
    margin: 0;
    display: grid;
    gap: 0.85rem;
    justify-items: center;
}

.article-lightbox img {
    width: auto;
    max-width: min(100%, calc(100vw - 10rem));
    max-height: 82vh;
    border-radius: 0;
    object-fit: contain;
    background: #061a3d;
}

.article-lightbox figcaption,
.article-lightbox__count {
    color: rgba(255, 255, 255, 0.82);
    text-align: center;
}

.article-lightbox__close,
.article-lightbox__nav {
    position: fixed;
    z-index: 3;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.1);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-weight: 780;
    letter-spacing: 0;
    cursor: pointer;
}

.article-lightbox__close {
    top: 1.15rem;
    right: 1.15rem;
    min-height: 2.35rem;
    padding: 0.5rem 0.75rem;
}

.article-lightbox__nav {
    top: 50%;
    min-height: 3rem;
    padding: 0.7rem;
    transform: translateY(-50%);
}

.article-lightbox__nav--prev {
    left: 1.15rem;
}

.article-lightbox__nav--next {
    right: 1.15rem;
}

.article-lightbox__count {
    position: fixed;
    left: 50%;
    bottom: 1.15rem;
    z-index: 3;
    transform: translateX(-50%);
    margin: 0;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(5, 20, 52, 0.44);
}

.has-lightbox {
    overflow: hidden;
}

@media (max-width: 1120px) {
    .article-hero h1 {
        font-size: 2.8rem;
    }

    .article-layout {
        grid-template-columns: 1fr;
    }

    .article-sidebar__sticky {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .article-progress__label {
        display: none;
    }

    .article-hero,
    .article-hero__inner {
        min-height: 0;
    }

    .article-hero h1 {
        font-size: 2.2rem;
    }

    .article-featured-media {
        margin-top: 0;
        width: 100%;
    }

    .article-featured-media img {
        border-radius: 0;
    }

    .article-photo-gallery__head,
    .article-reactions__head,
    .article-comments__head {
        display: grid;
        align-items: start;
    }

    .article-photo-gallery__grid,
    .article-reactions__grid,
    .article-neighbours,
    .article-sidebar__sticky,
    .article-interview-strip {
        grid-template-columns: 1fr;
    }

    .article-photo-gallery__item--lead {
        grid-row: auto;
    }

    .article-content {
        font-size: 1rem;
    }

    .article-content h2 {
        font-size: 1.62rem;
    }

    .article-content h2::before {
        display: none;
    }

    .article-author-box,
    .article-comment__body {
        grid-template-columns: 1fr;
    }

    .article-lightbox__dialog {
        width: min(100%, calc(100vw - 2rem));
    }

    .article-lightbox__nav {
        min-height: 2.5rem;
        padding: 0.62rem;
    }

    .article-lightbox__close {
        top: 0.8rem;
        right: 0.8rem;
    }

    .article-lightbox__nav--prev {
        left: 0.8rem;
    }

    .article-lightbox__nav--next {
        right: 0.8rem;
    }

    .article-lightbox__count {
        bottom: 0.8rem;
    }
}

@media (max-width: 640px) {
    .article-lightbox img {
        max-width: min(100%, calc(100vw - 5.8rem));
        max-height: calc(100vh - 7.8rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .article-progress,
    .article-progress__bar,
    .article-photo-gallery__item img,
    .article-reaction {
        transition: none;
    }

    .article-photo-gallery__item:hover img,
    .article-reaction:hover {
        transform: none;
    }
}

/* Article single v2 */
.article-single {
    --article-accent: #0849a2;
    --article-accent-rgb: 8, 73, 162;
    --article-accent-soft: #eaf5ff;
    --article-accent-deep: #083a85;
    --article-surface: #ffffff;
    --article-muted-surface: #f4f9ff;
}

.article-single--type-interview {
    --article-accent: #007a86;
    --article-accent-rgb: 0, 122, 134;
    --article-accent-soft: #e7f8f7;
    --article-accent-deep: #005862;
}

.article-single--type-places {
    --article-accent: #0f6d42;
    --article-accent-rgb: 15, 109, 66;
    --article-accent-soft: #eaf7ef;
    --article-accent-deep: #08492c;
}

.article-single--type-gallery {
    --article-accent: #986b16;
    --article-accent-rgb: 152, 107, 22;
    --article-accent-soft: #fff7df;
    --article-accent-deep: #654407;
}

.article-entry {
    position: relative;
    overflow: hidden;
    padding-block: clamp(1.8rem, 4vw, 3rem) clamp(1rem, 2.5vw, 1.6rem);
    border-bottom: 1px solid rgba(var(--article-accent-rgb), 0.12);
    background:
        linear-gradient(120deg, rgba(var(--article-accent-rgb), 0.08), rgba(255, 255, 255, 0.92) 42%, rgba(214, 233, 254, 0.38)),
        #ffffff;
}

.article-entry::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--article-accent), transparent);
    transform: translateX(-38%);
    animation: article-entry-scan 9s linear infinite;
}

.article-entry__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 30rem);
    gap: clamp(1.2rem, 3vw, 2.4rem);
    align-items: center;
}

.article-entry__copy {
    max-width: 52rem;
}

.article-entry__kicker {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

.article-entry h1 {
    max-width: 18ch;
    margin: 0.85rem 0 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 2.65rem;
    font-weight: 870;
    letter-spacing: 0;
    line-height: 1.03;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.article-entry__lead {
    max-width: 43rem;
    margin: 0.85rem 0 0;
    color: var(--cg-ink-soft);
    font-size: 1.05rem;
    line-height: 1.62;
}

.article-entry .article-category-pill,
.article-entry .article-sponsored-label,
.article-entry .article-type-label {
    min-height: 2rem;
    border-color: rgba(var(--article-accent-rgb), 0.18);
    background: rgba(255, 255, 255, 0.82);
    color: var(--article-accent);
}

.article-entry .article-type-label {
    background: var(--article-accent);
    color: #ffffff;
}

.article-entry .article-sponsored-label {
    color: var(--article-accent-deep);
}

.article-entry .article-meta-line {
    margin-top: 1rem;
    color: var(--cg-ink-soft);
}

.article-entry .article-meta-line__author strong {
    color: var(--cg-ink);
}

.article-entry .article-meta-line__author em {
    color: var(--cg-ink-soft);
}

.article-entry .article-meta-line__author img {
    border-color: rgba(var(--article-accent-rgb), 0.22);
}

.article-entry__media {
    margin: 0;
}

.article-entry__media img {
    width: 100%;
    max-height: 21rem;
    aspect-ratio: 16 / 10;
    border-radius: 0;
    object-fit: cover;
    box-shadow: 0 1rem 2.5rem rgba(var(--article-accent-rgb), 0.14);
}

.article-entry__media figcaption {
    margin-top: 0.5rem;
    color: var(--cg-ink-soft);
    font-size: 0.84rem;
    line-height: 1.42;
}

.article-format-note {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1rem;
}

.article-format-note span {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    padding: 0.4rem 0.62rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.72);
    color: var(--article-accent-deep);
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 780;
    letter-spacing: 0;
}

.article-layout {
    grid-template-columns: minmax(0, 47rem) minmax(18rem, 22rem);
    justify-content: space-between;
    padding-top: clamp(1.6rem, 3.5vw, 2.8rem);
}

.article-main {
    max-width: 47rem;
}

.article-content > * {
    max-width: 100%;
}

.article-content h2::before {
    background: linear-gradient(180deg, var(--article-accent), rgba(var(--article-accent-rgb), 0.38));
}

.article-content blockquote,
.article-content .wp-block-quote {
    border-left-color: var(--article-accent);
    background: linear-gradient(135deg, var(--article-accent-soft), #ffffff);
}

.article-content ul li::before,
.article-content ol li::before {
    background: var(--article-accent);
}

.article-brief,
.article-interview-panel,
.article-places-guide,
.article-gallery-intro,
.article-inline-gallery,
.article-selected-related,
.article-faq,
.article-reactions,
.article-author-box,
.article-neighbours,
.article-comments {
    max-width: 47rem;
}

.article-brief {
    margin-bottom: 1.45rem;
    padding: 1rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.16);
    border-radius: 0;
    background: linear-gradient(135deg, var(--article-accent-soft), #ffffff);
}

.article-brief p,
.article-interview-panel p,
.article-places-guide__head p,
.article-gallery-intro p,
.article-inline-gallery__head p,
.article-selected-related__head p,
.article-side-format p {
    margin: 0;
    color: var(--article-accent);
    font-family: var(--cg-font-menu);
    font-size: 0.8rem;
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1;
}

.article-brief ol {
    counter-reset: article-brief;
    display: grid;
    gap: 0.6rem;
    margin: 0.8rem 0 0;
    padding: 0;
    list-style: none;
}

.article-brief li {
    counter-increment: article-brief;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    color: var(--cg-ink);
    font-weight: 720;
    line-height: 1.45;
}

.article-brief li::before {
    content: counter(article-brief);
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
    border-radius: 0;
    background: var(--article-accent);
    color: #ffffff;
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
}

.article-interview-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 1rem;
    align-items: stretch;
    margin-bottom: 1.45rem;
    padding: 1rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.16);
    border-radius: 0;
    background: linear-gradient(135deg, var(--article-accent-soft), #ffffff);
}

.article-interview-panel h2,
.article-gallery-intro h2,
.article-selected-related__head h2 {
    margin: 0.35rem 0 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.article-interview-panel span {
    display: block;
    margin-top: 0.42rem;
    color: var(--cg-ink-soft);
    line-height: 1.45;
}

.article-interview-panel__note {
    display: grid;
    align-items: center;
    padding: 1rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.72);
    color: var(--article-accent-deep);
    font-family: var(--cg-font-menu);
    font-size: 1rem;
    font-weight: 720;
    line-height: 1.45;
}

.article-single--type-interview .article-content p strong:first-child {
    color: var(--article-accent);
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.article-places-guide {
    margin-bottom: 1.45rem;
    padding: 1rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.16);
    border-radius: 0;
    background: linear-gradient(135deg, var(--article-accent-soft), #ffffff);
}

.article-places-guide__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
}

.article-places-guide__head h2 {
    margin: 0.35rem 0 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.55rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.article-places-guide__head > span,
.article-inline-gallery__head > span {
    flex: 0 0 auto;
    padding: 0.48rem 0.62rem;
    border-radius: 0;
    background: var(--article-accent);
    color: #ffffff;
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 820;
    line-height: 1;
}

.article-places-guide__map {
    margin-top: 0.9rem;
    overflow: hidden;
    border-radius: 0;
    background: var(--article-muted-surface);
}

.article-places-guide__map iframe {
    display: block;
    width: 100%;
    min-height: 17rem;
    border: 0;
}

.article-places-guide__list {
    display: grid;
    gap: 0.65rem;
    margin: 0.9rem 0 0;
    padding: 0;
    list-style: none;
}

.article-places-guide__list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.78rem;
    padding: 0.82rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.14);
    border-radius: 0;
    background: #ffffff;
}

.article-places-guide__list li > span {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 0;
    background: var(--article-accent);
    color: #ffffff;
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.article-places-guide__list h3 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.08rem;
    letter-spacing: 0;
    line-height: 1.12;
}

.article-places-guide__list p {
    margin: 0.32rem 0 0;
    color: var(--cg-ink-soft);
    line-height: 1.52;
}

.article-places-guide__address {
    color: var(--article-accent-deep);
    font-weight: 760;
}

.article-places-guide__list a {
    display: inline-flex;
    margin-top: 0.5rem;
    color: var(--article-accent);
    font-family: var(--cg-font-menu);
    font-weight: 820;
}

.article-gallery-intro {
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.16);
    border-radius: 0;
    background: linear-gradient(135deg, var(--article-accent-soft), #ffffff);
}

.article-gallery-intro span {
    display: block;
    margin-top: 0.45rem;
    color: var(--cg-ink-soft);
    line-height: 1.52;
}

.article-inline-gallery {
    margin-top: clamp(1.4rem, 3vw, 2.3rem);
    padding: 0.95rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.16);
    border-radius: 0;
    background: #ffffff;
    box-shadow: 0 0.7rem 1.8rem rgba(var(--article-accent-rgb), 0.08);
}

.article-inline-gallery--feature {
    margin-top: 0;
    margin-bottom: 1.45rem;
    background: linear-gradient(135deg, #ffffff, var(--article-accent-soft));
}

.article-inline-gallery__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-bottom: 0.8rem;
}

.article-inline-gallery__head h2 {
    margin: 0.32rem 0 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.article-inline-gallery__rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(8.8rem, 10.5rem);
    gap: 0.62rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
    scroll-snap-type: x mandatory;
}

.article-inline-gallery--feature .article-inline-gallery__rail {
    grid-auto-columns: minmax(9.6rem, 12rem);
}

.article-inline-gallery__item {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--article-muted-surface);
    cursor: pointer;
    scroll-snap-align: start;
}

.article-inline-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 260ms ease;
}

.article-inline-gallery__item:hover img {
    transform: scale(1.04);
}

.article-inline-gallery__item span {
    position: absolute;
    left: 0.55rem;
    bottom: 0.55rem;
    padding: 0.36rem 0.5rem;
    border-radius: 0;
    background: rgba(5, 20, 52, 0.72);
    color: #ffffff;
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 800;
}

.article-selected-related {
    margin-top: clamp(1.8rem, 3.5vw, 2.8rem);
}

.article-selected-related__head {
    margin-bottom: 0.9rem;
}

.article-selected-related__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.article-related-card {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(var(--article-accent-rgb), 0.14);
    border-radius: 0;
    background: #ffffff;
    box-shadow: 0 0.7rem 1.6rem rgba(var(--article-accent-rgb), 0.07);
}

.article-related-card__media {
    display: grid;
    min-height: 8.5rem;
    place-items: center;
    overflow: hidden;
    background: var(--article-accent-soft);
    color: var(--article-accent);
}

.article-related-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-related-card__body {
    display: grid;
    gap: 0.28rem;
    padding: 0.82rem;
}

.article-related-card__category {
    color: var(--article-accent);
    font-size: 0.76rem;
    font-weight: 800;
}

.article-related-card h3 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.16;
}

.article-related-card time {
    color: var(--cg-ink-soft);
    font-size: 0.78rem;
}

.article-side-format,
.article-side-actions,
.article-toc,
.article-side-ad,
.article-recommended,
.article-related-side {
    border-color: rgba(var(--article-accent-rgb), 0.14);
}

.article-side-format {
    display: grid;
    gap: 0.38rem;
    padding: 1rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.16);
    border-radius: 0;
    background: linear-gradient(135deg, var(--article-accent-soft), #ffffff);
    box-shadow: 0 0.8rem 2rem rgba(var(--article-accent-rgb), 0.07);
}

.article-side-format strong {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.2rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.05;
}

.article-side-format span,
.article-side-ad--placeholder p {
    color: var(--cg-ink-soft);
    font-size: 0.9rem;
    line-height: 1.45;
}

.article-side-actions button:hover,
.article-side-actions a:hover,
.article-side-actions button.is-copied,
.article-toc a:hover,
.article-toc a.is-active {
    border-color: var(--article-accent);
    background: var(--article-accent-soft);
    color: var(--article-accent-deep);
}

.article-side-ad--placeholder {
    padding: 1rem;
    text-decoration: none;
}

.article-side-ad--placeholder strong {
    display: block;
    margin-top: 0.35rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.1rem;
    line-height: 1.08;
}

.article-side-ad--placeholder p {
    margin: 0.45rem 0 0;
}

.article-reactions {
    background: linear-gradient(135deg, var(--article-accent-soft), #ffffff);
}

.article-reaction:hover,
.article-reaction.is-selected {
    border-color: var(--article-accent);
    background: var(--article-accent);
}

.article-reaction__icon {
    color: var(--article-accent);
}

@keyframes article-entry-scan {
    0% {
        transform: translateX(-46%);
    }

    100% {
        transform: translateX(46%);
    }
}

@media (max-width: 1120px) {
    .article-entry__grid,
    .article-layout {
        grid-template-columns: 1fr;
    }

    .article-main {
        max-width: none;
    }

    .article-entry h1 {
        font-size: 2.35rem;
    }

    .article-sidebar__sticky {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .article-entry {
        padding-block: 1.35rem 1rem;
    }

    .article-entry h1 {
        font-size: 2rem;
    }

    .article-entry__lead {
        font-size: 1rem;
    }

    .article-entry__media img {
        max-height: 17rem;
    }

    .article-interview-panel,
    .article-places-guide__head,
    .article-inline-gallery__head,
    .article-selected-related__grid,
    .article-sidebar__sticky {
        grid-template-columns: 1fr;
    }

    .article-places-guide__head,
    .article-inline-gallery__head {
        display: grid;
        align-items: start;
    }

    .article-inline-gallery__rail {
        grid-auto-columns: minmax(8rem, 9.6rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .article-entry::before {
        animation: none;
    }

    .article-inline-gallery__item img {
        transition: none;
    }

    .article-inline-gallery__item:hover img {
        transform: none;
    }
}

/* Article single v3 */
.article-progress {
    top: calc(var(--article-progress-top, 0px) + 1rem);
    right: 0.85rem;
    left: auto;
    width: 0.5rem;
    height: min(28rem, calc(100svh - var(--article-progress-top, 0px) - 2rem));
    overflow: hidden;
    border: 1px solid rgba(var(--article-accent-rgb), 0.16);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 0.5rem 1.4rem rgba(var(--article-accent-rgb), 0.12);
}

.article-progress__bar {
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    background: linear-gradient(180deg, var(--article-accent), rgba(var(--article-accent-rgb), 0.36));
    transform: scaleY(0);
    transform-origin: top;
}

.article-progress__label {
    display: none;
}

.article-entry {
    padding-block: clamp(2rem, 4.5vw, 3.4rem) clamp(1.4rem, 2.8vw, 2rem);
}

.article-entry__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(24rem, 0.88fr);
}

.article-entry h1 {
    max-width: 22ch;
    font-size: 2.85rem;
}

.article-entry__media img {
    max-height: 30rem;
    aspect-ratio: 16 / 11;
}

.article-single--type-standard .article-entry__grid,
.article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__grid {
    grid-template-columns: minmax(0, 0.88fr) minmax(25rem, 0.92fr);
}

.article-single--type-interview .article-entry {
    background:
        linear-gradient(110deg, rgba(var(--article-accent-rgb), 0.14), rgba(255, 255, 255, 0.94) 54%),
        linear-gradient(90deg, rgba(var(--article-accent-rgb), 0.08) 1px, transparent 1px);
    background-size: auto, 3.2rem 3.2rem;
}

.article-single--type-interview .article-entry__grid {
    grid-template-columns: minmax(22rem, 0.74fr) minmax(0, 1fr);
}

.article-single--type-interview .article-entry__media {
    order: -1;
}

.article-single--type-interview .article-entry__media img {
    aspect-ratio: 4 / 5;
    max-height: 34rem;
}

.article-single--type-interview .article-entry h1 {
    max-width: 17ch;
}

.article-single--type-places .article-entry {
    background:
        linear-gradient(180deg, rgba(var(--article-accent-rgb), 0.11), rgba(255, 255, 255, 0.96)),
        linear-gradient(90deg, rgba(var(--article-accent-rgb), 0.07) 1px, transparent 1px);
    background-size: auto, 3rem 3rem;
}

.article-single--type-places .article-entry__grid {
    grid-template-columns: 1fr;
    gap: 1.15rem;
}

.article-single--type-places .article-entry h1 {
    max-width: 22ch;
}

.article-single--type-places .article-entry__media img {
    aspect-ratio: 21 / 8;
    max-height: 31rem;
}

.article-single--type-gallery .article-entry {
    background:
        linear-gradient(135deg, rgba(var(--article-accent-rgb), 0.13), rgba(255, 255, 255, 0.96) 46%, var(--article-accent-soft)),
        repeating-linear-gradient(90deg, rgba(var(--article-accent-rgb), 0.08) 0 0.5rem, transparent 0.5rem 1.15rem);
}

.article-single--type-gallery .article-entry__grid {
    grid-template-columns: minmax(0, 0.8fr) minmax(25rem, 1fr);
}

.article-single--type-gallery .article-entry__media img {
    aspect-ratio: 3 / 2;
    max-height: 32rem;
}

.article-layout {
    grid-template-columns: minmax(0, 54rem) minmax(17rem, 20rem);
    gap: clamp(1.2rem, 2.8vw, 2.2rem);
}

.article-main,
.article-brief,
.article-interview-panel,
.article-places-guide,
.article-gallery-intro,
.article-inline-gallery,
.article-selected-related,
.article-faq,
.article-reactions,
.article-author-box,
.article-neighbours,
.article-comments {
    max-width: 54rem;
}

.article-content {
    max-width: 48rem;
    font-size: 1.1rem;
}

.article-brief {
    padding: 1rem 1.1rem;
}

.article-brief ol {
    gap: 0.72rem;
}

.article-brief li {
    position: relative;
    display: block;
    padding-left: 1.45rem;
}

.article-brief li::before {
    content: "";
    position: absolute;
    left: 0.05rem;
    top: 0.62em;
    width: 0.52rem;
    height: 0.52rem;
    border-radius: 50%;
    background: var(--article-accent);
    box-shadow: 0 0 0 0.28rem rgba(var(--article-accent-rgb), 0.12);
}

.article-toc {
    position: relative;
    overflow: hidden;
}

.article-toc::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--article-accent), transparent);
}

.article-toc a {
    position: relative;
    z-index: 1;
    pointer-events: auto;
}

.article-toc a:hover,
.article-toc a.is-active {
    border-left-color: var(--article-accent);
}

.article-selected-related__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.62rem;
}

.article-related-card__media {
    min-height: 5.4rem;
}

.article-related-card__body {
    padding: 0.62rem;
}

.article-related-card h3 {
    font-size: 0.86rem;
    line-height: 1.18;
}

.article-related-card__category,
.article-related-card time {
    font-size: 0.72rem;
}

.article-inline-gallery {
    background: linear-gradient(135deg, #ffffff, var(--article-accent-soft));
}

.article-inline-gallery__rail {
    grid-auto-columns: minmax(8.2rem, 9.6rem);
}

.article-inline-gallery--feature .article-inline-gallery__rail {
    grid-auto-columns: minmax(9rem, 10.8rem);
}

.article-reactions__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.article-reaction {
    min-height: 3rem;
}

.article-reaction[data-article-reaction="sad"],
.article-reaction[data-article-reaction="not_for_me"],
.article-reaction[data-article-reaction="less"] {
    border-color: rgba(102, 67, 92, 0.2);
}

.article-reaction[data-article-reaction="sad"] .article-reaction__icon,
.article-reaction[data-article-reaction="not_for_me"] .article-reaction__icon,
.article-reaction[data-article-reaction="less"] .article-reaction__icon {
    background: rgba(102, 67, 92, 0.09);
    color: #66435c;
}

.article-side-actions,
.article-toc,
.article-side-ad,
.article-recommended,
.article-related-side,
.article-side-format {
    box-shadow: 0 0.45rem 1.15rem rgba(var(--article-accent-rgb), 0.06);
}

@media (max-width: 1120px) {
    .article-entry__grid,
    .article-single--type-standard .article-entry__grid,
    .article-single--type-interview .article-entry__grid,
    .article-single--type-places .article-entry__grid,
    .article-single--type-gallery .article-entry__grid {
        grid-template-columns: 1fr;
    }

    .article-single--type-interview .article-entry__media {
        order: 0;
    }

    .article-entry__media img,
    .article-single--type-interview .article-entry__media img,
    .article-single--type-places .article-entry__media img,
    .article-single--type-gallery .article-entry__media img {
        aspect-ratio: 16 / 9;
        max-height: 27rem;
    }
}

@media (max-width: 780px) {
    .article-progress {
        right: 0.25rem;
        width: 4px;
    }

    .article-entry h1 {
        font-size: 2.12rem;
    }

    .article-selected-related__grid,
    .article-reactions__grid {
        grid-template-columns: 1fr;
    }

    .article-content {
        font-size: 1rem;
    }
}

/* Article single v4 */
.article-progress {
    left: max(0.45rem, calc((100vw - var(--cg-max-width)) / 2 - 1rem));
    right: auto;
    width: 0.42rem;
}

.article-toc--inline {
    max-width: 48rem;
    margin: 0 0 clamp(1.4rem, 3vw, 2.2rem);
    padding: 0.95rem 1rem;
    border-color: rgba(var(--article-accent-rgb), 0.16);
    background:
        linear-gradient(135deg, rgba(var(--article-accent-rgb), 0.08), rgba(255, 255, 255, 0.94)),
        #ffffff;
    box-shadow: 0 0.55rem 1.45rem rgba(var(--article-accent-rgb), 0.07);
}

.article-toc--inline::before {
    width: 100%;
    height: 3px;
    inset: 0 0 auto;
    background: linear-gradient(90deg, var(--article-accent), transparent);
}

.article-toc--inline p {
    margin: 0;
    color: var(--article-accent);
    font-family: var(--cg-font-menu);
    font-size: 0.8rem;
    font-weight: 830;
    letter-spacing: 0;
    line-height: 1;
}

.article-toc--inline ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.72rem;
}

.article-toc--inline a {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    padding: 0.48rem 0.64rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.14);
    border-left-width: 1px;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.78);
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 0.88rem;
    font-weight: 760;
    line-height: 1.2;
}

.article-toc--inline .article-toc__item--3 a {
    padding-left: 0.64rem;
    font-size: 0.82rem;
}

.article-toc--inline a:hover,
.article-toc--inline a.is-active {
    border-color: var(--article-accent);
    background: var(--article-accent);
    color: #ffffff;
}

@media (max-width: 780px) {
    .article-progress {
        left: 0.22rem;
        right: auto;
        width: 4px;
    }

    .article-toc--inline {
        padding: 0.85rem;
    }

    .article-toc--inline ol {
        display: grid;
    }

    .article-toc--inline a {
        width: 100%;
    }
}

/* Article single v5 */
.article-progress__label {
    display: inline-grid;
    position: absolute;
    left: 0.82rem;
    top: -0.05rem;
    min-width: 2.55rem;
    min-height: 1.55rem;
    place-items: center;
    padding: 0.24rem 0.38rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.92);
    color: var(--article-accent-deep);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 840;
    line-height: 1;
    box-shadow: 0 0.35rem 0.9rem rgba(5, 24, 55, 0.08);
}

.article-sidebar__sticky {
    gap: 0;
    padding: 0.18rem 0 0.18rem 1rem;
    border-left: 1px solid rgba(var(--article-accent-rgb), 0.2);
    background: transparent;
    box-shadow: none;
}

.article-side-format,
.article-side-actions,
.article-sidebar .article-side-ad,
.article-recommended,
.article-related-side {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.article-side-format,
.article-side-actions,
.article-recommended,
.article-related-side {
    padding: 0.82rem 0;
}

.article-side-actions,
.article-sidebar .article-side-ad,
.article-recommended,
.article-related-side {
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
}

.article-side-actions button,
.article-side-actions a {
    min-height: 2.15rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--cg-ink);
}

.article-side-actions button:hover,
.article-side-actions a:hover,
.article-side-actions button.is-copied {
    background: transparent;
    color: var(--article-accent);
}

.article-sidebar .article-side-ad {
    padding: 0.95rem 0;
}

.article-side-ad img {
    border-radius: 6px;
    box-shadow: none;
}

.article-side-ad--placeholder {
    min-height: 9rem;
    border: 1px dashed rgba(var(--article-accent-rgb), 0.24);
    border-radius: 0;
    padding: 0.9rem;
}

.article-recommended a,
.article-mini-card {
    border-top-color: rgba(var(--article-accent-rgb), 0.1);
}

.article-interview-panel,
.article-gallery-intro,
.article-toc--inline,
.article-places-guide,
.article-inline-gallery,
.article-reactions,
.article-faq,
.article-author-box,
.article-neighbours,
.article-comments {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.article-interview-panel {
    grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr);
    gap: 1.1rem;
    margin-bottom: 1.35rem;
    padding: 0 0 1.15rem 1rem;
    border-left: 3px solid var(--article-accent);
    border-radius: 0;
}

.article-interview-panel__note {
    padding: 0.15rem 0 0;
    border-radius: 0;
    background: transparent;
    color: var(--cg-ink);
    font-size: 1.02rem;
    box-shadow: none;
}

.article-toc--inline {
    padding: 0.18rem 0 1rem;
    border-bottom: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
}

.article-toc--inline::before {
    display: none;
}

.article-toc--inline ol {
    gap: 0.85rem;
    margin-top: 0.62rem;
}

.article-toc--inline a {
    min-height: 0;
    padding: 0.12rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: inset 0 -1px 0 rgba(var(--article-accent-rgb), 0.22);
}

.article-toc--inline .article-toc__item--3 a {
    padding-left: 0;
}

.article-toc--inline a:hover,
.article-toc--inline a.is-active {
    background: transparent;
    color: var(--article-accent);
    box-shadow: inset 0 -2px 0 var(--article-accent);
}

.article-places-guide {
    margin-bottom: 1.7rem;
    padding: 0 0 1.15rem;
    border-bottom: 1px solid rgba(var(--article-accent-rgb), 0.14);
    border-radius: 0;
}

.article-places-guide__head > div > span {
    display: block;
    margin-top: 0.38rem;
    color: var(--cg-ink-soft);
    font-size: 0.92rem;
    line-height: 1.45;
}

.article-places-guide__head > span,
.article-inline-gallery__head > span {
    background: rgba(var(--article-accent-rgb), 0.1);
    color: var(--article-accent-deep);
}

.article-places-guide__map,
.article-places-guide__place-map {
    overflow: hidden;
    border-radius: 0;
    background: rgba(var(--article-accent-rgb), 0.07);
}

.article-places-guide__place-map {
    margin-top: 0.75rem;
}

.article-places-guide__place-map iframe {
    display: block;
    width: 100%;
    min-height: 13.5rem;
    border: 0;
}

.article-places-guide__list {
    gap: 0;
    margin-top: 1rem;
}

.article-places-guide__list li {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.95rem;
    padding: 1rem 0;
    border: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
    background: transparent;
}

.article-places-guide__list li > span {
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0;
    background: var(--article-accent);
}

.article-places-guide__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem 0.9rem;
    margin: 0.5rem 0 0;
}

.article-places-guide__meta div {
    min-width: min(10rem, 100%);
}

.article-places-guide__meta dt {
    color: var(--article-accent);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1;
}

.article-places-guide__meta dd {
    margin: 0.18rem 0 0;
    color: var(--cg-ink);
    font-size: 0.9rem;
    line-height: 1.35;
}

.article-places-guide__opinion {
    padding-left: 0.72rem;
    border-left: 2px solid rgba(var(--article-accent-rgb), 0.28);
    color: var(--cg-ink);
    font-style: italic;
}

.article-places-guide__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 0.85rem;
    align-items: center;
    margin-top: 0.72rem;
}

.article-places-guide__actions button,
.article-places-guide__actions a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.15rem;
    border-radius: 0;
    font-family: var(--cg-font-menu);
    font-size: 0.86rem;
    font-weight: 820;
}

.article-places-guide__actions button {
    padding: 0.42rem 0.62rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.18);
    background: rgba(var(--article-accent-rgb), 0.08);
    color: var(--article-accent-deep);
    cursor: pointer;
}

.article-places-guide__actions button:hover,
.article-places-guide__actions button.is-selected {
    border-color: var(--article-accent);
    background: var(--article-accent);
    color: #ffffff;
}

.article-places-guide__actions button:disabled {
    cursor: default;
}

.article-places-guide__actions strong {
    display: inline-grid;
    min-width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.72);
    color: currentColor;
}

.article-places-guide__actions a {
    color: var(--article-accent);
}

.article-inline-gallery,
.article-inline-gallery--feature {
    padding: 0;
    background: transparent;
}

.article-reactions,
.article-faq,
.article-author-box,
.article-neighbours,
.article-comments {
    padding-inline: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
}

.article-reaction,
.article-related-card {
    box-shadow: none;
}

@media (max-width: 1120px) {
    .article-sidebar__sticky {
        padding: 0;
        border-left: 0;
        border-top: 1px solid rgba(var(--article-accent-rgb), 0.14);
    }
}

@media (max-width: 780px) {
    .article-progress__label {
        left: 0.6rem;
        min-width: 2.25rem;
        padding-inline: 0.3rem;
    }

    .article-interview-panel {
        grid-template-columns: 1fr;
        padding-left: 0.8rem;
    }

    .article-toc--inline ol {
        gap: 0.45rem;
    }

    .article-places-guide__list li {
        gap: 0.72rem;
    }
}

/* Article single v6 */
.article-interview-panel > div > p,
.article-places-guide__head > div > p,
.article-gallery-intro > p,
.article-inline-gallery__head p,
.article-selected-related__head > p,
.article-reactions__head > div > p,
.article-author-box > div > p:first-child {
    display: none;
}

.article-selected-related {
    max-width: 48rem;
    margin-top: clamp(1.45rem, 3vw, 2.15rem);
    padding-top: 1rem;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
}

.article-selected-related__head {
    margin-bottom: 0.58rem;
}

.article-selected-related__head h2 {
    margin: 0;
    font-size: 1.18rem;
    line-height: 1.1;
}

.article-selected-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 0.9rem;
}

.article-related-card {
    grid-template-columns: 4.35rem minmax(0, 1fr);
    align-items: center;
    gap: 0.6rem;
    min-height: 4.65rem;
    padding: 0.48rem 0;
    border: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.1);
    border-radius: 0;
    background: transparent;
}

.article-related-card:nth-child(-n + 2) {
    border-top: 0;
}

.article-related-card__media {
    min-height: 0;
    height: 3.85rem;
    border-radius: 6px;
    background: rgba(var(--article-accent-rgb), 0.08);
}

.article-related-card__body {
    gap: 0.12rem;
    padding: 0;
}

.article-related-card__category {
    display: none;
}

.article-related-card h3 {
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.78rem;
    line-height: 1.17;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.article-related-card time {
    font-size: 0.68rem;
}

.article-reactions__head {
    align-items: start;
}

.article-reactions__head h2,
.article-author-box h2 {
    margin-top: 0;
}

.article-gallery-intro h2,
.article-inline-gallery__head h2,
.article-places-guide__head h2,
.article-interview-panel h2 {
    margin-top: 0;
}

@media (max-width: 780px) {
    .article-selected-related__grid {
        grid-template-columns: 1fr;
    }

    .article-related-card:nth-child(-n + 2) {
        border-top: 1px solid rgba(var(--article-accent-rgb), 0.1);
    }

    .article-related-card:first-child {
        border-top: 0;
    }
}

/* Author page v2 */
.cg-author-avatar {
    display: block;
    object-fit: cover;
    background: #d6e9fe;
}

.cg-author-avatar-fallback {
    display: inline-grid;
    place-items: center;
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-weight: 860;
    letter-spacing: 0;
    background: linear-gradient(135deg, var(--cg-blue), #18a8d8);
}

.article-meta-line__author .cg-author-avatar {
    width: 2.9rem;
    height: 2.9rem;
    border: 2px solid rgba(var(--article-accent-rgb), 0.22);
    border-radius: 50%;
}

.article-author-box .cg-author-avatar {
    width: 5.8rem;
    height: 5.8rem;
    border-radius: 50%;
}

.article-author-box__avatar.cg-author-avatar-fallback {
    font-size: 1.45rem;
}

.author-page {
    background:
        linear-gradient(180deg, rgba(214, 233, 254, 0.7) 0, rgba(255, 255, 255, 0.92) 18rem, #ffffff 100%),
        #ffffff;
}

.author-hero {
    overflow: hidden;
    background: transparent;
    color: var(--cg-ink);
}

.author-hero::before {
    content: none;
}

.author-hero__inner {
    display: grid;
    grid-template-columns: minmax(11rem, 18rem) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 3.6rem);
    align-items: start;
    min-height: auto;
    padding-block: clamp(2.9rem, 5vw, 4rem) clamp(2.2rem, 4vw, 3.2rem);
}

.author-hero__media {
    display: grid;
    align-content: start;
    justify-items: start;
}

.author-hero__portrait {
    position: relative;
    width: min(100%, 17rem);
}

.author-hero__avatar.cg-author-avatar {
    width: 100%;
    aspect-ratio: 1;
    border: 0.45rem solid var(--cg-white);
    border-radius: 50%;
    box-shadow: 0 1.2rem 2.8rem rgba(8, 73, 162, 0.16);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.author-hero__portrait:hover .author-hero__avatar {
    transform: translateY(-0.25rem) scale(1.015);
    box-shadow: 0 1.55rem 3.1rem rgba(8, 73, 162, 0.2);
}

.author-hero__avatar.cg-author-avatar-fallback {
    font-size: 4rem;
}

.author-hero__copy {
    display: grid;
    align-content: center;
    gap: 0.85rem;
    min-width: 0;
    max-width: 46rem;
    padding-top: clamp(0.2rem, 1vw, 0.9rem);
}

.author-hero h1 {
    max-width: 12ch;
    margin: 0;
    color: var(--cg-blue);
    font-size: 3.15rem;
    line-height: 0.98;
}

.author-hero__role {
    margin: 0;
    color: var(--cg-ink-soft);
    font-family: var(--cg-font-menu);
    font-size: 0.98rem;
    font-weight: 760;
    line-height: 1.35;
}

.author-hero__bio {
    max-width: 48rem;
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 1.08rem;
}

.author-hero__topics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0;
}

.author-hero__topics span {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.38rem 0.72rem;
    border-radius: 999px;
    background: rgba(8, 73, 162, 0.08);
    color: var(--cg-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 790;
    letter-spacing: 0;
    line-height: 1;
}

.author-hero__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    align-items: center;
    margin-top: 0.15rem;
}

.author-hero__links a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--cg-blue);
    box-shadow: none;
    font-size: 0.92rem;
    font-weight: 760;
    text-decoration: none;
}

.author-hero__links a::after {
    content: "\2192";
    font-size: 0.9em;
}

.author-hero__links a:hover {
    transform: none;
    background: transparent;
    color: var(--cg-ink);
    text-decoration: underline;
}

.author-profile {
    padding-block: 1.5rem 1.6rem;
}

.author-profile__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem);
    gap: 2rem;
    align-items: start;
}

.author-profile__story {
    padding-left: 0;
    border-left: 0;
}

.author-profile__story h2,
.author-feed__head h2 {
    margin: 0;
    color: var(--cg-blue);
    font-family: var(--cg-font-menu);
    font-size: 1.85rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.author-profile__content {
    max-width: 60rem;
    margin-top: 0.9rem;
    color: var(--cg-ink-soft);
    font-size: 1.02rem;
    line-height: 1.72;
}

.author-profile__content p {
    margin: 0 0 0.9rem;
}

.author-profile__content p:last-child {
    margin-bottom: 0;
}

.author-profile__facts {
    display: grid;
    gap: 0.85rem;
    padding: 0.25rem 0 0.25rem 1.1rem;
    border-left: 1px solid rgba(8, 73, 162, 0.15);
}

.author-profile__fact,
.author-profile__topics {
    display: grid;
    gap: 0.25rem;
}

.author-profile__fact span,
.author-profile__topics > span {
    color: var(--cg-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 820;
    text-transform: uppercase;
}

.author-profile__fact strong {
    color: var(--cg-blue);
    font-family: var(--cg-font-menu);
    font-size: 1.05rem;
    line-height: 1.2;
}

.author-profile__topics div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.author-profile__topics a {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(8, 73, 162, 0.13);
    border-radius: 0;
    color: var(--cg-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 760;
    text-decoration: none;
}

.author-feed {
    padding-block: 2.5rem 4rem;
}

.author-feed__head {
    display: block;
    margin-bottom: 1.2rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
}

.author-post-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.1rem;
    margin-top: 1.4rem;
}

.author-post-card {
    overflow: visible;
    border: 0;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.author-post-card__media {
    min-height: 8.5rem;
    overflow: hidden;
    border-radius: 0;
}

.author-post-card__media img {
    transition: transform 0.35s ease;
}

.author-post-card:hover .author-post-card__media img {
    transform: scale(1.035);
}

.author-post-card__body {
    padding: 0.72rem 0 0;
}

.author-post-card h3 {
    font-size: 0.98rem;
    line-height: 1.18;
}

.author-empty {
    padding: 1.2rem 0 0;
    border: 0;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: transparent;
}

@keyframes author-signal {
    from {
        background-position: 0% 50%;
    }

    to {
        background-position: 220% 50%;
    }
}

@media (max-width: 1120px) {
    .author-post-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .author-hero__inner,
    .author-profile__grid {
        grid-template-columns: 1fr;
    }

    .author-hero__inner {
        padding-block: 2.8rem 2.4rem;
    }

    .author-hero__copy {
        padding-top: 0;
    }

    .author-hero h1 {
        font-size: 2.35rem;
        max-width: none;
    }

    .author-profile__facts {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid rgba(8, 73, 162, 0.12);
        padding-top: 1rem;
    }
}

@media (max-width: 620px) {
    .article-author-box .cg-author-avatar {
        width: 4.8rem;
        height: 4.8rem;
    }

    .author-hero__media {
        gap: 0.8rem;
    }

    .author-hero__portrait {
        width: min(100%, 12rem);
    }

    .author-hero__topics {
        width: 100%;
    }

    .author-hero__avatar.cg-author-avatar-fallback {
        font-size: 2.8rem;
    }

    .author-feed__head {
        display: grid;
    }

    .author-post-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .author-hero::before {
        animation: none;
    }
}

/* Author page v3 */
.author-post-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 0;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
}

.author-post-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 0;
    border-top: 0;
}

.author-post-card__media {
    min-height: 0;
    aspect-ratio: 1.22;
    background: rgba(8, 73, 162, 0.06);
}

.author-post-card__body {
    gap: 0.25rem;
    padding-top: 0.58rem;
}

.author-post-card__category {
    font-size: 0.72rem;
}

.author-post-card h3 {
    color: var(--cg-blue);
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.9rem;
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.author-post-card h3 a,
.author-empty h2 {
    color: var(--cg-blue);
}

.author-post-card time {
    font-size: 0.74rem;
}

@media (max-width: 1180px) {
    .author-post-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .author-post-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .author-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.85rem;
    }
}

/* Author page v4 */
.author-post-card__category {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 1.65rem;
    padding: 0.24rem 0.48rem;
    border: 1px solid rgba(8, 73, 162, 0.13);
    border-radius: 0;
    background: rgba(214, 233, 254, 0.52);
    color: var(--cg-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 820;
    line-height: 1;
    text-decoration: none;
}

.author-post-card__category:hover {
    border-color: rgba(8, 73, 162, 0.32);
    background: var(--cg-blue);
    color: var(--cg-white);
}

.author-load-more {
    display: flex;
    justify-content: center;
    margin-top: 1.8rem;
}

.author-load-more__button {
    display: inline-flex;
    min-width: min(100%, 18rem);
    min-height: 3.15rem;
    align-items: center;
    justify-content: center;
    padding: 0.9rem 1.35rem;
    border: 1px solid rgba(8, 73, 162, 0.2);
    border-radius: 0;
    background: #0849a2 !important;
    background-image: none;
    color: #ffffff !important;
    cursor: pointer;
    appearance: none;
    box-shadow: none;
    font-family: var(--cg-font-menu);
    font-size: 0.94rem;
    font-weight: 830;
    letter-spacing: 0;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.author-load-more__button span {
    color: #ffffff !important;
    font: inherit;
}

.author-load-more__button:hover {
    transform: translateY(-0.12rem);
    background: #063e8d !important;
    border-color: rgba(8, 73, 162, 0.42);
}

.author-load-more__button:focus-visible {
    outline: 2px solid rgba(8, 73, 162, 0.28);
    outline-offset: 0.2rem;
}

.author-load-more__button.is-loading {
    cursor: wait;
    opacity: 0.78;
}

.author-load-more__button.has-error {
    background: #8d1f2d !important;
    border-color: #8d1f2d;
}

/* Editable footer v1 */
.site-footer--clean .site-footer__inner {
    grid-template-columns: minmax(14rem, 0.82fr) minmax(11rem, 0.42fr) minmax(17rem, 0.96fr);
    grid-template-areas:
        "brand social contact"
        "meta meta meta";
    gap: clamp(1.35rem, 3vw, 3rem);
}

.site-footer--clean .site-footer__brand {
    gap: 1rem;
}

.site-footer--clean .site-footer__lead p {
    margin: 0;
}

.site-footer--clean .site-footer__lead p + p {
    margin-top: 0.65rem;
}

.site-footer--clean .site-footer__links {
    display: none;
}

.site-footer--clean .site-footer__column {
    display: grid;
    min-width: 0;
    align-content: start;
}

.site-footer--clean .site-footer__link-list {
    display: grid;
    gap: 0.42rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer--clean .site-footer__link-list a {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.94rem;
    line-height: 1.25;
    text-decoration: none;
    text-underline-offset: 0.28em;
    transition: color 0.2s ease, transform 0.2s ease;
}

.site-footer--clean .site-footer__link-list a:hover,
.site-footer--clean .site-footer__link-list a:focus-visible {
    color: var(--cg-white);
    text-decoration: underline;
    transform: translateX(0.18rem);
}

.site-footer--clean .site-footer__social-column {
    display: grid;
    gap: 0.6rem;
    align-content: start;
    justify-self: start;
}

.site-footer--clean .site-footer__contact-row,
.site-footer--clean .site-footer__contact-row--plain,
.site-footer--clean .site-footer__contact-row--linked {
    cursor: default;
}

.site-footer--clean .site-footer__contact-row:hover,
.site-footer--clean .site-footer__contact-row:focus-visible,
.site-footer--clean .site-footer__contact-row--plain:hover,
.site-footer--clean .site-footer__contact-row--linked:hover {
    transform: none;
}

.site-footer--clean .site-footer__socials {
    margin-top: 0.1rem;
}

.site-footer--clean .site-footer__contact-link {
    color: var(--cg-white);
    text-decoration: none;
    text-underline-offset: 0.24em;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.site-footer--clean .site-footer__contact-link:hover,
.site-footer--clean .site-footer__contact-link:focus-visible {
    color: var(--cg-white);
    text-decoration: underline;
}

.site-footer--clean .site-footer__legal-links {
    gap: 0.7rem;
    margin-top: 0.3rem;
    padding-top: 0;
    border-top: 0;
    justify-content: flex-start;
}

.site-footer--clean .site-footer__legal-links a {
    display: inline-flex;
    min-height: 2.6rem;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.08);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.site-footer--clean .site-footer__legal-links a:hover,
.site-footer--clean .site-footer__legal-links a:focus-visible {
    transform: translateY(-2px);
    border-color: var(--cg-white);
    background: var(--cg-white);
    color: #071831;
    text-decoration: none;
}

@media (max-width: 1040px) {
    .site-footer--clean .site-footer__inner {
        grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.56fr);
        grid-template-areas:
            "brand social"
            "contact contact"
            "meta meta";
    }
}

@media (max-width: 760px) {
    .site-footer--clean .site-footer__inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "social"
            "contact"
            "meta";
    }
}

/* Error 404 page v1 */
.error-404-page {
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(214, 233, 254, 0.54) 0%, rgba(255, 255, 255, 0.96) 42%, rgba(244, 249, 255, 0.9) 100%);
}

.error-404-hero {
    position: relative;
    padding: clamp(2.2rem, 5vw, 4.6rem) 0 clamp(1.7rem, 4vw, 3.1rem);
}

.error-404-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(8, 73, 162, 0.075) 1px, transparent 1px),
        linear-gradient(180deg, rgba(8, 73, 162, 0.055) 1px, transparent 1px);
    background-size: 4.8rem 4.8rem;
    mask-image: linear-gradient(180deg, #000 0%, transparent 72%);
}

.error-404-hero__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(18rem, 0.62fr);
    gap: clamp(1.6rem, 4vw, 4rem);
    align-items: center;
}

.error-404-hero__copy {
    display: grid;
    gap: 1.05rem;
    min-width: 0;
}

.error-404-hero__eyebrow {
    width: fit-content;
    margin: 0;
    padding: 0.34rem 0.62rem;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.78);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
}

.error-404-code {
    position: relative;
    width: fit-content;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 7.6rem;
    font-weight: 920;
    letter-spacing: 0;
    line-height: 0.82;
    isolation: isolate;
}

.error-404-code::before {
    content: "";
    position: absolute;
    inset: 11% -4% 15%;
    z-index: -1;
    background: linear-gradient(90deg, transparent, rgba(8, 73, 162, 0.22), rgba(231, 43, 77, 0.18), transparent);
    background-size: 220% 100%;
    transform: skewX(-11deg);
    animation: error-code-scan 2.8s linear infinite;
}

.error-404-code::after {
    content: attr(data-code);
    position: absolute;
    inset: 0;
    color: transparent;
    -webkit-text-stroke: 1px rgba(8, 73, 162, 0.28);
    transform: translate(0.14rem, -0.12rem);
    animation: error-code-shift 2.4s steps(2, end) infinite;
}

.error-404-hero h1 {
    max-width: 18ch;
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 3.65rem;
    font-weight: 880;
    letter-spacing: 0;
    line-height: 0.96;
}

.error-404-hero__lead {
    max-width: 47rem;
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 1.13rem;
    line-height: 1.68;
}

.error-404-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    padding-top: 0.25rem;
}

.error-404-button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    padding: 0.68rem 1rem;
    border: 1px solid rgba(8, 73, 162, 0.22);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.86);
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1;
    text-decoration: none;
    transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease, color 0.22s ease;
}

.error-404-button--primary {
    border-color: var(--cg-brand-700);
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

.error-404-button:hover,
.error-404-button:focus-visible {
    transform: translateY(-0.12rem);
    border-color: var(--cg-brand-700);
    background: var(--cg-ink);
    color: var(--cg-white);
}

.error-404-hero__visual {
    position: relative;
    display: grid;
    gap: 0.86rem;
    min-width: 0;
    align-self: stretch;
    align-content: center;
}

.error-404-visual__media {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: #eaf5ff;
    box-shadow: 0 1.2rem 3.5rem rgba(8, 73, 162, 0.13);
}

.error-404-visual__media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.28) 48%, transparent 72%);
    transform: translateX(-120%);
    animation: error-media-sweep 5.4s ease-in-out infinite;
}

.error-404-visual__media a {
    display: block;
}

.error-404-visual__image {
    aspect-ratio: 1.16;
    height: auto;
    object-fit: cover;
}

.error-404-visual__logo,
.error-404-visual__fallback {
    display: grid;
    aspect-ratio: 1.16;
    place-items: center;
    padding: 2.6rem;
}

.error-404-visual__fallback {
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 3rem;
    font-weight: 900;
}

.error-404-visual__note {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.7rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.82rem 0;
    border-top: 1px solid rgba(8, 73, 162, 0.14);
    border-bottom: 1px solid rgba(8, 73, 162, 0.14);
    color: var(--cg-ink-soft);
    font-size: 0.92rem;
}

.error-404-visual__note strong {
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    letter-spacing: 0;
}

.error-404-ticker {
    overflow: hidden;
    border-block: 1px solid rgba(8, 73, 162, 0.12);
    background: var(--cg-white);
}

.error-404-ticker__track {
    display: flex;
    width: max-content;
    min-width: 100%;
    animation: error-ticker 25s linear infinite;
}

.error-404-ticker__track span {
    display: inline-flex;
    align-items: center;
    min-height: 3rem;
    padding: 0 1.35rem;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.88rem;
    font-weight: 830;
    letter-spacing: 0;
    white-space: nowrap;
}

.error-404-ticker__track span::before {
    content: "";
    width: 0.42rem;
    height: 0.42rem;
    margin-right: 0.7rem;
    border-radius: 0;
    background: #e72b4d;
}

.error-404-rescue,
.error-404-latest {
    padding: clamp(2rem, 5vw, 4.2rem) 0;
}

.error-404-rescue__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 1fr);
    gap: clamp(1.35rem, 3vw, 3rem);
    align-items: start;
}

.error-404-search {
    display: grid;
    gap: 1rem;
}

.error-404-search h2,
.error-404-section-head h2 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 2rem;
    letter-spacing: 0;
    line-height: 1.05;
}

.error-404-search__form {
    max-width: 42rem;
}

.error-404-links {
    display: grid;
    gap: 0;
    border-top: 1px solid rgba(8, 73, 162, 0.13);
}

.error-404-link {
    display: grid;
    gap: 0.26rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(8, 73, 162, 0.13);
    text-decoration: none;
    transition: transform 0.22s ease, color 0.22s ease;
}

.error-404-link strong {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1rem;
    letter-spacing: 0;
}

.error-404-link span {
    color: var(--cg-ink-soft);
    font-size: 0.94rem;
    line-height: 1.45;
}

.error-404-link--primary strong {
    color: var(--cg-brand-700);
}

.error-404-link:hover,
.error-404-link:focus-visible {
    color: var(--cg-brand-700);
    transform: translateX(0.24rem);
}

.error-404-section-head {
    display: grid;
    max-width: 42rem;
    gap: 0.55rem;
    margin-bottom: 1.2rem;
}

.error-404-section-head p {
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 1rem;
    line-height: 1.58;
}

.error-404-latest__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.error-404-post {
    display: grid;
    min-width: 0;
    border-top: 1px solid rgba(8, 73, 162, 0.14);
}

.error-404-post__media {
    display: block;
    overflow: hidden;
    margin-top: 0.8rem;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.06);
}

.error-404-post__media img,
.error-404-post__placeholder {
    width: 100%;
    aspect-ratio: 1.34;
    height: auto;
    object-fit: cover;
    transition: transform 0.32s ease;
}

.error-404-post__placeholder {
    display: grid;
    place-items: center;
    color: var(--cg-brand-700);
    font-size: 2rem;
}

.error-404-post:hover .error-404-post__media img {
    transform: scale(1.035);
}

.error-404-post__body {
    display: grid;
    gap: 0.35rem;
    padding-top: 0.7rem;
}

.error-404-post__category {
    width: fit-content;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 820;
    letter-spacing: 0;
}

.error-404-post h3 {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1rem;
    letter-spacing: 0;
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.error-404-post time {
    color: var(--cg-ink-soft);
    font-size: 0.8rem;
}

@keyframes error-code-scan {
    from {
        background-position: 0% 50%;
    }

    to {
        background-position: 220% 50%;
    }
}

@keyframes error-code-shift {
    0%,
    100% {
        transform: translate(0.14rem, -0.12rem);
    }

    50% {
        transform: translate(-0.1rem, 0.1rem);
    }
}

@keyframes error-media-sweep {
    0%,
    42% {
        transform: translateX(-120%);
    }

    68%,
    100% {
        transform: translateX(120%);
    }
}

@keyframes error-ticker {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@media (max-width: 1040px) {
    .error-404-hero__inner,
    .error-404-rescue__inner {
        grid-template-columns: 1fr;
    }

    .error-404-hero h1 {
        max-width: 18ch;
        font-size: 3.05rem;
    }

    .error-404-hero__visual {
        max-width: 32rem;
    }

    .error-404-latest__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .error-404-code {
        font-size: 5.15rem;
    }

    .error-404-hero h1 {
        font-size: 2.35rem;
    }

    .error-404-hero__lead {
        font-size: 1rem;
    }

    .error-404-hero__actions,
    .error-404-button,
    .error-404-latest__grid {
        width: 100%;
    }

    .error-404-latest__grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .error-404-code::before,
    .error-404-code::after,
    .error-404-visual__media::after,
    .error-404-ticker__track,
    .error-404-button,
    .error-404-link,
    .error-404-post__media img {
        animation: none;
        transition: none;
    }
}

/* Error 404 page v3 */
body.error404 .site-main {
    padding-bottom: 0;
}

.error-404-page--simple {
    --error-404-screen-height: clamp(27rem, calc(100svh - 25rem), 35rem);

    display: grid;
    min-height: var(--error-404-screen-height);
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 37%, rgba(214, 233, 254, 0.94) 0 12rem, transparent 22rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 255, 0.92));
}

.error-404-simple {
    position: relative;
    display: grid;
    min-height: var(--error-404-screen-height);
    place-items: center;
    padding: clamp(1rem, 3svh, 2.35rem) 0 clamp(1.2rem, 3.2svh, 2.35rem);
}

.error-404-simple::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(8, 73, 162, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(8, 73, 162, 0.045) 1px, transparent 1px);
    background-size: 4rem 4rem;
    mask-image: radial-gradient(circle at center, #000 0 32%, transparent 72%);
}

.error-404-simple__inner {
    position: relative;
    display: grid;
    justify-items: center;
    width: min(100%, 48rem);
    gap: 0.72rem;
    text-align: center;
    transform: translateY(-0.9rem);
}

.error-404-simple__eyebrow {
    margin: 0;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 860;
    letter-spacing: 0;
}

.error-404-code--simple {
    margin: 0.02rem 0 0.08rem;
    color: var(--cg-ink);
    font-size: 11.6rem;
    text-shadow: 0 1.05rem 2.8rem rgba(8, 73, 162, 0.18);
}

.error-404-code__wave {
    display: inline-flex;
    align-items: baseline;
    gap: 0.02em;
}

.error-404-code__wave span {
    display: inline-block;
    transform-origin: 50% 72%;
    animation: error-water-wave 3.1s ease-in-out infinite;
}

.error-404-code__wave span:nth-child(2) {
    animation-delay: -1.15s;
}

.error-404-code__wave span:nth-child(3) {
    animation-delay: -2.3s;
}

.error-404-code--simple::before {
    inset: 16% -5% 18%;
    border-radius: 0;
    opacity: 0.95;
    background: linear-gradient(90deg, transparent, rgba(214, 233, 254, 0.92), rgba(8, 73, 162, 0.18), transparent);
    animation: error-water-shimmer 5.6s ease-in-out infinite;
}

.error-404-code--simple::after {
    transform: translate(0.12rem, -0.1rem);
    opacity: 0.42;
    animation: error-water-echo 4.8s ease-in-out infinite;
}

.error-404-simple h1 {
    max-width: 13ch;
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 2.68rem;
    font-weight: 880;
    letter-spacing: 0;
    line-height: 1;
}

.error-404-simple p:not(.error-404-simple__eyebrow) {
    max-width: 34rem;
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 1.05rem;
    line-height: 1.54;
}

.error-404-simple .error-404-button {
    min-height: 3.25rem;
    margin-top: 0.35rem;
    padding: 0.78rem 1.24rem;
    font-size: 1rem;
}

@keyframes error-water-wave {
    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    25% {
        transform: translateY(-0.14em) rotate(-2.4deg);
    }

    50% {
        transform: translateY(0.06em) rotate(1.2deg);
    }

    75% {
        transform: translateY(-0.095em) rotate(2.1deg);
    }
}

@keyframes error-water-shimmer {
    0%,
    100% {
        background-position: 0% 50%;
        transform: skewX(-8deg) translateY(0);
    }

    50% {
        background-position: 140% 50%;
        transform: skewX(-4deg) translateY(0.12rem);
    }
}

@keyframes error-water-echo {
    0%,
    100% {
        transform: translate(0.12rem, -0.1rem) scaleY(1);
    }

    50% {
        transform: translate(-0.08rem, 0.12rem) scaleY(0.96);
    }
}

@media (max-width: 680px) {
    .error-404-page--simple {
        --error-404-screen-height: clamp(22rem, calc(100svh - 18rem), 30rem);
    }

    .error-404-simple {
        padding-top: clamp(0.65rem, 2svh, 1.2rem);
        padding-bottom: 1rem;
    }

    .error-404-simple__inner {
        gap: 0.58rem;
        transform: translateY(-0.42rem);
    }

    .error-404-code--simple {
        font-size: 6.7rem;
    }

    .error-404-simple h1 {
        font-size: 2rem;
    }

    .error-404-simple p:not(.error-404-simple__eyebrow) {
        font-size: 1rem;
        line-height: 1.45;
    }
}

@media (max-width: 420px) {
    .error-404-code--simple {
        font-size: 6.05rem;
    }

    .error-404-simple h1 {
        font-size: 1.82rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .error-404-code__wave span,
    .error-404-code--simple::before,
    .error-404-code--simple::after {
        animation: none;
    }
}

/* Patronage page v1 */
.patronage-page {
    --patronage-blue: #0849a2;
    --patronage-menu: #0849a2;
    --patronage-sky: #d6e9fe;
    --patronage-ink: #10264c;
    --patronage-soft: rgba(16, 38, 76, 0.72);
    --patronage-line: rgba(8, 73, 162, 0.14);
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, rgba(244, 249, 255, 0.82) 45%, #ffffff 100%);
}

.patronage-hero {
    position: relative;
    isolation: isolate;
    min-height: 35rem;
    overflow: hidden;
    color: #ffffff;
    background:
        linear-gradient(90deg, rgba(2, 19, 53, 0.9) 0%, rgba(8, 73, 162, 0.72) 48%, rgba(8, 73, 162, 0.2) 100%),
        var(--patronage-hero-image) center / cover no-repeat;
}

.patronage-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(115deg, transparent 0%, rgba(214, 233, 254, 0.18) 38%, rgba(255, 255, 255, 0.1) 51%, transparent 68%),
        radial-gradient(circle at 16% 18%, rgba(214, 233, 254, 0.2), transparent 18rem);
    background-size: 220% 100%, auto;
    mix-blend-mode: screen;
    animation: patronage-hero-light 16s ease-in-out infinite;
}

.patronage-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: -1;
    height: 42%;
    background: linear-gradient(180deg, transparent, rgba(2, 19, 53, 0.84));
}

.patronage-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 28rem);
    gap: clamp(1.5rem, 4vw, 4rem);
    min-height: 35rem;
    align-items: end;
    padding-block: clamp(3rem, 6vw, 5.6rem);
}

.patronage-hero__copy {
    max-width: 58rem;
}

.patronage-eyebrow {
    width: fit-content;
    margin: 0 0 0.95rem;
    padding: 0.36rem 0.64rem;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.13);
    color: rgba(255, 255, 255, 0.92);
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 850;
    letter-spacing: 0;
}

.patronage-hero h1,
.patronage-section-head h2,
.patronage-requirements h2,
.patronage-highlight h2,
.patronage-cta h2 {
    margin: 0;
    font-family: var(--cg-font-menu);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.98;
}

.patronage-hero h1 {
    max-width: 22ch;
    font-size: 4.55rem;
}

.patronage-hero__lead {
    max-width: 45rem;
    margin-top: 1.2rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.16rem;
    line-height: 1.58;
}

.patronage-hero__lead p,
.patronage-hero__note p,
.patronage-section-head p,
.patronage-highlight p,
.patronage-cta p,
.patronage-requirements__copy p {
    margin: 0;
}

.patronage-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.72rem;
    margin-top: 1.35rem;
}

.patronage-button {
    display: inline-flex;
    min-height: 3.15rem;
    align-items: center;
    justify-content: center;
    padding: 0.78rem 1.15rem;
    border: 1px solid rgba(8, 73, 162, 0.24);
    border-radius: 0;
    background: #ffffff;
    color: var(--patronage-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.98rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.1;
    transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.patronage-button--primary {
    border-color: var(--patronage-sky);
    background: var(--patronage-sky);
    color: var(--patronage-ink);
}

.patronage-button--light {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.patronage-button:hover,
.patronage-button:focus-visible {
    transform: translateY(-0.12rem);
    border-color: var(--patronage-ink);
    background: var(--patronage-ink);
    color: #ffffff;
}

.patronage-hero__panel {
    display: grid;
    gap: 1rem;
    align-self: end;
}

.patronage-hero__note {
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 0;
    background: rgba(4, 25, 67, 0.44);
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.48;
    backdrop-filter: blur(14px);
}

.patronage-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.patronage-stat {
    min-height: 8.5rem;
    padding: 0.92rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(12px);
}

.patronage-stat strong {
    display: block;
    color: #ffffff;
    font-family: var(--cg-font-menu);
    font-size: 1.56rem;
    font-weight: 920;
    line-height: 1;
}

.patronage-stat span {
    display: block;
    margin-top: 0.35rem;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 760;
    line-height: 1.2;
}

.patronage-stat em {
    display: block;
    margin-top: 0.44rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.82rem;
    font-style: normal;
    line-height: 1.32;
}

.patronage-benefits,
.patronage-offer,
.patronage-process,
.patronage-requirements {
    padding-block: clamp(2.6rem, 5vw, 5rem);
}

.patronage-section-head {
    max-width: 45rem;
}

.patronage-section-head--center {
    max-width: 54rem;
    margin-inline: auto;
    text-align: center;
}

.patronage-section-head h2,
.patronage-requirements h2,
.patronage-highlight h2,
.patronage-cta h2 {
    color: var(--patronage-ink);
    font-size: 3.1rem;
}

.patronage-section-head p,
.patronage-requirements__copy p,
.patronage-highlight p,
.patronage-cta p {
    margin-top: 0.9rem;
    color: var(--patronage-soft);
    font-size: 1.07rem;
    line-height: 1.58;
}

.patronage-benefits__inner {
    display: grid;
    gap: clamp(1.5rem, 3vw, 2.4rem);
}

.patronage-benefits__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.85rem;
}

.patronage-benefit {
    position: relative;
    min-height: 15.5rem;
    padding: 1.05rem;
    overflow: hidden;
    border: 1px solid var(--patronage-line);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.9);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.patronage-benefit::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 0.24rem;
    background: linear-gradient(90deg, var(--patronage-blue), var(--patronage-sky));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 180ms ease;
}

.patronage-benefit:hover {
    transform: translateY(-0.18rem);
    border-color: rgba(8, 73, 162, 0.28);
    box-shadow: 0 18px 38px rgba(8, 73, 162, 0.1);
}

.patronage-benefit:hover::after {
    transform: scaleX(1);
}

.patronage-benefit__icon,
.patronage-highlight__icon {
    display: inline-flex;
    width: 2.65rem;
    height: 2.65rem;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: var(--patronage-sky);
    color: var(--patronage-blue);
}

.patronage-benefit h3 {
    margin: 1rem 0 0;
    color: var(--patronage-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.12rem;
    font-weight: 860;
    letter-spacing: 0;
    line-height: 1.12;
}

.patronage-benefit p {
    margin: 0.62rem 0 0;
    color: var(--patronage-soft);
    font-size: 0.94rem;
    line-height: 1.48;
}

.patronage-gallery {
    padding: 0 0 clamp(2.8rem, 5vw, 5rem);
}

.patronage-gallery__inner {
    display: grid;
    grid-template-columns: 1.18fr 0.82fr;
    grid-template-rows: repeat(2, minmax(12rem, 1fr));
    gap: 0.9rem;
}

.patronage-gallery__item {
    min-height: 16rem;
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    background: var(--patronage-sky);
}

.patronage-gallery__item--1 {
    grid-row: 1 / span 2;
}

.patronage-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 520ms ease;
}

.patronage-gallery__item:hover img {
    transform: scale(1.04);
}

/* Patronage page v2 offer expansion */
.patronage-offer {
    background:
        linear-gradient(90deg, rgba(8, 73, 162, 0.06) 1px, transparent 1px),
        linear-gradient(180deg, rgba(214, 233, 254, 0.48), #ffffff);
    background-size: 4rem 100%, auto;
}

.patronage-offer__columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: clamp(1.35rem, 3vw, 2.2rem);
}

.patronage-offer-list {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    padding: 1.25rem;
    border: 1px solid var(--patronage-line);
    border-radius: 0;
    background: #ffffff;
}

.patronage-offer-list h3 {
    margin: 0 0 1rem;
    color: var(--patronage-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.42rem;
    font-weight: 900;
    letter-spacing: 0;
}

.patronage-offer-list ul,
.patronage-requirements__list {
    display: grid;
    gap: 0.72rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.patronage-offer-list li,
.patronage-requirements__list li {
    display: grid;
    grid-template-columns: 1.9rem minmax(0, 1fr);
    gap: 0.7rem;
    align-items: start;
    color: var(--patronage-soft);
    line-height: 1.42;
}

.patronage-offer-list li span,
.patronage-requirements__list li span {
    display: inline-flex;
    width: 1.9rem;
    height: 1.9rem;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: rgba(214, 233, 254, 0.7);
    color: var(--patronage-blue);
}

.patronage-organizer-benefits {
    margin-top: clamp(1.6rem, 3vw, 2.5rem);
    padding-top: clamp(1.4rem, 3vw, 2rem);
    border-top: 1px solid rgba(8, 73, 162, 0.16);
}

.patronage-offer-subhead {
    max-width: 56rem;
}

.patronage-offer-subhead h3 {
    margin: 0;
    color: var(--patronage-ink);
    font-family: var(--cg-font-menu);
    font-size: 2.35rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
}

.patronage-offer-subhead p {
    max-width: 48rem;
    margin: 0.75rem 0 0;
    color: var(--patronage-soft);
    font-size: 1.03rem;
    line-height: 1.56;
}

.patronage-organizer-benefits__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: clamp(1.15rem, 2.4vw, 1.65rem);
}

.patronage-organizer-benefit {
    min-height: 13rem;
    padding: 1rem;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.78);
}

.patronage-organizer-benefit__icon {
    display: inline-flex;
    width: 2.4rem;
    height: 2.4rem;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: #ffffff;
    color: var(--patronage-blue);
}

.patronage-organizer-benefit h4 {
    margin: 0.85rem 0 0;
    color: var(--patronage-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.04rem;
    font-weight: 880;
    letter-spacing: 0;
    line-height: 1.12;
}

.patronage-organizer-benefit p {
    margin: 0.55rem 0 0;
    color: var(--patronage-soft);
    font-size: 0.92rem;
    line-height: 1.45;
}

.patronage-process__inner {
    display: grid;
    gap: clamp(1.35rem, 3vw, 2.3rem);
}

.patronage-process__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--patronage-line);
    border-left: 1px solid var(--patronage-line);
}

.patronage-step {
    min-height: 15rem;
    padding: 1.1rem;
    border-right: 1px solid var(--patronage-line);
    border-bottom: 1px solid var(--patronage-line);
    background: rgba(255, 255, 255, 0.72);
}

.patronage-step__number {
    display: block;
    color: var(--patronage-blue);
    font-family: var(--cg-font-menu);
    font-size: 2.4rem;
    font-weight: 920;
    line-height: 1;
}

.patronage-step h3 {
    margin: 1.1rem 0 0;
    color: var(--patronage-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.18rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.15;
}

.patronage-step p {
    margin: 0.7rem 0 0;
    color: var(--patronage-soft);
    font-size: 0.95rem;
    line-height: 1.48;
}

.patronage-requirements {
    background: #ffffff;
}

.patronage-requirements__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start;
}

.patronage-requirements__list {
    padding: 1.15rem;
    border: 1px solid var(--patronage-line);
    border-radius: 0;
    background: rgba(244, 249, 255, 0.86);
}

.patronage-highlight {
    padding-bottom: clamp(2.6rem, 5vw, 5rem);
}

.patronage-highlight__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding: clamp(1.2rem, 3vw, 2rem);
    border-radius: 0;
    background: var(--patronage-ink);
    color: #ffffff;
}

.patronage-highlight h2,
.patronage-highlight p {
    color: #ffffff;
}

.patronage-highlight p {
    color: rgba(255, 255, 255, 0.82);
}

.patronage-cta {
    padding-block: clamp(2.5rem, 5vw, 4.5rem);
    background: #0849a2;
    color: #ffffff;
}

.patronage-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(1.2rem, 3vw, 2rem);
    align-items: center;
}

.patronage-cta h2,
.patronage-cta p {
    color: #ffffff;
}

.patronage-cta p {
    color: rgba(255, 255, 255, 0.86);
}

.patronage-cta__contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1rem;
}

.patronage-cta__contacts a {
    display: inline-flex;
    min-height: 2.9rem;
    align-items: center;
    gap: 0.55rem;
    padding: 0.64rem 0.82rem;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 0;
    color: #ffffff;
    font-weight: 780;
}

@keyframes patronage-hero-light {
    0%,
    100% {
        background-position: 0% 50%, 0 0;
    }

    50% {
        background-position: 100% 50%, 0 0;
    }
}

@media (max-width: 1180px) {
    .patronage-hero__inner,
    .patronage-benefits__grid,
    .patronage-offer__columns,
    .patronage-organizer-benefits__grid,
    .patronage-process__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .patronage-hero h1 {
        font-size: 3.8rem;
    }

    .patronage-hero__panel {
        align-self: stretch;
    }
}

@media (max-width: 860px) {
    .patronage-hero,
    .patronage-hero__inner {
        min-height: 0;
    }

    .patronage-hero__inner,
    .patronage-offer__columns,
    .patronage-organizer-benefits__grid,
    .patronage-requirements__inner,
    .patronage-cta__inner {
        grid-template-columns: 1fr;
    }

    .patronage-hero__inner {
        padding-block: 2.6rem 3rem;
    }

    .patronage-hero h1 {
        max-width: none;
        font-size: 3rem;
    }

    .patronage-hero__lead,
    .patronage-section-head p,
    .patronage-requirements__copy p,
    .patronage-highlight p,
    .patronage-cta p {
        font-size: 1rem;
    }

    .patronage-section-head h2,
    .patronage-offer-subhead h3,
    .patronage-requirements h2,
    .patronage-highlight h2,
    .patronage-cta h2 {
        font-size: 2.25rem;
    }

    .patronage-gallery__inner {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .patronage-gallery__item--1 {
        grid-row: auto;
    }

    .patronage-cta__inner > .patronage-button {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .patronage-hero__actions,
    .patronage-button,
    .patronage-cta__contacts,
    .patronage-cta__contacts a {
        width: 100%;
    }

    .patronage-stats,
    .patronage-benefits__grid,
    .patronage-organizer-benefits__grid,
    .patronage-process__steps {
        grid-template-columns: 1fr;
    }

    .patronage-hero h1 {
        font-size: 2.42rem;
    }

    .patronage-stat {
        min-height: 0;
    }

    .patronage-benefit,
    .patronage-organizer-benefit,
    .patronage-step {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .patronage-hero::before,
    .patronage-button,
    .patronage-benefit,
    .patronage-benefit::after,
    .patronage-gallery__item img {
        animation: none;
        transition: none;
    }
}

/* Advertising page v1 */
.advertising-page {
    --advertising-ink: #13284b;
    --advertising-text: #334b70;
    --advertising-muted: #637899;
    --advertising-blue: #0758b8;
    --advertising-sky: #d8efff;
    --advertising-accent: #e84d37;
    --advertising-soft: #edf7ff;
    --advertising-line: rgba(7, 88, 184, 0.16);
    background: #f7fbff;
    color: var(--advertising-text);
}

.advertising-page svg {
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.advertising-hero {
    position: relative;
    isolation: isolate;
    min-height: clamp(31rem, 70svh, 42rem);
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(9, 34, 72, 0.94) 0%, rgba(9, 34, 72, 0.82) 44%, rgba(9, 34, 72, 0.28) 100%),
        var(--advertising-hero-image) center / cover no-repeat;
    color: #ffffff;
}

.advertising-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 34%;
    background: linear-gradient(180deg, transparent, #f7fbff);
    z-index: -1;
}

.advertising-hero__inner {
    display: grid;
    min-height: clamp(31rem, 70svh, 42rem);
    grid-template-columns: minmax(0, 0.95fr) minmax(18rem, 0.68fr);
    gap: clamp(1.5rem, 4vw, 4.2rem);
    align-items: center;
    padding-block: clamp(2.6rem, 5vw, 4.35rem);
}

.advertising-hero__copy {
    max-width: 56rem;
}

.advertising-eyebrow {
    display: inline-flex;
    margin: 0 0 1rem;
    padding: 0.42rem 0.66rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.11);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.82rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.advertising-hero h1,
.advertising-section-head h2,
.advertising-planner h2,
.advertising-cta h2 {
    margin: 0;
    font-family: var(--cg-font-menu);
    font-weight: 920;
    letter-spacing: 0;
    line-height: 0.98;
}

.advertising-hero h1 {
    max-width: 17ch;
    color: #ffffff;
    font-size: 3.65rem;
}

.advertising-hero__lead {
    max-width: 45rem;
    margin-top: 1.2rem;
    color: rgba(255, 255, 255, 0.86);
    font-size: 1.14rem;
    line-height: 1.62;
}

.advertising-hero__lead p,
.advertising-section-head p,
.advertising-planner p,
.advertising-cta p {
    margin: 0;
}

.advertising-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.72rem;
    margin-top: 1.45rem;
}

.advertising-button {
    display: inline-flex;
    min-height: 3.15rem;
    align-items: center;
    justify-content: center;
    padding: 0.72rem 1rem;
    border: 1px solid transparent;
    border-radius: 0;
    font-weight: 880;
    line-height: 1;
    text-decoration: none;
    transition: transform 170ms ease, border-color 170ms ease, background 170ms ease, color 170ms ease;
}

.advertising-button:hover {
    transform: translateY(-0.12rem);
}

.advertising-button--primary {
    background: #ffffff;
    color: var(--advertising-ink);
}

.advertising-button--ghost {
    border-color: rgba(255, 255, 255, 0.32);
    color: #ffffff;
}

.advertising-button--text {
    min-height: 3.15rem;
    padding-inline: 1rem;
    border-color: rgba(255, 255, 255, 0.32);
    color: #ffffff;
}

.advertising-button--light {
    background: #ffffff;
    color: var(--advertising-ink);
}

.advertising-proof {
    display: grid;
    gap: 0.65rem;
}

.advertising-proof__item {
    padding: 0.82rem 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(14px);
}

.advertising-proof__item strong {
    display: block;
    color: #ffffff;
    font-family: var(--cg-font-menu);
    font-size: 1.38rem;
    font-weight: 920;
    line-height: 1;
}

.advertising-proof__item span,
.advertising-proof__item em {
    display: block;
    margin-top: 0.36rem;
    color: rgba(255, 255, 255, 0.88);
    font-style: normal;
    line-height: 1.38;
}

.advertising-proof__item em {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.9rem;
}

.advertising-funnel {
    background: #ffffff;
}

.advertising-funnel__inner {
    display: grid;
    gap: clamp(1.4rem, 3vw, 2.2rem);
}

.advertising-funnel__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--advertising-line);
    border-left: 1px solid var(--advertising-line);
}

.advertising-funnel-step {
    display: flex;
    min-height: 15rem;
    flex-direction: column;
    padding: 1.05rem;
    border-right: 1px solid var(--advertising-line);
    border-bottom: 1px solid var(--advertising-line);
    background: linear-gradient(180deg, rgba(216, 239, 255, 0.48), rgba(255, 255, 255, 0));
}

.advertising-funnel-step__number {
    color: var(--advertising-blue);
    font-family: var(--cg-font-menu);
    font-size: 2.2rem;
    font-weight: 920;
    line-height: 1;
}

.advertising-funnel-step a {
    width: fit-content;
    margin-top: auto;
    padding-top: 1rem;
    color: var(--advertising-blue);
    font-weight: 880;
    text-decoration: none;
}

.advertising-why,
.advertising-funnel,
.advertising-formats,
.advertising-packages,
.advertising-planner,
.advertising-process,
.advertising-faq {
    padding-block: clamp(2.8rem, 5vw, 5rem);
}

.advertising-section-head {
    max-width: 47rem;
}

.advertising-section-head--center {
    max-width: 54rem;
    margin-inline: auto;
    text-align: center;
}

.advertising-section-head h2,
.advertising-planner h2,
.advertising-cta h2 {
    color: var(--advertising-ink);
    font-size: 3.2rem;
}

.advertising-section-head p,
.advertising-planner p,
.advertising-cta p {
    margin-top: 0.9rem;
    color: var(--advertising-text);
    font-size: 1.07rem;
    line-height: 1.6;
}

.advertising-why__inner {
    display: grid;
    gap: clamp(1.5rem, 3vw, 2.4rem);
}

.advertising-why__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
}

.advertising-reason {
    min-height: 14rem;
    padding: 1.05rem;
    border: 1px solid var(--advertising-line);
    border-radius: 0;
    background: #ffffff;
    transition: transform 170ms ease, border-color 170ms ease;
}

.advertising-reason:hover {
    transform: translateY(-0.14rem);
    border-color: rgba(232, 77, 55, 0.42);
}

.advertising-reason__icon,
.advertising-format__icon,
.advertising-organizer-benefit__icon {
    display: inline-flex;
    width: 2.55rem;
    height: 2.55rem;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: var(--advertising-sky);
    color: var(--advertising-blue);
}

.advertising-reason h3,
.advertising-funnel-step h3,
.advertising-format h3,
.advertising-package h3,
.advertising-step h3,
.advertising-faq__item h3 {
    margin: 0;
    color: var(--advertising-ink);
    font-family: var(--cg-font-menu);
    font-weight: 880;
    letter-spacing: 0;
    line-height: 1.13;
}

.advertising-reason h3 {
    margin-top: 1rem;
    font-size: 1.14rem;
}

.advertising-funnel-step h3 {
    margin-top: 1rem;
    font-size: 1.2rem;
}

.advertising-reason p,
.advertising-funnel-step p,
.advertising-format p,
.advertising-package p,
.advertising-step p,
.advertising-faq__item p {
    margin: 0.65rem 0 0;
    color: var(--advertising-text);
    line-height: 1.5;
}

.advertising-formats {
    background:
        linear-gradient(90deg, rgba(7, 88, 184, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, #eef8ff, #ffffff);
    background-size: 4rem 100%, auto;
}

.advertising-formats__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: clamp(1.4rem, 3vw, 2.3rem);
}

.advertising-format {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--advertising-line);
    border-radius: 0;
    background: #ffffff;
}

.advertising-format__media {
    height: 10.5rem;
    margin: 0;
    overflow: hidden;
    background: var(--advertising-sky);
}

.advertising-format__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 480ms ease;
}

.advertising-format:hover .advertising-format__media img {
    transform: scale(1.04);
}

.advertising-format__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.05rem;
}

.advertising-format h3 {
    margin-top: 0.95rem;
    font-size: 1.45rem;
}

.advertising-format__best {
    padding-top: 0.65rem;
    border-top: 1px solid rgba(7, 88, 184, 0.12);
    color: var(--advertising-muted);
    font-size: 0.94rem;
}

.advertising-format__foot {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 1rem;
}

.advertising-format__foot strong {
    color: var(--advertising-accent);
    font-family: var(--cg-font-menu);
    font-size: 1.02rem;
    font-weight: 900;
}

.advertising-format__foot a {
    color: var(--advertising-blue);
    font-weight: 840;
    text-decoration: none;
}

.advertising-packages {
    background: #ffffff;
}

.advertising-packages__inner {
    display: grid;
    gap: clamp(1.35rem, 3vw, 2.2rem);
}

.advertising-packages__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
}

.advertising-package {
    display: flex;
    min-height: 24rem;
    flex-direction: column;
    padding: 1.05rem;
    border: 1px solid var(--advertising-line);
    border-radius: 0;
    background: #ffffff;
    box-shadow: 0 0.9rem 2.1rem rgba(19, 40, 75, 0.06);
}

.advertising-package__top {
    display: grid;
    gap: 0.8rem;
}

.advertising-package h3 {
    font-size: 1.18rem;
}

.advertising-package__top strong {
    color: var(--advertising-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.75rem;
    font-weight: 920;
    line-height: 1;
}

.advertising-package ul,
.advertising-planner__list {
    display: grid;
    gap: 0.65rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.advertising-package li,
.advertising-planner__list li {
    display: grid;
    grid-template-columns: 1.75rem minmax(0, 1fr);
    gap: 0.58rem;
    align-items: start;
    color: var(--advertising-text);
    line-height: 1.42;
}

.advertising-package li span,
.advertising-planner__list li span {
    display: inline-flex;
    width: 1.75rem;
    height: 1.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: var(--advertising-sky);
    color: var(--advertising-blue);
}

.advertising-package p {
    margin-top: auto;
    padding-top: 1rem;
    color: var(--advertising-muted);
    font-size: 0.92rem;
}

.advertising-packages-help {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--advertising-line);
    border-radius: 0;
    background: #f7fbff;
}

.advertising-packages-help h3 {
    margin: 0;
    color: var(--advertising-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.22rem;
    font-weight: 900;
    letter-spacing: 0;
}

.advertising-packages-help p {
    max-width: 46rem;
    margin: 0.35rem 0 0;
    color: var(--advertising-text);
    line-height: 1.5;
}

.advertising-packages-help__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    justify-content: flex-end;
}

.advertising-packages-help__actions a {
    display: inline-flex;
    min-height: 2.85rem;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 0.95rem;
    border: 1px solid var(--advertising-blue);
    border-radius: 0;
    color: var(--advertising-blue);
    font-weight: 860;
    text-decoration: none;
}

.advertising-packages-help__actions a:first-child {
    background: var(--advertising-blue);
    color: #ffffff;
}

.advertising-planner {
    background:
        linear-gradient(90deg, rgba(7, 88, 184, 0.06) 1px, transparent 1px),
        linear-gradient(180deg, var(--advertising-soft), #ffffff);
    background-size: 4rem 100%, auto;
}

.advertising-planner__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start;
}

.advertising-planner__list {
    margin: 0;
    padding: 1.15rem;
    border: 1px solid var(--advertising-line);
    border-radius: 0;
    background: #ffffff;
}

.advertising-process__inner {
    display: grid;
    gap: clamp(1.35rem, 3vw, 2.2rem);
}

.advertising-process__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--advertising-line);
    border-left: 1px solid var(--advertising-line);
}

.advertising-step {
    min-height: 15rem;
    padding: 1.1rem;
    border-right: 1px solid var(--advertising-line);
    border-bottom: 1px solid var(--advertising-line);
    background: rgba(255, 255, 255, 0.78);
}

.advertising-step__number {
    display: block;
    color: var(--advertising-accent);
    font-family: var(--cg-font-menu);
    font-size: 2.4rem;
    font-weight: 920;
    line-height: 1;
}

.advertising-step h3 {
    margin-top: 1.1rem;
    font-size: 1.18rem;
}

.advertising-faq {
    background: #ffffff;
}

.advertising-faq__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(1.4rem, 4vw, 4rem);
    align-items: start;
}

.advertising-faq__items {
    display: grid;
    gap: 0.8rem;
}

.advertising-faq__item {
    padding: 1rem;
    border: 1px solid var(--advertising-line);
    border-radius: 0;
    background: #f8fbff;
}

.advertising-faq__item h3 {
    font-size: 1.08rem;
}

.advertising-cta {
    padding-block: clamp(2.5rem, 5vw, 4.5rem);
    background: var(--advertising-ink);
    color: #ffffff;
}

.advertising-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(1.2rem, 3vw, 2rem);
    align-items: center;
}

.advertising-cta h2,
.advertising-cta p {
    color: #ffffff;
}

.advertising-cta p {
    color: rgba(255, 255, 255, 0.86);
}

.advertising-cta__contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1rem;
}

.advertising-cta__contacts a {
    display: inline-flex;
    min-height: 2.9rem;
    align-items: center;
    gap: 0.55rem;
    padding: 0.64rem 0.82rem;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 0;
    color: #ffffff;
    font-weight: 780;
    text-decoration: none;
}

@media (max-width: 1180px) {
    .advertising-hero__inner,
    .advertising-why__grid,
    .advertising-funnel__steps,
    .advertising-formats__grid,
    .advertising-packages__grid,
    .advertising-process__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .advertising-hero h1 {
        font-size: 3rem;
    }
}

@media (max-width: 860px) {
    .advertising-hero,
    .advertising-hero__inner {
        min-height: 0;
    }

    .advertising-hero__inner,
    .advertising-planner__inner,
    .advertising-faq__inner,
    .advertising-packages-help,
    .advertising-cta__inner {
        grid-template-columns: 1fr;
    }

    .advertising-hero__inner {
        padding-block: 3rem;
    }

    .advertising-hero h1 {
        max-width: none;
        font-size: 3rem;
    }

    .advertising-proof {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .advertising-hero__lead,
    .advertising-section-head p,
    .advertising-planner p,
    .advertising-cta p {
        font-size: 1rem;
    }

    .advertising-section-head h2,
    .advertising-planner h2,
    .advertising-cta h2 {
        font-size: 2.28rem;
    }

    .advertising-cta__inner > .advertising-button {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .advertising-hero__actions,
    .advertising-button,
    .advertising-packages-help__actions,
    .advertising-packages-help__actions a,
    .advertising-cta__contacts,
    .advertising-cta__contacts a {
        width: 100%;
    }

    .advertising-proof,
    .advertising-why__grid,
    .advertising-funnel__steps,
    .advertising-formats__grid,
    .advertising-packages__grid,
    .advertising-process__steps {
        grid-template-columns: 1fr;
    }

    .advertising-hero h1 {
        font-size: 2.28rem;
    }

    .advertising-reason,
    .advertising-package,
    .advertising-step {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .advertising-button,
    .advertising-reason,
    .advertising-format__media img {
        transition: none;
    }
}

/* Advertising detail pages v1 */
.ad-detail-page {
    --ad-detail-ink: #13284b;
    --ad-detail-text: #334b70;
    --ad-detail-muted: #687b99;
    --ad-detail-blue: #0758b8;
    --ad-detail-sky: #d8efff;
    --ad-detail-accent: #e84d37;
    --ad-detail-line: rgba(7, 88, 184, 0.16);
    background: #f7fbff;
    color: var(--ad-detail-text);
}

.ad-detail-page svg {
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.ad-detail-hero {
    position: relative;
    overflow: hidden;
    padding-block: clamp(2.6rem, 5vw, 4.4rem) clamp(1.3rem, 3vw, 2rem);
    background:
        linear-gradient(90deg, rgba(7, 88, 184, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, #eef8ff, #ffffff);
    background-size: 4rem 100%, auto;
}

.ad-detail-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(18rem, 0.72fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: center;
}

.ad-detail-back,
.ad-detail-kicker {
    font-family: var(--cg-font-menu);
    font-size: 0.85rem;
    font-weight: 900;
    letter-spacing: 0;
}

.ad-detail-back {
    display: inline-flex;
    margin-bottom: 1rem;
    color: var(--ad-detail-blue);
    text-decoration: none;
}

.ad-detail-kicker {
    margin: 0 0 0.65rem;
    color: var(--ad-detail-accent);
}

.ad-detail-hero h1,
.ad-detail-section-head h2,
.ad-detail-cta h2 {
    margin: 0;
    color: var(--ad-detail-ink);
    font-family: var(--cg-font-menu);
    font-weight: 920;
    letter-spacing: 0;
    line-height: 1.02;
}

.ad-detail-hero h1 {
    max-width: 22ch;
    font-size: 3.45rem;
}

.ad-detail-hero__lead {
    max-width: 45rem;
    margin-top: 1rem;
    font-size: 1.08rem;
    line-height: 1.62;
}

.ad-detail-hero__lead p,
.ad-detail-section-head p,
.ad-detail-cta p {
    margin: 0;
}

.ad-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.25rem;
}

.ad-detail-button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    padding: 0.72rem 1rem;
    border: 1px solid var(--ad-detail-blue);
    border-radius: 0;
    font-weight: 880;
    line-height: 1;
    text-decoration: none;
    transition: transform 170ms ease, background 170ms ease, color 170ms ease;
}

.ad-detail-button:hover {
    transform: translateY(-0.12rem);
}

.ad-detail-button--primary {
    background: var(--ad-detail-blue);
    color: #ffffff;
}

.ad-detail-button--ghost {
    background: #ffffff;
    color: var(--ad-detail-blue);
}

.ad-detail-hero__media {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0 1.2rem 3rem rgba(19, 40, 75, 0.14);
}

.ad-detail-hero__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(19, 40, 75, 0.22));
    pointer-events: none;
}

.ad-detail-hero__media img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.ad-detail-proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: clamp(1.2rem, 3vw, 2rem);
}

.ad-detail-proof__item,
.ad-detail-reason,
.ad-detail-offer-card,
.ad-detail-support,
.ad-detail-step,
.ad-detail-faq__item {
    border: 1px solid var(--ad-detail-line);
    border-radius: 0;
    background: #ffffff;
}

.ad-detail-proof__item {
    padding: 1rem;
}

.ad-detail-proof__item strong {
    display: block;
    color: var(--ad-detail-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.48rem;
    font-weight: 920;
    line-height: 1;
}

.ad-detail-proof__item span,
.ad-detail-proof__item em {
    display: block;
    margin-top: 0.34rem;
    font-style: normal;
    line-height: 1.38;
}

.ad-detail-proof__item span {
    color: var(--ad-detail-text);
    font-weight: 820;
}

.ad-detail-proof__item em {
    color: var(--ad-detail-muted);
}

.ad-detail-path {
    border-block: 1px solid var(--ad-detail-line);
    background: #ffffff;
}

.ad-detail-path__inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ad-detail-path__item {
    display: grid;
    gap: 0.34rem;
    padding: 0.95rem 1rem;
    border-right: 1px solid var(--ad-detail-line);
    color: var(--ad-detail-text);
    text-decoration: none;
}

.ad-detail-path__item:last-child {
    border-right: 0;
}

.ad-detail-path__item span {
    color: var(--ad-detail-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 920;
}

.ad-detail-path__item strong {
    color: var(--ad-detail-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0;
}

.ad-detail-path__item em {
    color: var(--ad-detail-muted);
    font-style: normal;
    line-height: 1.36;
}

.ad-detail-best,
.ad-detail-seo,
.ad-detail-visuals,
.ad-detail-offer,
.ad-detail-included,
.ad-detail-process,
.ad-detail-faq {
    padding-block: clamp(2.6rem, 5vw, 4.7rem);
}

.ad-detail-section-head {
    max-width: 48rem;
    margin-bottom: clamp(1.2rem, 3vw, 2rem);
}

.ad-detail-section-head--wide {
    max-width: 58rem;
}

.ad-detail-section-head h2,
.ad-detail-cta h2 {
    font-size: 2.55rem;
}

.ad-detail-section-head p,
.ad-detail-cta p {
    margin-top: 0.8rem;
    color: var(--ad-detail-text);
    font-size: 1.03rem;
    line-height: 1.62;
}

.ad-detail-best__grid,
.ad-detail-included__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.ad-detail-reason,
.ad-detail-support {
    padding: 1.15rem;
}

.ad-detail-reason > span,
.ad-detail-support > span {
    display: inline-flex;
    width: 2.45rem;
    height: 2.45rem;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: var(--ad-detail-sky);
    color: var(--ad-detail-blue);
    font-size: 1.12rem;
}

.ad-detail-reason h3,
.ad-detail-support h3,
.ad-detail-step h3,
.ad-detail-faq__item h3,
.ad-detail-offer-card h3 {
    margin: 0;
    color: var(--ad-detail-ink);
    font-family: var(--cg-font-menu);
    font-weight: 880;
    letter-spacing: 0;
    line-height: 1.15;
}

.ad-detail-reason h3,
.ad-detail-support h3 {
    margin-top: 0.95rem;
    font-size: 1.28rem;
}

.ad-detail-reason p,
.ad-detail-support p,
.ad-detail-step p,
.ad-detail-faq__item p,
.ad-detail-offer-card p,
.ad-detail-seo-card p,
.ad-detail-visual-card p {
    margin: 0.65rem 0 0;
    color: var(--ad-detail-text);
    line-height: 1.52;
}

.ad-detail-seo {
    background: #ffffff;
}

.ad-detail-seo__inner {
    display: grid;
    gap: clamp(1.2rem, 3vw, 2rem);
}

.ad-detail-seo__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.ad-detail-seo-card {
    padding-left: 1rem;
    border-left: 3px solid var(--ad-detail-blue);
}

.ad-detail-seo-card h3,
.ad-detail-visual-card h3 {
    margin: 0;
    color: var(--ad-detail-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.22rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.16;
}

.ad-detail-seo-card p + p {
    margin-top: 0.8rem;
}

.ad-detail-visuals {
    background:
        linear-gradient(90deg, rgba(7, 88, 184, 0.045) 1px, transparent 1px),
        #f2f9ff;
    background-size: 4rem 100%, auto;
}

.ad-detail-visuals__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.ad-detail-visual-card {
    display: grid;
    gap: 0.95rem;
    padding: 1rem;
    border: 1px solid var(--ad-detail-line);
    border-radius: 0;
    background: #ffffff;
    box-shadow: 0 0.9rem 2.2rem rgba(19, 40, 75, 0.06);
}

.ad-detail-mock {
    position: relative;
    min-height: 12.8rem;
    overflow: hidden;
    border: 1px solid rgba(7, 88, 184, 0.14);
    border-radius: 0;
    background: #eef8ff;
}

.ad-detail-mock span {
    position: absolute;
    display: block;
    border-radius: 6px;
}

.ad-detail-mock__nav {
    inset: 0.7rem 0.7rem auto;
    height: 1rem;
    background: rgba(19, 40, 75, 0.18);
}

.ad-detail-mock__hero {
    inset: 2.25rem 0.7rem auto;
    height: 2.8rem;
    background: rgba(7, 88, 184, 0.13);
}

.ad-detail-mock__content {
    background: rgba(19, 40, 75, 0.1);
}

.ad-detail-mock__content--a {
    left: 0.7rem;
    right: 0.7rem;
    top: 5.7rem;
    height: 1.15rem;
}

.ad-detail-mock__content--b {
    left: 0.7rem;
    width: 56%;
    top: 7.35rem;
    height: 1.15rem;
}

.ad-detail-mock__content--c {
    left: 0.7rem;
    right: 0.7rem;
    bottom: 0.75rem;
    height: 2.5rem;
}

.ad-detail-mock__phone,
.ad-detail-mock__paper {
    display: none;
}

.ad-detail-mock__ad {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.1rem;
    padding: 0.35rem 0.55rem;
    background: var(--ad-detail-blue);
    color: #ffffff;
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0;
    text-align: center;
}

.ad-detail-mock--home-top .ad-detail-mock__ad {
    left: 0.7rem;
    right: 0.7rem;
    top: 2.55rem;
}

.ad-detail-mock--home-bottom .ad-detail-mock__ad {
    left: 0.7rem;
    right: 0.7rem;
    bottom: 0.9rem;
}

.ad-detail-mock--article-global .ad-detail-mock__ad,
.ad-detail-mock--article-single .ad-detail-mock__ad {
    top: 5.55rem;
    right: 0.7rem;
    width: 32%;
    min-height: 4.7rem;
}

.ad-detail-mock--article-single .ad-detail-mock__ad {
    background: var(--ad-detail-accent);
}

.ad-detail-mock--events .ad-detail-mock__ad,
.ad-detail-mock--section .ad-detail-mock__ad {
    left: 0.7rem;
    right: 0.7rem;
    top: 5.55rem;
}

.ad-detail-mock--section .ad-detail-mock__ad {
    background: #13284b;
}

.ad-detail-mock--article-lead .ad-detail-mock__ad {
    left: 0.7rem;
    right: 0.7rem;
    top: 2.6rem;
    background: #13284b;
}

.ad-detail-mock--article-body .ad-detail-mock__ad {
    left: 0.7rem;
    right: 0.7rem;
    top: 6.9rem;
}

.ad-detail-mock--article-social .ad-detail-mock__phone,
.ad-detail-mock--social-post .ad-detail-mock__phone,
.ad-detail-mock--social-story .ad-detail-mock__phone,
.ad-detail-mock--social-series .ad-detail-mock__phone {
    display: block;
    inset: 0.75rem auto 0.75rem 50%;
    width: 5.6rem;
    transform: translateX(-50%);
    border: 2px solid rgba(19, 40, 75, 0.26);
    background: #ffffff;
}

.ad-detail-mock--article-social .ad-detail-mock__ad,
.ad-detail-mock--social-post .ad-detail-mock__ad,
.ad-detail-mock--social-story .ad-detail-mock__ad,
.ad-detail-mock--social-series .ad-detail-mock__ad {
    left: 50%;
    top: 4.2rem;
    width: 4.2rem;
    min-height: 3.4rem;
    transform: translateX(-50%);
}

.ad-detail-mock--social-story .ad-detail-mock__ad {
    top: 2.3rem;
    min-height: 7.7rem;
}

.ad-detail-mock--social-series .ad-detail-mock__ad {
    width: 6.7rem;
    min-height: 2.35rem;
}

.ad-detail-mock--newspaper-module .ad-detail-mock__paper,
.ad-detail-mock--newspaper-article .ad-detail-mock__paper,
.ad-detail-mock--newspaper-online .ad-detail-mock__paper {
    display: block;
    inset: 0.75rem 1.2rem;
    border: 1px solid rgba(19, 40, 75, 0.2);
    background:
        linear-gradient(90deg, transparent 0 48%, rgba(19, 40, 75, 0.08) 48% 50%, transparent 50%),
        #ffffff;
}

.ad-detail-mock--newspaper-module .ad-detail-mock__ad,
.ad-detail-mock--newspaper-article .ad-detail-mock__ad,
.ad-detail-mock--newspaper-online .ad-detail-mock__ad {
    left: 1.7rem;
    right: 1.7rem;
    bottom: 1.55rem;
    background: #13284b;
}

.ad-detail-mock--newspaper-article .ad-detail-mock__ad {
    top: 4rem;
    bottom: auto;
}

.ad-detail-mock--newspaper-online .ad-detail-mock__ad {
    background: var(--ad-detail-blue);
}

.ad-detail-offer {
    background: #ffffff;
}

.ad-detail-offer-note {
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--ad-detail-line);
    border-radius: 0;
    background: #f2f9ff;
    color: var(--ad-detail-blue);
    font-weight: 780;
}

.ad-detail-offer__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.ad-detail-page--banner .ad-detail-offer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ad-detail-offer-card {
    display: grid;
    min-height: 100%;
    overflow: hidden;
    padding: 0;
    background:
        linear-gradient(180deg, rgba(216, 239, 255, 0.55), rgba(255, 255, 255, 0) 44%),
        #ffffff;
    box-shadow: 0 1rem 2.6rem rgba(19, 40, 75, 0.07);
}

.ad-detail-offer-card__visual {
    border-bottom: 1px solid var(--ad-detail-line);
    background: #eef8ff;
}

.ad-detail-offer-card__visual .ad-detail-mock {
    min-height: 13.5rem;
    border: 0;
    border-radius: 0;
}

.ad-detail-offer-card__body {
    display: flex;
    min-height: 17rem;
    flex-direction: column;
    padding: 1.05rem;
}

.ad-detail-offer-card__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.62rem 0.8rem;
    align-items: start;
}

.ad-detail-offer-card__top span {
    display: inline-flex;
    grid-column: 1 / -1;
    width: fit-content;
    padding: 0.34rem 0.55rem;
    border-radius: 0;
    background: rgba(7, 88, 184, 0.1);
    color: var(--ad-detail-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 900;
}

.ad-detail-offer-card h3 {
    font-size: 1.28rem;
}

.ad-detail-offer-card strong {
    color: var(--ad-detail-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.35rem;
    font-weight: 920;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
}

.ad-detail-offer-card ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem 0.7rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.ad-detail-offer-card li {
    display: grid;
    grid-template-columns: 1.45rem minmax(0, 1fr);
    gap: 0.52rem;
    align-items: start;
    color: var(--ad-detail-text);
    font-size: 0.94rem;
    line-height: 1.42;
}

.ad-detail-offer-card li span {
    display: inline-flex;
    width: 1.45rem;
    height: 1.45rem;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: var(--ad-detail-sky);
    color: var(--ad-detail-blue);
}

.ad-detail-related {
    padding-block: clamp(2.6rem, 5vw, 4.6rem);
    background: #ffffff;
}

.ad-detail-related__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.ad-detail-related-card {
    display: grid;
    gap: 0.55rem;
    padding: 1rem;
    border: 1px solid var(--ad-detail-line);
    border-radius: 0;
    background: #f7fbff;
    color: var(--ad-detail-text);
    text-decoration: none;
}

.ad-detail-related-card h3 {
    margin: 0;
    color: var(--ad-detail-ink);
    font-family: var(--cg-font-menu);
    font-size: 1.18rem;
    font-weight: 900;
    letter-spacing: 0;
}

.ad-detail-related-card p {
    margin: 0;
    line-height: 1.45;
}

.ad-detail-related-card span {
    color: var(--ad-detail-blue);
    font-weight: 860;
}

.ad-detail-included {
    background:
        linear-gradient(90deg, rgba(7, 88, 184, 0.05) 1px, transparent 1px),
        #f2f9ff;
    background-size: 4rem 100%, auto;
}

.ad-detail-included__inner {
    display: grid;
    gap: 0.5rem;
}

.ad-detail-process__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.ad-detail-step {
    padding: 1.15rem;
}

.ad-detail-step__number {
    display: block;
    margin-bottom: 1rem;
    color: var(--ad-detail-accent);
    font-family: var(--cg-font-menu);
    font-size: 2rem;
    font-weight: 920;
    line-height: 1;
}

.ad-detail-faq {
    background: #ffffff;
}

.ad-detail-faq__inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.ad-detail-faq__item {
    padding: 1.1rem;
}

.ad-detail-cta {
    padding-block: clamp(2.6rem, 5vw, 4.6rem);
    background: var(--ad-detail-ink);
    color: #ffffff;
}

.ad-detail-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(1.3rem, 3vw, 2.4rem);
    align-items: center;
}

.ad-detail-cta h2,
.ad-detail-cta p {
    color: #ffffff;
}

.ad-detail-cta p {
    color: rgba(255, 255, 255, 0.86);
}

.ad-detail-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    justify-content: flex-end;
}

.ad-detail-cta__actions > a:not(.ad-detail-button) {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    padding: 0.72rem 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 0;
    color: #ffffff;
    font-weight: 820;
    text-decoration: none;
}

@media (max-width: 1080px) {
    .ad-detail-hero__inner,
    .ad-detail-best__grid,
    .ad-detail-seo__grid,
    .ad-detail-visuals__grid,
    .ad-detail-included__grid,
    .ad-detail-path__inner,
    .ad-detail-offer__grid,
    .ad-detail-page--banner .ad-detail-offer__grid,
    .ad-detail-process__grid,
    .ad-detail-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ad-detail-offer-card ul {
        grid-template-columns: 1fr;
    }

    .ad-detail-hero h1 {
        font-size: 3rem;
    }
}

@media (max-width: 760px) {
    .ad-detail-hero__inner,
    .ad-detail-proof,
    .ad-detail-best__grid,
    .ad-detail-seo__grid,
    .ad-detail-visuals__grid,
    .ad-detail-included__grid,
    .ad-detail-path__inner,
    .ad-detail-offer__grid,
    .ad-detail-page--banner .ad-detail-offer__grid,
    .ad-detail-process__grid,
    .ad-detail-related__grid,
    .ad-detail-faq__inner,
    .ad-detail-cta__inner {
        grid-template-columns: 1fr;
    }

    .ad-detail-offer-card__top {
        grid-template-columns: 1fr;
    }

    .ad-detail-offer-card strong {
        text-align: left;
        white-space: normal;
    }

    .ad-detail-hero h1 {
        max-width: none;
        font-size: 2.28rem;
    }

    .ad-detail-section-head h2,
    .ad-detail-cta h2 {
        font-size: 2.1rem;
    }

    .ad-detail-actions,
    .ad-detail-button,
    .ad-detail-cta__actions,
    .ad-detail-cta__actions > a {
        width: 100%;
    }

    .ad-detail-cta__actions {
        justify-content: stretch;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ad-detail-button {
        transition: none;
    }
}

/* Events archive and single v1 */
.cg-events-page {
    --cg-events-navy: #0849a2;
    --cg-events-blue: #0a64c9;
    --cg-events-red: #0849a2;
    --cg-events-ice: #edf7ff;
    --cg-events-sky: #d6e9fe;
    --cg-events-line: rgba(8, 73, 162, 0.14);
    --cg-events-text: #11284f;
    --cg-events-muted: rgba(17, 40, 79, 0.68);
    --cg-events-shadow: 0 1.4rem 3.2rem rgba(8, 73, 162, 0.12);
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 248, 255, 0.96) 28%, #ffffff 78%);
    color: var(--cg-events-text);
}

.cg-events-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 18%, rgba(214, 233, 254, 0.72), transparent 32rem),
        linear-gradient(120deg, #073f8d 0%, #0849a2 46%, #0b74d1 100%);
    color: var(--cg-white);
}

.cg-events-hero::before,
.cg-events-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.cg-events-hero::before {
    background-image:
        linear-gradient(90deg, rgba(255, 255, 255, 0.11) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.11) 1px, transparent 1px);
    background-size: 4.2rem 4.2rem;
    mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent);
    opacity: 0.42;
    animation: cg-events-grid-drift 24s ease-in-out infinite;
}

.cg-events-hero::after {
    inset: auto 0 0;
    height: 42%;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.18));
}

.cg-events-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.42fr);
    gap: clamp(1.4rem, 4vw, 3.8rem);
    align-items: center;
    min-height: 24rem;
    padding-block: clamp(2.6rem, 6vw, 5.4rem);
}

.cg-events-hero__copy {
    max-width: 52rem;
}

.cg-events-eyebrow {
    margin: 0 0 0.62rem;
    color: inherit;
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.cg-events-hero .cg-events-eyebrow {
    color: rgba(255, 255, 255, 0.74);
}

.cg-events-hero h1 {
    max-width: 11ch;
    margin: 0;
    font-family: var(--cg-font-menu);
    font-size: 4rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    overflow-wrap: break-word;
    text-wrap: balance;
}

.cg-events-hero p:not(.cg-events-eyebrow) {
    max-width: 42rem;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.06rem;
    line-height: 1.62;
}

.cg-events-hero__actions,
.cg-events-filters__actions,
.cg-events-empty__actions,
.cg-event-single__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-top: 1.35rem;
}

.cg-events-button,
.cg-events-filters__actions button,
.cg-events-filters__actions a,
.cg-event-card__link,
.cg-events-results__header a,
.cg-event-single__back,
.cg-event-organizer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.8rem;
    padding: 0.74rem 1rem;
    border: 1px solid transparent;
    border-radius: 0;
    font-family: var(--cg-font-menu);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-decoration: none;
    transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.cg-events-button--primary,
.cg-events-filters__actions button,
.cg-event-card__link,
.cg-events-results__header a {
    border-color: rgba(8, 73, 162, 0.18);
    background-color: var(--cg-brand-100);
    background-image: none;
    color: var(--cg-events-navy);
}

.cg-events-button--light,
.cg-events-filters__actions a,
.cg-event-single__back,
.cg-event-organizer a {
    border-color: rgba(8, 73, 162, 0.18);
    background-color: var(--cg-brand-100);
    color: var(--cg-events-navy);
}

.cg-events-button:hover,
.cg-events-filters__actions button:hover,
.cg-events-filters__actions a:hover,
.cg-event-card__link:hover,
.cg-events-results__header a:hover,
.cg-event-single__back:hover,
.cg-event-organizer a:hover {
    transform: translateY(-2px);
    border-color: var(--cg-events-navy);
    background-color: var(--cg-events-navy);
    background-image: none;
    color: var(--cg-white);
    background-position: 0 0;
    box-shadow: 0 1rem 2.1rem rgba(8, 73, 162, 0.18);
}

.cg-events-button--primary:hover,
.cg-events-filters__actions button:hover,
.cg-event-card__link:hover,
.cg-events-results__header a:hover {
    color: var(--cg-white);
}

.cg-events-button--light:hover,
.cg-events-filters__actions a:hover,
.cg-event-single__back:hover,
.cg-event-organizer a:hover {
    background-color: var(--cg-events-navy);
    color: var(--cg-white);
    border-color: var(--cg-events-navy);
}

.cg-events-next-card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    min-height: 16.8rem;
    align-content: end;
    overflow: hidden;
    padding: clamp(1rem, 2vw, 1.4rem);
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 0;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.08)),
        linear-gradient(135deg, rgba(214, 233, 254, 0.2), rgba(255, 255, 255, 0.02));
    color: var(--cg-white);
    text-decoration: none;
    box-shadow: 0 1.3rem 3.4rem rgba(0, 22, 65, 0.22);
}

.cg-events-next-card::before {
    content: "";
    position: absolute;
    inset: auto -15% -24% -15%;
    height: 42%;
    background:
        radial-gradient(ellipse at 24% 50%, rgba(255, 255, 255, 0.38), transparent 34%),
        linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    opacity: 0.76;
    transform: translateX(-8%);
    animation: cg-events-wave 8s ease-in-out infinite;
}

.cg-events-next-card > * {
    position: relative;
    z-index: 1;
}

.cg-events-next-card__label {
    grid-column: 1 / -1;
    align-self: start;
    width: fit-content;
    padding: 0.42rem 0.62rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.78);
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 850;
    text-transform: uppercase;
}

.cg-events-next-card__date,
.cg-event-card__date,
.cg-event-single__date {
    display: grid;
    flex: 0 0 auto;
    width: 4.8rem;
    min-height: 4.8rem;
    place-items: center;
    border-radius: 0;
    background: var(--cg-event-category-soft, var(--cg-events-sky));
    color: var(--cg-event-category-text, var(--cg-events-navy));
    text-align: center;
}

.cg-events-next-card__date strong,
.cg-event-card__date strong,
.cg-event-single__date strong {
    display: block;
    font-family: var(--cg-font-menu);
    font-size: 1.8rem;
    line-height: 0.95;
}

.cg-events-next-card__date span,
.cg-event-card__date span,
.cg-event-single__date span {
    display: block;
    font-size: 0.74rem;
    font-weight: 850;
    text-transform: uppercase;
}

.cg-events-next-card__body {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.cg-events-next-card__body span {
    color: rgba(255, 255, 255, 0.72);
    font-weight: 850;
}

.cg-events-next-card__body strong,
.cg-events-next-card--empty strong {
    font-family: var(--cg-font-menu);
    font-size: 1.32rem;
    line-height: 1.08;
}

.cg-events-next-card__body small,
.cg-events-next-card--empty small {
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.5;
}

.cg-events-next-card--empty {
    grid-template-columns: 1fr;
    align-content: center;
}

.cg-events-archive__body {
    display: grid;
    gap: clamp(1.1rem, 2.6vw, 2rem);
    padding-block: clamp(1.4rem, 4vw, 3rem) clamp(2.2rem, 5vw, 4.5rem);
}

.cg-events-filters,
.cg-events-empty,
.cg-events-guide,
.cg-event-single__summary,
.cg-event-single__section {
    border: 1px solid var(--cg-events-line);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--cg-events-shadow);
}

.cg-events-filters {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 2.4vw, 1.45rem);
}

.cg-events-filters__top {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(15rem, 0.84fr);
    gap: 0.9rem;
}

.cg-events-filters label,
.cg-events-filters__fieldset {
    min-width: 0;
}

.cg-events-filters label {
    display: grid;
    gap: 0.44rem;
}

.cg-events-filters__top label > span,
.cg-events-filters__fieldset legend {
    color: var(--cg-events-muted);
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
}

.cg-events-filters input[type="text"],
.cg-events-filters select {
    width: 100%;
    min-width: 0;
    min-height: 2.9rem;
    padding: 0 0.82rem;
    border: 1px solid rgba(8, 73, 162, 0.16);
    background: var(--cg-white);
    color: var(--cg-events-text);
    font-family: var(--cg-font-body);
    font-size: 1rem;
    font-weight: 600;
}

.cg-events-filters input[type="text"]:focus,
.cg-events-filters select:focus {
    outline: 2px solid rgba(8, 73, 162, 0.24);
    outline-offset: 2px;
    border-color: rgba(8, 73, 162, 0.42);
}

.cg-events-filters__fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.cg-events-filters__fieldset legend {
    margin-bottom: 0.72rem;
}

.cg-events-filters__date-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.92fr);
    gap: 1rem;
    align-items: start;
}

.cg-events-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.cg-events-chip {
    position: relative;
    display: inline-flex;
}

.cg-events-chip input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.cg-events-chip span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.68rem;
    padding: 0.58rem 0.92rem;
    border: 1px solid rgba(8, 73, 162, 0.14);
    background: var(--cg-white);
    color: var(--cg-events-text);
    font-family: var(--cg-font-body);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1;
    transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.cg-events-chip:hover span {
    border-color: rgba(8, 73, 162, 0.3);
    background: rgba(237, 247, 255, 0.6);
}

.cg-events-chip input:checked + span {
    border-color: var(--cg-events-navy);
    background: rgba(8, 73, 162, 0.08);
    color: var(--cg-events-navy);
}

.cg-events-filters__actions {
    margin-top: 0;
}

.cg-events-results__header {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.cg-events-results__header h2,
.cg-events-guide h2,
.cg-event-single__summary h1,
.cg-event-single__section h2 {
    margin: 0;
    font-family: var(--cg-font-menu);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.06;
    text-wrap: balance;
}

.cg-events-results__header h2 {
    font-size: 2rem;
}

.cg-events-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.9rem, 2vw, 1.25rem);
}

.cg-event-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-white);
    box-shadow: 0 1rem 2.4rem rgba(8, 73, 162, 0.09);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.cg-event-card:hover {
    transform: translateY(-5px);
    border-color: rgba(8, 73, 162, 0.24);
    box-shadow: 0 1.5rem 3.2rem rgba(8, 73, 162, 0.16);
}

.cg-event-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--cg-events-ice);
    text-decoration: none;
}

.cg-event-card__img,
.cg-event-single__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 420ms ease;
}

.cg-event-card:hover .cg-event-card__img {
    transform: scale(1.05);
}

.cg-event-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background:
        linear-gradient(135deg, rgba(8, 73, 162, 0.14), rgba(214, 233, 254, 0.74)),
        linear-gradient(45deg, transparent 0 45%, rgba(255, 255, 255, 0.5) 45% 55%, transparent 55%);
}

.cg-event-placeholder span {
    display: grid;
    width: 4rem;
    height: 4rem;
    place-items: center;
    border-radius: 0;
    background: var(--cg-white);
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.cg-event-card__date {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    box-shadow: 0 0.8rem 1.6rem rgba(8, 73, 162, 0.16);
}

.cg-event-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.86rem;
    padding: 1rem;
}

.cg-event-card__badges,
.cg-event-single__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.46rem;
}

.cg-event-card__badges span,
.cg-event-single__badges span {
    display: inline-flex;
    align-items: center;
    min-height: 1.86rem;
    padding: 0.36rem 0.52rem;
    border-radius: 0;
    background: var(--cg-event-category-soft);
    color: var(--cg-event-category-text);
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 850;
    line-height: 1;
}

.cg-event-card__badges span + span,
.cg-event-single__badges span + span {
    background: rgba(8, 73, 162, 0.08);
    color: var(--cg-events-navy);
}

.cg-event-card h3 {
    margin: 0;
    font-family: var(--cg-font-menu);
    font-size: 1.28rem;
    line-height: 1.12;
}

.cg-event-card h3 a {
    color: inherit;
    text-decoration: none;
}

.cg-event-card p {
    margin: 0;
    color: var(--cg-events-muted);
    line-height: 1.56;
}

.cg-event-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin: auto 0 0;
}

.cg-event-card__meta div,
.cg-event-single__facts > div {
    min-width: 0;
    padding: 0.66rem;
    border-radius: 0;
    background: rgba(237, 247, 255, 0.82);
}

.cg-event-card__meta dt,
.cg-event-single__facts dt {
    margin: 0 0 0.24rem;
    color: var(--cg-events-muted);
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.cg-event-card__meta dd,
.cg-event-single__facts dd {
    margin: 0;
    color: var(--cg-events-text);
    font-weight: 820;
    overflow-wrap: anywhere;
}

.cg-event-card__link {
    width: 100%;
    margin-top: 0.1rem;
}

.cg-events-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 0.48rem;
    justify-content: center;
    margin-top: 1.25rem;
}

.cg-events-pagination a {
    display: grid;
    min-width: 2.55rem;
    min-height: 2.55rem;
    place-items: center;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: var(--cg-white);
    color: var(--cg-events-navy);
    font-weight: 850;
    text-decoration: none;
}

.cg-events-pagination a.is-current,
.cg-events-pagination a:hover {
    background: var(--cg-events-navy);
    color: var(--cg-white);
}

.cg-events-empty {
    display: grid;
    justify-items: start;
    padding: clamp(1.1rem, 3vw, 1.8rem);
}

.cg-events-empty h2 {
    margin: 0;
    font-size: 2rem;
}

.cg-events-empty p {
    max-width: 44rem;
    margin: 0.7rem 0 0;
    color: var(--cg-events-muted);
    line-height: 1.62;
}

.cg-events-guide {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: 1rem;
    padding: clamp(1.1rem, 3vw, 1.8rem);
}

.cg-events-guide h2 {
    font-size: 2rem;
}

.cg-events-guide ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cg-events-guide li {
    display: grid;
    gap: 0.32rem;
    min-width: 0;
    padding: 0.85rem;
    border-radius: 0;
    background: var(--cg-events-ice);
}

.cg-events-guide li strong {
    font-family: var(--cg-font-menu);
}

.cg-events-guide li span {
    color: var(--cg-events-muted);
    line-height: 1.5;
}

.cg-event-single__wrap {
    padding-block: clamp(1.2rem, 4vw, 3rem) clamp(2.2rem, 5vw, 4.5rem);
}

.cg-event-single__back {
    margin-bottom: 1rem;
}

.cg-event-single__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr);
    gap: clamp(1rem, 3vw, 1.5rem);
    align-items: stretch;
}

.cg-event-single__media {
    position: relative;
    min-height: 30rem;
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    background: var(--cg-events-ice);
    box-shadow: var(--cg-events-shadow);
}

.cg-event-single__date {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    box-shadow: 0 1rem 2rem rgba(8, 73, 162, 0.18);
}

.cg-event-single__summary {
    display: grid;
    align-content: start;
    gap: 1rem;
    padding: clamp(1rem, 3vw, 1.5rem);
}

.cg-event-single__summary h1 {
    font-size: 3rem;
}

.cg-event-single__lead {
    margin: 0;
    color: var(--cg-events-muted);
    font-size: 1.04rem;
    line-height: 1.62;
}

.cg-event-single__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.62rem;
    margin: 0;
}

.cg-event-single__actions {
    margin-top: 0;
}

.cg-event-single__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.34fr);
    gap: clamp(1rem, 3vw, 1.5rem);
    align-items: start;
    margin-top: clamp(1rem, 3vw, 1.6rem);
}

.cg-event-single__main,
.cg-event-single__aside {
    display: grid;
    gap: clamp(1rem, 2.4vw, 1.35rem);
}

.cg-event-single__section {
    padding: clamp(1rem, 2.6vw, 1.5rem);
}

.cg-event-single__section h2 {
    font-size: 2rem;
}

.cg-event-single__section .entry-content {
    color: var(--cg-events-text);
}

.cg-event-schedule {
    display: grid;
    gap: 0.76rem;
    margin-top: 1rem;
}

.cg-event-schedule__item {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: 0.8rem;
    align-items: start;
    padding: 0.82rem;
    border-radius: 0;
    background: var(--cg-events-ice);
}

.cg-event-schedule__item span {
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.cg-event-schedule__item strong {
    display: block;
    font-family: var(--cg-font-menu);
}

.cg-event-schedule__item p {
    margin: 0.22rem 0 0;
    color: var(--cg-events-muted);
    line-height: 1.52;
}

.cg-event-faq {
    display: grid;
    gap: 0.62rem;
    margin-top: 1rem;
}

.cg-event-faq details {
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-white);
}

.cg-event-faq summary {
    cursor: pointer;
    padding: 0.82rem;
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.cg-event-faq p {
    margin: 0;
    padding: 0 0.82rem 0.9rem;
    color: var(--cg-events-muted);
    line-height: 1.58;
}

.cg-event-single__quick ul {
    display: grid;
    gap: 0.58rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.cg-event-single__quick li {
    display: grid;
    gap: 0.24rem;
    padding: 0.72rem;
    border-radius: 0;
    background: var(--cg-events-ice);
}

.cg-event-single__quick span,
.cg-event-related small {
    color: var(--cg-events-muted);
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.cg-event-single__quick strong {
    overflow-wrap: anywhere;
}

.cg-event-map iframe {
    display: block;
    width: 100%;
    min-height: 16rem;
    border: 0;
    border-radius: 0;
}

.cg-event-related__list {
    display: grid;
    gap: 0.62rem;
    margin-top: 1rem;
}

.cg-event-related__list a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem;
    align-items: center;
    padding: 0.7rem;
    border-radius: 0;
    background: var(--cg-events-ice);
    color: inherit;
    text-decoration: none;
}

.cg-event-related__list a > span {
    display: grid;
    width: 3.2rem;
    height: 3.2rem;
    place-items: center;
    border-radius: 0;
    background: var(--cg-event-category-soft);
    color: var(--cg-event-category-text);
    text-align: center;
}

.cg-event-related__list a > span strong {
    display: block;
    font-family: var(--cg-font-menu);
    line-height: 0.92;
}

.cg-event-related__list em {
    display: block;
    min-width: 0;
    font-family: var(--cg-font-menu);
    font-style: normal;
    font-weight: 850;
    line-height: 1.18;
}

.cg-event-organizer h2 {
    margin-bottom: 0.9rem;
}

@keyframes cg-events-grid-drift {
    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(-1rem, 0.8rem, 0);
    }
}

@keyframes cg-events-wave {
    0%,
    100% {
        transform: translateX(-8%) translateY(0);
    }

    50% {
        transform: translateX(8%) translateY(-0.45rem);
    }
}

@media (max-width: 1180px) {
    .cg-events-hero__inner,
    .cg-events-filters__top,
    .cg-events-guide,
    .cg-event-single__hero,
    .cg-event-single__layout {
        grid-template-columns: 1fr;
    }

    .cg-events-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cg-events-guide ol {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cg-event-single__media {
        min-height: 24rem;
    }
}

@media (max-width: 760px) {
    .cg-events-hero__inner {
        min-height: 0;
    }

    .cg-events-hero h1 {
        font-size: 2.55rem;
    }

    .cg-events-hero p:not(.cg-events-eyebrow),
    .cg-event-single__lead {
        font-size: 1rem;
    }

    .cg-events-hero__actions,
    .cg-events-button,
    .cg-events-filters__actions,
    .cg-events-filters__actions > *,
    .cg-events-empty__actions,
    .cg-events-empty__actions > *,
    .cg-event-single__actions,
    .cg-event-single__actions > * {
        width: 100%;
    }

    .cg-events-grid,
    .cg-event-card__meta,
    .cg-events-guide ol,
    .cg-event-single__facts {
        grid-template-columns: 1fr;
    }

    .cg-events-results__header {
        align-items: stretch;
    }

    .cg-events-results__header a {
        width: 100%;
    }

    .cg-event-single__summary h1 {
        font-size: 2.28rem;
    }

    .cg-event-single__media {
        min-height: 18rem;
    }

    .cg-event-schedule__item {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cg-events-hero::before,
    .cg-events-next-card::before {
        animation: none;
    }

    .cg-event-card,
    .cg-event-card__img,
    .cg-events-button,
    .cg-events-filters__actions button,
    .cg-events-filters__actions a,
    .cg-event-card__link,
    .cg-event-single__back {
        transition: none;
    }
}

/* Events archive v2 compact calendar */
.cg-events-page--archive {
    --cg-events-red: var(--cg-events-navy);
}

.cg-events-calendar-intro,
.cg-events-organizer-paths,
.cg-events-seo,
.cg-events-faq {
    border: 1px solid var(--cg-events-line);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.94);
}

.cg-events-calendar-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.46fr);
    gap: clamp(1rem, 2.4vw, 1.5rem);
    align-items: stretch;
    padding: clamp(1rem, 2.6vw, 1.55rem);
}

.cg-events-calendar-intro h2,
.cg-events-organizer-paths h2,
.cg-events-seo h2,
.cg-events-faq h2 {
    margin: 0;
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.45rem, 2.1vw, 2rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
    text-wrap: balance;
}

.cg-events-calendar-intro p,
.cg-events-organizer-paths p,
.cg-events-seo p,
.cg-events-faq p {
    margin: 0.72rem 0 0;
    color: var(--cg-events-muted);
    line-height: 1.62;
}

.cg-events-calendar-intro__submit {
    display: grid;
    gap: 0.7rem;
    align-content: start;
    padding: clamp(0.9rem, 2vw, 1.1rem);
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-events-ice);
}

.cg-events-calendar-intro__submit h3 {
    margin: 0;
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-size: 1.12rem;
    font-weight: 850;
    letter-spacing: 0;
}

.cg-events-calendar-intro__submit .cg-events-button {
    justify-self: start;
    margin-top: 0.25rem;
}

.cg-events-organizer-paths {
    display: grid;
    grid-template-columns: minmax(0, 0.5fr) minmax(0, 1fr);
    gap: clamp(1rem, 2.4vw, 1.5rem);
    padding: clamp(1rem, 2.8vw, 1.65rem);
}

.cg-events-organizer-paths__heading {
    min-width: 0;
}

.cg-events-organizer-paths__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
}

.cg-events-organizer-paths article {
    min-width: 0;
    padding: 0.95rem;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-events-ice);
}

.cg-events-organizer-paths article span {
    display: inline-flex;
    margin-bottom: 0.55rem;
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
}

.cg-events-organizer-paths article h3 {
    margin: 0;
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-size: 1.05rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.14;
}

.cg-events-organizer-paths article p {
    margin-top: 0.52rem;
    font-size: 0.92rem;
    line-height: 1.52;
}

.cg-events-organizer-paths__actions {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
}

.cg-events-page--archive .cg-events-filters {
    box-shadow: none;
}

.cg-events-page--archive .cg-events-results__header {
    margin-bottom: 0.75rem;
}

.cg-events-page--archive .cg-events-results__header h2 {
    font-size: clamp(1.35rem, 2vw, 1.72rem);
}

.cg-events-page--archive .cg-events-grid {
    grid-template-columns: 1fr;
    gap: 0.55rem;
}

.cg-events-page--archive .cg-event-card {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr) auto;
    gap: 0;
    align-items: stretch;
    min-height: 0;
    overflow: hidden;
    box-shadow: none;
}

.cg-events-page--archive .cg-event-card:hover {
    transform: translateY(-1px);
    border-color: rgba(8, 73, 162, 0.22);
    box-shadow: 0 0.8rem 1.8rem rgba(8, 73, 162, 0.1);
}

.cg-events-page--archive .cg-event-card__media {
    position: relative;
    display: grid;
    width: 100%;
    min-height: 100%;
    aspect-ratio: auto;
    place-items: center;
    overflow: visible;
    border-right: 1px solid rgba(8, 73, 162, 0.1);
    background: var(--cg-event-category-soft, var(--cg-events-ice));
}

.cg-events-page--archive .cg-event-card__img,
.cg-events-page--archive .cg-event-placeholder {
    display: none;
}

.cg-events-page--archive .cg-event-card__date {
    position: static;
    width: 4.2rem;
    min-height: 4.2rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: none;
}

.cg-events-page--archive .cg-event-card__date strong {
    font-size: 1.52rem;
}

.cg-events-page--archive .cg-event-card__date span {
    font-size: 0.68rem;
}

.cg-events-page--archive .cg-event-card__body {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(21rem, 0.85fr);
    gap: 0.58rem 0.9rem;
    align-content: center;
    padding: 0.78rem 0.9rem;
}

.cg-events-page--archive .cg-event-card__badges {
    align-self: end;
}

.cg-events-page--archive .cg-event-card__badges span {
    min-height: 1.58rem;
    padding: 0.26rem 0.46rem;
    font-size: 0.68rem;
}

.cg-events-page--archive .cg-event-card h3 {
    align-self: start;
    font-size: clamp(1rem, 1.2vw, 1.12rem);
}

.cg-events-page--archive .cg-event-card p {
    display: none;
}

.cg-events-page--archive .cg-event-card__meta {
    grid-column: 2;
    grid-row: 1 / span 2;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.48rem;
    align-self: center;
    margin: 0;
}

.cg-events-page--archive .cg-event-card__meta div {
    padding: 0;
    background: transparent;
}

.cg-events-page--archive .cg-event-card__meta dt {
    margin-bottom: 0.18rem;
    font-size: 0.64rem;
}

.cg-events-page--archive .cg-event-card__meta dd {
    font-size: 0.82rem;
    line-height: 1.28;
}

.cg-events-page--archive .cg-event-card__link {
    width: auto;
    min-height: 100%;
    margin: 0;
    padding-inline: 0.95rem;
    border-radius: 0;
    white-space: nowrap;
}

.cg-events-seo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.38fr);
    gap: clamp(1rem, 2.4vw, 1.5rem);
    padding: clamp(1rem, 2.8vw, 1.65rem);
}

.cg-events-seo__note {
    align-self: start;
    padding: 1rem;
    border-radius: 0;
    background: var(--cg-events-ice);
}

.cg-events-seo__note strong {
    display: block;
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.cg-events-faq {
    display: grid;
    grid-template-columns: minmax(15rem, 0.42fr) minmax(0, 1fr);
    gap: clamp(1rem, 2.4vw, 1.5rem);
    padding: clamp(1rem, 2.8vw, 1.65rem);
}

.cg-events-faq__items {
    display: grid;
    gap: 0.65rem;
}

.cg-events-faq details {
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-white);
}

.cg-events-faq summary {
    cursor: pointer;
    padding: 0.92rem 1rem;
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-weight: 850;
    letter-spacing: 0;
}

.cg-events-faq details[open] summary {
    color: var(--cg-events-navy);
}

.cg-events-faq details p {
    margin: 0;
    padding: 0 1rem 1rem;
}

@media (max-width: 1100px) {
    .cg-events-page--archive .cg-event-card {
        grid-template-columns: 4.8rem minmax(0, 1fr);
    }

    .cg-events-page--archive .cg-event-card__body {
        grid-template-columns: minmax(0, 1fr);
    }

    .cg-events-page--archive .cg-event-card__meta {
        grid-column: auto;
        grid-row: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cg-events-page--archive .cg-event-card__link {
        grid-column: 1 / -1;
        min-height: 2.55rem;
        border-radius: 0;
    }
}

@media (max-width: 860px) {
    .cg-events-calendar-intro,
    .cg-events-organizer-paths,
    .cg-events-seo,
    .cg-events-faq {
        grid-template-columns: 1fr;
    }

    .cg-events-organizer-paths__list {
        grid-template-columns: 1fr;
    }

    .cg-events-organizer-paths__actions {
        grid-column: auto;
    }

    .cg-events-calendar-intro__submit .cg-events-button,
    .cg-events-organizer-paths__actions .cg-events-button {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .cg-events-page--archive .cg-events-archive__body {
        gap: 0.9rem;
    }

    .cg-events-page--archive .cg-event-card {
        grid-template-columns: 4.45rem minmax(0, 1fr);
    }

    .cg-events-page--archive .cg-event-card__media {
        align-items: start;
        padding-top: 0.72rem;
    }

    .cg-events-page--archive .cg-event-card__date {
        width: 3.75rem;
        min-height: 3.75rem;
    }

    .cg-events-page--archive .cg-event-card__body {
        padding: 0.72rem;
    }

    .cg-events-page--archive .cg-event-card__meta {
        grid-template-columns: 1fr;
        gap: 0.36rem;
    }

    .cg-events-page--archive .cg-event-card__link {
        grid-column: 1 / -1;
    }

    .cg-events-faq summary {
        padding: 0.84rem;
    }

    .cg-events-faq details p {
        padding-inline: 0.84rem;
    }
}

/* Events archive v3 dense image cards */
.cg-events-featured-rails {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.85rem, 2vw, 1.15rem);
}

.cg-events-featured-rail {
    display: grid;
    gap: 0.78rem;
    min-width: 0;
    padding: clamp(0.9rem, 2.2vw, 1.15rem);
    border: 1px solid var(--cg-events-line);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.94);
}

.cg-events-featured-rail header {
    display: flex;
    gap: 0.8rem;
    align-items: start;
    justify-content: space-between;
}

.cg-events-featured-rail h2 {
    margin: 0;
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.25rem, 1.8vw, 1.62rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.cg-events-featured-rail p:not(.cg-events-eyebrow) {
    margin: 0.48rem 0 0;
    color: var(--cg-events-muted);
    font-size: 0.92rem;
    line-height: 1.48;
}

.cg-events-featured-rail header > a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: 0.58rem 0.75rem;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    background: var(--cg-events-ice);
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
}

.cg-events-mini-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.cg-events-mini-card {
    display: grid;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-white);
    color: inherit;
    text-decoration: none;
}

.cg-events-mini-card__media {
    display: grid;
    aspect-ratio: 16 / 9;
    place-items: center;
    overflow: hidden;
    background: var(--cg-event-category-soft, var(--cg-events-ice));
    color: var(--cg-event-category-text, var(--cg-events-navy));
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.cg-events-mini-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cg-events-mini-card__body {
    display: grid;
    gap: 0.28rem;
    padding: 0.55rem;
}

.cg-events-mini-card__body > span {
    color: var(--cg-event-category-text, var(--cg-events-navy));
    font-family: var(--cg-font-menu);
    font-size: 0.64rem;
    font-weight: 850;
    line-height: 1.1;
    text-transform: uppercase;
}

.cg-events-mini-card__body strong {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-size: 0.88rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.12;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cg-events-mini-card__body small {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cg-events-muted);
    font-size: 0.74rem;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cg-events-page--archive .cg-events-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.65rem, 1.4vw, 0.9rem);
}

.cg-events-page--archive .cg-event-card {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    box-shadow: none;
}

.cg-events-page--archive .cg-event-card:hover {
    transform: translateY(-2px);
    border-color: rgba(8, 73, 162, 0.2);
    box-shadow: 0 0.9rem 2rem rgba(8, 73, 162, 0.12);
}

.cg-events-page--archive .cg-event-card__media {
    position: relative;
    display: block;
    width: 100%;
    min-height: 0;
    aspect-ratio: 16 / 8.7;
    overflow: hidden;
    padding-top: 0;
    border-right: 0;
    background: var(--cg-events-ice);
}

.cg-events-page--archive .cg-event-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cg-events-page--archive .cg-event-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
}

.cg-events-page--archive .cg-event-card__date {
    position: absolute;
    top: 0.55rem;
    left: 0.55rem;
    width: 3.55rem;
    min-height: 3.55rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 0.55rem 1.2rem rgba(8, 73, 162, 0.12);
}

.cg-events-page--archive .cg-event-card__date strong {
    font-size: 1.32rem;
}

.cg-events-page--archive .cg-event-card__date span {
    font-size: 0.62rem;
}

.cg-events-page--archive .cg-event-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.48rem;
    padding: 0.68rem;
}

.cg-events-page--archive .cg-event-card__badges {
    gap: 0.32rem;
}

.cg-events-page--archive .cg-event-card__badges span {
    min-height: 1.42rem;
    padding: 0.22rem 0.4rem;
    font-size: 0.62rem;
}

.cg-events-page--archive .cg-event-card h3 {
    font-size: 1rem;
    line-height: 1.12;
}

.cg-events-page--archive .cg-event-card p {
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.84rem;
    line-height: 1.38;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cg-events-page--archive .cg-event-card__meta {
    grid-column: auto;
    grid-row: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.36rem;
    margin: auto 0 0;
}

.cg-events-page--archive .cg-event-card__meta div {
    padding: 0.42rem;
    border-radius: 0;
    background: rgba(237, 247, 255, 0.78);
}

.cg-events-page--archive .cg-event-card__meta dt {
    margin-bottom: 0.12rem;
    font-size: 0.58rem;
}

.cg-events-page--archive .cg-event-card__meta dd {
    font-size: 0.74rem;
    line-height: 1.22;
}

.cg-events-page--archive .cg-event-card__link {
    width: 100%;
    min-height: 2.22rem;
    margin-top: 0.1rem;
    padding: 0.58rem 0.7rem;
    border-radius: 0;
    white-space: normal;
}

@media (min-width: 1500px) {
    .cg-events-page--archive .cg-events-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    .cg-events-featured-rails,
    .cg-events-page--archive .cg-events-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cg-events-featured-rail {
        grid-column: span 3;
    }
}

@media (max-width: 860px) {
    .cg-events-featured-rails,
    .cg-events-page--archive .cg-events-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cg-events-featured-rail {
        grid-column: span 2;
    }
}

@media (max-width: 640px) {
    .cg-events-featured-rails,
    .cg-events-page--archive .cg-events-grid,
    .cg-events-mini-cards {
        grid-template-columns: 1fr;
    }

    .cg-events-featured-rail {
        grid-column: auto;
    }

    .cg-events-featured-rail header {
        display: grid;
    }

    .cg-events-featured-rail header > a {
        width: 100%;
    }
}

/* Events archive v4 photo rhythm */
.cg-events-photo-break {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.9fr) minmax(0, 0.9fr);
    gap: clamp(0.55rem, 1.35vw, 0.85rem);
}

.cg-events-photo-tile {
    position: relative;
    display: flex;
    min-height: clamp(9rem, 16vw, 15rem);
    overflow: hidden;
    border-radius: 0;
    background: var(--cg-events-navy);
    color: var(--cg-white);
    isolation: isolate;
    text-decoration: none;
}

.cg-events-photo-tile:only-child {
    grid-column: 1 / -1;
}

.cg-events-photo-tile:nth-child(2):last-child {
    grid-column: span 2;
}

.cg-events-photo-tile--wide {
    min-height: clamp(13rem, 24vw, 21rem);
}

.cg-events-photo-tile::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(180deg, rgba(5, 24, 58, 0.04) 18%, rgba(5, 24, 58, 0.78) 100%);
    pointer-events: none;
}

.cg-events-photo-tile img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform 0.35s ease;
}

.cg-events-photo-tile:hover img {
    transform: scale(1.06);
}

.cg-events-photo-tile span {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: end;
    gap: 0.38rem;
    width: 100%;
    padding: clamp(0.72rem, 1.9vw, 1rem);
}

.cg-events-photo-tile em {
    justify-self: start;
    padding: 0.3rem 0.46rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.9);
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.63rem;
    font-style: normal;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
}

.cg-events-photo-tile strong {
    max-width: 18rem;
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: clamp(1rem, 1.45vw, 1.34rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
    text-shadow: 0 0.45rem 1rem rgba(5, 24, 58, 0.32);
}

.cg-events-photo-tile--wide strong {
    max-width: 24rem;
    font-size: clamp(1.24rem, 2.35vw, 1.9rem);
}

.cg-events-featured-rail {
    overflow: hidden;
}

.cg-events-mini-cards {
    grid-auto-columns: minmax(12.8rem, calc((100% - 1.1rem) / 3));
    grid-auto-flow: column;
    grid-template-columns: none;
    overflow-x: auto;
    padding-bottom: 0.25rem;
    scroll-snap-type: x proximity;
    scrollbar-color: rgba(8, 73, 162, 0.35) rgba(8, 73, 162, 0.08);
}

.cg-events-mini-card {
    position: relative;
    display: flex;
    min-height: clamp(11rem, 16.5vw, 14.5rem);
    align-items: flex-end;
    border: 0;
    background: var(--cg-events-navy);
    color: var(--cg-white);
    isolation: isolate;
    scroll-snap-align: start;
}

.cg-events-mini-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(180deg, rgba(5, 24, 58, 0.04) 22%, rgba(5, 24, 58, 0.82) 100%);
    pointer-events: none;
}

.cg-events-mini-card__media {
    position: absolute;
    inset: 0;
    aspect-ratio: auto;
}

.cg-events-mini-card__media img {
    transform: scale(1.01);
    transition: transform 0.35s ease;
}

.cg-events-mini-card:hover .cg-events-mini-card__media img {
    transform: scale(1.06);
}

.cg-events-mini-card__media > span {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, 0.62);
}

.cg-events-mini-card__body {
    position: relative;
    z-index: 1;
    align-content: end;
    width: 100%;
    padding: 0.74rem;
}

.cg-events-mini-card__body > span {
    justify-self: start;
    padding: 0.28rem 0.42rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.9);
    color: var(--cg-event-category-text, var(--cg-events-navy));
    font-size: 0.59rem;
}

.cg-events-mini-card__body strong {
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.14;
    text-shadow: 0 0.45rem 1rem rgba(5, 24, 58, 0.34);
}

.cg-events-mini-card__body small {
    color: rgba(255, 255, 255, 0.84);
}

.cg-events-mini-card--empty .cg-events-mini-card__media {
    background: linear-gradient(135deg, rgba(8, 73, 162, 0.9), rgba(19, 157, 167, 0.78));
}

.cg-events-page--archive .cg-event-card__media {
    aspect-ratio: 16 / 8.4;
}

.cg-events-page--archive .cg-event-card__media::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    height: 50%;
    background: linear-gradient(180deg, rgba(5, 24, 58, 0), rgba(5, 24, 58, 0.64));
    pointer-events: none;
}

.cg-event-card__media-label {
    position: absolute;
    right: 0.5rem;
    bottom: 0.5rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    max-width: calc(100% - 4.7rem);
    min-height: 1.48rem;
    padding: 0.28rem 0.46rem;
    overflow: hidden;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.92);
    color: var(--cg-event-category-text, var(--cg-events-navy));
    font-family: var(--cg-font-menu);
    font-size: 0.61rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.cg-events-page--archive .cg-event-card__badges span:first-child {
    display: none;
}

@media (max-width: 1180px) {
    .cg-events-photo-break {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cg-events-photo-tile--wide,
    .cg-events-photo-tile:nth-child(2):last-child {
        grid-column: 1 / -1;
    }

    .cg-events-mini-cards {
        grid-auto-columns: minmax(13rem, 42%);
    }
}

@media (max-width: 760px) {
    .cg-events-photo-break {
        grid-template-columns: 1fr;
    }

    .cg-events-photo-tile,
    .cg-events-photo-tile--wide,
    .cg-events-photo-tile:nth-child(2):last-child {
        grid-column: auto;
        min-height: clamp(11rem, 55vw, 18rem);
    }

    .cg-events-mini-cards {
        grid-auto-columns: minmax(15rem, 82%);
    }
}

@media (max-width: 480px) {
    .cg-events-mini-cards {
        grid-auto-columns: minmax(14rem, 88%);
    }

    .cg-event-card__media-label {
        max-width: calc(100% - 4.15rem);
    }
}

/* Events archive v5 planned funnel */
.cg-events-hero__cta-grid {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.cg-events-page--archive .site-shell,
.cg-events-page--archive .cg-events-hero__inner {
    width: min(calc(100vw - clamp(1.5rem, 4vw, 4rem)), var(--cg-max-width));
}

.cg-events-page--archive .cg-events-hero__copy,
.cg-events-page--archive .cg-events-hero__cta-grid,
.cg-events-page--archive .cg-events-hero-action {
    min-width: 0;
}

.cg-events-page--archive .cg-events-hero,
.cg-events-page--archive .cg-events-hero * {
    box-sizing: border-box;
}

.cg-events-page--archive,
.cg-events-page--archive .site-shell,
.cg-events-page--archive section,
.cg-events-page--archive article,
.cg-events-page--archive form,
.cg-events-page--archive header,
.cg-events-page--archive div {
    min-width: 0;
}

.cg-events-page--archive h1,
.cg-events-page--archive h2,
.cg-events-page--archive h3,
.cg-events-page--archive p,
.cg-events-page--archive a,
.cg-events-page--archive span,
.cg-events-page--archive strong,
.cg-events-page--archive small,
.cg-events-page--archive dd {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.cg-events-page--archive .cg-events-hero h1 {
    max-width: min(11ch, 100%);
    font-size: clamp(2.35rem, 5.2vw, 4rem);
    overflow-wrap: anywhere;
}

.cg-events-page--archive .cg-events-hero h2,
.cg-events-page--archive .cg-events-hero p {
    overflow-wrap: anywhere;
}

.cg-events-page--archive .cg-events-hero p:not(.cg-events-eyebrow) {
    max-width: min(42rem, 100%);
}

.cg-events-hero-action {
    display: grid;
    gap: 0.72rem;
    align-content: start;
    padding: clamp(0.92rem, 2vw, 1.22rem);
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.12);
    color: var(--cg-white);
    backdrop-filter: blur(10px);
}

.cg-events-hero-action--patronage {
    background: rgba(2, 25, 64, 0.24);
}

.cg-events-hero-action > span,
.cg-events-results__stats span,
.cg-events-calendar-intro__stats span {
    font-family: var(--cg-font-menu);
    font-weight: 700;
    letter-spacing: 0;
}

.cg-events-hero-action > span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
    line-height: 1.1;
    text-transform: uppercase;
}

.cg-events-hero-action h2 {
    margin: 0;
    color: var(--cg-white);
    font-family: var(--cg-font-heading);
    font-size: clamp(1rem, 1.2vw, 1.18rem);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.1;
}

.cg-events-hero-action p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.9rem;
    line-height: 1.5;
}

.cg-events-hero-action .cg-events-button {
    justify-self: start;
    margin-top: 0.1rem;
}

.cg-events-page--archive .cg-events-featured-rails {
    grid-template-columns: 1fr;
    gap: clamp(0.9rem, 2.2vw, 1.2rem);
}

.cg-events-page--archive .cg-events-featured-rail {
    padding: clamp(1rem, 2.4vw, 1.35rem);
}

.cg-events-page--archive .cg-events-mini-cards {
    grid-auto-columns: minmax(15.5rem, 31%);
}

.cg-events-featured-rail--patronage {
    border-color: rgba(8, 73, 162, 0.34);
}

.cg-events-featured-rail--patronage .cg-events-mini-card {
    box-shadow: inset 0 0 0 2px rgba(8, 73, 162, 0.92);
}

.cg-events-calendar-intro__stats,
.cg-events-results__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.58rem;
    align-items: center;
}

.cg-events-calendar-intro__stats {
    justify-content: end;
}

.cg-events-calendar-intro__stats span,
.cg-events-results__stats span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2.45rem;
    padding: 0.48rem 0.62rem;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-events-ice);
    color: var(--cg-events-muted);
    font-size: 0.74rem;
    line-height: 1;
    text-transform: uppercase;
}

.cg-events-calendar-intro__stats strong,
.cg-events-results__stats strong {
    color: var(--cg-events-navy);
    font-size: 1.18rem;
}

.cg-events-filters input[type="date"] {
    width: 100%;
    min-width: 0;
    min-height: 2.9rem;
    padding: 0 0.82rem;
    border: 1px solid rgba(8, 73, 162, 0.16);
    background: var(--cg-white);
    color: var(--cg-events-text);
    font-family: var(--cg-font-body);
    font-size: 1rem;
    font-weight: 600;
}

.cg-events-filters input[type="date"]:focus {
    outline: 2px solid rgba(8, 73, 162, 0.24);
    outline-offset: 2px;
    border-color: rgba(8, 73, 162, 0.42);
}

.cg-events-date-range {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 13rem)) minmax(14rem, 1fr);
    gap: 0.72rem;
    align-items: end;
}

.cg-events-date-range p {
    margin: 0;
    color: var(--cg-events-muted);
    font-size: 0.84rem;
    line-height: 1.42;
}

.cg-events-page--archive .cg-event-card--patronage {
    border-color: rgba(8, 73, 162, 0.86);
    box-shadow: inset 0 0 0 1px rgba(8, 73, 162, 0.86), 0 1rem 2.4rem rgba(8, 73, 162, 0.14);
}

.cg-event-card__patronage {
    display: inline-flex;
    align-self: start;
    align-items: center;
    min-height: 1.55rem;
    padding: 0.28rem 0.46rem;
    border-radius: 0;
    background: var(--cg-events-navy);
    color: var(--cg-white);
    font-family: var(--cg-font-menu);
    font-size: 0.62rem;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
}

.cg-events-archive-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(0.9rem, 2.4vw, 1.35rem);
    align-items: center;
    padding: clamp(1.1rem, 3vw, 1.8rem);
    border: 1px solid rgba(8, 73, 162, 0.22);
    border-radius: 0;
    background: linear-gradient(135deg, rgba(8, 73, 162, 0.96), rgba(6, 52, 111, 0.96));
    color: var(--cg-white);
}

.cg-events-archive-cta h2,
.cg-events-section-head h2 {
    margin: 0;
    font-family: var(--cg-font-heading);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.04;
    text-wrap: balance;
}

.cg-events-archive-cta h2 {
    max-width: 24ch;
    color: var(--cg-white);
    font-size: clamp(1.5rem, 2.2vw, 2rem);
}

.cg-events-archive-cta p {
    max-width: 44rem;
    margin: 0.7rem 0 0;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.55;
}

.cg-events-archive-cta .cg-events-eyebrow {
    color: rgba(255, 255, 255, 0.72);
}

.cg-events-archive-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    justify-content: flex-end;
}

.cg-events-archive-cta .cg-events-button--primary {
    background: var(--cg-white);
    color: var(--cg-events-navy);
}

.cg-events-archive-cta .cg-events-button--light {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.1);
    color: var(--cg-white);
}

.cg-events-gallery {
    display: grid;
    gap: 0.95rem;
}

.cg-events-section-head {
    max-width: 52rem;
}

.cg-events-section-head h2 {
    color: var(--cg-events-text);
    font-size: clamp(1.45rem, 2.2vw, 2rem);
}

.cg-events-photo-break--gallery {
    grid-template-columns: minmax(0, 1.12fr) repeat(3, minmax(0, 0.86fr));
}

.cg-events-photo-break--gallery .cg-events-photo-tile {
    min-height: clamp(8.6rem, 13vw, 13.5rem);
}

.cg-events-photo-break--gallery .cg-events-photo-tile--wide {
    grid-row: span 2;
    min-height: clamp(15rem, 25vw, 22rem);
}

@media (max-width: 1180px) {
    .cg-events-page--archive .cg-events-mini-cards {
        grid-auto-columns: minmax(15rem, 44%);
    }

    .cg-events-photo-break--gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .cg-events-hero__inner,
    .cg-events-calendar-intro,
    .cg-events-archive-cta,
    .cg-events-filters__date-layout,
    .cg-events-date-range {
        grid-template-columns: 1fr;
    }

    .cg-events-calendar-intro__stats,
    .cg-events-archive-cta__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .cg-events-page--archive .cg-events-mini-cards {
        grid-auto-columns: minmax(15rem, 82%);
    }

    .cg-events-photo-break--gallery {
        grid-template-columns: 1fr;
    }

    .cg-events-photo-break--gallery .cg-events-photo-tile--wide {
        grid-row: auto;
    }
}

@media (max-width: 520px) {
    .cg-events-page--archive .cg-events-archive__body,
    .cg-events-page--archive .cg-events-hero__copy,
    .cg-events-page--archive .cg-events-hero-action,
    .cg-events-page--archive .cg-events-featured-rail {
        width: 100%;
        max-width: calc(100vw - 1.5rem);
    }

    .cg-events-page--archive .cg-events-hero h1 {
        max-width: 9.6ch;
        font-size: 2.2rem;
    }

    .cg-events-page--archive .cg-events-hero p:not(.cg-events-eyebrow),
    .cg-events-page--archive .cg-events-hero-action h2,
    .cg-events-page--archive .cg-events-hero-action p,
    .cg-events-page--archive .cg-events-featured-rail h2,
    .cg-events-page--archive .cg-events-featured-rail p:not(.cg-events-eyebrow) {
        max-width: calc(100vw - 2.5rem);
    }

    .cg-events-calendar-intro__stats span,
    .cg-events-results__stats span,
    .cg-events-archive-cta__actions,
    .cg-events-archive-cta__actions > a,
    .cg-events-hero-action .cg-events-button {
        width: 100%;
    }
}

/* Events archive v6 photo-led archive refinements */
.cg-events-page--archive .cg-events-hero {
    background:
        linear-gradient(90deg, rgba(3, 29, 70, 0.88) 0%, rgba(8, 73, 162, 0.7) 43%, rgba(214, 233, 254, 0.38) 100%),
        var(--cg-events-hero-image, linear-gradient(135deg, #073f8d, #d6e9fe));
    background-position: center;
    background-size: cover;
}

.cg-events-page--archive .cg-events-hero::before {
    background: linear-gradient(90deg, rgba(237, 247, 255, 0.12), rgba(237, 247, 255, 0.34));
    mask-image: none;
    opacity: 1;
    animation: none;
}

.cg-events-page--archive .cg-events-hero::after {
    inset: 0;
    height: auto;
    background:
        linear-gradient(180deg, rgba(5, 24, 58, 0.08), rgba(5, 24, 58, 0.22)),
        linear-gradient(90deg, rgba(5, 24, 58, 0.28), transparent 64%);
}

.cg-events-page--archive .cg-events-hero__inner {
    grid-template-columns: minmax(0, 0.92fr) minmax(21rem, 0.48fr);
    min-height: clamp(17rem, 30vw, 25.5rem);
    padding-block: clamp(1.4rem, 3.2vw, 2.9rem);
}

.cg-events-page--archive .cg-events-hero h1 {
    max-width: min(10ch, 100%);
    font-size: clamp(2.45rem, 4.8vw, 3.85rem);
}

.cg-events-page--archive .cg-events-hero p:not(.cg-events-eyebrow) {
    max-width: min(38rem, 100%);
    font-size: clamp(0.98rem, 1.2vw, 1.06rem);
    line-height: 1.54;
}

.cg-events-page--archive .cg-events-hero__actions {
    margin-top: 1rem;
}

.cg-events-page--archive .cg-events-hero__cta-grid {
    gap: 0.62rem;
}

.cg-events-page--archive .cg-events-hero-action {
    gap: 0.55rem;
    padding: clamp(0.78rem, 1.55vw, 1rem);
    background: rgba(255, 255, 255, 0.14);
    box-shadow: 0 1rem 2.6rem rgba(5, 24, 58, 0.16);
}

.cg-events-page--archive .cg-events-hero-action h2 {
    font-size: clamp(1rem, 1.2vw, 1.18rem);
}

.cg-events-page--archive .cg-events-hero-action p {
    font-size: 0.84rem;
    line-height: 1.42;
}

.cg-events-page--archive .cg-events-featured-rails {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.cg-events-page--archive .cg-events-featured-rail {
    grid-column: auto;
    align-content: start;
    min-height: 100%;
}

.cg-events-page--archive .cg-events-featured-rail header {
    min-height: clamp(7.4rem, 11vw, 9.2rem);
}

.cg-events-page--archive .cg-events-featured-rail h2 {
    font-size: clamp(1.18rem, 1.5vw, 1.42rem);
}

.cg-events-page--archive .cg-events-featured-rail p:not(.cg-events-eyebrow) {
    font-size: 0.88rem;
}

.cg-events-page--archive .cg-events-mini-cards {
    grid-auto-columns: minmax(13.5rem, 48%);
}

.cg-events-photo-reports {
    display: grid;
    gap: clamp(0.85rem, 1.8vw, 1.15rem);
}

.cg-events-section-head--with-action {
    display: flex;
    max-width: none;
    gap: 1rem;
    align-items: end;
    justify-content: space-between;
}

.cg-events-section-head--with-action > div {
    max-width: 48rem;
}

.cg-events-photo-reports__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(0.55rem, 1.2vw, 0.78rem);
}

.cg-events-report-card {
    min-width: 0;
}

.cg-events-report-card--lead {
    grid-column: span 2;
    grid-row: span 2;
}

.cg-events-report-card a {
    display: grid;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: var(--cg-white);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.cg-events-report-card a:hover {
    transform: translateY(-2px);
    border-color: rgba(8, 73, 162, 0.26);
    box-shadow: 0 1rem 2.2rem rgba(8, 73, 162, 0.12);
}

.cg-events-report-card__media {
    position: relative;
    display: grid;
    aspect-ratio: 16 / 10;
    place-items: center;
    overflow: hidden;
    background: var(--cg-events-ice);
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-weight: 850;
}

.cg-events-report-card--lead .cg-events-report-card__media {
    aspect-ratio: 16 / 11.6;
}

.cg-events-report-card__media::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 54%;
    background: linear-gradient(180deg, transparent, rgba(5, 24, 58, 0.66));
    pointer-events: none;
}

.cg-events-report-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform 0.35s ease;
}

.cg-events-report-card a:hover .cg-events-report-card__media img {
    transform: scale(1.06);
}

.cg-events-report-card__badge {
    position: absolute;
    left: 0.55rem;
    bottom: 0.55rem;
    z-index: 1;
    padding: 0.32rem 0.48rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.93);
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.62rem;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
}

.cg-events-report-card__body {
    display: grid;
    gap: 0.38rem;
    align-content: start;
    padding: 0.68rem;
}

.cg-events-report-card__body strong {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-size: clamp(0.96rem, 1.15vw, 1.12rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.12;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cg-events-report-card--lead .cg-events-report-card__body strong {
    font-size: clamp(1.18rem, 1.8vw, 1.55rem);
}

.cg-events-report-card__body small {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cg-events-muted);
    font-size: 0.84rem;
    line-height: 1.36;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cg-events-seo {
    grid-template-columns: minmax(0, 1fr);
}

.cg-events-seo__content {
    max-width: 76rem;
}

@media (max-width: 1180px) {
    .cg-events-photo-reports__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cg-events-report-card--lead {
        grid-column: span 2;
        grid-row: span 1;
    }
}

@media (max-width: 980px) {
    .cg-events-page--archive .cg-events-hero__inner,
    .cg-events-page--archive .cg-events-featured-rails {
        grid-template-columns: 1fr;
    }

    .cg-events-page--archive .cg-events-featured-rail header {
        min-height: 0;
    }
}

@media (max-width: 760px) {
    .cg-events-section-head--with-action {
        display: grid;
        align-items: start;
    }

    .cg-events-photo-reports__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cg-events-report-card--lead {
        grid-column: 1 / -1;
    }
}

@media (max-width: 520px) {
    .cg-events-page--archive .cg-events-hero__inner {
        padding-block: 1.35rem;
    }

    .cg-events-page--archive .cg-events-hero h1 {
        max-width: 9.6ch;
        font-size: 2.18rem;
    }

    .cg-events-photo-reports__grid {
        grid-template-columns: 1fr;
    }
}

/* Events archive v7 real sliders and unified calendar panel */
.cg-events-page--archive .cg-events-hero__inner {
    min-height: clamp(13.5rem, 22vw, 19rem);
    padding-block: clamp(1.05rem, 2.5vw, 2.1rem);
}

.cg-events-page--archive .cg-events-featured-rails {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.85rem, 1.8vw, 1.15rem);
}

.cg-events-page--archive .cg-events-featured-rail {
    display: block;
    min-height: 0;
}

.cg-events-calendar-panel {
    display: grid;
    gap: clamp(1rem, 2.2vw, 1.35rem);
    padding: clamp(1rem, 2.6vw, 1.55rem);
    border: 1px solid var(--cg-events-line);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--cg-events-shadow);
}

.cg-events-calendar-panel__head {
    display: flex;
    gap: 1rem;
    align-items: start;
    justify-content: space-between;
}

.cg-events-calendar-panel__copy {
    max-width: 58rem;
}

.cg-events-calendar-panel h2 {
    margin: 0;
    color: var(--cg-events-text);
    font-family: var(--cg-font-heading);
    font-size: clamp(1.34rem, 1.7vw, 1.76rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.08;
    text-wrap: balance;
}

.cg-events-calendar-panel p:not(.cg-events-eyebrow) {
    margin: 0.62rem 0 0;
    color: var(--cg-events-muted);
    line-height: 1.55;
}

.cg-events-calendar-panel__count {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.42rem;
    min-height: 2.72rem;
    padding: 0.5rem 0.7rem;
    border: 1px solid var(--cg-events-navy);
    background: var(--cg-events-navy);
    color: rgba(255, 255, 255, 0.82);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
}

.cg-events-calendar-panel__count strong {
    color: var(--cg-white);
    font-size: 1.35rem;
}

.cg-events-calendar-panel .cg-events-filters {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.cg-events-page--archive .cg-events-filters {
    gap: 1.15rem;
}

.cg-events-page--archive .cg-events-filters__date-layout {
    gap: 1.1rem;
}

.cg-events-page--archive .cg-events-filters__top label > span,
.cg-events-page--archive .cg-events-filters__fieldset legend,
.cg-events-page--archive .cg-events-date-range label > span {
    color: #46658f;
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 600;
    text-transform: uppercase;
}

.cg-events-page--archive .cg-events-filters input[type="text"],
.cg-events-page--archive .cg-events-filters select,
.cg-events-page--archive .cg-events-filters input[type="date"] {
    border-radius: 0;
}

.cg-events-page--archive .cg-events-filters__actions {
    gap: 0.85rem;
}

.cg-events-page--archive .cg-events-filters__actions button,
.cg-events-page--archive .cg-events-filters__actions a {
    min-height: 3rem;
    padding: 0.78rem 1.15rem;
    border-radius: 0;
    background-image: none;
    font-family: var(--cg-font-body);
    font-size: 0.98rem;
    font-weight: 700;
    letter-spacing: 0;
    box-shadow: none;
}

.cg-events-page--archive .cg-events-filters__actions button {
    background: var(--cg-events-navy);
    color: var(--cg-white);
    border-color: var(--cg-events-navy);
}

.cg-events-page--archive .cg-events-filters__actions a {
    background: var(--cg-white);
    color: var(--cg-events-navy);
    border-color: rgba(8, 73, 162, 0.18);
}

.cg-events-page--archive .cg-events-filters__actions button:hover,
.cg-events-page--archive .cg-events-filters__actions button:focus-visible {
    transform: none;
    background: #0849a2;
    color: var(--cg-white);
    box-shadow: none;
}

.cg-events-page--archive .cg-events-filters__actions a:hover,
.cg-events-page--archive .cg-events-filters__actions a:focus-visible {
    transform: none;
    background: rgba(8, 73, 162, 0.06);
    color: var(--cg-events-navy);
    border-color: rgba(8, 73, 162, 0.28);
    box-shadow: none;
}

.cg-events-page--archive .cg-event-card__today {
    border-color: var(--cg-events-navy);
    background: var(--cg-events-navy);
    color: var(--cg-white);
}

.cg-events-page--archive .cg-event-card {
    border-color: rgba(8, 73, 162, 0.14);
    background: var(--cg-white);
}

.cg-events-page--archive .cg-event-card:hover {
    transform: translateY(-1px);
    border-color: rgba(8, 73, 162, 0.24);
    box-shadow: 0 0.95rem 2rem rgba(8, 73, 162, 0.1);
}

.cg-events-page--archive .cg-event-card__media {
    aspect-ratio: 16 / 10;
    background: var(--cg-events-ice);
}

.cg-events-page--archive .cg-event-card__media::after,
.cg-events-page--archive .cg-event-card__media-label,
.cg-events-page--archive .cg-event-card p {
    display: none;
}

.cg-events-page--archive .cg-event-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cg-events-page--archive .cg-event-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
}

.cg-events-page--archive .cg-event-card__date {
    top: 0.7rem;
    left: 0.7rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    min-height: 2.8rem;
    padding: 0.18rem 0 0.14rem;
    gap: 0.02rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--cg-events-navy);
    box-shadow: 0 0.45rem 1rem rgba(8, 73, 162, 0.12);
}

.cg-events-page--archive .cg-event-card__date strong {
    font-size: 1.06rem;
    line-height: 0.84;
}

.cg-events-page--archive .cg-event-card__date span {
    margin-top: 0.02rem;
    font-size: 0.5rem;
    line-height: 0.78;
    letter-spacing: 0;
}

.cg-events-page--archive .cg-event-card__body {
    gap: 0.52rem;
    padding: 0.72rem 0.78rem 0.78rem;
}

.cg-events-page--archive .cg-event-card__badges {
    gap: 0.28rem;
}

.cg-events-page--archive .cg-event-card__badges span {
    min-height: 1.42rem;
    padding: 0.22rem 0.44rem;
    font-size: 0.62rem;
    border-radius: 999px;
    background: rgba(8, 73, 162, 0.08);
    color: var(--cg-events-navy);
}

.cg-events-page--archive .cg-event-card__badges span:first-child {
    display: inline-flex;
}

.cg-events-page--archive .cg-event-card__today {
    background: var(--cg-events-navy);
    color: var(--cg-white);
}

.cg-events-page--archive .cg-event-card__patronage {
    min-height: 1.48rem;
    padding: 0.24rem 0.44rem;
    font-size: 0.6rem;
}

.cg-events-page--archive .cg-event-card h3 {
    font-size: clamp(0.88rem, 0.84rem + 0.22vw, 0.98rem);
    font-weight: 700;
    line-height: 1.14;
}

.cg-events-page--archive .cg-event-card__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.36rem;
    margin: auto 0 0;
}

.cg-events-page--archive .cg-event-card__meta div {
    padding: 0.42rem;
    border-radius: 0;
    background: rgba(237, 247, 255, 0.78);
}

.cg-events-page--archive .cg-event-card__meta dt {
    margin-bottom: 0.12rem;
    font-size: 0.54rem;
    font-weight: 700;
}

.cg-events-page--archive .cg-event-card__meta dd {
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.2;
}

.cg-events-page--archive .cg-event-card__link {
    width: 100%;
    min-height: 2.22rem;
    margin-top: 0.1rem;
}

.cg-events-page--archive .cg-event-card--patronage {
    border-width: 2px;
    border-color: rgba(8, 73, 162, 0.9);
    box-shadow: inset 0 0 0 1px rgba(8, 73, 162, 0.9), 0 0.95rem 2.1rem rgba(8, 73, 162, 0.14);
}

@media (max-width: 640px) {
    .cg-events-page--archive .cg-event-card__media {
        aspect-ratio: 16 / 9.1;
    }

    .cg-events-page--archive .cg-event-card__date {
        width: 2.68rem;
        min-height: 2.68rem;
        padding: 0.16rem 0 0.12rem;
    }

    .cg-events-page--archive .cg-event-card__date strong {
        font-size: 1rem;
        line-height: 0.84;
    }

    .cg-events-page--archive .cg-event-card__date span {
        font-size: 0.48rem;
        margin-top: 0.02rem;
        line-height: 0.78;
    }
}

.cg-events-results {
    margin-top: calc(clamp(0.65rem, 1.4vw, 0.9rem) * -1);
}

.cg-events-page--archive .cg-events-calendar-panel--history + .cg-events-results {
    margin-top: 0;
}

.cg-events-history-preview {
    display: grid;
    gap: clamp(1rem, 2vw, 1.25rem);
    margin-top: clamp(1.2rem, 2.4vw, 1.85rem);
}

.cg-events-history-preview__head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

.cg-events-history-preview__head .cg-events-button {
    align-self: flex-start;
}

.cg-events-history-preview__copy {
    max-width: 52rem;
}

.cg-events-history-preview__copy h2 {
    margin: 0;
    color: var(--cg-events-text);
    font-family: var(--cg-font-heading);
    font-size: clamp(1.28rem, 1.7vw, 1.7rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.02em;
}

.cg-events-history-preview__copy p:not(.cg-events-eyebrow) {
    margin: 0.55rem 0 0;
    color: var(--cg-events-muted);
    line-height: 1.55;
}

@media (max-width: 980px) {
    .cg-events-page--archive .cg-events-featured-rails {
        grid-template-columns: 1fr;
    }

    .cg-events-calendar-panel__head {
        display: grid;
    }

    .cg-events-history-preview__head {
        display: grid;
        align-items: start;
    }
}

@media (max-width: 640px) {
    .cg-events-featured-slider__top {
        display: grid;
    }

    .cg-events-featured-slider__controls,
    .cg-events-calendar-panel__count {
        width: 100%;
    }

    .cg-events-featured-slide__content {
        max-width: calc(100% - 1.6rem);
    }
}

/* Events archive v8 shared editorial sections */
.cg-events-page--archive .home-contact-cta--events {
    overflow: hidden;
    border-radius: 0;
}

.cg-events-page--archive .home-contact-cta--events .home-contact-cta__inner {
    width: 100%;
    min-height: clamp(250px, 32vh, 360px);
}

@media (max-width: 760px) {
    .cg-events-page--archive .home-contact-cta--events .home-contact-cta__inner {
        min-height: 300px;
    }
}

/* Events archive simple hero and quick boxes */
.cg-events-page--archive .cg-events-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 23rem;
    background-image:
        linear-gradient(100deg, rgba(4, 22, 55, 0.54) 0%, rgba(8, 73, 162, 0.36) 40%, rgba(8, 73, 162, 0.12) 70%, rgba(214, 233, 254, 0.02) 100%),
        var(--cg-events-hero-image, linear-gradient(135deg, #0849a2, #0849a2));
    background-position: center;
    background-size: cover;
}

.cg-events-page--archive .cg-events-hero::before {
    inset: 0;
    background: linear-gradient(115deg, transparent 0%, rgba(214, 233, 254, 0.1) 40%, rgba(255, 255, 255, 0.05) 50%, transparent 64%);
    background-size: 180% 100%;
    opacity: 0.3;
    animation: collection-hero-flow 18s ease-in-out infinite;
}

.cg-events-page--archive .cg-events-hero::after {
    inset: auto 0 0;
    height: 40%;
    background: linear-gradient(180deg, rgba(237, 247, 255, 0), rgba(237, 247, 255, 0.78));
}

.cg-events-page--archive .cg-events-hero__inner {
    display: flex;
    min-height: 23rem;
    align-items: flex-start;
    padding-block: clamp(2.45rem, 4.8vw, 4rem) clamp(2.65rem, 4vw, 3.35rem);
}

.cg-events-page--archive .cg-events-hero__copy {
    max-width: min(100%, 60rem);
}

.cg-events-page--archive .cg-events-hero h1 {
    max-width: none;
    margin: 0;
    font-size: clamp(2.15rem, 3.2vw, 3.1rem);
    line-height: 0.98;
}

.cg-events-page--archive .cg-events-hero p:not(.cg-events-eyebrow) {
    max-width: 57rem;
    margin-top: 0.95rem;
    font-size: 0.98rem;
    line-height: 1.58;
    color: rgba(255, 255, 255, 0.9);
}

.cg-events-page--archive .cg-events-hero__actions,
.cg-events-page--archive .cg-events-hero__cta-grid {
    display: none;
}

.cg-events-archive-links {
    display: grid;
}

.cg-events-archive-links__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 1.8vw, 1.35rem);
}

.cg-events-archive-card {
    display: grid;
    grid-template-rows: 1fr auto;
    min-height: clamp(13.4rem, 19vw, 15rem);
    padding: clamp(1.35rem, 2vw, 1.65rem);
    border: 1px solid var(--cg-events-line);
    box-shadow: var(--cg-events-shadow);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.cg-events-archive-card__content {
    display: grid;
    align-content: start;
    gap: 0.95rem;
}

.cg-events-archive-card h2 {
    margin: 0;
    font-size: clamp(1.22rem, 1.6vw, 1.5rem);
    line-height: 1.08;
    text-wrap: balance;
}

.cg-events-archive-card p {
    margin: 0;
    max-width: 32ch;
    font-size: 0.94rem;
    line-height: 1.56;
}

.cg-events-archive-card__button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 1.55rem;
    padding: 0.72rem 1.15rem;
    border: 1px solid currentColor;
    font-family: var(--cg-font-menu);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: transform 0.22s ease, background-color 0.22s ease, color 0.22s ease, border-color 0.22s ease;
}

.cg-events-archive-card:hover,
.cg-events-archive-card:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 1.8rem 3.6rem rgba(8, 73, 162, 0.16);
}

.cg-events-archive-card--navy {
    border-color: transparent;
    background: linear-gradient(150deg, #0849a2 0%, var(--cg-events-navy) 65%, #0d63d6 100%);
    color: var(--cg-white);
}

.cg-events-archive-card--navy .cg-events-archive-card__button {
    background: var(--cg-white);
    color: var(--cg-events-navy);
    border-color: var(--cg-white);
}

.cg-events-archive-card--navy .cg-events-archive-card__button:hover,
.cg-events-archive-card--navy .cg-events-archive-card__button:focus-visible {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.9);
    color: #0849a2;
}

.cg-events-archive-card--blue {
    border-color: transparent;
    background: linear-gradient(150deg, #1b78ea 0%, #56b4ff 100%);
    color: var(--cg-white);
}

.cg-events-archive-card--blue .cg-events-archive-card__button {
    background: rgba(255, 255, 255, 0.98);
    color: #0a4fa8;
    border-color: rgba(255, 255, 255, 0.98);
}

.cg-events-archive-card--blue .cg-events-archive-card__button:hover,
.cg-events-archive-card--blue .cg-events-archive-card__button:focus-visible {
    transform: translateY(-1px);
    background: var(--cg-white);
    color: #0849a2;
}

.cg-events-archive-card--light {
    background: var(--cg-white);
    color: var(--cg-events-navy);
}

.cg-events-archive-card--light .cg-events-archive-card__button {
    background: var(--cg-events-navy);
    color: var(--cg-white);
    border-color: var(--cg-events-navy);
}

.cg-events-archive-card--light .cg-events-archive-card__button:hover,
.cg-events-archive-card--light .cg-events-archive-card__button:focus-visible {
    transform: translateY(-1px);
    background: #0849a2;
    border-color: #0849a2;
    color: var(--cg-white);
}

.cg-events-page--archive .cg-events-featured-rails {
    margin-top: clamp(0.55rem, 1vw, 0.95rem);
}

@media (max-width: 980px) {
    .cg-events-page--archive .cg-events-hero__inner {
        min-height: 21.5rem;
        padding-block: clamp(2.25rem, 5.4vw, 3.5rem) clamp(2.25rem, 4.6vw, 3rem);
    }

    .cg-events-archive-links__grid {
        grid-template-columns: 1fr;
    }

    .cg-events-archive-card {
        min-height: auto;
    }

    .cg-events-archive-card p {
        max-width: none;
    }
}

@media (max-width: 760px) {
    .cg-events-page--archive .cg-events-hero {
        min-height: 20.5rem;
    }

    .cg-events-page--archive .cg-events-hero__inner {
        min-height: 20.5rem;
        padding-block: 2.1rem 2.45rem;
    }

    .cg-events-page--archive .cg-events-hero h1 {
        font-size: clamp(2.1rem, 9vw, 2.75rem);
    }

    .cg-events-page--archive .cg-events-hero p:not(.cg-events-eyebrow) {
        font-size: 0.98rem;
        line-height: 1.56;
    }

    .cg-events-archive-card__button {
        width: 100%;
    }
}

.cg-events-editorial {
    --category-line: var(--cg-events-line);
    --category-navy: var(--cg-events-navy);
    --category-ice: var(--cg-events-ice);
    --category-section-space: 0;
    padding-block: 0;
}

.cg-events-editorial .category-editorial__inner {
    box-shadow: var(--cg-events-shadow);
}

/* Events single v2 simplified layout */
.cg-events-page--single {
    --article-line: var(--cg-events-line);
    --article-blue: var(--cg-events-navy);
    --article-ice: var(--cg-events-ice);
}

.cg-event-single__hero--simple {
    grid-template-columns: minmax(0, 1.06fr) minmax(22rem, 0.94fr);
    gap: 0;
    width: calc(100% + 2rem);
    margin-inline: -1rem;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
    background: #ffffff;
    box-shadow: 0 1rem 2.4rem rgba(var(--article-accent-rgb), 0.08);
}

.cg-event-single__hero--simple .cg-event-single__summary {
    min-height: clamp(360px, 36vw, 500px);
    grid-template-rows: auto auto;
    align-content: start;
    gap: 0;
    padding: 0;
    background:
        linear-gradient(135deg, rgba(var(--article-accent-rgb), 0.04), rgba(255, 255, 255, 0.98) 58%),
        transparent;
}

.cg-event-single__summary-copy {
    display: grid;
    align-content: start;
    gap: 1rem;
    padding: clamp(1.15rem, 3vw, 1.75rem) 0 clamp(0.95rem, 2.4vw, 1.2rem);
}

.cg-event-single__hero--simple .cg-event-single__media {
    display: block;
    width: 100%;
    min-height: clamp(360px, 36vw, 520px);
    aspect-ratio: auto;
    border: 0;
    border-left: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
    box-shadow: none;
}

.cg-event-single__hero--simple .cg-event-single__summary,
.cg-event-single__hero--simple .cg-event-single__media {
    box-shadow: none;
    border-radius: 0;
}

.cg-event-single__hero--simple .cg-event-single__img {
    display: block;
    width: 100% !important;
    min-width: 100%;
    max-width: none !important;
    height: 100% !important;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
}

.cg-event-single__facts--hero {
    gap: 1px;
    margin-top: 0;
    padding: 1px;
    background: rgba(var(--article-accent-rgb), 0.12);
}

.cg-event-single__facts--hero::after {
    content: "";
    display: none;
    background: rgba(255, 255, 255, 0.96);
}

.cg-event-single__facts--hero:has(> div:last-child:nth-child(odd))::after {
    display: block;
}

.cg-event-single__facts--hero > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.78rem;
    align-items: start;
    padding: 0.92rem clamp(1rem, 2.5vw, 1.35rem);
    border: 0;
    background: rgba(255, 255, 255, 0.96);
}

.cg-event-single__fact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    color: var(--article-accent);
    box-shadow: none;
}

.cg-event-single__fact-icon svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.cg-event-single__fact-dot {
    display: block;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: currentColor;
}

.cg-event-single__facts-copy {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.cg-event-single__facts--hero dt {
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 0.72rem;
    line-height: 1.2;
}

.cg-event-single__facts--hero dd {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: 1rem;
    line-height: 1.34;
    text-wrap: balance;
}

.cg-event-single__badges a {
    display: inline-flex;
    align-items: center;
    min-height: 1.86rem;
    padding: 0.36rem 0.52rem;
    border-radius: 0;
    background: var(--cg-event-category-soft);
    color: var(--cg-event-category-text);
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
}

.cg-event-single__layout--article {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.36fr);
}

.cg-event-single__content .entry-content {
    max-width: 74ch;
    font-size: clamp(1rem, 1.02vw, 1.08rem);
    line-height: 1.72;
}

.cg-event-single__faq {
    max-width: none;
    margin-top: 0;
}

.cg-event-single__sidebar .article-sidebar__sticky {
    top: 7.5rem;
}

.cg-event-related-side {
    display: grid;
    gap: 0.7rem;
}

.cg-event-mini-side {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem;
    align-items: center;
    padding-top: 0.75rem;
    border-top: 1px solid var(--article-line);
    color: inherit;
    text-decoration: none;
}

.cg-event-related-side p + .cg-event-mini-side {
    border-top: 0;
    padding-top: 0;
}

.cg-event-mini-side > span {
    display: grid;
    width: 3.2rem;
    height: 3.2rem;
    place-items: center;
    border-radius: 0;
    background: var(--cg-event-category-soft);
    color: var(--cg-event-category-text);
    text-align: center;
}

.cg-event-mini-side > span strong {
    display: block;
    font-family: var(--cg-font-menu);
    line-height: 0.92;
}

.cg-event-mini-side em {
    display: block;
    min-width: 0;
    font-family: var(--cg-font-menu);
    font-size: 0.95rem;
    font-style: normal;
    font-weight: 850;
    line-height: 1.18;
}

.cg-event-mini-side small {
    display: block;
    margin-top: 0.18rem;
    color: var(--cg-events-muted);
    font-size: 0.78rem;
    font-weight: 780;
    line-height: 1.28;
}

@media (max-width: 1120px) {
    .cg-event-single__hero--simple,
    .cg-event-single__layout--article {
        grid-template-columns: 1fr;
    }

    .cg-event-single__hero--simple .cg-event-single__summary {
        min-height: 0;
    }

    .cg-event-single__hero--simple .cg-event-single__media {
        min-height: clamp(18rem, 52vw, 24rem);
        border-left: 0;
        border-top: 1px solid rgba(var(--article-accent-rgb), 0.08);
    }
}

/* Events submit form v1 */
.cg-events-page--submit {
    background:
        linear-gradient(180deg, rgba(237, 247, 255, 0.82), rgba(255, 255, 255, 0.98) 28rem),
        var(--cg-events-ice);
}

.cg-event-submit-hero {
    padding: clamp(1.4rem, 3.2vw, 2.8rem) 0 clamp(1rem, 2.4vw, 1.7rem);
}

.cg-event-submit-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
}

.cg-event-submit-hero__copy {
    display: grid;
    max-width: 820px;
    gap: 0.72rem;
}

.cg-event-submit-hero h1 {
    max-width: 13ch;
    margin: 0;
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-size: clamp(2.35rem, 5.4vw, 5.2rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 0.96;
    text-wrap: balance;
}

.cg-event-submit-hero p {
    margin: 0;
    color: var(--cg-events-muted);
    font-size: clamp(1rem, 1.25vw, 1.16rem);
    line-height: 1.55;
}

.cg-event-submit__body {
    padding-bottom: clamp(2.2rem, 5vw, 4.5rem);
}

.cg-event-submit {
    display: grid;
    grid-template-columns: minmax(16rem, 0.32fr) minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 1.6rem);
    align-items: start;
}

.cg-event-submit__side,
.cg-event-submit__panel {
    border: 1px solid var(--cg-events-line);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--cg-events-shadow);
}

.cg-event-submit__side {
    position: sticky;
    top: 7.5rem;
    display: grid;
    gap: 0.8rem;
    padding: clamp(1rem, 2.6vw, 1.45rem);
}

.cg-event-submit__side p,
.cg-event-submit__section-head h2,
.cg-event-submit__section-head p {
    margin: 0;
}

.cg-event-submit__side p {
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.cg-event-submit__side h2 {
    margin: 0;
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.45rem, 2.3vw, 2.1rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.cg-event-submit__side ul {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cg-event-submit__side li {
    padding: 0.62rem 0.7rem;
    border-radius: 0;
    background: var(--cg-events-ice);
    color: var(--cg-events-text);
    font-weight: 820;
}

.cg-event-submit__side span {
    color: var(--cg-events-muted);
    line-height: 1.52;
}

.cg-event-submit__panel {
    padding: clamp(1rem, 2.6vw, 1.5rem);
}

.cg-event-submit__notice {
    margin-bottom: 1rem;
    padding: 0.88rem 1rem;
    border-radius: 0;
    font-weight: 760;
}

.cg-event-submit__notice p,
.cg-event-submit__notice ul {
    margin: 0;
}

.cg-event-submit__notice.is-success {
    border: 1px solid rgba(15, 155, 117, 0.24);
    background: #ddf8ef;
    color: #096449;
}

.cg-event-submit__notice.is-error {
    border: 1px solid rgba(8, 73, 162, 0.22);
    background: var(--cg-events-ice);
    color: var(--cg-events-text);
}

.cg-event-submit__legend {
    margin: 0 0 1rem;
    color: var(--cg-events-muted);
    font-size: 0.95rem;
    line-height: 1.5;
}

.cg-event-submit__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.cg-event-submit__grid label,
.cg-event-submit__faq-row {
    display: grid;
    gap: 0.42rem;
    min-width: 0;
}

.cg-event-submit__full,
.cg-event-submit__faq {
    grid-column: 1 / -1;
}

.cg-event-submit__label-line {
    display: flex;
    gap: 0.22rem;
    align-items: center;
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-size: 0.86rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.16;
}

.cg-event-submit__required {
    color: var(--cg-events-navy);
}

.cg-event-submit__hint {
    color: var(--cg-events-muted);
    font-size: 0.82rem;
    line-height: 1.42;
}

.cg-event-submit__grid input[type="text"],
.cg-event-submit__grid input[type="tel"],
.cg-event-submit__grid input[type="email"],
.cg-event-submit__grid input[type="date"],
.cg-event-submit__grid input[type="time"],
.cg-event-submit__grid input[type="file"],
.cg-event-submit__grid select,
.cg-event-submit__grid textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 0;
    background: #fff;
    color: var(--cg-events-text);
    font: inherit;
    box-shadow: none;
}

.cg-event-submit__grid input[type="text"],
.cg-event-submit__grid input[type="tel"],
.cg-event-submit__grid input[type="email"],
.cg-event-submit__grid input[type="date"],
.cg-event-submit__grid input[type="time"],
.cg-event-submit__grid select {
    min-height: 3.1rem;
    padding: 0 0.86rem;
}

.cg-event-submit__grid input[type="file"] {
    padding: 0.78rem;
}

.cg-event-submit__grid textarea {
    min-height: 8rem;
    padding: 0.82rem 0.86rem;
    resize: vertical;
}

.cg-event-submit__grid input:focus,
.cg-event-submit__grid select:focus,
.cg-event-submit__grid textarea:focus {
    outline: 2px solid rgba(8, 73, 162, 0.2);
    border-color: var(--cg-events-navy);
}

.cg-event-submit__faq {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: rgba(237, 247, 255, 0.62);
}

.cg-event-submit__section-head {
    display: grid;
    gap: 0.3rem;
}

.cg-event-submit__section-head h2 {
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-size: 1.36rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.1;
}

.cg-event-submit__section-head p {
    color: var(--cg-events-muted);
    line-height: 1.5;
}

.cg-event-submit__faq-row {
    grid-template-columns: minmax(0, 0.45fr) minmax(0, 0.55fr);
    padding-top: 0.85rem;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
}

.cg-event-submit__anti-spam {
    padding: 0.9rem;
    border-radius: 0;
    background: var(--cg-events-ice);
}

.cg-event-submit__challenge {
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-size: 1.15rem;
    font-weight: 850;
}

.cg-event-submit__consent {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    padding: 0.9rem;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.78);
}

.cg-event-submit__consent input {
    margin-top: 0.25rem;
}

.cg-event-submit__consent span {
    color: var(--cg-events-muted);
    line-height: 1.52;
}

.cg-event-submit__honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.cg-event-submit__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1rem;
}

.cg-event-submit__actions button,
.cg-event-submit__actions a {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    padding: 0.76rem 1.05rem;
    border: 1px solid var(--cg-events-navy);
    border-radius: 0;
    font-family: var(--cg-font-menu);
    font-size: 0.86rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    cursor: pointer;
}

.cg-event-submit__actions button {
    background: var(--cg-events-navy);
    color: #fff;
}

.cg-event-submit__actions a {
    background: #fff;
    color: var(--cg-events-navy);
}

@media (max-width: 980px) {
    .cg-event-submit-hero__inner,
    .cg-event-submit,
    .cg-event-submit__faq-row {
        grid-template-columns: 1fr;
    }

    .cg-event-submit__side {
        position: static;
    }
}

@media (max-width: 680px) {
    .cg-event-submit__grid {
        grid-template-columns: 1fr;
    }

    .cg-event-submit__actions,
    .cg-event-submit__actions > * {
        width: 100%;
    }
}

/* Events submit form v2 stepped flow */
.cg-event-submit__side-steps {
    display: grid;
    gap: 0.48rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cg-event-submit__side-steps li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
    align-items: center;
}

.cg-event-submit__side-steps span,
.cg-event-submit-step__number {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 0;
    background: var(--cg-events-navy);
    color: #fff;
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 850;
    line-height: 1;
}

.cg-event-submit__steps {
    display: grid;
    gap: clamp(1.25rem, 2.4vw, 1.8rem);
}

.cg-event-submit-step {
    display: grid;
    gap: clamp(0.9rem, 1.8vw, 1.15rem);
    padding-top: clamp(1.25rem, 2.4vw, 1.8rem);
    border-top: 1px solid rgba(8, 73, 162, 0.14);
}

.cg-event-submit-step:first-child {
    padding-top: 0;
    border-top: 0;
}

.cg-event-submit-step__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.8rem;
    align-items: start;
}

.cg-event-submit-step__head div {
    display: grid;
    gap: 0.32rem;
}

.cg-event-submit-step__head p,
.cg-event-submit-step__head h2,
.cg-event-submit-step__head span,
.cg-event-submit__note,
.cg-event-submit__optional-copy p {
    margin: 0;
}

.cg-event-submit-step__head p {
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.76rem;
    font-weight: 850;
    text-transform: uppercase;
}

.cg-event-submit-step__head h2 {
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.32rem, 2.3vw, 1.82rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.12;
}

.cg-event-submit-step__head span,
.cg-event-submit__note,
.cg-event-submit__optional-copy p {
    color: var(--cg-events-muted);
    line-height: 1.55;
}

.cg-event-submit__upload {
    display: grid;
    gap: 0.45rem;
}

.cg-event-submit__upload input[type="file"] {
    width: 100%;
    min-height: 3.3rem;
    padding: 0.82rem;
    border: 1px dashed rgba(8, 73, 162, 0.28);
    border-radius: 0;
    background: rgba(237, 247, 255, 0.72);
    color: var(--cg-events-text);
    font: inherit;
}

.cg-event-submit-step--media {
    padding-bottom: clamp(1rem, 2vw, 1.2rem);
}

.cg-event-submit__note {
    padding: 0.9rem 1rem;
    border-left: 4px solid var(--cg-events-navy);
    border-radius: 0;
    background: rgba(237, 247, 255, 0.74);
}

.cg-event-submit__optional-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.56fr) minmax(0, 0.44fr);
    gap: 0.9rem;
    align-items: stretch;
}

.cg-event-submit__optional-copy {
    display: grid;
    align-content: center;
    gap: 0.35rem;
    padding: 0.95rem 1rem;
    border-radius: 0;
    background: var(--cg-events-ice);
}

.cg-event-submit__optional-copy strong {
    color: var(--cg-events-text);
    font-family: var(--cg-font-menu);
    font-size: 1rem;
    font-weight: 850;
}

.cg-event-single__gallery {
    display: grid;
    gap: clamp(0.9rem, 2vw, 1.15rem);
}

.cg-event-single__gallery-head {
    display: grid;
    gap: 0.28rem;
}

.cg-event-single__gallery-head p,
.cg-event-single__gallery-head h2 {
    margin: 0;
}

.cg-event-single__gallery-head p {
    color: var(--cg-events-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.cg-event-single__gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.cg-event-single__gallery-item {
    min-height: 11rem;
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    background: var(--cg-events-ice);
}

.cg-event-single__gallery-item--lead {
    grid-column: span 2;
    grid-row: span 2;
}

.cg-event-single__gallery-item img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.cg-event-single__gallery-item:hover img {
    transform: scale(1.035);
}

@media (max-width: 980px) {
    .cg-event-submit__optional-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .cg-event-submit-step__head {
        grid-template-columns: 1fr;
    }

    .cg-event-submit__side-steps li {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .cg-event-single__gallery-grid {
        grid-template-columns: 1fr;
    }

    .cg-event-single__gallery-item--lead {
        grid-column: auto;
        grid-row: auto;
    }
}

/* Events single v4 compact article layout */
.cg-event-single__hero--editorial {
    grid-template-columns: minmax(0, 1.02fr) minmax(24rem, 0.98fr);
    gap: clamp(1rem, 2.6vw, 1.45rem);
    align-items: stretch;
}

.cg-event-single__hero--editorial .cg-event-single__summary {
    min-height: clamp(360px, 36vw, 500px);
    gap: 0.95rem;
    padding: clamp(1.1rem, 2.7vw, 1.55rem);
    border: 1px solid rgba(var(--article-accent-rgb), 0.1);
    border-radius: 0;
    background:
        linear-gradient(135deg, rgba(var(--article-accent-rgb), 0.06), rgba(255, 255, 255, 0.98) 58%),
        #ffffff;
    box-shadow: 0 1rem 2.4rem rgba(var(--article-accent-rgb), 0.08);
}

.cg-event-single__hero--editorial .cg-event-single__media {
    display: block;
    width: 100%;
    min-height: clamp(360px, 36vw, 520px);
    aspect-ratio: auto;
}

.cg-event-single__hero--editorial .cg-event-single__img {
    display: block;
    width: 100% !important;
    min-width: 100%;
    max-width: none !important;
    height: 100% !important;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
}

.cg-event-single__summary h1 {
    margin: 0;
    font-size: clamp(1.95rem, 3.2vw, 2.85rem);
}

.cg-event-single__lead {
    max-width: 34rem;
}

.cg-event-single__intro {
    max-width: 42rem;
    margin: 0 0 1rem;
    color: var(--cg-events-muted);
    font-size: clamp(1rem, 1.1vw, 1.08rem);
    line-height: 1.68;
}

.cg-event-single__back {
    width: fit-content;
    margin-bottom: 0.15rem;
}

.cg-event-single__meta-line {
    gap: 0.7rem 1rem;
}

.cg-event-single__meta-line > * {
    white-space: normal;
}

.cg-event-single__hero--editorial .cg-event-single__facts {
    gap: 0.7rem;
}

.cg-event-single__actions {
    margin-top: 0.15rem;
}

.cg-event-single__content,
.cg-event-single__gallery,
.cg-event-single__articles,
.cg-event-single__faq,
.cg-event-single__response,
.cg-event-single__author,
.cg-event-single__main .article-comments {
    max-width: 50rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.cg-event-single__content {
    padding: 0;
}

.cg-event-single__content h2,
.cg-event-single__gallery h2,
.cg-event-single__articles h2,
.cg-event-single__faq h2,
.cg-event-single__author h2,
.cg-event-single__main .article-comments h2 {
    margin: 0 0 0.9rem;
}

.cg-event-single__gallery,
.cg-event-single__articles,
.cg-event-single__faq,
.cg-event-single__response,
.cg-event-single__author,
.cg-event-single__main .article-comments {
    margin-top: clamp(1.4rem, 3vw, 2rem);
    padding: clamp(1rem, 2.2vw, 1.35rem) 0 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
}

.cg-event-single__content .entry-content {
    max-width: 74ch;
    font-size: clamp(1rem, 1vw, 1.06rem);
    line-height: 1.72;
}

.cg-event-single__content .entry-content > *:first-child,
.cg-event-single__content .entry-content > h1:first-child,
.cg-event-single__content .entry-content > h2:first-child {
    margin-top: 0;
}

.cg-event-single__toc {
    max-width: 50rem;
}

.cg-event-single__toc.article-toc--inline {
    padding: 0 0 1rem;
    border-top: 0;
}

.cg-event-single__toc.article-toc--inline p {
    display: inline-block;
    margin: 0 0 0.85rem;
    padding: 0;
    border-bottom: 0;
}

.cg-event-single__toc.article-toc--inline ol {
    display: grid;
    gap: 0.58rem;
    margin-top: 0;
    padding-left: 0;
    list-style: none;
    counter-reset: cg-event-toc;
    justify-items: start;
}

.cg-event-single__toc.article-toc--inline li {
    counter-increment: cg-event-toc;
}

.cg-event-single__toc.article-toc--inline a {
    width: auto;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    column-gap: 0.75rem;
}

.cg-event-single__toc.article-toc--inline a::before {
    content: counter(cg-event-toc, decimal-leading-zero) ".";
    color: var(--article-accent);
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
}

.cg-event-single__faq.article-faq {
    padding-inline: 0;
}

.cg-event-single__faq .article-faq__list {
    gap: 0;
}

.cg-event-single__faq .article-faq__item {
    border: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.1);
    border-radius: 0;
    background: transparent;
}

.cg-event-single__faq .article-faq__item:first-child {
    border-top: 0;
}

.cg-event-single__faq .article-faq__item summary {
    padding: 0.9rem 0;
}

.cg-event-single__faq .article-faq__answer {
    padding: 0 0 0.95rem;
}

.cg-event-single__sidebar .article-sidebar__sticky {
    top: 6.8rem;
    gap: 0;
}

.cg-event-single__sidebar .article-side-ad,
.cg-event-single__sidebar .cg-sidebar-links {
    border: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
    padding: 1rem 0 0;
    background: transparent;
    box-shadow: none;
}

.cg-event-single__sidebar .article-side-ad:first-child,
.cg-event-single__sidebar .cg-sidebar-links:first-child {
    padding-top: 0;
    border-top: 0;
}

.cg-event-single__sidebar .article-side-ad {
    display: grid;
    gap: 0.55rem;
    padding-inline: 0;
}

.cg-event-single__sidebar .article-side-ad__caption {
    color: var(--article-accent);
}

.cg-event-single__sidebar .article-side-ad img {
    width: 100%;
    aspect-ratio: 5 / 6;
    object-fit: cover;
    object-position: center;
    background: rgba(var(--article-accent-rgb), 0.05);
}

.cg-event-single__sidebar .article-side-ad--placeholder {
    min-height: clamp(15rem, 32vw, 18rem);
    align-content: center;
    background:
        linear-gradient(155deg, rgba(var(--article-accent-rgb), 0.06), rgba(255, 255, 255, 0.98) 62%),
        transparent;
}

.cg-event-single__sidebar .cg-sidebar-links h2 {
    margin: 0 0 0.95rem;
}

.cg-event-single__sidebar .cg-sidebar-links__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
}

.cg-event-single__sidebar .cg-sidebar-links a {
    min-height: 0;
    gap: 0.34rem;
    padding: 0.86rem 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border: 0;
    border-radius: 0;
    background: transparent;
}

.cg-event-single__sidebar .cg-sidebar-links a:nth-child(-n + 2) {
    border-top: 0;
}

.cg-event-single__sidebar .cg-sidebar-links a:nth-child(2n + 1) {
    padding-right: 0.9rem;
    border-right: 1px solid rgba(var(--article-accent-rgb), 0.12);
}

.cg-event-single__sidebar .cg-sidebar-links a:nth-child(2n) {
    padding-left: 0.9rem;
}

.cg-event-single__sidebar .cg-sidebar-links a:hover {
    background: transparent;
    color: var(--article-accent);
}

.article-response-stack.cg-event-single__response .cg-share-panel__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.36rem;
}

.article-response-stack.cg-event-single__response .cg-share-panel__head {
    margin: 0 0 0.5rem;
}

.article-response-stack.cg-event-single__response .cg-share-panel__head p {
    font-size: 0.98rem;
}

.article-response-stack.cg-event-single__response .cg-share-panel__head span {
    display: none;
}

.article-response-stack.cg-event-single__response .cg-share-panel__button {
    flex: 0 0 auto;
    min-height: 0;
    padding: 0.14rem 0.38rem 0.14rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.75rem;
    gap: 0.34rem;
}

.article-response-stack.cg-event-single__response .cg-share-panel__icon {
    width: 1rem;
    height: 1rem;
    border-radius: 0;
}

.article-response-stack.cg-event-single__response .cg-share-panel__button:hover,
.article-response-stack.cg-event-single__response .cg-share-panel__button.is-copied {
    border: 0;
    background: transparent;
    color: var(--article-accent);
}

.article-response-stack.cg-event-single__response .article-reaction:hover,
.article-response-stack.cg-event-single__response .article-reaction.is-selected {
    border: 0;
    background: rgba(var(--article-accent-rgb), 0.12);
}

.article-response-stack.cg-event-single__response .article-reaction {
    border: 0;
    background: rgba(var(--article-accent-rgb), 0.06);
}

.cg-event-single__return {
    display: flex;
    justify-content: flex-start;
    margin-top: clamp(1.4rem, 3vw, 2rem);
    padding-top: clamp(1rem, 2.2vw, 1.35rem);
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
}

.cg-event-single__upcoming {
    margin-top: clamp(1.8rem, 4vw, 2.8rem);
    padding-top: clamp(1.2rem, 2.8vw, 1.8rem);
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
}

.cg-event-single__upcoming-head {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.cg-event-single__upcoming-head p {
    margin: 0 0 0.32rem;
    color: var(--article-accent);
    font-family: var(--cg-font-menu);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1;
}

.cg-event-single__upcoming-head h2 {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-heading);
    font-size: clamp(1.28rem, 1.8vw, 1.7rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.02em;
    text-wrap: balance;
}

.cg-event-single__upcoming-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.65rem, 1.4vw, 0.9rem);
}

.cg-event-single__upcoming-grid .cg-event-card {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    box-shadow: none;
}

.cg-event-single__upcoming-grid .cg-event-card:hover {
    transform: translateY(-2px);
    border-color: rgba(8, 73, 162, 0.2);
    box-shadow: 0 0.9rem 2rem rgba(8, 73, 162, 0.12);
}

.cg-event-single__upcoming-grid .cg-event-card__media {
    min-height: 0;
    aspect-ratio: 16 / 8.7;
}

.cg-event-single__upcoming-grid .cg-event-card__date {
    top: 0.55rem;
    left: 0.55rem;
    width: 3.55rem;
    min-height: 3.55rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 0.55rem 1.2rem rgba(8, 73, 162, 0.12);
}

.cg-event-single__upcoming-grid .cg-event-card__date strong {
    font-size: 1.32rem;
}

.cg-event-single__upcoming-grid .cg-event-card__date span {
    font-size: 0.62rem;
}

.cg-event-single__upcoming-grid .cg-event-card__body {
    gap: 0.48rem;
    padding: 0.68rem;
}

.cg-event-single__upcoming-grid .cg-event-card__badges {
    gap: 0.32rem;
}

.cg-event-single__upcoming-grid .cg-event-card__badges span,
.cg-event-single__upcoming-grid .cg-event-card__patronage {
    min-height: 1.42rem;
    padding: 0.22rem 0.4rem;
    font-size: 0.62rem;
}

.cg-event-single__upcoming-grid .cg-event-card h3 {
    font-size: 0.96rem;
    line-height: 1.16;
}

.cg-event-single__upcoming-grid .cg-event-card__meta {
    gap: 0.36rem;
}

.cg-event-single__upcoming-grid .cg-event-card__meta div {
    padding: 0.42rem;
    background: rgba(237, 247, 255, 0.78);
}

.cg-event-single__upcoming-grid .cg-event-card__meta dt {
    margin-bottom: 0.12rem;
    font-size: 0.58rem;
}

.cg-event-single__upcoming-grid .cg-event-card__meta dd {
    font-size: 0.74rem;
    line-height: 1.22;
}

.cg-event-single__upcoming-grid .cg-event-card__link {
    min-height: 2.22rem;
    padding: 0.58rem 0.7rem;
    white-space: normal;
}

@media (min-width: 1500px) {
    .cg-event-single__upcoming-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 1120px) {
    .cg-event-single__hero--editorial,
    .cg-event-single__layout--article {
        grid-template-columns: 1fr;
    }

    .cg-event-single__hero--editorial .cg-event-single__summary {
        min-height: 0;
    }

    .cg-event-single__hero--editorial .cg-event-single__media {
        min-height: clamp(18rem, 52vw, 24rem);
    }

    .cg-event-single__sidebar .article-sidebar__sticky {
        top: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cg-event-single__upcoming-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .cg-event-single__upcoming-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .cg-event-single__facts--hero,
    .cg-event-single__sidebar .article-sidebar__sticky,
    .cg-event-single__sidebar .cg-sidebar-links__list {
        grid-template-columns: 1fr;
    }

    .cg-event-single__sidebar .cg-sidebar-links a:nth-child(-n + 2) {
        border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
    }

    .cg-event-single__sidebar .cg-sidebar-links a:first-child {
        border-top: 0;
    }

    .cg-event-single__sidebar .cg-sidebar-links a:nth-child(2n + 1) {
        padding-right: 0;
        border-right: 0;
    }

    .cg-event-single__sidebar .cg-sidebar-links a:nth-child(2n) {
        padding-left: 0;
    }

    .cg-event-single__upcoming-head {
        align-items: stretch;
    }

    .cg-event-single__upcoming-head .cg-events-button {
        width: 100%;
    }

    .cg-event-single__response .cg-share-panel__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .cg-event-single__upcoming-grid,
    .cg-event-single__response .cg-share-panel__grid {
        grid-template-columns: 1fr;
    }
}

/* Events submit form v3 field polish */
.cg-event-submit-step__number,
.cg-event-submit__side-steps span {
    color: #fff;
}

.cg-event-submit-step__head > .cg-event-submit-step__number,
.cg-event-submit__side-steps > li > span {
    color: #fff;
}

.cg-event-submit-step__head div > span {
    color: var(--cg-events-muted);
}

.cg-event-submit__form label {
    display: grid;
    gap: 0.46rem;
    min-width: 0;
}

.cg-event-submit__form input[type="text"],
.cg-event-submit__form input[type="tel"],
.cg-event-submit__form input[type="email"],
.cg-event-submit__form input[type="date"],
.cg-event-submit__form input[type="time"],
.cg-event-submit__form select,
.cg-event-submit__form textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(8, 73, 162, 0.18);
    border-radius: 0;
    background: #fff;
    color: var(--cg-events-text);
    font: inherit;
    box-shadow: 0 1px 0 rgba(8, 73, 162, 0.04);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.cg-event-submit__form input[type="text"],
.cg-event-submit__form input[type="tel"],
.cg-event-submit__form input[type="email"],
.cg-event-submit__form input[type="date"],
.cg-event-submit__form input[type="time"],
.cg-event-submit__form select {
    min-height: 3.15rem;
    padding: 0 0.92rem;
}

.cg-event-submit__form textarea {
    min-height: 10rem;
    padding: 0.92rem;
    resize: vertical;
}

.cg-event-submit__form input::placeholder,
.cg-event-submit__form textarea::placeholder {
    color: rgba(66, 83, 112, 0.68);
}

.cg-event-submit__form select {
    appearance: none;
    padding-right: 2.4rem;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--cg-events-navy) 50%),
        linear-gradient(135deg, var(--cg-events-navy) 50%, transparent 50%);
    background-position:
        calc(100% - 1.1rem) 50%,
        calc(100% - 0.82rem) 50%;
    background-size: 0.34rem 0.34rem, 0.34rem 0.34rem;
    background-repeat: no-repeat;
}

.cg-event-submit__form input[type="file"] {
    width: 100%;
    min-width: 0;
    border-radius: 0;
    font: inherit;
}

.cg-event-submit__form input:focus,
.cg-event-submit__form select:focus,
.cg-event-submit__form textarea:focus {
    outline: none;
    border-color: var(--cg-events-navy);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(8, 73, 162, 0.12);
}

.cg-event-submit__form input[type="checkbox"]:focus {
    box-shadow: none;
    outline: 2px solid rgba(8, 73, 162, 0.22);
    outline-offset: 3px;
}

.cg-event-submit__faq-row {
    align-items: start;
}

.cg-event-submit__faq-row textarea {
    min-height: 6.4rem;
}

/* Events mobile QA v9 */
@media (max-width: 760px) {
    .cg-events-page--archive .cg-events-hero__inner {
        min-height: 0;
        gap: 0.8rem;
        padding-block: 1rem;
    }

    .cg-events-page--archive .cg-events-hero__copy {
        display: grid;
        gap: 0.6rem;
    }

    .cg-events-page--archive .cg-events-hero__actions {
        margin-top: 0.62rem;
    }

    .cg-events-page--archive .cg-events-hero__cta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .cg-events-page--archive .cg-events-hero-action {
        gap: 0.42rem;
        align-content: space-between;
        padding: 0.68rem;
    }

    .cg-events-page--archive .cg-events-hero-action h2 {
        font-size: 0.95rem;
    }

    .cg-events-page--archive .cg-events-hero-action p {
        display: none;
    }

    .cg-events-page--archive .cg-events-hero-action .cg-events-button {
        width: 100%;
        min-height: 2.35rem;
        padding: 0.52rem 0.55rem;
        font-size: 0.72rem;
    }

    .cg-events-page--archive .cg-events-featured-rail {
        min-height: clamp(15.5rem, 72vw, 18rem);
    }

    .cg-events-featured-slide__content {
        padding-top: 7.4rem;
        padding-bottom: 0.8rem;
    }

    .cg-events-featured-slider__top {
        gap: 0.5rem;
    }

    .cg-events-featured-slider__title {
        max-width: 16ch;
        font-size: 1rem;
    }

    .cg-events-featured-slider__controls > button {
        width: 2.7rem;
        height: 2.7rem;
    }

    .cg-events-calendar-panel {
        gap: 0.8rem;
        padding: 0.85rem;
    }

    .cg-events-calendar-panel__head {
        gap: 0.75rem;
    }

    .cg-events-calendar-panel h2 {
        font-size: 1.45rem;
    }

    .cg-events-calendar-panel .cg-events-filters {
        gap: 0.78rem;
    }

    .cg-events-calendar-panel .cg-events-filters__top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.7rem;
    }

    .cg-events-page--archive .cg-events-filters__date-layout {
        gap: 0.8rem;
    }

    .cg-events-calendar-panel .cg-events-search {
        grid-column: 1 / -1;
    }

    .cg-events-filter-chips {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.15rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .cg-events-chip {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    .cg-events-chip span {
        min-height: 2.25rem;
        padding: 0.48rem 0.65rem;
    }

    .cg-events-date-range {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.62rem;
    }

    .cg-events-date-range p {
        grid-column: 1 / -1;
        font-size: 0.78rem;
    }

    .cg-events-page--archive .cg-event-card__media {
        aspect-ratio: 16 / 7.4;
    }

    .cg-events-page--archive .cg-event-card__body {
        gap: 0.38rem;
        padding: 0.6rem;
    }

    .cg-events-page--archive .cg-event-card p {
        font-size: 0.78rem;
        line-height: 1.3;
        -webkit-line-clamp: 1;
    }

    .cg-events-page--archive .cg-event-card__meta {
        gap: 0.32rem;
    }

    .cg-events-page--archive .cg-event-card__meta div {
        padding: 0.34rem;
    }

    .cg-events-page--archive .cg-event-card__link {
        min-height: 2.15rem;
        padding: 0.5rem 0.6rem;
    }

    .cg-event-single__summary {
        gap: 0.78rem;
        padding: 0.92rem;
    }

    .cg-event-single__summary h1 {
        font-size: clamp(2rem, 9vw, 2.35rem);
    }

    .cg-event-single__lead {
        line-height: 1.48;
    }

    .cg-event-single__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .cg-event-single__facts div {
        padding: 0.55rem;
    }

    .cg-event-single__media {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .cg-event-submit__side {
        gap: 0.7rem;
    }

    .cg-event-submit__side-steps {
        display: flex;
        gap: 0.55rem;
        overflow-x: auto;
        padding-bottom: 0.18rem;
        -webkit-overflow-scrolling: touch;
    }

    .cg-event-submit__side-steps li {
        flex: 0 0 min(8.6rem, 42vw);
        grid-template-columns: 1fr;
        align-content: start;
        justify-items: start;
        min-height: 5.7rem;
        padding: 0.66rem;
    }

    .cg-event-submit-step__head {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.65rem;
    }

    .cg-event-submit-step__number,
    .cg-event-submit__side-steps span {
        width: 1.86rem;
        height: 1.86rem;
    }

    .cg-event-submit__panel {
        padding: 0.9rem;
    }

    .cg-event-submit__legend {
        font-size: 0.86rem;
    }

    .cg-event-submit__form textarea {
        min-height: 7.6rem;
    }

    .cg-event-submit__faq-row textarea {
        min-height: 5.5rem;
    }
}
/* Portal search and submission owner workflow */
.cg-search-page,
.cg-manage-page {
    background: #f4f8fb;
    color: #071522;
}

.cg-search-hero,
.cg-manage-hero {
    background: linear-gradient(135deg, #071522 0%, #0b3f89 58%, #0b63ce 100%);
    color: #fff;
    padding: clamp(3rem, 6vw, 6rem) 0;
}

.cg-search-hero__inner,
.cg-manage-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 32rem);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: end;
}

.cg-search-eyebrow,
.cg-manage-eyebrow,
.cg-search-card__type,
.cg-manage-summary > p {
    margin: 0 0 .75rem;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #b9d8ff;
}

.cg-search-hero h1,
.cg-manage-hero h1 {
    margin: 0;
    max-width: 20ch;
    font-size: clamp(2.5rem, 7vw, 6.5rem);
    line-height: .94;
    letter-spacing: 0;
}

.cg-search-hero p:not(.cg-search-eyebrow),
.cg-manage-hero p:not(.cg-manage-eyebrow) {
    max-width: 44rem;
    margin: 1.25rem 0 0;
    color: rgba(255, 255, 255, .82);
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    line-height: 1.65;
}

.cg-search-hero__form .search-form__row {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 0;
    padding: .4rem;
}

.cg-search-hero__form .search-form__input,
.cg-search-hero__form .search-form__button {
    min-height: 3.25rem;
}

.cg-search-results,
.cg-manage-body {
    padding: clamp(2.5rem, 5vw, 5rem) 0;
}

.cg-search-results__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
}

.cg-search-card {
    display: grid;
    background: #fff;
    border: 1px solid rgba(7, 21, 34, .1);
    border-radius: 0;
    overflow: hidden;
    min-height: 100%;
}

.cg-search-card__media {
    display: block;
    aspect-ratio: 16 / 10;
    background: #d9e6eb;
    color: #071522;
    text-decoration: none;
    overflow: hidden;
}

.cg-search-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cg-search-card__media span {
    display: grid;
    min-height: 100%;
    place-items: center;
    font-weight: 800;
}

.cg-search-card__body {
    display: grid;
    align-content: start;
    gap: .85rem;
    padding: 1.25rem;
}

.cg-search-card h2 {
    margin: 0;
    font-size: clamp(1.15rem, 1.5vw, 1.45rem);
    line-height: 1.12;
}

.cg-search-card h2 a,
.cg-search-card__link,
.cg-search-empty__links a,
.cg-manage-summary a {
    color: #0757b8;
}

.cg-search-card p {
    margin: 0;
    color: #44515f;
    line-height: 1.55;
}

.cg-search-card__link {
    font-weight: 800;
    text-decoration: none;
}

.cg-search-pagination {
    margin-top: 2rem;
}

.cg-search-empty,
.cg-manage-panel {
    background: #fff;
    border: 1px solid rgba(7, 21, 34, .1);
    border-radius: 0;
    padding: clamp(1.25rem, 3vw, 2rem);
}

.cg-search-empty h2,
.cg-manage-panel h2,
.cg-manage-summary h2 {
    margin: 0 0 1rem;
}

.cg-search-empty__links,
.cg-manage-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.25rem;
}

.cg-search-empty__links a,
.cg-manage-button,
.cg-manage-delete button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    border-radius: 0;
    padding: .85rem 1.15rem;
    font-weight: 800;
    text-decoration: none;
}

.cg-manage-button {
    border: 0;
    background: #0757b8;
    color: #fff;
    cursor: pointer;
}

.cg-manage-button--light {
    border: 1px solid rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .12);
}

.cg-manage-layout {
    display: grid;
    grid-template-columns: minmax(16rem, 24rem) minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 2rem);
    align-items: start;
}

.cg-manage-summary {
    background: #071522;
    color: #fff;
    border-radius: 0;
    padding: clamp(1.25rem, 3vw, 2rem);
    position: sticky;
    top: 1.5rem;
}

.cg-manage-summary dl {
    display: grid;
    gap: .85rem;
    margin: 1.25rem 0;
}

.cg-manage-summary dl div {
    border-top: 1px solid rgba(255, 255, 255, .18);
    padding-top: .85rem;
}

.cg-manage-summary dt {
    color: rgba(255, 255, 255, .62);
    font-size: .8rem;
    font-weight: 800;
    text-transform: uppercase;
}

.cg-manage-summary dd {
    margin: .25rem 0 0;
    font-weight: 800;
}

.cg-manage-summary p:last-child {
    color: rgba(255, 255, 255, .72);
    line-height: 1.55;
}

.cg-manage-notice {
    border-radius: 0;
    margin-bottom: 1rem;
    padding: 1rem;
}

.cg-manage-notice.is-success {
    background: #e6f7ee;
    color: #115c38;
}

.cg-manage-notice.is-error {
    background: #fff1f0;
    color: #8a1f12;
}

.cg-manage-errors {
    margin: 0;
    padding-left: 1.1rem;
}

.cg-manage-form {
    display: grid;
    gap: 1rem;
}

.cg-manage-form__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.cg-manage-form label {
    display: grid;
    gap: .45rem;
    font-weight: 800;
}

.cg-manage-form input,
.cg-manage-form select,
.cg-manage-form textarea {
    width: 100%;
    border: 1px solid rgba(7, 21, 34, .16);
    border-radius: 0;
    background: #f8fbfd;
    color: #071522;
    font: inherit;
    font-weight: 500;
    padding: .9rem 1rem;
}

.cg-manage-form textarea {
    resize: vertical;
}

.cg-manage-delete {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(7, 21, 34, .1);
}

.cg-manage-delete button {
    border: 1px solid rgba(138, 31, 18, .24);
    background: #fff1f0;
    color: #8a1f12;
    cursor: pointer;
}

@media (max-width: 980px) {
    .cg-search-hero__inner,
    .cg-manage-hero__inner,
    .cg-manage-layout {
        grid-template-columns: 1fr;
    }

    .cg-search-results__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cg-manage-summary {
        position: static;
    }
}

@media (max-width: 680px) {
    .cg-search-results__grid,
    .cg-manage-form__grid {
        grid-template-columns: 1fr;
    }

    .cg-search-hero h1,
    .cg-manage-hero h1 {
        max-width: 100%;
    }
}

/* Article sharing and portal sidebar links */
.cg-share-panel,
.cg-sidebar-links {
    display: grid;
    gap: clamp(0.72rem, 1.8vw, 0.95rem);
    min-width: 0;
    border: 1px solid rgba(8, 73, 162, 0.14);
    border-radius: 0;
    padding: clamp(0.95rem, 2.2vw, 1.15rem);
    background: #fff;
    box-shadow: 0 0.8rem 2rem rgba(8, 73, 162, 0.08);
}

.cg-share-panel__head,
.cg-sidebar-links {
    color: var(--cg-ink);
}

.cg-share-panel__head p,
.cg-sidebar-links h2 {
    margin: 0;
    color: inherit;
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.12;
}

.cg-share-panel__head span,
.cg-sidebar-links > p,
.cg-sidebar-links a span {
    color: var(--cg-ink-soft);
    font-size: 0.88rem;
    line-height: 1.45;
}

.cg-share-panel__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.48rem;
}

.cg-share-panel__button {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    min-height: 2.45rem;
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    padding: 0.54rem 0.58rem;
    background: rgba(244, 249, 255, 0.86);
    color: var(--cg-ink);
    font: inherit;
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: 0.82rem;
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.cg-share-panel__button:hover,
.cg-share-panel__button.is-copied {
    transform: translateY(-1px);
    border-color: var(--cg-brand-500);
    background: var(--cg-brand-100);
    color: var(--cg-brand-700);
}

.cg-share-panel__icon {
    display: inline-grid;
    flex: 0 0 auto;
    width: 1.62rem;
    height: 1.62rem;
    place-items: center;
    border-radius: 0;
    background: #fff;
    color: currentColor;
}

.cg-share-panel__icon svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.cg-share-panel__button--facebook {
    color: #0849a2;
}

.cg-share-panel__button--instagram {
    color: #b4377a;
}

.cg-share-panel__button--linkedin {
    color: #0a66c2;
}

.cg-share-panel__button--x {
    color: #101828;
}

.cg-share-panel__button--whatsapp {
    color: #0f7f6a;
}

.cg-share-panel__button--mail,
.cg-share-panel__button--copy {
    color: #39546f;
}

.article-main > .cg-share-panel--article-footer {
    margin-top: clamp(1.4rem, 3vw, 2.15rem);
    border-color: rgba(var(--article-accent-rgb), 0.14);
    background: linear-gradient(135deg, #fff 0%, rgba(var(--article-accent-rgb), 0.045) 100%);
}

.article-main > .cg-share-panel--article-footer .cg-share-panel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.article-main > .cg-share-panel--article-footer .cg-share-panel__head p {
    font-size: 1.08rem;
}

.article-main > .cg-share-panel--article-footer .cg-share-panel__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.article-main > .cg-share-panel--article-footer .cg-share-panel__button {
    justify-content: center;
    min-height: 2.85rem;
    border-color: rgba(var(--article-accent-rgb), 0.12);
    background: rgba(255, 255, 255, 0.78);
}

.article-main > .cg-share-panel--article-footer .cg-share-panel__button:hover,
.article-main > .cg-share-panel--article-footer .cg-share-panel__button.is-copied {
    border-color: var(--article-accent);
    background: #fff;
    color: var(--article-accent-deep);
}

.article-selected-related--after-reactions {
    margin-top: clamp(1.3rem, 3vw, 2rem);
}

.cg-sidebar-links__list {
    display: grid;
    gap: 0.5rem;
}

.cg-sidebar-links a {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    border: 1px solid rgba(8, 73, 162, 0.1);
    border-radius: 0;
    padding: 0.72rem 0.78rem;
    background: rgba(244, 249, 255, 0.72);
    color: var(--cg-ink);
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.cg-sidebar-links a:hover {
    transform: translateY(-1px);
    border-color: var(--cg-brand-500);
    background: #fff;
}

.cg-sidebar-links a strong {
    color: inherit;
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: 0.95rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.16;
    overflow-wrap: anywhere;
}

.article-sidebar .cg-share-panel,
.article-sidebar .cg-sidebar-links {
    border: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
    padding: 0.92rem 0;
    background: transparent;
    box-shadow: none;
}

.article-sidebar .cg-share-panel__button,
.article-sidebar .cg-sidebar-links a {
    border-color: rgba(var(--article-accent-rgb), 0.12);
    background: rgba(var(--article-accent-rgb), 0.045);
}

.article-sidebar .cg-share-panel__button:hover,
.article-sidebar .cg-share-panel__button.is-copied,
.article-sidebar .cg-sidebar-links a:hover {
    border-color: var(--article-accent);
    background: var(--article-accent-soft);
    color: var(--article-accent-deep);
}

.cg-classifieds-single__sidebar .cg-share-panel,
.cg-classifieds-single__sidebar .cg-sidebar-links {
    border-color: rgba(8, 73, 162, 0.12);
    box-shadow: var(--cg-classifieds-shadow);
}

.cg-business-single__side .cg-share-panel,
.cg-business-single__side .cg-sidebar-links {
    border-color: var(--business-line);
    box-shadow: none;
}

@media (max-width: 1120px) {
    .article-sidebar .cg-share-panel,
    .article-sidebar .cg-sidebar-links {
        padding-inline: 0.85rem;
    }

    .article-main > .cg-share-panel--article-footer .cg-share-panel__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .article-main > .cg-share-panel--article-footer .cg-share-panel__head {
        display: grid;
    }

    .article-main > .cg-share-panel--article-footer .cg-share-panel__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .cg-share-panel__grid {
        grid-template-columns: 1fr;
    }
}

/* Article common modules v2 */
.article-single--type-interview,
.article-single--type-places,
.article-single--type-gallery {
    --article-accent: #0849a2;
    --article-accent-rgb: 8, 73, 162;
    --article-accent-soft: #eaf5ff;
    --article-accent-deep: #083a85;
}

.article-single--type-interview .article-type-label,
.article-single--type-places .article-type-label,
.article-single--type-gallery .article-type-label {
    color: var(--article-accent);
}

.article-single--type-interview .article-entry,
.article-single--type-places .article-entry,
.article-single--type-gallery .article-entry {
    background:
        linear-gradient(120deg, rgba(var(--article-accent-rgb), 0.08), rgba(255, 255, 255, 0.94) 44%, rgba(214, 233, 254, 0.34)),
        #ffffff;
    background-size: auto;
}

.article-response-stack {
    max-width: 48rem;
    margin-top: clamp(1.6rem, 3.2vw, 2.3rem);
    padding-top: clamp(1rem, 2.2vw, 1.4rem);
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.14);
}

.article-response-stack .cg-share-panel--article-footer,
.article-response-stack .article-reactions {
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.article-response-stack .article-reactions {
    margin-top: clamp(1.1rem, 2.2vw, 1.45rem);
    padding-top: clamp(1.1rem, 2.2vw, 1.45rem);
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.1);
}

.article-response-stack .cg-share-panel__head,
.article-response-stack .article-reactions__head {
    display: grid;
    gap: 0.28rem;
    align-items: start;
    justify-content: stretch;
    margin: 0 0 0.78rem;
}

.article-response-stack .cg-share-panel__head p,
.article-response-stack .article-reactions__head h2 {
    margin: 0;
    color: var(--cg-ink);
    font-size: clamp(1.22rem, 2.4vw, 1.55rem);
    line-height: 1.08;
}

.article-response-stack .cg-share-panel__head span,
.article-response-stack .article-reactions__head > p {
    max-width: 38rem;
    color: var(--cg-ink-soft);
    font-size: 0.92rem;
    line-height: 1.45;
}

.article-response-stack .cg-share-panel__grid,
.article-response-stack .article-reactions__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.48rem 0.62rem;
}

.article-response-stack .cg-share-panel__button,
.article-response-stack .article-reaction {
    min-height: 2.82rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.78);
    color: var(--cg-ink);
    box-shadow: none;
}

.article-response-stack .cg-share-panel__button {
    justify-content: flex-start;
    padding-inline: 0.68rem;
}

.article-response-stack .cg-share-panel__button--facebook,
.article-response-stack .cg-share-panel__button--instagram,
.article-response-stack .cg-share-panel__button--linkedin,
.article-response-stack .cg-share-panel__button--x,
.article-response-stack .cg-share-panel__button--whatsapp,
.article-response-stack .cg-share-panel__button--mail,
.article-response-stack .cg-share-panel__button--copy {
    color: var(--cg-ink);
}

.article-response-stack .cg-share-panel__icon,
.article-response-stack .article-reaction__icon,
.article-response-stack .article-reaction[data-article-reaction="sad"] .article-reaction__icon,
.article-response-stack .article-reaction[data-article-reaction="not_for_me"] .article-reaction__icon,
.article-response-stack .article-reaction[data-article-reaction="less"] .article-reaction__icon {
    background: rgba(var(--article-accent-rgb), 0.08);
    color: var(--article-accent-deep);
}

.article-response-stack .article-reaction:hover .article-reaction__icon,
.article-response-stack .article-reaction.is-selected .article-reaction__icon {
    background: rgba(var(--article-accent-rgb), 0.12);
    color: var(--article-accent-deep);
}

.article-response-stack .cg-share-panel__button:hover,
.article-response-stack .cg-share-panel__button.is-copied,
.article-response-stack .article-reaction:hover,
.article-response-stack .article-reaction.is-selected {
    transform: none;
    border-color: rgba(var(--article-accent-rgb), 0.28);
    background: rgba(var(--article-accent-rgb), 0.08);
    color: var(--article-accent-deep);
}

.article-category-more {
    margin-top: clamp(1.8rem, 3.4vw, 2.6rem);
}

.article-category-more__head {
    display: flex;
    gap: 0.85rem;
    align-items: baseline;
    justify-content: space-between;
}

.article-category-more__head a {
    color: var(--article-accent);
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: 0.86rem;
    font-weight: 820;
    text-decoration: none;
}

.article-sidebar__sticky {
    gap: 0;
}

.article-sidebar .article-side-format,
.article-sidebar .article-side-actions,
.article-sidebar .cg-sidebar-links,
.article-sidebar .article-recommended {
    border: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
    padding: 0.92rem 0;
    background: transparent;
    box-shadow: none;
}

.article-sidebar .article-side-format:first-child {
    border-top: 0;
    padding-top: 0;
}

.article-sidebar .article-side-format p,
.article-sidebar .article-side-actions p,
.article-sidebar .cg-sidebar-links h2,
.article-sidebar .article-recommended p {
    margin: 0 0 0.62rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: 0.96rem;
    font-weight: 850;
    line-height: 1.12;
}

.article-sidebar .article-side-format strong {
    display: block;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: 0.92rem;
    line-height: 1.14;
}

.article-sidebar .article-side-format span,
.article-sidebar .cg-sidebar-links > p {
    color: var(--cg-ink-soft);
    font-size: 0.84rem;
    line-height: 1.42;
}

.article-sidebar .article-side-actions {
    gap: 0;
}

.article-sidebar .article-side-actions a,
.article-sidebar .cg-sidebar-links a,
.article-sidebar .article-recommended a {
    min-height: 0;
    border: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.09);
    border-radius: 0;
    padding: 0.58rem 0;
    background: transparent;
    color: var(--cg-ink);
    box-shadow: none;
}

.article-sidebar .article-side-actions p + a,
.article-sidebar .cg-sidebar-links__list a:first-child,
.article-sidebar .article-recommended p + a {
    border-top: 0;
}

.article-sidebar .article-side-actions a:hover,
.article-sidebar .cg-sidebar-links a:hover,
.article-sidebar .article-recommended a:hover {
    transform: none;
    background: transparent;
    color: var(--article-accent);
}

.cg-share-panel__button--facebook,
.cg-share-panel__button--x,
.cg-share-panel__button--whatsapp,
.cg-share-panel__button--mail,
.cg-share-panel__button--copy {
    color: var(--cg-ink);
}

.cg-classifieds-single__sidebar .cg-share-panel,
.cg-classifieds-single__sidebar .cg-sidebar-links,
.cg-business-single__side .cg-share-panel,
.cg-business-single__side .cg-sidebar-links {
    border: 0;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    padding: 0.92rem 0;
    background: transparent;
    box-shadow: none;
}

.cg-classifieds-single__sidebar .cg-sidebar-links a,
.cg-business-single__side .cg-sidebar-links a {
    border-color: rgba(8, 73, 162, 0.1);
    background: transparent;
}

@media (max-width: 780px) {
    .article-response-stack .cg-share-panel__grid,
    .article-response-stack .article-reactions__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .article-category-more__head {
        display: grid;
        gap: 0.35rem;
    }
}

@media (max-width: 520px) {
    .article-response-stack .cg-share-panel__grid,
    .article-response-stack .article-reactions__grid {
        grid-template-columns: 1fr;
    }
}

/* Article sidebar modules and bottom category v3 */
.article-entry__kicker .article-type-label {
    display: none;
}

.article-layout > .article-category-more {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    margin-top: clamp(2rem, 4vw, 3rem);
}

.article-category-more.article-selected-related {
    padding-top: clamp(1.1rem, 2.4vw, 1.45rem);
}

.article-category-more .article-selected-related__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 1.05rem;
}

.article-category-more .article-related-card:nth-child(-n + 4) {
    border-top: 0;
}

.article-sidebar__sticky {
    gap: 0.72rem;
}

.article-sidebar .article-side-format,
.article-sidebar .article-side-actions,
.article-sidebar .cg-sidebar-links,
.article-sidebar .article-recommended {
    border: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
    padding: 0.9rem;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: none;
}

.article-sidebar .article-side-format:first-child {
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
    padding-top: 0.9rem;
}

.article-sidebar .article-side-actions a,
.article-sidebar .cg-sidebar-links a,
.article-sidebar .article-recommended a {
    padding-block: 0.52rem;
}

@media (max-width: 1120px) {
    .article-category-more .article-selected-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .article-category-more .article-related-card:nth-child(-n + 4) {
        border-top: 1px solid rgba(var(--article-accent-rgb), 0.1);
    }

    .article-category-more .article-related-card:nth-child(-n + 2) {
        border-top: 0;
    }
}

@media (max-width: 780px) {
    .article-category-more .article-selected-related__grid {
        grid-template-columns: 1fr;
    }

    .article-category-more .article-related-card:nth-child(-n + 2) {
        border-top: 1px solid rgba(var(--article-accent-rgb), 0.1);
    }

    .article-category-more .article-related-card:first-child {
        border-top: 0;
    }
}

/* Article hero format differentiation v4 */
.article-entry {
    background:
        linear-gradient(120deg, rgba(var(--article-accent-rgb), 0.07), rgba(255, 255, 255, 0.96) 48%, rgba(214, 233, 254, 0.26)),
        #ffffff;
}

.article-entry__grid {
    align-items: center;
}

.article-entry__copy {
    position: relative;
    align-self: center;
}

.article-entry__media {
    align-self: stretch;
}

.article-entry__media img {
    display: block;
    width: 100%;
    max-height: none;
    object-fit: cover;
}

.article-single--type-standard .article-entry__grid,
.article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__grid {
    grid-template-columns: minmax(0, 0.88fr) minmax(24rem, 0.95fr);
    gap: clamp(1.6rem, 3vw, 2.7rem);
}

.article-single--type-standard .article-entry__media img,
.article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__media img {
    height: clamp(18rem, 27vw, 30rem);
    aspect-ratio: 16 / 10;
}

.article-single--type-standard .article-entry__lead,
.article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__lead {
    max-width: 38rem;
}

.article-single--type-interview .article-entry__grid {
    grid-template-columns: minmax(18rem, 0.54fr) minmax(0, 1.02fr);
    gap: clamp(1.5rem, 3.3vw, 3.1rem);
}

.article-single--type-interview .article-entry__media {
    order: -1;
    justify-self: start;
    width: 100%;
    max-width: 28rem;
}

.article-single--type-interview .article-entry__media img {
    height: clamp(24rem, 42vw, 37rem);
    aspect-ratio: 4 / 5;
}

.article-single--type-interview .article-entry__copy {
    max-width: 44rem;
    padding-left: clamp(1rem, 2vw, 1.75rem);
    border-left: 0.22rem solid rgba(var(--article-accent-rgb), 0.24);
    isolation: isolate;
}

.article-single--type-interview .article-entry__copy::before {
    content: "\201E";
    position: absolute;
    top: -1rem;
    right: 0;
    z-index: -1;
    color: rgba(var(--article-accent-rgb), 0.1);
    font-family: Georgia, serif;
    font-size: 7rem;
    line-height: 0.8;
    pointer-events: none;
}

.article-single--type-interview .article-entry h1 {
    max-width: 22ch;
}

.article-single--type-interview .article-entry__lead {
    max-width: 40rem;
}

.article-single--type-places .article-entry__grid {
    grid-template-columns: 1fr;
    gap: clamp(1.05rem, 2.4vw, 1.7rem);
}

.article-single--type-places .article-entry__copy {
    max-width: min(62rem, 100%);
}

.article-single--type-places .article-entry h1 {
    max-width: 22ch;
    font-size: 3.15rem;
}

.article-single--type-places .article-entry__lead {
    max-width: 50rem;
}

.article-single--type-places .article-entry__media {
    width: 100%;
}

.article-single--type-places .article-entry__media img {
    height: clamp(16rem, 25vw, 27rem);
    aspect-ratio: 24 / 8;
}

.article-single--type-gallery .article-entry__grid {
    grid-template-columns: 1fr;
    gap: clamp(1.1rem, 2.5vw, 1.8rem);
}

.article-single--type-gallery .article-entry__media {
    order: -1;
    width: 100%;
}

.article-single--type-gallery .article-entry__media img {
    height: clamp(18rem, 33vw, 34rem);
    aspect-ratio: 21 / 9;
}

.article-single--type-gallery .article-entry__copy {
    max-width: min(58rem, 100%);
}

.article-single--type-gallery .article-entry h1 {
    max-width: 24ch;
}

.article-single--type-gallery .article-entry__lead {
    max-width: 44rem;
}

@media (max-width: 1120px) {
    .article-single--type-standard .article-entry__grid,
    .article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__grid,
    .article-single--type-interview .article-entry__grid,
    .article-single--type-places .article-entry__grid,
    .article-single--type-gallery .article-entry__grid {
        grid-template-columns: 1fr;
    }

    .article-single--type-interview .article-entry__media,
    .article-single--type-gallery .article-entry__media {
        order: -1;
        justify-self: stretch;
        max-width: none;
    }

    .article-single--type-standard .article-entry__media img,
    .article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__media img,
    .article-single--type-places .article-entry__media img {
        height: clamp(16rem, 50vw, 24rem);
        aspect-ratio: 16 / 9;
    }

    .article-single--type-interview .article-entry__media img {
        height: clamp(22rem, 78vw, 34rem);
        aspect-ratio: 4 / 5;
    }

    .article-single--type-gallery .article-entry__media img {
        height: clamp(16rem, 52vw, 28rem);
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 780px) {
    .article-entry {
        padding-block: 1.6rem 1.2rem;
    }

    .article-single--type-interview .article-entry__copy {
        padding-left: 0.85rem;
        border-left-width: 0.18rem;
    }

    .article-single--type-interview .article-entry__copy::before {
        top: -0.5rem;
        font-size: 4.6rem;
    }

    .article-single--type-places .article-entry h1,
    .article-single--type-gallery .article-entry h1 {
        max-width: none;
        font-size: 2.12rem;
    }

    .article-single--type-standard .article-entry__media img,
    .article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__media img,
    .article-single--type-places .article-entry__media img,
    .article-single--type-gallery .article-entry__media img {
        height: clamp(14rem, 62vw, 20rem);
    }

    .article-single--type-interview .article-entry__media img {
        height: clamp(22rem, 96vw, 30rem);
    }
}

/* Featured images full frame v1 */
.article-single--type-standard .article-entry__media img,
.article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__media img,
.article-single--type-interview .article-entry__media img,
.article-single--type-places .article-entry__media img,
.article-single--type-gallery .article-entry__media img,
.article-entry__media img,
.cg-event-single__media .cg-event-single__img,
.cg-classifieds-single__media .cg-classifieds-single__img,
.cg-business-single-hero__media img,
.ad-detail-hero__media img {
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
}

.cg-event-single__media:has(> .cg-event-single__img),
.cg-business-single-hero__media:has(> img) {
    min-height: 0;
}

.article-entry__media,
.cg-event-single__media,
.cg-classifieds-single__media,
.cg-business-single-hero__media,
.ad-detail-hero__media {
    background: rgba(255, 255, 255, 0.76);
}

.cyclic-hero,
.collection-hero,
.contact-hero,
.about-hero,
.category-hub-hero,
.patronage-hero,
.advertising-hero,
.cg-events-hero {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Article hero bounded media and format stickers v5 */
.article-entry__grid,
.article-single--type-standard .article-entry__grid,
.article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__grid,
.article-single--type-places .article-entry__grid,
.article-single--type-gallery .article-entry__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.08fr);
    gap: clamp(1.5rem, 3vw, 2.8rem);
    align-items: center;
}

.article-single--type-interview .article-entry__grid {
    grid-template-columns: minmax(22rem, 0.92fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 2.8rem);
}

.article-single--type-interview .article-entry__media {
    order: -1;
    max-width: none;
}

.article-single--type-gallery .article-entry__media {
    order: 0;
}

.article-entry__copy {
    padding-right: 0;
}

.article-single--type-interview .article-entry__copy,
.article-single--type-places .article-entry__copy,
.article-single--type-gallery .article-entry__copy {
    max-width: 52rem;
    padding-right: clamp(5.8rem, 8vw, 7.2rem);
    padding-left: 0;
    border-left: 0;
}

.article-single--type-interview .article-entry__copy::before {
    content: none;
}

.article-single--type-places .article-entry h1,
.article-single--type-gallery .article-entry h1 {
    max-width: 22ch;
    font-size: 2.85rem;
}

.article-single--type-places .article-entry__lead,
.article-single--type-gallery .article-entry__lead {
    max-width: 43rem;
}

.article-entry__media {
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.article-entry__media img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: clamp(20rem, 32vw, 31rem);
    aspect-ratio: auto;
    object-fit: contain;
    background: rgba(255, 255, 255, 0.78);
}

.article-single--type-interview .article-entry__media img {
    max-height: clamp(22rem, 34vw, 32rem);
}

.article-single--type-places .article-entry__media img,
.article-single--type-gallery .article-entry__media img {
    max-height: clamp(19rem, 31vw, 30rem);
}

.cg-event-single__media .cg-event-single__img,
.cg-classifieds-single__media .cg-classifieds-single__img,
.cg-business-single-hero__media img,
.ad-detail-hero__media img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: clamp(18rem, 32vw, 30rem);
    aspect-ratio: auto;
    object-fit: contain;
}

.article-format-sticker {
    position: absolute;
    top: 0.1rem;
    right: 0;
    z-index: 2;
    display: grid;
    width: 5.55rem;
    height: 5.55rem;
    place-items: center;
    border: 1px solid rgba(var(--article-accent-rgb), 0.16);
    border-radius: 50%;
    background:
        radial-gradient(circle at 32% 26%, rgba(255, 255, 255, 0.96), rgba(234, 245, 255, 0.9)),
        rgba(255, 255, 255, 0.92);
    box-shadow: 0 0.9rem 2rem rgba(var(--article-accent-rgb), 0.12);
    color: var(--article-accent-deep);
    text-align: center;
}

.article-format-sticker::after {
    content: "";
    position: absolute;
    inset: 0.28rem;
    border: 1px solid rgba(var(--article-accent-rgb), 0.22);
    border-top-color: transparent;
    border-radius: 50%;
    animation: article-format-sticker-spin 18s linear infinite;
    pointer-events: none;
}

.article-format-sticker__icon {
    position: relative;
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    margin-top: 0.45rem;
    color: var(--article-accent);
}

.article-format-sticker__label {
    max-width: 4.1rem;
    margin-top: -0.2rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: 0.64rem;
    font-weight: 850;
    line-height: 1.05;
}

.article-format-sticker--interview .article-format-sticker__icon::before {
    content: "\201D";
    font-family: Georgia, serif;
    font-size: 2.9rem;
    line-height: 0.8;
    transform: translateY(-0.18rem);
}

.article-format-sticker--places .article-format-sticker__icon::before {
    content: "";
    width: 1.35rem;
    height: 1.35rem;
    border: 0.18rem solid currentColor;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
}

.article-format-sticker--places .article-format-sticker__icon::after {
    content: "";
    position: absolute;
    top: 0.62rem;
    left: 0.78rem;
    width: 0.38rem;
    height: 0.38rem;
    border-radius: 50%;
    background: currentColor;
}

.article-format-sticker--gallery .article-format-sticker__icon::before {
    content: "";
    width: 1.58rem;
    height: 1.14rem;
    border: 0.16rem solid currentColor;
    border-radius: 0.22rem;
    background:
        linear-gradient(135deg, transparent 48%, rgba(var(--article-accent-rgb), 0.18) 49% 100%),
        rgba(255, 255, 255, 0.62);
}

.article-format-sticker--gallery .article-format-sticker__icon::after {
    content: "";
    position: absolute;
    top: 0.42rem;
    right: 0.44rem;
    width: 0.38rem;
    height: 0.38rem;
    border-radius: 50%;
    background: currentColor;
}

@keyframes article-format-sticker-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1120px) {
    .article-entry__grid,
    .article-single--type-standard .article-entry__grid,
    .article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__grid,
    .article-single--type-interview .article-entry__grid,
    .article-single--type-places .article-entry__grid,
    .article-single--type-gallery .article-entry__grid {
        grid-template-columns: 1fr;
    }

    .article-single--type-interview .article-entry__media,
    .article-single--type-gallery .article-entry__media {
        order: 0;
    }

    .article-entry__media img,
    .article-single--type-interview .article-entry__media img,
    .article-single--type-places .article-entry__media img,
    .article-single--type-gallery .article-entry__media img {
        max-height: clamp(17rem, 56vw, 26rem);
    }
}

@media (max-width: 780px) {
    .article-single--type-interview .article-entry__copy,
    .article-single--type-places .article-entry__copy,
    .article-single--type-gallery .article-entry__copy {
        padding-right: 0;
    }

    .article-format-sticker {
        position: relative;
        top: auto;
        right: auto;
        width: 4.9rem;
        height: 4.9rem;
        margin-top: 0.75rem;
    }

    .article-format-sticker__icon {
        margin-top: 0.34rem;
    }

    .article-entry__media img,
    .article-single--type-interview .article-entry__media img,
    .article-single--type-places .article-entry__media img,
    .article-single--type-gallery .article-entry__media img,
    .cg-event-single__media .cg-event-single__img,
    .cg-classifieds-single__media .cg-classifieds-single__img,
    .cg-business-single-hero__media img,
    .ad-detail-hero__media img {
        max-height: clamp(14rem, 70vw, 21rem);
    }
}

/* Article hero unified layout and title sticker v6 */
.article-entry__grid,
.article-single--type-standard .article-entry__grid,
.article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__grid,
.article-single--type-interview .article-entry__grid,
.article-single--type-places .article-entry__grid,
.article-single--type-gallery .article-entry__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.04fr);
    gap: clamp(1.45rem, 3vw, 2.65rem);
    align-items: center;
}

.article-single--type-interview .article-entry__media,
.article-single--type-gallery .article-entry__media {
    order: 0;
    justify-self: stretch;
    max-width: none;
}

.article-entry__copy,
.article-single--type-interview .article-entry__copy,
.article-single--type-places .article-entry__copy,
.article-single--type-gallery .article-entry__copy {
    max-width: 52rem;
    padding-right: 0;
    padding-left: 0;
    border-left: 0;
}

.article-entry__title-row {
    display: flex;
    gap: clamp(0.95rem, 2vw, 1.45rem);
    align-items: center;
    margin-top: 0.85rem;
}

.article-entry__title-row h1,
.article-single--type-interview .article-entry__title-row h1,
.article-single--type-places .article-entry__title-row h1,
.article-single--type-gallery .article-entry__title-row h1 {
    flex: 1 1 auto;
    max-width: 22ch;
    margin: 0;
    font-size: 2.85rem;
}

.article-entry__media {
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.article-entry__media img,
.article-single--type-interview .article-entry__media img,
.article-single--type-places .article-entry__media img,
.article-single--type-gallery .article-entry__media img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: clamp(20rem, 31vw, 30rem);
    aspect-ratio: auto;
    object-fit: contain;
}

.article-format-sticker {
    position: relative;
    top: auto;
    right: auto;
    z-index: 2;
    flex: 0 0 auto;
    display: grid;
    width: clamp(5.4rem, 7vw, 6.25rem);
    height: clamp(5.4rem, 7vw, 6.25rem);
    place-items: center;
    border: 0;
    border-radius: 50%;
    background:
        radial-gradient(circle at 36% 28%, rgba(255, 255, 255, 0.98), rgba(234, 245, 255, 0.92) 64%, rgba(214, 233, 254, 0.66)),
        #ffffff;
    box-shadow: 0 0.9rem 2.1rem rgba(var(--article-accent-rgb), 0.13);
    color: var(--article-accent-deep);
    text-align: center;
    isolation: isolate;
}

.article-format-sticker::before {
    content: "";
    position: absolute;
    inset: -0.18rem;
    z-index: 0;
    border-radius: 50%;
    background:
        conic-gradient(from 90deg, rgba(var(--article-accent-rgb), 0.05), rgba(var(--article-accent-rgb), 0.5), rgba(var(--article-accent-rgb), 0.08), rgba(var(--article-accent-rgb), 0.32), rgba(var(--article-accent-rgb), 0.05));
    animation: article-format-sticker-spin 14s linear infinite;
}

.article-format-sticker::after {
    content: "";
    position: absolute;
    inset: 0.42rem;
    z-index: 1;
    border: 1px solid rgba(var(--article-accent-rgb), 0.22);
    border-top-color: rgba(var(--article-accent-rgb), 0.58);
    border-right-color: transparent;
    border-radius: 50%;
    animation: article-format-sticker-spin 10s linear infinite reverse;
    pointer-events: none;
}

.article-format-sticker__icon {
    position: relative;
    z-index: 2;
    display: grid;
    width: 2.35rem;
    height: 2.25rem;
    place-items: center;
    margin-top: 0.55rem;
    color: var(--article-accent);
}

.article-format-sticker__label {
    position: relative;
    z-index: 2;
    max-width: 4.55rem;
    margin-top: -0.28rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: clamp(0.66rem, 0.75vw, 0.76rem);
    font-weight: 880;
    letter-spacing: 0;
    line-height: 1.04;
}

.article-format-sticker--interview .article-format-sticker__icon::before {
    font-size: 3.35rem;
}

.article-format-sticker--places .article-format-sticker__icon::before {
    width: 1.55rem;
    height: 1.55rem;
    border-width: 0.2rem;
}

.article-format-sticker--places .article-format-sticker__icon::after {
    top: 0.72rem;
    left: 0.92rem;
    width: 0.42rem;
    height: 0.42rem;
}

.article-format-sticker--gallery .article-format-sticker__icon::before {
    width: 1.85rem;
    height: 1.32rem;
    border-width: 0.18rem;
}

.article-format-sticker--gallery .article-format-sticker__icon::after {
    top: 0.48rem;
    right: 0.45rem;
    width: 0.42rem;
    height: 0.42rem;
}

@media (max-width: 1120px) {
    .article-entry__grid,
    .article-single--type-standard .article-entry__grid,
    .article-single:not(.article-single--type-interview):not(.article-single--type-places):not(.article-single--type-gallery) .article-entry__grid,
    .article-single--type-interview .article-entry__grid,
    .article-single--type-places .article-entry__grid,
    .article-single--type-gallery .article-entry__grid {
        grid-template-columns: 1fr;
    }

    .article-entry__media img,
    .article-single--type-interview .article-entry__media img,
    .article-single--type-places .article-entry__media img,
    .article-single--type-gallery .article-entry__media img {
        max-height: clamp(17rem, 56vw, 26rem);
    }
}

@media (max-width: 780px) {
    .article-entry__title-row {
        display: grid;
        gap: 0.8rem;
    }

    .article-format-sticker {
        width: 5rem;
        height: 5rem;
        margin-top: 0;
    }

    .article-entry__title-row h1,
    .article-single--type-interview .article-entry__title-row h1,
    .article-single--type-places .article-entry__title-row h1,
    .article-single--type-gallery .article-entry__title-row h1 {
        max-width: none;
        font-size: 2.12rem;
    }
}

/* Article hero media-corner format sticker v7 */
.article-entry__title-row {
    display: block;
    gap: 0;
}

.article-entry__media,
.article-single--type-interview .article-entry__media,
.article-single--type-places .article-entry__media,
.article-single--type-gallery .article-entry__media {
    position: relative;
    display: grid;
    width: fit-content;
    max-width: 100%;
    justify-self: center;
    justify-items: center;
    align-items: center;
    overflow: visible;
}

.article-entry__media > img,
.article-single--type-interview .article-entry__media > img,
.article-single--type-places .article-entry__media > img,
.article-single--type-gallery .article-entry__media > img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: clamp(19rem, 29vw, 28rem);
    aspect-ratio: auto;
    object-fit: contain;
}

.article-entry__media .article-format-sticker {
    position: absolute;
    top: clamp(-1.15rem, -1.2vw, -0.62rem);
    right: auto;
    left: clamp(-1.15rem, -1.2vw, -0.62rem);
    z-index: 3;
    display: grid;
    width: clamp(4.65rem, 6.2vw, 5.85rem);
    height: clamp(4.65rem, 6.2vw, 5.85rem);
    margin: 0;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    color: var(--article-accent-deep);
    filter: drop-shadow(0 0.45rem 0.9rem rgba(var(--article-accent-rgb), 0.16));
    isolation: isolate;
    pointer-events: none;
}

.article-entry__media .article-format-sticker::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 2px solid rgba(var(--article-accent-rgb), 0.28);
    border-top-color: rgba(var(--article-accent-rgb), 0.92);
    border-right-color: rgba(var(--article-accent-rgb), 0.12);
    border-radius: 50%;
    background: none;
    animation: article-format-sticker-spin 15s linear infinite;
    pointer-events: none;
}

.article-entry__media .article-format-sticker::after {
    content: "";
    position: absolute;
    inset: -0.34rem;
    z-index: 0;
    border: 1px solid rgba(var(--article-accent-rgb), 0.16);
    border-bottom-color: rgba(var(--article-accent-rgb), 0.48);
    border-left-color: transparent;
    border-radius: 50%;
    background: none;
    animation: article-format-sticker-spin 24s linear infinite reverse;
    pointer-events: none;
}

.article-entry__media .article-format-sticker__icon {
    position: absolute;
    inset: 0.38rem;
    z-index: 2;
    display: grid;
    width: auto;
    height: auto;
    margin: 0;
    place-items: center;
    color: var(--article-accent);
    text-shadow: 0 0.1rem 0.7rem rgba(255, 255, 255, 0.82);
}

.article-entry__media .article-format-sticker__label {
    position: absolute;
    right: 0.55rem;
    bottom: 0.6rem;
    left: 0.55rem;
    z-index: 3;
    max-width: none;
    margin: 0;
    color: var(--cg-ink);
    font-size: clamp(0.58rem, 0.68vw, 0.66rem);
    font-weight: 880;
    line-height: 1.02;
    text-align: center;
    text-shadow:
        0 1px 0 #ffffff,
        0 0 0.75rem rgba(255, 255, 255, 0.92);
}

.article-entry__media .article-format-sticker--interview .article-format-sticker__icon::before {
    font-size: clamp(4.15rem, 5.5vw, 5.25rem);
    line-height: 0.75;
    transform: translateY(-0.28rem);
}

.article-entry__media .article-format-sticker--places .article-format-sticker__icon::before {
    width: clamp(2.6rem, 3.35vw, 3.25rem);
    height: clamp(2.6rem, 3.35vw, 3.25rem);
    border-width: clamp(0.24rem, 0.32vw, 0.32rem);
}

.article-entry__media .article-format-sticker--places .article-format-sticker__icon::after {
    top: 50%;
    left: 50%;
    width: clamp(0.62rem, 0.8vw, 0.78rem);
    height: clamp(0.62rem, 0.8vw, 0.78rem);
    transform: translate(-50%, -50%);
}

.article-entry__media .article-format-sticker--gallery .article-format-sticker__icon::before {
    width: clamp(3.05rem, 3.85vw, 3.7rem);
    height: clamp(2.16rem, 2.75vw, 2.62rem);
    border-width: clamp(0.2rem, 0.3vw, 0.28rem);
    border-radius: 0.38rem;
    background:
        linear-gradient(135deg, transparent 48%, rgba(var(--article-accent-rgb), 0.2) 49% 100%);
}

.article-entry__media .article-format-sticker--gallery .article-format-sticker__icon::after {
    top: 34%;
    right: 22%;
    width: clamp(0.58rem, 0.72vw, 0.7rem);
    height: clamp(0.58rem, 0.72vw, 0.7rem);
}

@media (max-width: 1120px) {
    .article-entry__media > img,
    .article-single--type-interview .article-entry__media > img,
    .article-single--type-places .article-entry__media > img,
    .article-single--type-gallery .article-entry__media > img {
        max-height: clamp(17rem, 56vw, 25.5rem);
    }
}

@media (max-width: 780px) {
    .article-entry__title-row {
        display: block;
        gap: 0;
    }

    .article-entry__media .article-format-sticker {
        top: -0.52rem;
        left: -0.52rem;
        width: 4.35rem;
        height: 4.35rem;
    }

    .article-entry__media .article-format-sticker__label {
        right: 0.46rem;
        bottom: 0.48rem;
        left: 0.46rem;
        font-size: 0.56rem;
    }

    .article-entry__media .article-format-sticker--interview .article-format-sticker__icon::before {
        font-size: 3.9rem;
    }
}

/* Article hero foundation-style format sticker v8 */
.article-entry__media .article-format-sticker {
    top: clamp(-1.35rem, -1.45vw, -0.78rem);
    left: clamp(-1.35rem, -1.45vw, -0.78rem);
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    width: clamp(6.6rem, 7.6vw, 7.35rem);
    height: clamp(6.6rem, 7.6vw, 7.35rem);
    align-items: center;
    justify-items: center;
    padding: 0.62rem 0.5rem 0.76rem;
    border: 1px solid rgba(8, 73, 162, 0.2);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 20px 44px rgba(8, 73, 162, 0.13);
    color: var(--cg-brand-700);
    filter: none;
    font-family: var(--cg-font-menu);
    animation: foundation-mark-spin 14s linear infinite;
}

.article-entry__media .article-format-sticker::before,
.article-entry__media .article-format-sticker::after {
    content: none;
}

.article-entry__media .article-format-sticker__icon {
    position: relative;
    inset: auto;
    z-index: 2;
    width: clamp(4.35rem, 5.2vw, 5rem);
    height: clamp(4.1rem, 5vw, 4.8rem);
    margin: 0;
    color: var(--cg-brand-700);
    text-shadow: none;
}

.article-entry__media .article-format-sticker__label {
    position: relative;
    inset: auto;
    z-index: 2;
    max-width: 5.25rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: clamp(0.6rem, 0.68vw, 0.68rem);
    font-weight: 900;
    line-height: 1.02;
    text-align: center;
    text-shadow: none;
}

.article-entry__media .article-format-sticker--interview .article-format-sticker__icon::before {
    font-size: clamp(5.3rem, 6.3vw, 6.1rem);
    line-height: 0.72;
    transform: translateY(-0.18rem);
}

.article-entry__media .article-format-sticker--places .article-format-sticker__icon::before {
    width: clamp(3.25rem, 3.95vw, 3.8rem);
    height: clamp(3.25rem, 3.95vw, 3.8rem);
    border-width: clamp(0.28rem, 0.36vw, 0.36rem);
}

.article-entry__media .article-format-sticker--places .article-format-sticker__icon::after {
    width: clamp(0.74rem, 0.92vw, 0.88rem);
    height: clamp(0.74rem, 0.92vw, 0.88rem);
}

.article-entry__media .article-format-sticker--gallery .article-format-sticker__icon::before {
    width: clamp(3.9rem, 4.7vw, 4.45rem);
    height: clamp(2.82rem, 3.45vw, 3.25rem);
    border-width: clamp(0.24rem, 0.32vw, 0.3rem);
    border-radius: 0.42rem;
}

.article-entry__media .article-format-sticker--gallery .article-format-sticker__icon::after {
    top: 31%;
    right: 19%;
    width: clamp(0.7rem, 0.86vw, 0.82rem);
    height: clamp(0.7rem, 0.86vw, 0.82rem);
}

@media (max-width: 780px) {
    .article-entry__media .article-format-sticker {
        top: -0.72rem;
        left: -0.72rem;
        width: 5.4rem;
        height: 5.4rem;
        padding: 0.46rem 0.38rem 0.56rem;
    }

    .article-entry__media .article-format-sticker__icon {
        width: 3.75rem;
        height: 3.55rem;
    }

    .article-entry__media .article-format-sticker__label {
        max-width: 4.3rem;
        font-size: 0.55rem;
    }

    .article-entry__media .article-format-sticker--interview .article-format-sticker__icon::before {
        font-size: 4.65rem;
    }
}

/* Article hero editable format icons v9 */
.article-entry__media .article-format-sticker {
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 0;
    padding: 0.54rem 0.52rem 0.76rem;
}

.article-entry__media .article-format-sticker__icon::before,
.article-entry__media .article-format-sticker__icon::after {
    content: none;
}

.article-entry__media .article-format-sticker__icon {
    display: grid;
    width: clamp(5rem, 6vw, 5.7rem);
    height: clamp(4.65rem, 5.6vw, 5.35rem);
    place-items: center;
    margin: -0.08rem 0 -0.12rem;
}

.article-entry__media .article-format-sticker--interview .article-format-sticker__icon {
    width: clamp(5.45rem, 6.4vw, 6.15rem);
    height: clamp(4.85rem, 5.8vw, 5.55rem);
    margin-top: -0.22rem;
}

.article-entry__media .article-format-sticker--gallery .article-format-sticker__icon {
    width: clamp(4.82rem, 5.7vw, 5.35rem);
    height: clamp(4.45rem, 5.2vw, 5rem);
}

.article-entry__media .article-format-sticker__svg,
.article-entry__media .article-format-sticker__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.article-entry__media .article-format-sticker__icon img {
    max-width: 100%;
    max-height: 100%;
}

.article-entry__media .article-format-sticker--custom-icon .article-format-sticker__icon {
    width: clamp(4.7rem, 5.7vw, 5.35rem);
    height: clamp(4.3rem, 5.1vw, 4.9rem);
}

.article-entry__media .article-format-sticker__label {
    max-width: 5.55rem;
    font-size: clamp(0.58rem, 0.66vw, 0.66rem);
}

@media (max-width: 780px) {
    .article-entry__media .article-format-sticker {
        padding: 0.42rem 0.4rem 0.56rem;
    }

    .article-entry__media .article-format-sticker__icon,
    .article-entry__media .article-format-sticker--gallery .article-format-sticker__icon,
    .article-entry__media .article-format-sticker--custom-icon .article-format-sticker__icon {
        width: 3.95rem;
        height: 3.55rem;
        margin-top: -0.06rem;
    }

    .article-entry__media .article-format-sticker--interview .article-format-sticker__icon {
        width: 4.35rem;
        height: 3.8rem;
        margin-top: -0.18rem;
    }

    .article-entry__media .article-format-sticker__label {
        max-width: 4.3rem;
        font-size: 0.54rem;
    }
}

/* Bottom regulations links v1 */
.cg-regulations-strip {
    padding: clamp(1.1rem, 2.2vw, 1.7rem) 0 clamp(2.4rem, 4vw, 3.6rem);
}

.cg-regulations-strip__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(1rem, 2vw, 1.5rem);
    border-top: 1px solid rgba(11, 76, 162, 0.16);
    padding-top: clamp(1rem, 2vw, 1.45rem);
}

.cg-regulations-strip__copy {
    display: grid;
    gap: 0.25rem;
    max-width: 46rem;
}

.cg-regulations-strip__copy p {
    margin: 0;
    color: #10213f;
    font-size: clamp(1.02rem, 1.25vw, 1.2rem);
    font-weight: 800;
    line-height: 1.2;
}

.cg-regulations-strip__copy span {
    color: #596982;
    font-size: clamp(0.92rem, 1vw, 1rem);
    line-height: 1.6;
}

.cg-regulations-strip__inner > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.8rem;
    padding: 0.78rem 1.05rem;
    border: 1px solid rgba(11, 76, 162, 0.2);
    border-radius: 0;
    color: #0b4ca2;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    white-space: nowrap;
}

.cg-regulations-strip__inner > a:hover,
.cg-regulations-strip__inner > a:focus-visible {
    background: #0b4ca2;
    border-color: #0b4ca2;
    color: #ffffff;
    transform: translateY(-1px);
}

@media (max-width: 760px) {
    .cg-regulations-strip__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .cg-regulations-strip__inner > a {
        width: 100%;
        white-space: normal;
    }
}
/* Generic page builder v1 */
.cg-page-builder {
    background: #f5f9ff;
    color: #0c254f;
}

.cg-builder-section,
.cg-builder-faq {
    padding: clamp(44px, 5vw, 86px) 0;
}

.cg-builder-faq {
    padding: 0;
}

.cg-builder-hero {
    padding: clamp(58px, 7vw, 116px) 0 clamp(42px, 5vw, 78px);
    background: linear-gradient(180deg, #f7fbff 0%, #edf5ff 100%);
}

.cg-builder-hero__inner,
.cg-builder-text-image__inner,
.cg-builder-cta-v2__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(320px, .78fr);
    gap: clamp(24px, 4vw, 64px);
    align-items: center;
}

.cg-builder-hero--v2 .cg-builder-hero__inner {
    grid-template-columns: minmax(0, .88fr) minmax(320px, 1fr);
}

.cg-builder-hero__inner--no-media,
.cg-builder-text-image__inner--no-media,
.cg-builder-cta-v2__inner--no-media {
    grid-template-columns: minmax(0, 1fr);
}

.cg-builder-text-image__inner--media-left .cg-builder-copy {
    order: 2;
}

.cg-builder-text-image__inner--media-left .cg-builder-text-image__media {
    order: 1;
}

.cg-builder-hero__inner--no-media .cg-builder-hero__copy {
    max-width: 70rem;
}

.cg-builder-hero__inner--no-media .cg-builder-hero__copy h1 {
    max-width: 30ch;
}

.cg-builder-eyebrow {
    margin: 0 0 12px;
    color: #0b63ce;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.cg-builder-hero h1,
.cg-builder-copy h2,
.cg-builder-head h2,
.cg-builder-cta h2,
.cg-builder-faq h2 {
    margin: 0;
    color: #0c254f;
    font-weight: 900;
    letter-spacing: 0;
    line-height: .98;
}

.cg-builder-hero h1 {
    max-width: 820px;
    font-size: clamp(42px, 5.4vw, 88px);
}

.cg-builder-copy h2,
.cg-builder-head h2,
.cg-builder-cta h2,
.cg-builder-faq h2 {
    font-size: clamp(30px, 3.2vw, 52px);
}

.cg-builder-faq h2 {
    margin: 0 0 0.92rem;
    max-width: none;
}

.cg-builder-lead,
.cg-builder-head p,
.cg-builder-cta p,
.cg-builder-content,
.cg-builder-copy p {
    color: #526783;
    font-size: clamp(17px, 1.25vw, 21px);
    line-height: 1.65;
}

.cg-builder-lead {
    max-width: 62rem;
    margin-top: 20px;
}

.cg-builder-content {
    margin-top: 22px;
}

.cg-builder-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.cg-builder-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border: 1px solid #bdd0ea;
    border-radius: 0;
    color: #0b4fad;
    font-weight: 900;
    text-decoration: none;
}

.cg-builder-button--primary {
    background: #0b63ce;
    border-color: #0b63ce;
    color: #fff;
}

.cg-builder-button--light {
    background: #fff;
    border-color: #fff;
    color: #0b4fad;
}

.cg-builder-button--light-ghost {
    border-color: rgba(255, 255, 255, .58);
    color: #fff;
}

.cg-builder-hero__media,
.cg-builder-text-image__media,
.cg-builder-cta-v2__inner figure,
.cg-builder-gallery__grid figure,
.cg-builder-post-card figure {
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    background: #eaf2ff;
}

.cg-builder-hero__media img,
.cg-builder-text-image__media img,
.cg-builder-cta-v2__inner img,
.cg-builder-gallery__grid img,
.cg-builder-post-card img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.cg-builder-hero-links,
.cg-builder-links__grid,
.cg-builder-posts__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.cg-builder-hero-links a,
.cg-builder-link-card,
.cg-builder-post-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 116px;
    padding: 18px;
    border: 1px solid #d7e3f4;
    border-radius: 0;
    background: #fff;
    color: #0c254f;
    text-decoration: none;
}

.cg-builder-hero-links strong,
.cg-builder-link-card strong,
.cg-builder-post-card strong {
    font-size: 18px;
    font-weight: 900;
    line-height: 1.2;
}

.cg-builder-hero-links span,
.cg-builder-link-card span,
.cg-builder-post-card span {
    color: #5b6f89;
    font-size: 14px;
    line-height: 1.45;
}

.cg-builder-head {
    max-width: 70rem;
    margin: 0 0 28px;
}

.cg-builder-proof-strip {
    padding-top: 0;
    padding-bottom: clamp(36px, 4vw, 62px);
}

.cg-builder-proof-strip__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 1.8vw, 22px);
}

.cg-builder-proof-item {
    display: grid;
    gap: 0.45rem;
    align-content: start;
    min-height: 100%;
    padding: clamp(18px, 2vw, 24px);
    border: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: #ffffff;
}

.cg-builder-proof-item strong {
    color: #0c254f;
    font-family: var(--cg-font-menu);
    font-size: clamp(1.45rem, 2.3vw, 2.45rem);
    font-weight: 900;
    line-height: 0.98;
}

.cg-builder-proof-item span {
    color: #0c254f;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
}

.cg-builder-proof-item p {
    margin: 0;
    color: #526783;
    font-size: 0.94rem;
    line-height: 1.6;
}

.cg-builder-cta--v1 {
    padding: clamp(46px, 5vw, 84px) 0;
    background: #0c254f;
    color: #fff;
}

.cg-builder-cta--v1 .cg-builder-cta__inner {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
}

.cg-builder-cta--v1 h2,
.cg-builder-cta--v1 p,
.cg-builder-cta--v1 .cg-builder-eyebrow {
    color: #fff;
}

.cg-builder-cta--v2 {
    padding: clamp(46px, 5vw, 84px) 0;
    background: #fff;
}

.cg-builder-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.cg-builder-post-card {
    padding: 0;
}

.cg-builder-post-card figure {
    border-radius: 0;
}

.cg-builder-post-card span,
.cg-builder-post-card strong {
    padding-right: 18px;
    padding-left: 18px;
}

.cg-builder-post-card strong {
    padding-bottom: 18px;
}

.cg-builder-story-rows,
.cg-builder-tiles {
    padding: clamp(44px, 5vw, 88px) 0;
    background: #ffffff;
}

.cg-builder-story-rows__list {
    display: grid;
    gap: 0;
}

.cg-builder-story-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
    padding-block: clamp(28px, 4vw, 46px);
}

.cg-builder-story-row--media-left .cg-builder-story-row__copy {
    order: 2;
}

.cg-builder-story-row--media-left .cg-builder-story-row__media {
    order: 1;
}

.cg-builder-story-row__copy h2,
.cg-builder-story-row__copy h3,
.cg-builder-tile h3 {
    margin: 0;
    color: #0c254f;
    font-family: var(--cg-font-menu);
    font-size: clamp(1.5rem, 2.2vw, 2.15rem);
    font-weight: 900;
    line-height: 1.02;
}

.cg-builder-story-row__copy .cg-builder-eyebrow {
    margin-bottom: 10px;
}

.cg-builder-story-row__copy .cg-builder-content {
    margin-top: 16px;
}

.cg-builder-story-row__copy .cg-builder-content p,
.cg-builder-story-row__copy .cg-builder-content li {
    color: #526783;
    font-size: 1rem;
    line-height: 1.75;
}

.cg-builder-story-row__copy .cg-builder-content ul {
    margin: 1rem 0 0;
    padding-left: 1.2rem;
}

.cg-builder-story-row__media {
    margin: 0;
    overflow: hidden;
    background: #edf5ff;
}

.cg-builder-story-row__media img {
    display: block;
    width: 100%;
    height: auto;
}

.cg-builder-tiles {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.cg-builder-tiles__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

.cg-builder-duo-boxes {
    padding: clamp(44px, 5vw, 88px) 0;
    background: #ffffff;
}

.cg-builder-duo-boxes__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.4vw, 28px);
}

.cg-builder-duo-box {
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 100%;
    border: 1px solid rgba(8, 73, 162, 0.12);
    background: #ffffff;
}

.cg-builder-duo-box--accent {
    background: linear-gradient(180deg, #edf5ff 0%, #d6e9fe 100%);
}

.cg-builder-duo-box__media {
    margin: 0;
    overflow: hidden;
    background: #edf5ff;
    aspect-ratio: 4 / 3;
}

.cg-builder-duo-box__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-page .cg-builder-story-row__media img,
.about-page .cg-builder-duo-box__media img {
    transform: scale(1.018);
    transform-origin: center;
    transition: transform 420ms ease, filter 420ms ease;
    filter: saturate(1.02);
}

@media (hover: hover) {
    .about-page .cg-builder-story-row:hover .cg-builder-story-row__media img,
    .about-page .cg-builder-story-row:focus-within .cg-builder-story-row__media img,
    .about-page .cg-builder-duo-box:hover .cg-builder-duo-box__media img,
    .about-page .cg-builder-duo-box:focus-within .cg-builder-duo-box__media img {
        transform: scale(1.055);
        filter: saturate(1.08);
    }
}

.cg-builder-duo-box__body {
    display: grid;
    align-content: start;
    gap: 0.85rem;
    padding: clamp(22px, 2.8vw, 34px);
}

.cg-builder-duo-box__body h3 {
    margin: 0;
    color: #0c254f;
    font-family: var(--cg-font-menu);
    font-size: clamp(1.45rem, 2vw, 1.95rem);
    font-weight: 900;
    line-height: 1.05;
}

.cg-builder-duo-box__body .cg-builder-eyebrow {
    margin: 0;
}

.cg-builder-duo-box__body .cg-builder-content {
    margin-top: 0.1rem;
}

.cg-builder-duo-box__body .cg-builder-content p,
.cg-builder-duo-box__body .cg-builder-content li {
    color: #526783;
    font-size: 1rem;
    line-height: 1.75;
}

.cg-builder-duo-box__body .cg-builder-content p:last-child,
.cg-builder-duo-box__body .cg-builder-content ul:last-child {
    margin-bottom: 0;
}

.cg-builder-duo-box__body .cg-builder-actions {
    margin-top: auto;
    padding-top: 0.35rem;
}

.cg-builder-tile {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-height: 12.8rem;
    padding: clamp(20px, 2.8vw, 32px);
    background: #ffffff;
    transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.cg-builder-tile:nth-child(4n + 1) {
    background: #edf5ff;
}

.cg-builder-tile:nth-child(4n + 3) {
    background: var(--cg-brand-100);
}

.cg-builder-tile:nth-child(4n) {
    background: var(--cg-brand-700);
}

.cg-builder-tile:hover,
.cg-builder-tile:focus-within {
    transform: translateY(-2px);
}

.cg-builder-tile p {
    margin: 0;
    color: #5b6f89;
    font-size: 0.98rem;
    line-height: 1.7;
}

.cg-builder-tile__link {
    margin-top: auto;
    color: #0b4fad;
    font-size: 0.96rem;
    font-weight: 900;
    text-decoration: none;
}

.cg-builder-tile:nth-child(4n) h3,
.cg-builder-tile:nth-child(4n) p,
.cg-builder-tile:nth-child(4n) .cg-builder-tile__link {
    color: #ffffff;
}

.cg-builder-tile:nth-child(4n) p {
    color: rgba(255, 255, 255, 0.82);
}

.cg-builder-tile__link:hover,
.cg-builder-tile__link:focus-visible {
    text-decoration: underline;
}

.cg-page-builder--advertising {
    background: #f7fbff;
}

.cg-page-builder--advertising .cg-builder-hero {
    padding-top: clamp(68px, 8vw, 126px);
    background:
        linear-gradient(180deg, rgba(247, 251, 255, 0.92) 0%, rgba(237, 245, 255, 0.86) 100%),
        radial-gradient(circle at top right, rgba(8, 73, 162, 0.08) 0%, rgba(8, 73, 162, 0) 42%);
}

.cg-page-builder--advertising .cg-builder-hero__copy {
    max-width: none;
}

.cg-page-builder--advertising .cg-builder-hero h1 {
    max-width: 24ch;
    font-size: clamp(3rem, 4.6vw, 5.35rem);
}

.cg-page-builder--advertising .cg-builder-hero__inner,
.cg-page-builder--advertising .cg-builder-text-image__inner,
.cg-page-builder--advertising .cg-builder-cta-v2__inner {
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
    gap: clamp(24px, 4vw, 56px);
}

.cg-page-builder--advertising .cg-builder-hero__media {
    aspect-ratio: 6 / 5;
    background: #dcecff;
}

.cg-page-builder--advertising .cg-builder-hero__media img {
    height: 100%;
    object-fit: cover;
}

.cg-page-builder--advertising .cg-builder-head {
    max-width: 68rem;
}

.cg-page-builder--advertising .cg-builder-lead,
.cg-page-builder--advertising .cg-builder-copy .cg-builder-content,
.cg-page-builder--advertising .cg-builder-copy p {
    max-width: 68rem;
}

.cg-page-builder--advertising .cg-builder-tiles {
    background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
}

.cg-page-builder--advertising .cg-builder-tiles__grid {
    gap: clamp(18px, 2vw, 24px);
    background: transparent;
}

.cg-page-builder--advertising .cg-builder-tile,
.cg-page-builder--advertising .cg-builder-tile:nth-child(4n + 1),
.cg-page-builder--advertising .cg-builder-tile:nth-child(4n + 3),
.cg-page-builder--advertising .cg-builder-tile:nth-child(4n) {
    background: #ffffff;
    color: #0c254f;
}

.cg-page-builder--advertising .cg-builder-tile:nth-child(3n + 2) {
    background: #edf5ff;
}

.cg-page-builder--advertising .cg-builder-tile:nth-child(3n) {
    background: #dcecff;
}

.cg-page-builder--advertising .cg-builder-tile h3,
.cg-page-builder--advertising .cg-builder-tile p,
.cg-page-builder--advertising .cg-builder-tile .cg-builder-tile__link {
    color: #0c254f;
}

.cg-page-builder--advertising .cg-builder-tile p {
    color: #526783;
}

.cg-page-builder--advertising .cg-builder-offer-card,
.cg-page-builder--advertising .cg-builder-offer-card--featured {
    border: 0;
    box-shadow: none;
}

.cg-page-builder--advertising .cg-builder-offer-card__price,
.cg-page-builder--advertising-detail .cg-builder-offer-card__price {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.5rem 0.7rem 0.55rem;
    background: #0c254f;
    color: #ffffff;
    letter-spacing: -0.01em;
}

.cg-page-builder--advertising .cg-builder-offer-card--featured .cg-builder-offer-card__price,
.cg-page-builder--advertising-detail .cg-builder-offer-card--featured .cg-builder-offer-card__price {
    background: #0b63ce;
    color: #ffffff;
}

.cg-page-builder--advertising-detail {
    background: #f7fbff;
}

.cg-page-builder--advertising-detail .cg-builder-hero {
    padding-top: clamp(68px, 8vw, 126px);
    background:
        linear-gradient(180deg, rgba(247, 251, 255, 0.95) 0%, rgba(237, 245, 255, 0.88) 100%),
        radial-gradient(circle at top right, rgba(8, 73, 162, 0.1) 0%, rgba(8, 73, 162, 0) 44%);
}

.cg-page-builder--advertising-detail .cg-builder-hero h1 {
    max-width: 24ch;
    font-size: clamp(3rem, 4.8vw, 5.45rem);
}

.cg-page-builder--advertising-detail .cg-builder-hero__inner,
.cg-page-builder--advertising-detail .cg-builder-text-image__inner,
.cg-page-builder--advertising-detail .cg-builder-cta-v2__inner {
    grid-template-columns: minmax(0, 1.14fr) minmax(320px, 0.84fr);
    gap: clamp(24px, 4vw, 58px);
}

.cg-page-builder--advertising-detail .cg-builder-hero__media,
.cg-page-builder--advertising-detail .cg-builder-text-image__media,
.cg-page-builder--advertising-detail .cg-builder-cta-v2__inner figure,
.cg-page-builder--advertising-detail .cg-builder-offer-card__media {
    background: #dcecff;
}

.cg-page-builder--advertising-detail .cg-builder-hero__media {
    aspect-ratio: 10 / 7;
}

.cg-page-builder--advertising-detail .cg-builder-hero__media img,
.cg-page-builder--advertising-detail .cg-builder-text-image__media img,
.cg-page-builder--advertising-detail .cg-builder-cta-v2__inner img,
.cg-page-builder--advertising-detail .cg-builder-offer-card__media img {
    height: 100%;
    object-fit: cover;
}

.cg-page-builder--advertising-detail .cg-builder-head,
.cg-page-builder--advertising-detail .cg-builder-lead,
.cg-page-builder--advertising-detail .cg-builder-copy .cg-builder-content,
.cg-page-builder--advertising-detail .cg-builder-copy p {
    max-width: 72rem;
}

.cg-page-builder--advertising-detail .cg-builder-proof-item:nth-child(3n + 1) {
    background: #0c254f;
}

.cg-page-builder--advertising-detail .cg-builder-proof-item:nth-child(3n + 2) {
    background: #edf5ff;
}

.cg-page-builder--advertising-detail .cg-builder-proof-item:nth-child(3n + 1) strong,
.cg-page-builder--advertising-detail .cg-builder-proof-item:nth-child(3n + 1) span,
.cg-page-builder--advertising-detail .cg-builder-proof-item:nth-child(3n + 1) p {
    color: #ffffff;
}

.cg-page-builder--advertising-detail .cg-builder-proof-item:nth-child(3n + 1) p {
    color: rgba(255, 255, 255, 0.84);
}

.cg-page-builder--advertising-detail .cg-builder-tiles {
    background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
}

.cg-page-builder--advertising-detail .cg-builder-tiles__grid {
    gap: clamp(18px, 2vw, 24px);
    background: transparent;
}

.cg-page-builder--advertising-detail .cg-builder-tile,
.cg-page-builder--advertising-detail .cg-builder-tile:nth-child(4n + 1),
.cg-page-builder--advertising-detail .cg-builder-tile:nth-child(4n + 3),
.cg-page-builder--advertising-detail .cg-builder-tile:nth-child(4n) {
    min-height: 0;
    background: #ffffff;
    color: #0c254f;
}

.cg-page-builder--advertising-detail .cg-builder-tile:nth-child(3n + 2) {
    background: #edf5ff;
}

.cg-page-builder--advertising-detail .cg-builder-tile:nth-child(3n) {
    background: #dcecff;
}

.cg-page-builder--advertising-detail .cg-builder-tile h3,
.cg-page-builder--advertising-detail .cg-builder-tile p,
.cg-page-builder--advertising-detail .cg-builder-tile .cg-builder-tile__link {
    color: #0c254f;
}

.cg-page-builder--advertising-detail .cg-builder-tile p {
    color: #526783;
}

.cg-page-builder--advertising-detail .cg-builder-offer-cards__grid {
    gap: clamp(18px, 2vw, 24px);
}

.cg-page-builder--advertising-detail .cg-builder-offer-card {
    border: 1px solid rgba(8, 73, 162, 0.12);
    box-shadow: none;
    background: #ffffff;
}

.cg-page-builder--advertising-detail .cg-builder-offer-card--featured {
    border-color: rgba(8, 73, 162, 0.2);
    background: #edf5ff;
}

.cg-page-builder--advertising-detail .cg-builder-offer-card__body {
    gap: 0.95rem;
}

.cg-page-builder--advertising-detail .cg-builder-offer-card__body h3 {
    font-size: clamp(1.45rem, 2vw, 2.05rem);
}

.cg-page-builder--advertising-detail .cg-builder-text-image,
.cg-page-builder--advertising-detail .cg-builder-steps,
.cg-page-builder--advertising-detail .cg-builder-offer-cards {
    background: #ffffff;
}

.cg-page-builder--advertising-detail .cg-builder-copy .cg-builder-content h3 {
    margin: 1.4rem 0 0.55rem;
    color: #0c254f;
    font-family: var(--cg-font-menu);
    font-size: clamp(1.3rem, 1.75vw, 1.7rem);
    font-weight: 900;
    line-height: 1.08;
}

.cg-page-builder--advertising-detail .cg-builder-copy .cg-builder-content h3:first-child {
    margin-top: 0;
}

.cg-page-builder--advertising-detail .cg-builder-faq h2 {
    max-width: none;
}

.cg-page-builder--patronage {
    background: #f7fbff;
}

.cg-page-builder--patronage .cg-builder-hero {
    padding-top: clamp(68px, 8vw, 126px);
    background:
        linear-gradient(180deg, rgba(247, 251, 255, 0.95) 0%, rgba(237, 245, 255, 0.9) 100%),
        radial-gradient(circle at top right, rgba(8, 73, 162, 0.1) 0%, rgba(8, 73, 162, 0) 44%);
}

.cg-page-builder--patronage .cg-builder-hero__copy {
    max-width: none;
}

.cg-page-builder--patronage .cg-builder-hero h1 {
    max-width: 24ch;
    font-size: clamp(3rem, 4.8vw, 5.35rem);
}

.cg-page-builder--patronage .cg-builder-hero__inner--no-media .cg-builder-hero__copy {
    max-width: 76rem;
}

.cg-page-builder--patronage .cg-builder-hero__inner--no-media .cg-builder-hero__copy h1 {
    max-width: 36ch;
    font-size: clamp(2.85rem, 4.15vw, 5.1rem);
}

.cg-page-builder--patronage .cg-builder-hero__inner,
.cg-page-builder--patronage .cg-builder-text-image__inner,
.cg-page-builder--patronage .cg-builder-cta-v2__inner {
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
    gap: clamp(24px, 4vw, 58px);
}

.cg-page-builder--patronage .cg-builder-hero__media,
.cg-page-builder--patronage .cg-builder-text-image__media,
.cg-page-builder--patronage .cg-builder-cta-v2__inner figure,
.cg-page-builder--patronage .cg-builder-offer-card__media,
.cg-page-builder--patronage .cg-builder-gallery__grid figure {
    background: #dcecff;
}

.cg-page-builder--patronage .cg-builder-hero__media {
    aspect-ratio: 10 / 7;
}

.cg-page-builder--patronage .cg-builder-hero__media img,
.cg-page-builder--patronage .cg-builder-text-image__media img,
.cg-page-builder--patronage .cg-builder-cta-v2__inner img,
.cg-page-builder--patronage .cg-builder-offer-card__media img {
    height: 100%;
    object-fit: cover;
}

.cg-page-builder--patronage .cg-builder-head,
.cg-page-builder--patronage .cg-builder-lead,
.cg-page-builder--patronage .cg-builder-copy .cg-builder-content,
.cg-page-builder--patronage .cg-builder-copy p {
    max-width: 72rem;
}

.cg-page-builder--patronage .cg-builder-proof-strip__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cg-page-builder--patronage .cg-builder-proof-item:nth-child(4n + 1) {
    background: #0c254f;
}

.cg-page-builder--patronage .cg-builder-proof-item:nth-child(4n + 2) {
    background: #edf5ff;
}

.cg-page-builder--patronage .cg-builder-proof-item:nth-child(4n + 1) strong,
.cg-page-builder--patronage .cg-builder-proof-item:nth-child(4n + 1) span,
.cg-page-builder--patronage .cg-builder-proof-item:nth-child(4n + 1) p {
    color: #ffffff;
}

.cg-page-builder--patronage .cg-builder-proof-item:nth-child(4n + 1) p {
    color: rgba(255, 255, 255, 0.84);
}

.cg-page-builder--patronage .cg-builder-tiles {
    background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
}

.cg-page-builder--patronage .cg-builder-tiles__grid {
    gap: clamp(18px, 2vw, 24px);
    background: transparent;
}

.cg-page-builder--patronage .cg-builder-tile,
.cg-page-builder--patronage .cg-builder-tile:nth-child(4n + 1),
.cg-page-builder--patronage .cg-builder-tile:nth-child(4n + 3),
.cg-page-builder--patronage .cg-builder-tile:nth-child(4n) {
    min-height: 0;
    background: #ffffff;
    color: #0c254f;
}

.cg-page-builder--patronage .cg-builder-tile:nth-child(3n + 2) {
    background: #edf5ff;
}

.cg-page-builder--patronage .cg-builder-tile:nth-child(3n) {
    background: #dcecff;
}

.cg-page-builder--patronage .cg-builder-tile h3,
.cg-page-builder--patronage .cg-builder-tile p,
.cg-page-builder--patronage .cg-builder-tile .cg-builder-tile__link {
    color: #0c254f;
}

.cg-page-builder--patronage .cg-builder-tile p {
    color: #526783;
}

.cg-page-builder--patronage .cg-builder-gallery {
    background: #ffffff;
}

.cg-page-builder--patronage .cg-builder-gallery__grid {
    gap: clamp(14px, 1.8vw, 22px);
}

.cg-page-builder--patronage .cg-builder-gallery__grid figure {
    aspect-ratio: 4 / 3;
}

.cg-page-builder--patronage .cg-builder-gallery__grid figure:first-child:nth-last-child(5) {
    grid-column: span 2;
}

.cg-page-builder--patronage .cg-builder-gallery__grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cg-page-builder--patronage .cg-builder-offer-cards__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 24px);
}

.cg-page-builder--patronage .cg-builder-offer-card {
    border: 1px solid rgba(8, 73, 162, 0.12);
    box-shadow: none;
    background: #ffffff;
}

.cg-page-builder--patronage .cg-builder-offer-card--featured {
    border-color: rgba(8, 73, 162, 0.22);
    background: linear-gradient(180deg, #edf5ff 0%, #ffffff 100%);
}

.cg-page-builder--patronage .cg-builder-offer-card__media {
    aspect-ratio: 4 / 3;
}

.cg-page-builder--patronage .cg-builder-offer-card__body {
    gap: 0.95rem;
}

.cg-page-builder--patronage .cg-builder-offer-card__body h3 {
    font-size: clamp(1.42rem, 1.9vw, 1.95rem);
}

.cg-page-builder--patronage .cg-builder-text-image,
.cg-page-builder--patronage .cg-builder-steps,
.cg-page-builder--patronage .cg-builder-offer-cards,
.cg-page-builder--patronage .cg-builder-faq {
    background: #ffffff;
}

.cg-page-builder--patronage .cg-builder-copy .cg-builder-content h3 {
    margin: 1.4rem 0 0.55rem;
    color: #0c254f;
    font-family: var(--cg-font-menu);
    font-size: clamp(1.3rem, 1.75vw, 1.7rem);
    font-weight: 900;
    line-height: 1.08;
}

.cg-page-builder--patronage .cg-builder-copy .cg-builder-content h3:first-child {
    margin-top: 0;
}

.cg-page-builder--patronage .cg-builder-copy .cg-builder-content ul {
    margin: 1rem 0 0;
    padding-left: 1.15rem;
}

.cg-page-builder--patronage .cg-builder-copy .cg-builder-content li {
    margin-bottom: 0.45rem;
    color: #526783;
}

.cg-page-builder--patronage .cg-builder-copy .cg-builder-content strong {
    color: #0c254f;
}

.cg-page-builder--patronage .cg-builder-faq h2 {
    max-width: none;
}

@media (max-width: 1180px) {
    .cg-page-builder--patronage .cg-builder-proof-strip__grid,
    .cg-page-builder--patronage .cg-builder-offer-cards__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .cg-page-builder--patronage .cg-builder-proof-strip__grid,
    .cg-page-builder--patronage .cg-builder-offer-cards__grid,
    .cg-page-builder--patronage .cg-builder-gallery__grid {
        grid-template-columns: 1fr;
    }

    .cg-page-builder--patronage .cg-builder-gallery__grid figure:first-child:nth-last-child(5) {
        grid-column: auto;
    }
}

.cg-builder-trio-boxes {
    background: #ffffff;
    padding-top: clamp(32px, 3vw, 48px);
}

.cg-builder-trio-boxes__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 24px);
    background: transparent;
}

.cg-builder-trio-box {
    display: grid;
    gap: 1.2rem;
    align-content: space-between;
    min-height: 100%;
    padding: clamp(1.35rem, 2vw, 1.9rem);
    background: #ffffff;
}

.cg-builder-trio-box--blue {
    background: #edf5ff;
}

.cg-builder-trio-box--navy {
    background: #0c254f;
    color: #ffffff;
}

.cg-builder-trio-box__body {
    display: grid;
    gap: 0.7rem;
}

.cg-builder-trio-box h3 {
    margin: 0;
    color: inherit;
    font-family: var(--cg-font-menu);
    font-size: clamp(1.45rem, 2vw, 2rem);
    font-weight: 900;
    line-height: 1.04;
}

.cg-builder-trio-box p {
    margin: 0;
    color: #526783;
    font-size: 1rem;
    line-height: 1.7;
}

.cg-builder-trio-box--navy .cg-builder-eyebrow,
.cg-builder-trio-box--navy p {
    color: rgba(255, 255, 255, 0.84);
}

.cg-builder-trio-box__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #0b4fad;
    font-size: 0.98rem;
    font-weight: 900;
    text-decoration: none;
}

.cg-builder-trio-box__link::after {
    content: "→";
    transform: translateY(-1px);
}

.cg-builder-trio-box--navy .cg-builder-trio-box__link {
    color: #ffffff;
}

.cg-builder-offer-cards {
    background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
}

.cg-builder-offer-cards__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.4vw, 28px);
}

.cg-builder-offer-cards__footer {
    display: flex;
    justify-content: center;
    margin-top: clamp(18px, 2.8vw, 30px);
}

.cg-builder-offer-card {
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 100%;
    border: 1px solid rgba(8, 73, 162, 0.12);
    background: #ffffff;
}

.cg-builder-offer-card--featured {
    background: linear-gradient(180deg, #edf5ff 0%, #ffffff 100%);
    border-color: rgba(8, 73, 162, 0.22);
}

.cg-builder-offer-card__media {
    margin: 0;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #dcecff;
}

.cg-builder-offer-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cg-builder-offer-card__body {
    display: grid;
    align-content: start;
    gap: 0.85rem;
    padding: clamp(1.3rem, 2.2vw, 1.9rem);
}

.cg-builder-offer-card__body h3 {
    margin: 0;
    color: #0c254f;
    font-family: var(--cg-font-menu);
    font-size: clamp(1.4rem, 1.8vw, 1.9rem);
    font-weight: 900;
    line-height: 1.06;
}

.cg-builder-offer-card__price {
    color: #0b4fad;
    font-family: var(--cg-font-menu);
    font-size: clamp(1.05rem, 1.1vw, 1.28rem);
    font-weight: 900;
    line-height: 1.1;
}

.cg-builder-offer-card--featured .cg-builder-offer-card__price {
    color: #0849a2;
}

.cg-builder-offer-card__text,
.cg-builder-offer-card__text p {
    color: #526783;
    font-size: 1rem;
    line-height: 1.7;
}

.cg-builder-offer-card__text p:last-child {
    margin-bottom: 0;
}

.cg-builder-offer-card__list {
    display: grid;
    gap: 0.55rem;
    margin: 0.35rem 0 0;
    padding: 0;
    list-style: none;
}

.cg-builder-offer-card__list li {
    position: relative;
    padding-left: 1rem;
    color: #526783;
    font-size: 0.97rem;
    line-height: 1.6;
}

.cg-builder-offer-card__list li::before {
    content: "";
    position: absolute;
    top: 0.72rem;
    left: 0;
    width: 0.45rem;
    height: 1px;
    background: rgba(8, 73, 162, 0.5);
}

.cg-builder-offer-card__body .cg-builder-actions {
    margin-top: auto;
    padding-top: 0.35rem;
}

.cg-builder-steps {
    background: #ffffff;
}

.cg-builder-steps__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 26px);
}

.cg-builder-step {
    position: relative;
    display: grid;
    align-content: start;
    gap: 0.72rem;
    min-width: 0;
    padding-top: 2.9rem;
}

.cg-builder-step::after {
    content: "→";
    position: absolute;
    top: 0.18rem;
    right: calc(clamp(18px, 2vw, 26px) * -0.72);
    color: rgba(8, 73, 162, 0.48);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.2rem, 1.4vw, 1.5rem);
    font-weight: 900;
    line-height: 1;
}

.cg-builder-step:last-child::after {
    display: none;
}

.cg-builder-step__number {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: 0 0.72rem;
    background: #edf5ff;
    color: #0b4fad;
    font-family: var(--cg-font-menu);
    font-size: 0.92rem;
    font-weight: 900;
    line-height: 1;
}

.cg-builder-step h3 {
    margin: 0;
    color: #0c254f;
    font-family: var(--cg-font-menu);
    font-size: clamp(1.28rem, 1.7vw, 1.7rem);
    font-weight: 900;
    line-height: 1.08;
}

.cg-builder-step p {
    margin: 0;
    color: #526783;
    font-size: 0.98rem;
    line-height: 1.68;
}

.cg-builder-step__link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #0b4fad;
    font-size: 0.96rem;
    font-weight: 900;
    text-decoration: none;
}

.cg-builder-step__link::after {
    content: "→";
}

.cg-page-builder--advertising .cg-builder-faq h2 {
    max-width: none;
}

.cg-builder-legal {
    background: #ffffff;
}

.cg-builder-legal__inner {
    display: grid;
    gap: 1.15rem;
}

.cg-builder-legal__updated {
    display: inline-flex;
    width: fit-content;
    gap: 0.45rem;
    margin: 0.9rem 0 0;
    padding: 0.5rem 0.72rem;
    border: 1px solid #d7e3f4;
    border-radius: 0;
    background: #f5f9ff;
    color: #4d6280;
    font-size: 0.9rem;
    line-height: 1.2;
}

.cg-builder-legal__updated strong {
    color: #0c254f;
}

.cg-builder-legal__list {
    display: grid;
    gap: 0.85rem;
    max-width: 58rem;
}

.cg-builder-legal__item {
    padding: 1.2rem;
    border: 1px solid #d7e3f4;
    border-radius: 0;
    background: #f9fcff;
}

.cg-builder-legal__item h3 {
    margin: 0 0 0.65rem;
    color: #0c254f;
    font-family: var(--cg-font-menu);
    font-size: 1.22rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.18;
}

.cg-builder-legal__item p,
.cg-builder-legal__item li {
    color: #526783;
    line-height: 1.65;
}

.cg-builder-legal__item p:last-child,
.cg-builder-legal__item ul:last-child,
.cg-builder-legal__item ol:last-child {
    margin-bottom: 0;
}

.cg-builder-legal__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    max-width: 58rem;
}

.cg-builder-legal__links a {
    display: grid;
    gap: 0.25rem;
    padding: 1rem;
    border: 1px solid #d7e3f4;
    border-radius: 0;
    background: #ffffff;
    color: #0c254f;
    text-decoration: none;
}

.cg-builder-legal__links strong {
    font-weight: 850;
}

.cg-builder-legal__links span {
    color: #5b6f89;
    font-size: 0.92rem;
    line-height: 1.45;
}

@media (max-width: 860px) {
    .cg-builder-hero__inner,
    .cg-builder-hero--v2 .cg-builder-hero__inner,
    .cg-builder-text-image__inner,
    .cg-builder-cta-v2__inner,
    .cg-builder-story-row {
        grid-template-columns: 1fr;
    }

    .cg-builder-hero-links,
    .cg-builder-links__grid,
    .cg-builder-posts__grid,
    .cg-builder-gallery__grid,
    .cg-builder-legal__links,
    .cg-builder-proof-strip__grid,
    .cg-builder-trio-boxes__grid,
    .cg-builder-offer-cards__grid,
    .cg-builder-tiles__grid,
    .cg-builder-duo-boxes__grid {
        grid-template-columns: 1fr;
    }

    .cg-builder-story-row--media-left .cg-builder-story-row__copy,
    .cg-builder-story-row--media-left .cg-builder-story-row__media,
    .cg-builder-text-image__inner--media-left .cg-builder-copy,
    .cg-builder-text-image__inner--media-left .cg-builder-text-image__media {
        order: initial;
    }

    .cg-builder-cta--v1 .cg-builder-cta__inner {
        align-items: center;
        justify-items: center;
        text-align: center;
    }

    .cg-builder-steps__grid {
        grid-template-columns: 1fr;
    }

    .cg-builder-step::after {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-page .cg-builder-story-row__media img,
    .about-page .cg-builder-duo-box__media img {
        transform: none;
        transition: none;
        filter: none;
    }
}

/* Homepage events and daily card refinement v1 */
.home-events__intro {
    grid-template-areas:
        "title actions"
        "copy actions";
    align-items: start;
}

.home-events__intro-title {
    grid-area: title;
}

.home-events__intro p {
    max-width: none;
}

.home-events__intro-copy {
    grid-area: copy;
}

.home-events__actions {
    grid-area: actions;
    align-self: start;
}

.home-events__button--secondary {
    border-color: rgba(8, 73, 162, 0.18);
    background: var(--cg-brand-100);
    color: var(--cg-brand-700);
    box-shadow: 0 14px 36px rgba(8, 73, 162, 0.11);
}

.home-events__button--secondary:hover,
.home-events__button--secondary:focus-visible {
    border-color: var(--cg-brand-700);
    background: var(--cg-brand-700);
    color: var(--cg-white);
}

.event-strip-panel__controls button {
    width: clamp(2.4rem, 3vw, 2.7rem);
    height: clamp(2.4rem, 3vw, 2.7rem);
    border-radius: 999px;
    font-size: 0.98rem;
}

.event-strip-panel__controls button,
.home-events__lower .cg-events-featured-slider__controls > button,
.cg-events-page--archive .cg-events-featured-slider__controls > button {
    display: inline-grid;
    place-items: center;
    min-width: 0;
    padding: 0;
    appearance: none;
    overflow: hidden;
    aspect-ratio: 1;
    border: 1px solid rgba(8, 73, 162, 0.18);
    border-radius: 999px;
    background: var(--cg-brand-100);
    background-image: none;
    color: var(--cg-brand-700);
    box-shadow: 0 10px 22px rgba(5, 24, 58, 0.16);
    transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.event-strip-panel__controls button > span,
.home-events__lower .cg-events-featured-slider__controls > button > span,
.cg-events-page--archive .cg-events-featured-slider__controls > button > span {
    display: block;
    font-family: system-ui, sans-serif;
    font-size: 0.98em;
    font-weight: 700;
    line-height: 1;
    transform: translateY(1px);
}

.event-strip-panel__controls button:hover,
.event-strip-panel__controls button:focus-visible,
.home-events__lower .cg-events-featured-slider__controls > button:hover,
.home-events__lower .cg-events-featured-slider__controls > button:focus-visible,
.cg-events-page--archive .cg-events-featured-slider__controls > button:hover,
.cg-events-page--archive .cg-events-featured-slider__controls > button:focus-visible {
    transform: none;
    border-color: rgba(8, 73, 162, 0.72);
    background: var(--cg-brand-700);
    color: var(--cg-white);
    box-shadow: 0 12px 24px rgba(8, 73, 162, 0.22);
}

.event-strip-card__date {
    background: linear-gradient(135deg, var(--cg-brand-700) 0%, var(--cg-brand-500) 100%);
    color: var(--cg-white);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 12px 24px rgba(8, 73, 162, 0.28);
}

.home-events__lower .cg-events-featured-slider,
.cg-events-page--archive .cg-events-featured-slider {
    --cg-featured-slider-title-height: clamp(2.2rem, 3vw, 2.8rem);
    --cg-featured-slider-gap: 0.65rem;
    position: relative;
    gap: var(--cg-featured-slider-gap);
}

.home-events__lower .cg-events-featured-slider__top,
.cg-events-page--archive .cg-events-featured-slider__top {
    display: flex;
    align-items: flex-end;
    min-height: var(--cg-featured-slider-title-height);
}

.home-events__lower .cg-events-featured-slider__title,
.cg-events-page--archive .cg-events-featured-slider__title {
    max-width: 22ch;
    margin: 0;
    font-family: var(--cg-font-body);
    font-size: clamp(0.98rem, 0.92rem + 0.26vw, 1.1rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.01em;
    text-wrap: balance;
}

.home-events__lower .cg-events-featured-slider__title {
    color: var(--cg-white);
}

.cg-events-page--archive .cg-events-featured-slider__title {
    color: var(--cg-events-navy);
}

.home-events__lower .cg-events-featured-slider__slides,
.cg-events-page--archive .cg-events-featured-slider__slides {
    min-height: clamp(18.5rem, 30vw, 25rem);
}

.home-events__lower .cg-events-featured-slide,
.cg-events-page--archive .cg-events-featured-slide {
    transform: none;
    transition: opacity 260ms ease;
}

.home-events__lower .cg-events-featured-slide.is-active,
.cg-events-page--archive .cg-events-featured-slide.is-active {
    transform: none;
}

.home-events__lower .cg-events-featured-slide__date,
.cg-events-page--archive .cg-events-featured-slide__date {
    background: linear-gradient(135deg, var(--cg-brand-700) 0%, var(--cg-brand-500) 100%);
    color: var(--cg-white);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 12px 26px rgba(8, 73, 162, 0.3);
}

.home-events__lower .cg-events-featured-slide__content,
.cg-events-page--archive .cg-events-featured-slide__content {
    gap: 0.52rem;
}

.home-events__lower .cg-events-featured-slider__controls,
.cg-events-page--archive .cg-events-featured-slider__controls {
    position: absolute;
    top: calc(var(--cg-featured-slider-title-height) + var(--cg-featured-slider-gap) + clamp(1.35rem, 2.4vw, 1.65rem));
    right: clamp(0.9rem, 1.8vw, 1.15rem);
    z-index: 4;
    gap: 0.4rem;
}

.home-events__lower .cg-events-featured-slider__controls > button,
.cg-events-page--archive .cg-events-featured-slider__controls > button {
    width: clamp(2.3rem, 2.6vw, 2.6rem);
    height: clamp(2.3rem, 2.6vw, 2.6rem);
    border-radius: 999px;
    font-size: 0.92rem;
}

.daily-card__rows {
    gap: 0;
}

.daily-card__quote {
    max-width: 32ch;
}

.daily-card__countdown {
    margin-top: auto;
}

@media (min-width: 961px) {
    .daily-card__countdown {
        gap: clamp(0.5rem, 0.52vw, 0.62rem);
        padding: clamp(0.72rem, 0.82vw, 0.82rem);
    }

    .daily-card__countdown > span {
        font-size: clamp(0.88rem, 0.92vw, 0.95rem);
        line-height: 1.08;
    }

    .daily-card__countdown-grid {
        grid-template-columns: minmax(7.35rem, 1.12fr) repeat(3, minmax(0, 0.8fr));
        gap: clamp(0.34rem, 0.36vw, 0.42rem);
    }

    .daily-card__countdown-grid span,
    .daily-card__countdown-grid span:first-child {
        min-height: clamp(3.35rem, 3.45vw, 3.7rem);
        gap: 0.08rem;
        padding: clamp(0.34rem, 0.34vw, 0.4rem) clamp(0.24rem, 0.22vw, 0.28rem);
        place-content: center;
    }

    .daily-card__countdown-grid span:first-child {
        min-height: clamp(4rem, 4.1vw, 4.3rem);
    }

    .daily-card__countdown-grid b,
    .daily-card__countdown-grid span:first-child b {
        line-height: 1.02;
    }

    .daily-card__countdown-grid b {
        font-size: clamp(1.46rem, 1.48vw, 1.58rem);
    }

    .daily-card__countdown-grid span:first-child b {
        font-size: clamp(2.18rem, 2.22vw, 2.34rem);
    }

    .daily-card__countdown-grid small,
    .daily-card__countdown-grid span:first-child small {
        line-height: 1.08;
    }
}

.home-worth-knowing__intro p {
    max-width: none;
}

.home-attractions__intro {
    align-items: start;
}

.home-attractions__intro p {
    max-width: none;
}

.home-attractions__button {
    align-self: start;
}

.attraction-category__head small {
    display: none;
}

.attraction-category__link {
    display: grid;
    min-height: clamp(4.75rem, 5.4vw, 5.5rem);
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(0.72rem, 0.95vw, 0.9rem);
    align-items: start;
    padding: clamp(0.78rem, 1vw, 0.95rem);
    color: var(--cg-ink);
    text-decoration: none;
    transition: background 160ms ease;
}

.attraction-category__title {
    display: block;
    margin-top: 0.18rem;
    color: var(--cg-ink);
    font-size: clamp(1.2rem, 0.4vw + 1.12rem, 1.42rem);
    line-height: 1.04;
    text-wrap: balance;
    transition: color 160ms ease;
}

.attraction-category__icon {
    flex-shrink: 0;
    transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.attraction-category__link:hover,
.attraction-category__link:focus-visible {
    background: linear-gradient(90deg, rgba(214, 233, 254, 0.96), rgba(255, 255, 255, 0.98));
}

.attraction-category__link:hover .attraction-category__title,
.attraction-category__link:focus-visible .attraction-category__title {
    color: var(--cg-brand-700);
}

.attraction-category__link:hover .attraction-category__icon,
.attraction-category__link:focus-visible .attraction-category__icon {
    transform: translateY(-1px);
    background: #0849a2;
    box-shadow: 0 12px 28px rgba(8, 73, 162, 0.22);
}

.attraction-post {
    min-height: clamp(4.95rem, 5.2vw, 5.65rem);
    grid-template-columns: clamp(4.5rem, 5.2vw, 5.5rem) minmax(0, 1fr);
    gap: clamp(0.62rem, 0.9vw, 0.8rem);
    padding: clamp(0.58rem, 0.85vw, 0.72rem);
}

.attraction-post__image {
    width: clamp(4.5rem, 5.2vw, 5.5rem);
    aspect-ratio: 1.26;
}

.attraction-post strong {
    font-size: clamp(0.92rem, 0.22vw + 0.88rem, 1rem);
    line-height: 1.2;
}

.attraction-category--wide {
    grid-template-columns: minmax(190px, 0.24fr) minmax(0, 1.76fr);
}

.attraction-category--wide .attraction-category__link {
    min-height: 100%;
    align-content: center;
}

.attraction-category--wide .attraction-category__title {
    max-width: 10ch;
    font-size: clamp(1.16rem, 0.34vw + 1.04rem, 1.38rem);
    line-height: 1.02;
}

.attraction-category__posts--wide {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1px;
    background: rgba(8, 73, 162, 0.1);
}

.attraction-category__posts--wide .attraction-post {
    min-height: clamp(4.55rem, 5.3vw, 5.2rem);
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: start;
    gap: 0.34rem;
    padding: clamp(0.38rem, 0.48vw, 0.5rem);
    border: 0;
    border-bottom: 0;
    background: var(--cg-white);
}

.attraction-category__posts--wide .attraction-post__image {
    width: 100%;
    aspect-ratio: 1.8;
}

.attraction-category__posts--wide .attraction-post strong {
    font-size: clamp(0.7rem, 0.08vw + 0.68rem, 0.76rem);
    line-height: 1.12;
    -webkit-line-clamp: 2;
}

.city-duo-feature__badge {
    display: none;
}

.city-duo-panel {
    min-height: clamp(540px, calc(100svh - 88px), 700px);
    grid-template-rows: auto minmax(164px, 1fr) auto;
    gap: 0.48rem;
}

.city-duo-feature {
    min-height: clamp(168px, 22vh, 220px);
    padding: clamp(0.78rem, 0.9vw, 0.9rem);
}

.city-duo-panel__list {
    gap: 0.36rem;
}

.city-duo-teaser {
    min-height: clamp(3.4rem, 3.6vw, 3.9rem);
    grid-template-columns: clamp(4rem, 4.7vw, 4.8rem) minmax(0, 1fr);
    gap: clamp(0.48rem, 0.7vw, 0.58rem);
    padding: clamp(0.32rem, 0.5vw, 0.42rem);
}

.city-duo-teaser__image {
    width: clamp(4rem, 4.7vw, 4.8rem);
    aspect-ratio: 1.46;
}

.city-duo-teaser small {
    font-size: clamp(0.58rem, 0.08vw + 0.56rem, 0.62rem);
}

.city-duo-teaser strong {
    font-size: clamp(0.78rem, 0.16vw + 0.75rem, 0.88rem);
    line-height: 1.12;
}

.home-contact-cta {
    padding: clamp(1.7rem, 4vh, 2.6rem) 0;
    background-color: var(--cg-brand-700);
    background-image:
        linear-gradient(180deg, rgba(8, 73, 162, 0.1), rgba(8, 73, 162, 0.22)),
        var(--home-contact-cta-bg, none);
    background-position: center;
    background-size: cover;
}

.home-contact-cta__inner {
    min-height: clamp(240px, 30vh, 320px);
    gap: clamp(0.9rem, 1.5vh, 1.2rem);
    align-content: center;
}

.home-contact-cta__copy {
    gap: clamp(0.22rem, 0.5vh, 0.4rem);
}

.home-contact-cta__copy p {
    max-width: 58ch;
    color: rgba(255, 255, 255, 0.86);
    text-shadow: 0 10px 28px rgba(2, 17, 45, 0.22);
}

.home-contact-cta__copy h2 {
    color: var(--cg-white);
    text-shadow: 0 14px 34px rgba(2, 17, 45, 0.28);
}

.home-contact-cta__actions {
    gap: 0.58rem;
    margin-top: 0.28rem;
}

.cg-builder-cta--v1 {
    padding: clamp(1.7rem, 4vh, 2.6rem) 0;
    background-color: var(--cg-brand-100);
    background-image: none;
    background-position: center;
    background-size: cover;
}

.cg-builder-cta--v1.cg-builder-cta--has-image {
    background-color: var(--cg-brand-700);
    background-image:
        linear-gradient(180deg, rgba(8, 73, 162, 0.1), rgba(8, 73, 162, 0.22)),
        var(--home-contact-cta-bg, none);
}

.cg-builder-cta--v1 .cg-builder-cta__inner {
    display: grid;
    width: min(calc(100% - 2rem), 980px);
    margin: 0 auto;
    gap: clamp(0.9rem, 1.5vh, 1.2rem);
    min-height: clamp(240px, 30vh, 320px);
    align-items: center;
    justify-items: center;
    text-align: center;
}

.cg-builder-cta--v1 .cg-builder-cta__copy {
    display: grid;
    justify-items: center;
    width: min(100%, 920px);
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.cg-builder-cta--v1 .cg-builder-eyebrow,
.cg-builder-cta--v1 h2,
.cg-builder-cta--v1 p {
    margin-right: auto;
    margin-left: auto;
}

.cg-builder-cta--v1 h2,
.cg-builder-cta--v1 p,
.cg-builder-cta--v1 .cg-builder-eyebrow {
    color: var(--cg-brand-700);
    text-shadow: none;
}

.cg-builder-cta--v1.cg-builder-cta--has-image h2,
.cg-builder-cta--v1.cg-builder-cta--has-image p,
.cg-builder-cta--v1.cg-builder-cta--has-image .cg-builder-eyebrow {
    color: var(--cg-white);
}

.cg-builder-cta--v1.cg-builder-cta--has-image p {
    text-shadow: 0 10px 28px rgba(2, 17, 45, 0.22);
}

.cg-builder-cta--v1.cg-builder-cta--has-image h2 {
    text-shadow: 0 14px 34px rgba(2, 17, 45, 0.28);
}

.cg-builder-cta--v1 .cg-builder-actions {
    width: 100%;
    justify-content: center;
    margin-right: auto;
    margin-left: auto;
    margin-top: 0.28rem;
}

.cg-builder-cta--v1 p {
    max-width: 58ch;
    margin-right: auto;
    margin-left: auto;
}

.cg-builder-cta--v1 .cg-builder-button--light {
    background: var(--cg-brand-700);
    border-color: var(--cg-brand-700);
    color: var(--cg-white);
}

.cg-builder-cta--v1 .cg-builder-button--light:hover,
.cg-builder-cta--v1 .cg-builder-button--light:focus-visible {
    background: var(--cg-white);
    border-color: var(--cg-white);
    color: var(--cg-brand-700);
}

.cg-builder-cta--v1.cg-builder-cta--has-image .cg-builder-button--light {
    background: var(--cg-brand-100);
    border-color: rgba(8, 73, 162, 0.18);
    color: var(--cg-brand-700);
}

.cg-builder-cta--v1.cg-builder-cta--has-image .cg-builder-button--light:hover,
.cg-builder-cta--v1.cg-builder-cta--has-image .cg-builder-button--light:focus-visible {
    background: var(--cg-brand-700);
    border-color: var(--cg-brand-700);
    color: var(--cg-white);
}

.home-contact-cta__button {
    background: var(--cg-brand-100);
    border-color: rgba(8, 73, 162, 0.18);
    color: var(--cg-brand-700);
}

.home-contact-cta__button--primary {
    background: var(--cg-brand-100);
    border-color: rgba(8, 73, 162, 0.18);
    color: var(--cg-brand-700);
}

.home-contact-cta__button:hover,
.home-contact-cta__button:focus-visible,
.home-contact-cta__button--primary:hover,
.home-contact-cta__button--primary:focus-visible {
    background: var(--cg-brand-700);
    border-color: var(--cg-brand-700);
    color: var(--cg-white);
}

.cg-builder-cta--v1 .cg-builder-button--light-ghost {
    background: rgba(255, 255, 255, 0.76);
    border-color: rgba(8, 73, 162, 0.18);
    color: var(--cg-brand-700);
}

.cg-builder-cta--v1 .cg-builder-button--light-ghost:hover,
.cg-builder-cta--v1 .cg-builder-button--light-ghost:focus-visible {
    background: var(--cg-white);
    border-color: var(--cg-white);
    color: var(--cg-brand-700);
}

.cg-builder-cta--v1.cg-builder-cta--has-image .cg-builder-button--light-ghost {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.58);
    color: var(--cg-white);
}

.cg-builder-cta--v1.cg-builder-cta--has-image .cg-builder-button--light-ghost:hover,
.cg-builder-cta--v1.cg-builder-cta--has-image .cg-builder-button--light-ghost:focus-visible {
    background: var(--cg-white);
    border-color: var(--cg-white);
    color: var(--cg-brand-700);
}

.home-contact-cta.cg-builder-cta--v1 {
    background-color: var(--cg-brand-100);
    background-image: none;
}

.home-contact-cta.cg-builder-cta--v1.cg-builder-cta--has-image {
    background-color: var(--cg-brand-700);
    background-image:
        linear-gradient(180deg, rgba(8, 73, 162, 0.1), rgba(8, 73, 162, 0.22)),
        var(--home-contact-cta-bg, none);
    background-position: center;
    background-size: cover;
}

.home-contact-cta.cg-builder-cta--v1 .home-contact-cta__inner {
    width: min(calc(100% - 2rem), 980px);
    margin: 0 auto;
    min-height: clamp(240px, 30vh, 320px);
    align-items: center;
    justify-items: center;
    text-align: center;
}

.home-contact-cta.cg-builder-cta--v1 .home-contact-cta__copy {
    width: min(100%, 920px);
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.home-contact-cta.cg-builder-cta--v1 .home-contact-cta__copy > span,
.home-contact-cta.cg-builder-cta--v1 .home-contact-cta__copy h2,
.home-contact-cta.cg-builder-cta--v1 .home-contact-cta__copy p {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    color: var(--cg-brand-700);
    text-shadow: none;
}

.home-contact-cta.cg-builder-cta--v1.cg-builder-cta--has-image .home-contact-cta__copy > span,
.home-contact-cta.cg-builder-cta--v1.cg-builder-cta--has-image .home-contact-cta__copy h2,
.home-contact-cta.cg-builder-cta--v1.cg-builder-cta--has-image .home-contact-cta__copy p {
    color: var(--cg-white);
}

.home-contact-cta.cg-builder-cta--v1.cg-builder-cta--has-image .home-contact-cta__copy h2 {
    text-shadow: 0 14px 34px rgba(2, 17, 45, 0.28);
}

.home-contact-cta.cg-builder-cta--v1.cg-builder-cta--has-image .home-contact-cta__copy p {
    color: rgba(255, 255, 255, 0.86);
    text-shadow: 0 10px 28px rgba(2, 17, 45, 0.22);
}

.home-contact-cta.cg-builder-cta--v1 .home-contact-cta__actions {
    width: 100%;
    justify-content: center;
}

.home-contact-cta.cg-builder-cta--v1 .home-contact-cta__button {
    min-width: 214px;
    padding-inline: 1.85rem;
    justify-content: center;
    text-align: center;
}

.home-about-story__button {
    background: var(--cg-brand-100);
    border-color: rgba(8, 73, 162, 0.18);
    color: var(--cg-brand-700);
}

.home-about-story__button--primary {
    background: var(--cg-brand-100);
    border-color: rgba(8, 73, 162, 0.18);
    color: var(--cg-brand-700);
}

.home-about-story__button--primary:hover,
.home-about-story__button--primary:focus-visible {
    background: var(--cg-brand-700);
    border-color: var(--cg-brand-700);
    color: var(--cg-white);
}

.home-about-story__button:not(.home-about-story__button--primary):hover,
.home-about-story__button:not(.home-about-story__button--primary):focus-visible {
    background: var(--cg-brand-700);
    border-color: var(--cg-brand-700);
    color: var(--cg-white);
}

.home-about-board__photo--1 img {
    object-position: 50% 34%;
}

.home-about-board__photo--2 img {
    object-position: 52% 24%;
}

.home-about-board__photo--3 img {
    object-position: 53% 22%;
}

.home-about-board__photo--4 img {
    object-position: 50% 42%;
}

.home-about-board__photo--5 img {
    object-position: 72% 42%;
}

.home-about-board__photo--6 img {
    object-position: 50% 40%;
}

.home-about-board__photo--7 img {
    object-position: 52% 40%;
}

.home-about-board__photo--8 img {
    object-position: 50% 42%;
}

@media (max-width: 1180px) {
    .city-duo-panel {
        min-height: 0;
    }
}

@media (max-width: 760px) {
    .city-duo-panel {
        grid-template-rows: none;
    }

    .city-duo-feature {
        min-height: 230px;
    }

    .city-duo-teaser {
        grid-template-columns: 82px minmax(0, 1fr);
        padding: 0.4rem;
    }

    .city-duo-teaser__image {
        width: 82px;
    }
}

.home-youtube::before {
    content: "VIDEO CZE\00015A\000106 GI\0017BYCKO";
    top: clamp(0.8rem, 1.3vw, 1.15rem);
    font-size: clamp(2.8rem, 4.4vw, 4.9rem);
}

.home-youtube__shell {
    gap: clamp(0.78rem, 1.1vw, 1rem);
}

.home-youtube__intro {
    gap: clamp(0.85rem, 1.3vw, 1.15rem);
}

.home-youtube__intro p {
    max-width: none;
}

.home-youtube__grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, clamp(10.75rem, 16vw, 13rem)), 1fr));
    gap: clamp(0.62rem, 0.95vw, 0.9rem);
    align-items: stretch;
}

.home-youtube-card {
    min-height: 0;
    grid-template-rows: minmax(0, 1fr) auto;
    border-radius: 0;
}

.home-youtube-card--lead {
    min-height: 0;
}

.home-youtube-card__media,
.home-youtube-card--lead .home-youtube-card__media {
    min-height: 0;
    aspect-ratio: 5 / 7;
}

.home-youtube-card__play {
    width: clamp(3rem, 3.2vw, 3.6rem);
    height: clamp(3rem, 3.2vw, 3.6rem);
    border-radius: 0;
}

.home-youtube-card__body {
    gap: 0;
    padding: clamp(0.78rem, 1vw, 0.95rem) clamp(0.78rem, 1vw, 0.95rem) clamp(0.92rem, 1.15vw, 1.08rem);
}

.home-youtube-card__body strong,
.home-youtube-card--lead .home-youtube-card__body strong {
    font-size: clamp(0.98rem, 0.42vw + 0.9rem, 1.15rem);
    line-height: 1.12;
    -webkit-line-clamp: 3;
}

@media (max-width: 1180px) {
    .home-events__intro {
        grid-template-areas:
            "title"
            "copy"
            "actions";
    }

    .home-youtube {
        padding: clamp(1.15rem, 3.4vw, 1.5rem) 0 clamp(1.25rem, 3.8vw, 1.65rem);
    }

    .home-youtube__intro {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .home-youtube__grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    }

    .attraction-category--wide {
        grid-template-columns: 1fr;
    }

    .attraction-category--wide .attraction-category__head {
        border-right: 0;
        border-bottom: 1px solid rgba(8, 73, 162, 0.1);
    }

    .attraction-category__posts--wide {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .home-events__intro {
        grid-template-areas:
            "title"
            "copy"
            "actions";
    }

    .home-events__lower .cg-events-featured-slider,
    .cg-events-page--archive .cg-events-featured-slider {
        --cg-featured-slider-title-height: 2.5rem;
        --cg-featured-slider-gap: 0.5rem;
        gap: var(--cg-featured-slider-gap);
    }

    .home-events__lower .cg-events-featured-slider__top,
    .cg-events-page--archive .cg-events-featured-slider__top {
        min-height: var(--cg-featured-slider-title-height);
    }

    .home-events__lower .cg-events-featured-slider__title,
    .cg-events-page--archive .cg-events-featured-slider__title {
        max-width: none;
        font-size: 1.08rem;
        line-height: 1.12;
    }

    .home-events__lower .cg-events-featured-slider__controls,
    .cg-events-page--archive .cg-events-featured-slider__controls {
        top: calc(var(--cg-featured-slider-title-height) + var(--cg-featured-slider-gap) + 1rem);
        right: 0.75rem;
    }

    .home-events__lower .cg-events-featured-slider__controls > button,
    .cg-events-page--archive .cg-events-featured-slider__controls > button {
        width: 2.2rem;
        height: 2.2rem;
        font-size: 0.86rem;
    }

    .home-events__lower .cg-events-featured-slide__date,
    .cg-events-page--archive .cg-events-featured-slide__date {
        top: 0.75rem;
        left: 0.75rem;
        padding: 0.3rem 0.62rem;
        font-size: 0.68rem;
    }

    .home-youtube__channel {
        width: 100%;
    }

    .home-youtube__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-youtube-card__media,
    .home-youtube-card--lead .home-youtube-card__media {
        aspect-ratio: 5 / 6;
    }

    .attraction-category__posts--wide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 430px) {
    .attraction-category__posts--wide {
        grid-template-columns: 1fr;
    }

    .attraction-category__posts--wide .attraction-post {
        grid-template-columns: clamp(4.25rem, 27vw, 5.4rem) minmax(0, 1fr);
        grid-template-rows: none;
        align-items: center;
    }

    .attraction-category__posts--wide .attraction-post__image {
        width: clamp(4.25rem, 27vw, 5.4rem);
        aspect-ratio: 1.26;
    }

    .home-youtube__grid {
        grid-template-columns: 1fr;
    }
}

/* Single post portal refresh */
.article-single--portal-v2 {
    --article-accent: #0849a2;
    --article-accent-rgb: 8, 73, 162;
    --article-line: rgba(8, 73, 162, 0.14);
    --article-soft: #eaf4ff;
    --article-soft-strong: #dcecff;
    --article-muted: #54647f;
    background:
        linear-gradient(180deg, #f7fbff 0 26rem, #ffffff 26rem 100%);
}

.article-single--portal-v2 .article-entry {
    padding: clamp(2.35rem, 4vw, 4.25rem) 0 clamp(2rem, 3.6vw, 3.4rem);
    border-bottom: 1px solid var(--article-line);
    background: none;
}

.article-single--portal-v2 .article-entry__grid--portal {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
    gap: clamp(1.8rem, 4vw, 4rem);
    align-items: start;
}

.article-single--portal-v2 .article-entry__copy {
    max-width: none;
    padding-block: clamp(0.35rem, 0.9vw, 0.8rem);
}

.article-single--portal-v2 .article-entry__kicker {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    align-items: center;
    margin-bottom: 1.05rem;
}

.article-single--portal-v2 .article-entry__title-row {
    display: block;
    margin: 0;
}

.article-single--portal-v2 .article-entry__title-row h1 {
    max-width: none;
    margin: 0;
    color: var(--cg-brand-700);
    font-size: clamp(2.35rem, 5vw, 4.35rem);
    line-height: 0.96;
    letter-spacing: -0.03em;
    text-wrap: balance;
}

.article-single--portal-v2 .article-entry__lead {
    max-width: 40rem;
    margin: 1.4rem 0 0;
    color: #41516b;
    font-size: clamp(1.02rem, 1.45vw, 1.3rem);
    line-height: 1.66;
}

.article-single--portal-v2 .article-entry__hero-note {
    max-width: 38rem;
    margin: 1.05rem 0 0;
    color: var(--article-accent);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.5;
}

.article-single--portal-v2 .article-meta-line {
    margin-top: 1.45rem;
    padding-top: 1rem;
    border-top: 1px solid var(--article-line);
}

.article-single--portal-v2 .article-meta-line time,
.article-single--portal-v2 .article-meta-line > span,
.article-single--portal-v2 .article-meta-line > a:not(.article-meta-line__author) {
    color: var(--article-muted);
}

.article-single--portal-v2 .article-entry__media {
    position: relative;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(8, 73, 162, 0.1);
    border-radius: 0;
    background: var(--article-soft);
    box-shadow: 0 22px 56px rgba(8, 73, 162, 0.08);
}

.article-single--portal-v2 .article-entry__media > img,
.article-single--portal-v2 .article-entry__media-placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 1.22;
    object-fit: cover;
}

.article-single--portal-v2 .article-entry__media-placeholder {
    display: grid;
    place-items: center;
    background:
        linear-gradient(135deg, #dcecff 0%, #b8d7ff 52%, #e8f3ff 100%);
    color: rgba(8, 73, 162, 0.72);
    font-family: var(--cg-font-heading);
    font-size: clamp(3rem, 9vw, 5rem);
    letter-spacing: 0.05em;
}

.article-single--portal-v2 .article-entry__media figcaption {
    margin: 0;
    padding: 0.9rem 1.1rem 1rem;
    color: var(--article-muted);
    font-size: 0.82rem;
    line-height: 1.45;
    background: rgba(255, 255, 255, 0.82);
}

.article-single--portal-v2 .article-entry__media .article-format-sticker {
    top: 1rem;
    left: 1rem;
    width: clamp(6.1rem, 7vw, 7rem);
    height: clamp(6.1rem, 7vw, 7rem);
    padding: 0.6rem 0.56rem 0.72rem;
    border: 1px solid rgba(8, 73, 162, 0.16);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 14px 34px rgba(8, 73, 162, 0.14);
    color: var(--cg-brand-700);
    transform: rotate(-11deg);
    animation: none;
}

.article-single--portal-v2 .article-entry__media .article-format-sticker::before,
.article-single--portal-v2 .article-entry__media .article-format-sticker::after {
    content: none;
    animation: none;
}

.article-single--portal-v2 .article-entry__media .article-format-sticker__icon {
    width: clamp(3.4rem, 4.15vw, 4rem);
    height: clamp(3.15rem, 3.95vw, 3.8rem);
    color: var(--cg-brand-700);
}

.article-single--portal-v2 .article-entry__media .article-format-sticker__label {
    max-width: 5.25rem;
    color: var(--cg-brand-700);
    font-size: clamp(0.54rem, 0.6vw, 0.62rem);
    font-weight: 900;
    line-height: 1.08;
    text-shadow: none;
}

.article-single--portal-v2 .article-layout--portal {
    display: grid;
    grid-template-columns: clamp(2.4rem, 3vw, 3.15rem) minmax(0, 1fr) minmax(17rem, 20rem);
    gap: clamp(1rem, 2vw, 1.75rem);
    padding-block: clamp(2rem, 3.8vw, 3.6rem);
    align-items: start;
}

.article-single--portal-v2 .article-main {
    min-width: 0;
    width: 100%;
    max-width: none;
    grid-column: 2 / 3;
}

.article-single--portal-v2 .article-main > * + * {
    margin-top: clamp(2rem, 3vw, 2.8rem);
}

.article-single--portal-v2 .article-toc--inline {
    position: relative;
    max-width: 60rem;
    padding: 0.8rem 0 0;
    border-top: 0;
    border-bottom: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.article-single--portal-v2 .article-toc--inline::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4.75rem;
    height: 0.18rem;
    background: var(--cg-brand-700);
}

.article-single--portal-v2 .article-toc--inline p {
    display: inline-block;
    margin: 0 0 0.85rem;
    color: var(--cg-brand-700);
}

.article-single--portal-v2 .article-toc--inline ol {
    display: grid;
    gap: 0.58rem;
    margin: 0;
    padding-left: 0;
    list-style: none;
    counter-reset: cg-post-toc;
    justify-items: start;
}

.article-single--portal-v2 .article-toc__item {
    counter-increment: cg-post-toc;
}

.article-single--portal-v2 .article-toc--inline a {
    width: auto;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    column-gap: 0.75rem;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    text-decoration: none;
    color: #24415f;
}

.article-single--portal-v2 .article-toc--inline a::before {
    content: counter(cg-post-toc, decimal) ".";
    color: var(--article-accent);
    font-family: var(--cg-font-menu);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
}

.article-single--portal-v2 .article-toc--inline a:hover,
.article-single--portal-v2 .article-toc--inline a.is-active {
    box-shadow: none;
    color: var(--article-accent);
}

.article-single--portal-v2 .article-content {
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    width: 100%;
    max-width: none;
}

.article-single--portal-v2 .article-content > * {
    width: 100%;
    max-width: none !important;
    margin-right: 0;
    margin-left: 0;
}

.article-single--portal-v2 .article-content > figure,
.article-single--portal-v2 .article-content > .wp-block-image,
.article-single--portal-v2 .article-content > .wp-block-gallery,
.article-single--portal-v2 .article-content > .wp-block-cover,
.article-single--portal-v2 .article-content > .wp-block-embed {
    max-width: 64rem;
}

.article-single--portal-v2 .article-content h2,
.article-single--portal-v2 .article-content h3,
.article-single--portal-v2 .article-content h4 {
    color: var(--cg-heading-color);
    letter-spacing: -0.02em;
}

.article-single--portal-v2 .article-content h2 {
    margin-top: 3rem;
    font-size: clamp(1.75rem, 2.5vw, 2.35rem);
}

.article-single--portal-v2 .article-content h2::before {
    content: none;
}

.article-single--portal-v2 .article-content p,
.article-single--portal-v2 .article-content li {
    color: #27384f;
    font-size: 1.06rem;
    line-height: 1.86;
}

.article-single--portal-v2 .article-content blockquote,
.article-single--portal-v2 .article-content .wp-block-quote {
    padding: 1.45rem 1.55rem;
    border: 1px solid var(--article-line);
    border-left: 4px solid rgba(8, 73, 162, 0.42);
    border-radius: 1rem;
    background: #f8fbff;
    box-shadow: none;
}

.article-single--portal-v2 .article-content img,
.article-single--portal-v2 .article-content .wp-caption {
    border-radius: 0;
}

.article-single--portal-v2 .article-places-guide,
.article-single--portal-v2 .article-inline-gallery,
.article-single--portal-v2 .article-faq,
.article-single--portal-v2 .article-reactions,
.article-single--portal-v2 .article-response-stack .cg-share-panel {
    background: transparent;
    box-shadow: none;
}

.article-single--portal-v2 .article-places-guide,
.article-single--portal-v2 .article-inline-gallery--compact,
.article-single--portal-v2 .article-faq,
.article-single--portal-v2 .article-reactions {
    max-width: 56rem;
}

.article-single--portal-v2 .article-inline-gallery--feature {
    max-width: 58rem;
}

.article-single--portal-v2 .article-inline-gallery__head,
.article-single--portal-v2 .article-places-guide__head,
.article-single--portal-v2 .article-reactions__head {
    align-items: end;
}

.article-single--portal-v2 .article-toc--inline p,
.article-single--portal-v2 .article-comments__head p,
.article-single--portal-v2 .article-places-guide__head h2,
.article-single--portal-v2 .article-inline-gallery__head h2,
.article-single--portal-v2 .article-reactions__head h2,
.article-single--portal-v2 .article-faq h2,
.article-single--portal-v2 .article-selected-related__head h2,
.article-single--portal-v2 .article-author-box h2 {
    margin: 0;
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.08rem, 1.05vw, 1.2rem) !important;
    font-weight: 850;
    letter-spacing: -0.02em;
    line-height: 1.06 !important;
}

.article-single--portal-v2 .article-toc--inline > p,
.article-single--portal-v2 .article-comments__head > div > p {
    display: block !important;
    margin: 0 !important;
    color: var(--cg-brand-700) !important;
    font-family: var(--cg-font-menu) !important;
    font-size: clamp(1.08rem, 1.05vw, 1.2rem) !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.06 !important;
}

.article-single--portal-v2 .article-places-guide__head p,
.article-single--portal-v2 .article-inline-gallery__head p,
.article-single--portal-v2 .article-reactions__head p:first-child,
.article-single--portal-v2 .article-author-box > div > p:first-child,
.article-single--portal-v2 .article-side-actions p,
.article-single--portal-v2 .article-recommended p,
.article-single--portal-v2 .article-sidebar .cg-sidebar-links h2,
.article-single--portal-v2 .article-side-ad__caption {
    color: var(--article-accent);
}

.article-single--portal-v2 .article-places-guide__head > span,
.article-single--portal-v2 .article-inline-gallery__head > span,
.article-single--portal-v2 .article-reactions__head > p:last-child {
    color: var(--article-muted);
}

.article-single--portal-v2 .article-places-guide__map,
.article-single--portal-v2 .article-places-guide__place-map {
    overflow: hidden;
    border-radius: 1rem;
}

.article-single--portal-v2 .article-places-guide__list {
    gap: 1rem;
}

.article-single--portal-v2 .article-places-guide__list li {
    padding: 1rem;
    border: 1px solid var(--article-line);
    border-radius: 1rem;
    background: #f9fbff;
    box-shadow: none;
}

.article-single--portal-v2 .article-places-guide__list li > span {
    display: grid;
    flex: 0 0 2.8rem;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: var(--article-soft);
    color: var(--article-accent);
    font-weight: 800;
}

.article-single--portal-v2 .article-places-guide__meta div {
    border-radius: 0.85rem;
    background: #ffffff;
}

.article-single--portal-v2 .article-places-guide__actions button,
.article-single--portal-v2 .article-places-guide__actions a {
    border-radius: 999px;
}

.article-single--portal-v2 .article-inline-gallery {
    padding: 0;
    border: 0;
}

.article-single--portal-v2 .article-inline-gallery--feature {
    padding-top: 0;
}

.article-single--portal-v2 .article-inline-gallery__rail--fixed {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8.8rem, 1fr));
    gap: clamp(0.55rem, 0.9vw, 0.75rem);
    overflow: visible;
    padding-bottom: 0;
}

.article-single--portal-v2 .article-inline-gallery--has-more .article-inline-gallery__rail--fixed {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(0.55rem, 0.9vw, 0.75rem);
}

.article-single--portal-v2 .article-inline-gallery--feature .article-inline-gallery__head h2 {
    font-size: clamp(1.08rem, 1.05vw, 1.2rem) !important;
    line-height: 1.06 !important;
}

.article-single--portal-v2 .article-inline-gallery--feature .article-inline-gallery__item:first-child {
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
}

.article-single--portal-v2 .article-inline-gallery__item {
    scroll-snap-align: none;
    aspect-ratio: 1 / 1;
    min-height: 0;
}

.article-single--portal-v2 .article-inline-gallery__item img {
    object-position: 50% 50%;
}

.article-single--portal-v2 .article-main > .article-toc--inline + .article-inline-gallery {
    margin-top: clamp(1rem, 1.8vw, 1.3rem);
}

.article-single--portal-v2 .article-inline-gallery__item-badge {
    position: absolute;
    left: 0.55rem;
    bottom: 0.55rem;
    padding: 0.36rem 0.5rem;
    background: rgba(5, 20, 52, 0.72);
    color: #ffffff;
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 800;
}

.article-single--portal-v2 .article-inline-gallery__item--more {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 0.24rem;
    background: var(--article-accent);
    color: #ffffff;
}

.article-single--portal-v2 .article-inline-gallery__item--more:hover {
    background: var(--article-accent-deep);
}

.article-single--portal-v2 .article-inline-gallery__more-count {
    position: static;
    padding: 0;
    background: none;
    color: currentColor;
    font-size: clamp(1.45rem, 2.2vw, 1.9rem);
    font-weight: 900;
    line-height: 1;
}

.article-single--portal-v2 .article-inline-gallery__more-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.article-single--portal-v2 .article-inline-gallery--feature .article-inline-gallery__more-count {
    font-size: clamp(1.7rem, 2.4vw, 2.2rem);
}

.article-single--portal-v2 .article-inline-gallery--feature .article-inline-gallery__more-label {
    font-size: 0.78rem;
}

.article-single--portal-v2 .article-faq {
    padding: clamp(1rem, 2.2vw, 1.3rem) 0 0;
    border: 0;
    border-top: 1px solid var(--article-line);
    background: transparent;
}

.article-single--portal-v2 .article-faq__item {
    border: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.1);
    border-radius: 0;
    background: transparent;
}

.article-single--portal-v2 .article-faq__item:first-child {
    border-top: 0;
}

.article-single--portal-v2 .article-faq__item summary {
    padding: 0.9rem 0;
}

.article-single--portal-v2 .article-faq__answer {
    padding: 0 0 0.95rem;
}

.article-single--portal-v2 .article-response-stack {
    display: grid;
    max-width: 60rem;
    gap: 0;
}

.article-single--portal-v2 .article-response-stack .cg-share-panel {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.article-single--portal-v2 .article-response-stack .cg-share-panel__head,
.article-single--portal-v2 .article-response-stack .article-reactions__head {
    display: grid;
    gap: 0.28rem;
    align-items: start;
    justify-content: stretch;
    margin: 0 0 0.78rem;
}

.article-single--portal-v2 .article-response-stack .cg-share-panel__head p {
    color: var(--cg-brand-700);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.72rem, 2.1vw, 2.08rem);
    font-weight: 850;
    letter-spacing: -0.02em;
    text-transform: none;
    line-height: 1.02;
}

.article-single--portal-v2 .article-response-stack .cg-share-panel__head span {
    display: block;
    color: var(--article-muted);
    font-size: 0.98rem;
    line-height: 1.6;
}

.article-single--portal-v2 .article-response-stack .cg-share-panel__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem 1rem;
}

.article-single--portal-v2 .article-response-stack .cg-share-panel__button {
    flex: 0 0 auto;
    justify-content: flex-start;
    min-height: 0;
    padding: 0.14rem 0.38rem 0.14rem 0;
    border: 0;
    background: transparent;
    font-size: 0.96rem;
    font-weight: 700;
    gap: 0.4rem;
    color: var(--cg-ink);
}

.article-single--portal-v2 .article-response-stack .cg-share-panel__icon {
    width: 1.08rem;
    height: 1.08rem;
    background: transparent;
    color: var(--article-accent-deep);
}

.article-single--portal-v2 .article-response-stack .cg-share-panel__button:hover,
.article-single--portal-v2 .article-response-stack .cg-share-panel__button.is-copied {
    border: 0;
    background: transparent;
    color: var(--article-accent);
}

.article-single--portal-v2 .article-reactions {
    margin-top: clamp(1.1rem, 2.2vw, 1.45rem);
    padding: clamp(1.1rem, 2.2vw, 1.45rem) 0 0;
    border: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.1);
}

.article-single--portal-v2 .article-reactions__grid {
    gap: 0.5rem 0.72rem;
}

.article-single--portal-v2 .article-reaction {
    border-radius: 0;
    background: rgba(255, 255, 255, 0.78);
}

.article-single--portal-v2 .article-reaction__icon {
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    background: none !important;
    box-shadow: none;
    color: var(--article-accent-deep);
}

.article-single--portal-v2 .article-reaction:hover .article-reaction__icon,
.article-single--portal-v2 .article-reaction.is-selected .article-reaction__icon {
    background: none !important;
    color: var(--article-accent-deep);
}

.article-single--portal-v2 .article-category-more,
.article-single--portal-v2 .article-footer-sections {
    margin-top: clamp(2.35rem, 3.4vw, 3rem);
}

.article-single--portal-v2 .article-footer-sections {
    display: grid;
    gap: clamp(2rem, 3.2vw, 2.6rem);
    padding-bottom: clamp(2rem, 4vw, 3rem);
}

.article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions,
.article-single--portal-v2 .article-footer-sections .article-selected-related {
    grid-column: 1 / -1;
    max-width: none;
    padding: clamp(1rem, 2.2vw, 1.3rem) 0 0;
    border: 0;
    border-top: 1px solid var(--article-line);
    background: transparent;
    box-shadow: none;
}

.article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions {
    margin-top: clamp(2.15rem, 3vw, 2.75rem);
}

.article-single--portal-v2 .article-footer-sections .article-category-more {
    margin-top: 0;
}

.article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-selected-related__head,
.article-single--portal-v2 .article-footer-sections .article-selected-related__head {
    margin-bottom: 1.2rem;
}

.article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-selected-related__grid,
.article-single--portal-v2 .article-footer-sections .article-selected-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem 1.1rem;
}

.article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-related-card,
.article-single--portal-v2 .article-footer-sections .article-related-card {
    grid-template-columns: minmax(6rem, 6.85rem) minmax(0, 1fr);
    align-items: start;
    min-height: 6.3rem;
    padding: 0.8rem;
    border: 0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(var(--article-accent-rgb), 0.12);
}

.article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-related-card__media,
.article-single--portal-v2 .article-footer-sections .article-related-card__media {
    height: 4.85rem;
    border-radius: 0;
}

.article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-related-card__body,
.article-single--portal-v2 .article-footer-sections .article-related-card__body {
    gap: 0.2rem;
    padding: 0;
}

.article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-related-card h3,
.article-single--portal-v2 .article-footer-sections .article-related-card h3 {
    font-family: var(--cg-font-body);
    margin: 0;
    font-size: clamp(0.74rem, 0.22vw + 0.71rem, 0.84rem) !important;
    font-weight: 610 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em;
    -webkit-line-clamp: 2;
}

.article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-related-card h3 a,
.article-single--portal-v2 .article-footer-sections .article-related-card h3 a {
    color: inherit;
    font: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    text-decoration: none;
}

.article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-related-card time,
.article-single--portal-v2 .article-footer-sections .article-related-card time {
    font-size: 0.76rem;
}

.article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-selected-related__head h2,
.article-single--portal-v2 .article-footer-sections .article-selected-related__head h2 {
    font-size: clamp(0.98rem, 0.95vw, 1.08rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em;
}

.article-single--portal-v2 .article-postscript {
    min-width: 0;
    grid-column: 2 / 3;
}

.article-single--portal-v2 .article-postscript > * + * {
    margin-top: clamp(2rem, 3vw, 2.7rem);
}

.article-single--portal-v2 .article-author-box {
    gap: 1.35rem;
    padding: 1.9rem 0 0;
    border: 0;
    border-top: 1px solid var(--article-line);
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.article-single--portal-v2 .article-sidebar__sticky {
    display: grid;
    top: var(--article-sticky-top, 8rem);
    gap: 0;
}

.article-single--portal-v2 .article-recommended,
.article-single--portal-v2 .article-sidebar .article-side-ad {
    padding: 1rem 0 0;
    border: 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.article-single--portal-v2 .article-recommended:first-child,
.article-single--portal-v2 .article-sidebar .article-side-ad:first-child {
    padding-top: 0;
    border-top: 0;
}

.article-single--portal-v2 .article-recommended {
    gap: 0;
}

.article-single--portal-v2 .article-sidebar .article-side-ad {
    display: grid;
    gap: 0.55rem;
    padding-inline: 0;
}

.article-single--portal-v2 .article-sidebar .article-recommended p {
    margin: 0 0 0.95rem;
}

.article-single--portal-v2 .article-recommended a {
    padding: 0.86rem 0;
    border-top: 1px solid rgba(var(--article-accent-rgb), 0.12);
    border-radius: 0;
    background: transparent;
}

.article-single--portal-v2 .article-recommended p + a {
    padding-top: 0;
    border-top: 0;
}

.article-single--portal-v2 .article-recommended a:hover {
    background: transparent;
    color: var(--article-accent);
}

.article-single--portal-v2 .article-sidebar .article-side-ad img {
    width: 100%;
    aspect-ratio: 5 / 6;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    background: rgba(var(--article-accent-rgb), 0.05);
}

.article-single--portal-v2 .article-sidebar .article-side-ad--placeholder {
    min-height: clamp(15rem, 32vw, 18rem);
    align-content: center;
    background:
        linear-gradient(155deg, rgba(var(--article-accent-rgb), 0.06), rgba(255, 255, 255, 0.98) 62%),
        transparent;
}

.article-single--portal-v2 .article-progress {
    position: sticky;
    top: calc(var(--article-sticky-top, 8rem) + 0.35rem);
    left: auto;
    right: auto;
    z-index: 2;
    display: grid;
    align-content: start;
    justify-items: center;
    gap: 0.42rem;
    width: auto;
    height: auto;
    padding-top: 0.18rem;
    overflow: visible;
    border: 0;
    background: none;
    box-shadow: none;
    opacity: 1;
    backdrop-filter: none;
}

.article-single--portal-v2 .article-progress__title {
    color: var(--article-accent);
    font-family: var(--cg-font-menu);
    font-size: 0.62rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.article-single--portal-v2 .article-progress__track {
    position: relative;
    display: block;
    width: 0.72rem;
    height: min(26rem, calc(100svh - var(--article-sticky-top, 0px) - 7rem));
    overflow: hidden;
    border-radius: 999px;
    background: rgba(8, 73, 162, 0.12);
    box-shadow: inset 0 0 0 1px rgba(8, 73, 162, 0.08);
}

.article-single--portal-v2 .article-progress__bar {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 999px;
    transform: scaleY(0);
    transform-origin: top;
    background: linear-gradient(180deg, #4da2ff 0%, #0849a2 100%);
}

.article-single--portal-v2 .article-progress__label {
    position: static;
    min-width: 3.1rem;
    min-height: 1.6rem;
    padding: 0.22rem 0.46rem;
    border: 1px solid rgba(8, 73, 162, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--article-accent-deep);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: none;
}

@media (max-width: 1120px) {
    .article-single--portal-v2 .article-layout--portal {
        grid-template-columns: 1fr;
    }

    .article-single--portal-v2 .article-progress {
        display: none;
    }

    .article-single--portal-v2 .article-sidebar {
        order: 2;
    }

    .article-single--portal-v2 .article-sidebar__sticky {
        top: auto;
    }

    .article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-selected-related__grid,
    .article-single--portal-v2 .article-footer-sections .article-selected-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .article-single--portal-v2 .article-postscript {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .article-single--portal-v2 .article-entry__grid--portal {
        grid-template-columns: 1fr;
    }

    .article-single--portal-v2 .article-entry__title-row h1 {
        max-width: 100%;
    }

    .article-single--portal-v2 .article-entry__media {
        max-width: 44rem;
    }
}

@media (max-width: 780px) {
    .article-single--portal-v2 {
        background:
            linear-gradient(180deg, #f7fbff 0 18rem, #ffffff 18rem 100%);
    }

    .article-single--portal-v2 .article-entry {
        padding-top: 1.8rem;
    }

    .article-single--portal-v2 .article-entry__title-row h1 {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .article-single--portal-v2 .article-entry__lead {
        font-size: 1rem;
    }

    .article-single--portal-v2 .article-entry__media {
        border-radius: 1.15rem;
    }

    .article-single--portal-v2 .article-entry__media .article-format-sticker {
        top: 0.8rem;
        left: 0.8rem;
        width: 5.35rem;
        height: 5.35rem;
    }

    .article-single--portal-v2 .article-main > * + * {
        margin-top: 1.8rem;
    }

    .article-single--portal-v2 .article-sidebar__sticky,
    .article-single--portal-v2 .article-response-stack .article-reactions__grid {
        grid-template-columns: 1fr;
    }

    .article-single--portal-v2 .article-inline-gallery__rail--fixed,
    .article-single--portal-v2 .article-inline-gallery--has-more .article-inline-gallery__rail--fixed {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .article-single--portal-v2 .article-inline-gallery--feature .article-inline-gallery__item:first-child {
        grid-column: auto;
        grid-row: auto;
        min-height: 0;
    }

    .article-single--portal-v2 .article-places-guide__list li {
        padding: 0.95rem;
    }
}

@media (max-width: 640px) {
    .article-single--portal-v2 .article-response-stack .cg-share-panel__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .article-single--portal-v2 .article-inline-gallery__rail--fixed,
    .article-single--portal-v2 .article-inline-gallery--has-more .article-inline-gallery__rail--fixed,
    .article-single--portal-v2 .article-inline-gallery--feature .article-inline-gallery__rail--fixed {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-selected-related__grid,
    .article-single--portal-v2 .article-footer-sections .article-selected-related__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .article-single--portal-v2 .article-response-stack .cg-share-panel__grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .article-single--portal-v2 .article-entry__media .article-format-sticker {
        animation: none;
    }
}

/* Classifieds archive/category-first follow-up */
.category-feed__head h2,
.category-editorial h2,
.category-empty h2,
.category-editorial__content h2,
.category-editorial__content h3,
.category-faq h2,
.cg-classifieds-results__head h2,
.cg-classifieds-submit-steps__head h2,
.cg-classifieds-submit-step h3,
.cg-classifieds-empty h2,
.cg-classifieds-contact h2,
.cg-classifieds-single__content-card h2,
.cg-tax-landing__head h2,
.cg-tax-landing__copy h2,
.cg-tax-landing__copy h3 {
    color: var(--cg-heading-color, #0c254f);
}

.cg-classifieds-single__summary h1,
.cg-classifieds-single__price,
.cg-classifieds-contact__item strong,
.cg-classifieds-contact__item a {
    color: var(--cg-heading-color, #0c254f);
}

.cg-classifieds-page--archive .cg-events-hero__copy {
    max-width: min(100%, 60rem);
}

.cg-classifieds-page--archive .cg-events-hero h1 {
    max-width: none;
    font-size: clamp(2.15rem, 3.2vw, 3.1rem);
}

.cg-classifieds-page--archive .cg-events-hero p:not(.cg-events-eyebrow) {
    max-width: 57rem;
}

.cg-classifieds-page--archive .cg-events-hero__actions.cg-classifieds-hero__actions {
    display: flex;
    margin-top: 1.1rem;
}

.cg-classifieds-editorial h2,
.cg-classifieds-editorial h3,
.cg-classifieds-faq.article-faq h2,
.cg-classifieds-results__head h2,
.cg-classifieds-filter-panel .cg-events-calendar-panel__head h2 {
    color: var(--cg-heading-color, #0c254f);
}

.cg-classifieds-filter-panel .cg-events-calendar-panel__head h2 {
    color: var(--cg-heading-color, #0c254f);
}

.cg-classifieds-filters__fieldset--category {
    padding-bottom: 0.15rem;
    border-bottom: 1px solid rgba(8, 73, 162, 0.12);
}

.cg-classifieds-filters__grid--details {
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    padding-top: 0.2rem;
}

.cg-classifieds-filters__grid--details label > span {
    gap: 0;
}

.cg-classifieds-filters__grid--details label > span::before {
    display: none;
}

.cg-classifieds-range {
    gap: 0.46rem;
}

.cg-classifieds-range__inputs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.cg-classifieds-card__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem 0.82rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cg-classifieds-card__details li {
    display: grid;
    gap: 0.18rem;
    padding-top: 0.68rem;
    border-top: 1px solid rgba(8, 73, 162, 0.1);
}

.cg-classifieds-card__details span {
    color: rgba(17, 40, 79, 0.66);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.cg-classifieds-card__details strong {
    color: var(--cg-heading-color, #0c254f);
    font-size: 0.92rem;
    line-height: 1.3;
}

.cg-classifieds-single__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
}

.cg-classifieds-single__fact {
    display: grid;
    gap: 0.18rem;
    padding: 0.8rem 0.86rem;
    background: rgba(214, 233, 254, 0.5);
}

.cg-classifieds-single__fact span {
    color: rgba(17, 40, 79, 0.66);
    font-family: var(--cg-font-menu);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.cg-classifieds-single__fact strong {
    color: var(--cg-heading-color, #0c254f);
    line-height: 1.35;
}

.cg-classifieds-submit__extra-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.cg-classifieds-submit__extra-fields:empty {
    display: none;
}

.cg-classifieds-submit__extra-field {
    min-width: 0;
}

.cg-classifieds-faq.article-faq {
    max-width: 980px;
    margin-top: clamp(1.7rem, 4vw, 3rem);
}

.cg-classifieds-faq.article-faq h2 {
    margin-bottom: 0.92rem;
    color: var(--cg-heading-color, #0c254f);
    font-size: clamp(1.72rem, 2.4vw, 2.08rem) !important;
}

.cg-events-archive-faq.article-faq {
    max-width: 980px;
    margin-top: clamp(1.7rem, 4vw, 3rem);
}

.cg-events-archive-faq.article-faq h2 {
    margin-bottom: 0.92rem;
    color: var(--cg-heading-color, #0c254f);
    font-size: clamp(1.72rem, 2.4vw, 2.08rem) !important;
}

@media (max-width: 980px) {
    .cg-classifieds-submit__extra-fields,
    .cg-classifieds-card__details {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .cg-classifieds-page--archive .cg-events-hero h1 {
        max-width: 18ch;
    }
}

@media (max-width: 760px) {
    .cg-classifieds-page--archive .cg-events-hero__actions.cg-classifieds-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .cg-classifieds-single__facts,
    .cg-classifieds-range__inputs {
        grid-template-columns: 1fr;
    }
}

/* Classifieds UX polish v1 */
.cg-classifieds-page--single {
    background: linear-gradient(180deg, rgba(237, 247, 255, 0.82), #fff 24rem);
}

.cg-classifieds-single-hero {
    padding-block: clamp(1rem, 2.2vw, 1.7rem) 0;
}

.cg-classifieds-single-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.94fr) minmax(24rem, 1.06fr);
    gap: clamp(1rem, 2.6vw, 2rem);
    align-items: center;
}

.cg-classifieds-single-hero__copy,
.cg-classifieds-single__main {
    display: grid;
    gap: clamp(1rem, 2.1vw, 1.35rem);
    min-width: 0;
}

.cg-classifieds-page--single .cg-classifieds-single__back {
    margin-bottom: 0;
}

.cg-classifieds-single__lead {
    max-width: 46rem;
    margin: 0.55rem 0 0;
    color: var(--cg-ink-soft);
    font-size: clamp(1rem, 1.18vw, 1.08rem);
    line-height: 1.62;
}

.cg-classifieds-single__summary h1 {
    margin: 0;
    font-size: clamp(1.95rem, 3.2vw, 2.85rem);
    font-weight: 850;
    line-height: 1.02;
}

.cg-classifieds-single__price {
    margin: 0.72rem 0 0.65rem;
    font-size: clamp(1.5rem, 2.4vw, 1.95rem);
    font-weight: 850;
}

.cg-classifieds-single__meta {
    font-size: 0.9rem;
}

.cg-classifieds-single__hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.72rem;
    margin-top: 1.1rem;
}

.cg-classifieds-single-hero__media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(20rem, 34vw, 30rem);
    padding: clamp(1rem, 2vw, 1.35rem);
}

.cg-classifieds-page--single .cg-classifieds-page__body {
    padding-top: clamp(1.2rem, 2.6vw, 2rem);
    padding-bottom: clamp(2.6rem, 5vw, 3.8rem);
}

.cg-classifieds-single__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.42fr);
    gap: clamp(1rem, 2.6vw, 2rem);
    align-items: start;
}

.cg-classifieds-page--single .cg-classifieds-single__sidebar {
    position: static;
}

.cg-classifieds-page--single .cg-classifieds-single__sidebar .article-sidebar__sticky {
    top: 7.5rem;
    gap: 0;
}

.cg-classifieds-single__facts-panel {
    border: 0;
    padding: 0 0 1.15rem;
    border-bottom: 1px solid rgba(8, 73, 162, 0.12);
    background: transparent;
    box-shadow: none;
}

.cg-classifieds-single__facts-panel h2,
.cg-classifieds-submit__section-head h2,
.cg-classifieds-submit-side__card h2 {
    margin: 0;
    color: var(--cg-heading-color, #0c254f);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.24rem, 1.8vw, 1.58rem);
    font-weight: 850;
    line-height: 1.08;
    text-wrap: balance;
}

.cg-classifieds-single__facts-panel .cg-classifieds-single__facts {
    margin-top: 0.92rem;
    padding-top: 0;
    border-top: 0;
}

.cg-classifieds-single__fact {
    padding: 0.78rem 0 0;
    border-top: 1px solid rgba(8, 73, 162, 0.1);
    background: transparent;
}

.cg-classifieds-single__fact:first-child {
    padding-top: 0;
    border-top: 0;
}

.cg-classifieds-single__content-card.cg-event-single__content {
    max-width: 50rem;
    margin-top: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.cg-classifieds-single__content-card.cg-event-single__content h2 {
    margin: 0 0 0.9rem;
    font-size: clamp(1.42rem, 2vw, 1.82rem);
}

.cg-classifieds-page--single .article-sidebar .cg-classifieds-contact {
    gap: 0;
    border: 0;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
    padding: 0.92rem 0;
    background: transparent;
    box-shadow: none;
}

.cg-classifieds-page--single .article-sidebar__sticky > .cg-classifieds-contact:first-child,
.cg-classifieds-page--single .article-sidebar__sticky > .article-side-format:first-child {
    padding-top: 0;
    border-top: 0;
}

.cg-classifieds-page--single .article-sidebar .cg-classifieds-contact h2 {
    margin: 0 0 0.62rem;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: 0.96rem;
    font-weight: 850;
    line-height: 1.12;
}

.cg-classifieds-page--single .article-sidebar .cg-classifieds-contact__grid {
    gap: 0;
}

.cg-classifieds-page--single .article-sidebar .cg-classifieds-contact__item {
    padding: 0.58rem 0;
    border-top: 1px solid rgba(8, 73, 162, 0.09);
    background: transparent;
}

.cg-classifieds-page--single .article-sidebar .cg-classifieds-contact__item:first-child {
    padding-top: 0;
    border-top: 0;
}

.cg-classifieds-page--single .article-sidebar .cg-classifieds-contact__item span {
    color: var(--cg-ink-soft);
    font-size: 0.84rem;
    line-height: 1.42;
}

.cg-classifieds-page--single .article-sidebar .cg-classifieds-contact__item strong,
.cg-classifieds-page--single .article-sidebar .cg-classifieds-contact__item a {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: 0.92rem;
    font-weight: 850;
    line-height: 1.16;
}

.cg-classifieds-submit-layout {
    display: grid;
    grid-template-columns: minmax(16rem, 0.38fr) minmax(0, 1fr);
    gap: clamp(1rem, 2.8vw, 2rem);
    align-items: start;
}

.cg-classifieds-submit-side {
    position: sticky;
    top: clamp(1rem, 2vw, 1.35rem);
    display: grid;
    gap: 1rem;
}

.cg-classifieds-submit-side__card {
    display: grid;
    gap: 0.9rem;
    border: 1px solid rgba(8, 73, 162, 0.12);
    padding: clamp(1rem, 2.2vw, 1.3rem);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: none;
}

.cg-classifieds-submit-side__card p:not(.cg-classifieds-hero__eyebrow) {
    margin: 0;
    color: var(--cg-ink-soft);
    line-height: 1.6;
}

.cg-classifieds-submit-side__list {
    display: grid;
    gap: 0.78rem;
}

.cg-classifieds-submit-side__item {
    display: grid;
    gap: 0.24rem;
    padding-top: 0.78rem;
    border-top: 1px solid rgba(8, 73, 162, 0.1);
}

.cg-classifieds-submit-side__item:first-child {
    padding-top: 0;
    border-top: 0;
}

.cg-classifieds-submit-side__item strong {
    color: var(--cg-heading-color, #0c254f);
    font-family: var(--cg-font-menu);
    font-size: 0.94rem;
    line-height: 1.18;
}

.cg-classifieds-submit-side__item span {
    color: var(--cg-ink-soft);
    font-size: 0.9rem;
    line-height: 1.5;
}

.cg-classifieds-submit-side__card--meta .cg-classifieds-button {
    justify-self: start;
}

.cg-classifieds-submit {
    max-width: none;
}

.cg-classifieds-submit__form {
    display: grid;
    gap: clamp(1.15rem, 2.6vw, 1.7rem);
}

.cg-classifieds-submit__section {
    display: grid;
    gap: 1rem;
    padding-top: clamp(1rem, 2vw, 1.25rem);
    border-top: 1px solid rgba(8, 73, 162, 0.1);
}

.cg-classifieds-submit__section:first-of-type {
    padding-top: 0;
    border-top: 0;
}

.cg-classifieds-submit__section-head {
    display: grid;
    gap: 0.38rem;
    max-width: 46rem;
}

.cg-classifieds-submit__section-head p {
    margin: 0;
    color: var(--cg-classifieds-navy);
    font-family: var(--cg-font-menu);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.cg-classifieds-submit-steps__head h2 {
    font-size: clamp(1.42rem, 2vw, 1.86rem);
}

.cg-classifieds-submit-step h3 {
    font-size: clamp(1.05rem, 1.5vw, 1.22rem);
}

.cg-classifieds-submit__grid--closing {
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    align-items: start;
}

.cg-classifieds-submit__section--closing .cg-classifieds-submit__anti-spam {
    max-width: none;
}

.cg-classifieds-submit__section--closing .cg-classifieds-submit__actions {
    margin-top: 0.15rem;
}

@media (max-width: 1100px) {
    .cg-classifieds-single-hero__grid,
    .cg-classifieds-single__layout,
    .cg-classifieds-submit-layout {
        grid-template-columns: 1fr;
    }

    .cg-classifieds-page--single .cg-classifieds-single__sidebar,
    .cg-classifieds-submit-side {
        position: static;
    }
}

@media (max-width: 820px) {
    .cg-classifieds-single__hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cg-classifieds-submit__grid--closing {
        grid-template-columns: 1fr;
    }
}

/* Classifieds single/gallery simplification v2 */
.cg-classifieds-single-hero__grid {
    grid-template-columns: minmax(0, 1.14fr) minmax(18rem, 0.86fr);
    align-items: start;
    gap: clamp(1.5rem, 3vw, 2.6rem);
}

.cg-classifieds-single__visual {
    display: grid;
    gap: 0.95rem;
    min-width: 0;
}

.cg-classifieds-single__visual h1 {
    margin: 0;
    color: var(--cg-heading-color, #0c254f);
    font-family: var(--cg-font-menu);
    font-size: clamp(2.1rem, 4.8vw, 4.25rem);
    line-height: 0.98;
    letter-spacing: -0.04em;
}

.cg-classifieds-single__media-stack {
    display: grid;
    gap: clamp(0.7rem, 1.4vw, 0.85rem);
    min-width: 0;
}

.cg-classifieds-single__summary {
    display: grid;
    gap: 0.9rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    align-content: start;
}

.cg-classifieds-single__summary::before {
    display: none;
}

.cg-classifieds-single__topline {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem 1rem;
}

.cg-classifieds-single__topline .cg-classifieds-card__badges {
    margin-bottom: 0;
    justify-content: flex-end;
}

.cg-classifieds-badge.badge-featured {
    background: rgba(8, 73, 162, 0.08);
    color: var(--cg-heading-color, #0c254f);
}

.cg-classifieds-single__media,
.cg-classifieds-single-hero__media {
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    line-height: 0;
}

.cg-classifieds-single__lead-figure {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    overflow: hidden;
    background: transparent;
    aspect-ratio: auto;
    min-height: 0;
    line-height: 0;
}

.cg-classifieds-single__gallery-trigger {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

.cg-classifieds-single__gallery-trigger--lead {
    position: absolute;
    inset: 0;
    height: auto;
    z-index: 2;
}

.cg-classifieds-single__lead-figure > .cg-classifieds-single__img {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    object-fit: cover;
}

.cg-classifieds-single__thumbs {
    margin-top: 0;
}

.cg-classifieds-single__thumbs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.65rem;
    align-items: start;
}

.cg-classifieds-single__thumb {
    position: relative;
    margin: 0;
    overflow: hidden;
    background: rgba(8, 73, 162, 0.05);
    aspect-ratio: 1.02;
    border: 1px solid rgba(8, 73, 162, 0.08);
}

.cg-classifieds-single__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cg-classifieds-placeholder--annotated {
    display: grid;
    gap: 0.55rem;
    align-content: center;
    justify-items: center;
    min-height: clamp(18rem, 34vw, 29rem);
    padding: 1.5rem;
    text-align: center;
}

.cg-classifieds-placeholder--annotated strong {
    color: var(--cg-ink);
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.16;
}

.cg-classifieds-placeholder--annotated small {
    max-width: 24rem;
    color: var(--cg-ink-soft);
    font-size: 0.9rem;
    line-height: 1.5;
}

.cg-classifieds-single__info,
.cg-classifieds-contact--inline {
    display: grid;
    gap: 0.7rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(8, 73, 162, 0.1);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: none;
}

.cg-classifieds-single__section-label,
.cg-classifieds-contact--inline .cg-classifieds-contact__eyebrow {
    margin: 0;
    color: var(--cg-ink-soft);
    font-family: var(--cg-font-body);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.cg-classifieds-single__price {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu);
    font-size: clamp(1.9rem, 3.2vw, 2.55rem);
    font-weight: 900;
    line-height: 1.02;
    overflow-wrap: break-word;
}

.cg-classifieds-single__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.9rem;
    color: var(--cg-ink-soft);
    font-size: 0.92rem;
}

.cg-classifieds-single__facts-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
}

.cg-classifieds-single__fact-row {
    display: grid;
    grid-template-columns: minmax(8rem, 0.62fr) minmax(0, 1fr);
    gap: 0.85rem;
    padding: 0.76rem 0;
    border-bottom: 1px solid rgba(8, 73, 162, 0.1);
}

.cg-classifieds-single__fact-row dt {
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 0.84rem;
    line-height: 1.42;
}

.cg-classifieds-single__fact-row dd {
    margin: 0;
    color: var(--cg-ink);
    font-family: var(--cg-font-menu, var(--cg-font-body));
    font-size: 0.92rem;
    font-weight: 820;
    line-height: 1.24;
}

.cg-classifieds-contact--inline {
    gap: 0.5rem;
    padding: 0.9rem 1rem;
}

.cg-classifieds-contact--inline .cg-classifieds-contact__grid {
    gap: 0.45rem;
}

.cg-classifieds-contact--inline .cg-classifieds-contact__item {
    padding: 0;
    border-top: 0;
    background: transparent;
}

.cg-classifieds-contact--inline .cg-classifieds-contact__item:first-child {
    padding-top: 0;
    border-top: 0;
}

.cg-classifieds-contact--inline .cg-classifieds-contact__item span {
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cg-classifieds-contact--inline .cg-classifieds-contact__item strong,
.cg-classifieds-contact--inline .cg-classifieds-contact__item a {
    color: var(--cg-ink);
    font-family: var(--cg-font-body);
    font-size: 0.92rem;
    font-weight: 620;
    line-height: 1.45;
}

.cg-classifieds-page--single .cg-classifieds-page__body {
    padding-top: clamp(1.35rem, 2.8vw, 2.1rem);
}

.cg-classifieds-single__body {
    display: grid;
    gap: clamp(1.8rem, 3.4vw, 2.5rem);
}

.cg-classifieds-single__content-card.cg-event-single__content {
    max-width: none;
}

.cg-classifieds-related .article-selected-related__head {
    margin-bottom: 0.95rem;
}

.cg-classifieds-submit__grid--media {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.cg-classifieds-submit__upload-note,
.cg-classifieds-submit__toggle {
    min-height: 0;
    border: 1px solid rgba(8, 73, 162, 0.12);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: none;
}

.cg-classifieds-submit__upload-note {
    display: grid;
    gap: 0.32rem;
    padding: 0.95rem 1rem;
}

.cg-classifieds-submit__upload-note strong,
.cg-classifieds-submit__toggle strong {
    color: var(--cg-heading-color, #0c254f);
    font-family: var(--cg-font-menu);
    font-size: 0.96rem;
    line-height: 1.2;
}

.cg-classifieds-submit__upload-note p,
.cg-classifieds-submit__toggle small {
    margin: 0;
    color: var(--cg-ink-soft);
    font-size: 0.88rem;
    line-height: 1.55;
}

.cg-classifieds-submit__toggle {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.8rem;
    align-items: start;
    padding: 0.95rem 1rem;
}

.cg-classifieds-submit__toggle input {
    width: 1.05rem;
    height: 1.05rem;
    margin: 0.18rem 0 0;
}

.cg-classifieds-submit__toggle span {
    display: grid;
    gap: 0.28rem;
}

@media (max-width: 1100px) {
    .cg-classifieds-single-hero__grid {
        grid-template-columns: 1fr;
    }

    .cg-classifieds-single__thumbs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .cg-classifieds-single__fact-row,
    .cg-classifieds-submit__grid--media {
        grid-template-columns: 1fr;
    }

    .cg-classifieds-single__topline .cg-classifieds-card__badges {
        justify-content: flex-start;
    }

    .cg-classifieds-single__thumbs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Cyclic event builder v3 */
.cg-page-builder--cyclic-event {
    padding-bottom: clamp(4rem, 6vw, 6rem);
}

.cg-page-builder--cyclic-event .cyclic-hero {
    min-height: 26rem;
    margin-bottom: 0;
    background-image:
        linear-gradient(100deg, rgba(4, 22, 55, 0.54) 0%, rgba(8, 73, 162, 0.36) 40%, rgba(8, 73, 162, 0.12) 70%, rgba(214, 233, 254, 0.02) 100%),
        var(--cyclic-hero-image, linear-gradient(135deg, #0849a2, #0849a2));
    background-position: center;
    background-size: cover;
}

.cg-page-builder--cyclic-event .cyclic-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(115deg, transparent 0%, rgba(214, 233, 254, 0.1) 40%, rgba(255, 255, 255, 0.05) 50%, transparent 64%);
    background-size: 180% 100%;
    opacity: 0.3;
    animation: collection-hero-flow 18s ease-in-out infinite;
}

.cg-page-builder--cyclic-event .cyclic-hero::after {
    height: 42%;
    background: linear-gradient(180deg, rgba(237, 247, 255, 0), rgba(237, 247, 255, 0.78));
}

.cg-page-builder--cyclic-event .cyclic-hero__inner,
.cg-page-builder--cyclic-event .cg-builder-text-image__inner,
.cg-page-builder--cyclic-event .cg-builder-cta-v2__inner {
    max-width: min(1240px, calc(100vw - 3rem));
}

.cg-page-builder--cyclic-event .cyclic-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    min-height: 26rem;
    align-items: flex-start;
    padding-block: clamp(3rem, 6vw, 5rem) clamp(3.2rem, 5vw, 4.3rem);
}

.cg-page-builder--cyclic-event .cyclic-hero__copy {
    max-width: min(100%, 60rem);
}

.cg-page-builder--cyclic-event .cyclic-hero h1 {
    max-width: none;
    font-size: clamp(2.7rem, 4.1vw, 3.85rem);
    font-weight: 850;
    line-height: 0.98;
    text-wrap: pretty;
}

.cg-page-builder--cyclic-event .cyclic-hero__lead {
    max-width: 54rem;
    margin-top: 1.1rem;
    font-size: 1.05rem;
    line-height: 1.62;
}

.cg-page-builder--cyclic-event .cyclic-hero__actions {
    margin-top: 1.55rem;
    gap: 0.72rem;
}

.cg-page-builder--cyclic-event .cyclic-button {
    min-height: 3rem;
    padding: 0.78rem 1.05rem;
}

.cg-page-builder--cyclic-event .cyclic-button--primary {
    border: 1px solid rgba(8, 73, 162, 0.18);
    background: var(--cg-brand-100);
    color: var(--cg-brand-700);
}

.cg-page-builder--cyclic-event .cyclic-button--light {
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.cg-page-builder--cyclic-event .cyclic-meta-strip {
    position: relative;
    z-index: 2;
    margin-top: clamp(-1.6rem, -2vw, -1rem);
    margin-bottom: clamp(2.1rem, 4vw, 3.5rem);
}

.cg-page-builder--cyclic-event .cyclic-meta-strip__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    max-width: 68rem;
    margin: 0 auto;
    padding: 1px;
    background: rgba(8, 73, 162, 0.22);
    box-shadow: 0 1.1rem 2.4rem rgba(8, 73, 162, 0.16);
}

.cg-page-builder--cyclic-event .cyclic-meta-strip__item {
    display: grid;
    align-content: center;
    gap: 0.38rem;
    min-height: 7rem;
    padding: 1.2rem 1.35rem;
    background: linear-gradient(135deg, #0a57c1 0%, #0849a2 100%);
    color: #fff;
    text-align: center;
}

.cg-page-builder--cyclic-event .cyclic-meta-strip__item dt,
.cg-page-builder--cyclic-event .cyclic-meta-strip__item dd {
    margin: 0;
}

.cg-page-builder--cyclic-event .cyclic-meta-strip__item dt {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.74rem;
    font-weight: 850;
    text-transform: uppercase;
}

.cg-page-builder--cyclic-event .cyclic-meta-strip__item dd {
    font-size: clamp(1.05rem, 1.45vw, 1.28rem);
    font-weight: 850;
}

.cg-page-builder--cyclic-event .cg-builder-head h2,
.cg-page-builder--cyclic-event .cg-builder-faq h2,
.cg-page-builder--cyclic-event .cg-builder-copy .cg-builder-content h3,
.cg-page-builder--cyclic-event .cg-builder-copy .cg-builder-content strong {
    color: var(--cg-heading-color, #0c254f);
}

.cg-page-builder--cyclic-event .cg-builder-text-image__media,
.cg-page-builder--cyclic-event .cg-builder-gallery__grid figure,
.cg-page-builder--cyclic-event .cg-builder-post-card figure,
.cg-page-builder--cyclic-event .cg-builder-cta-v1__inner,
.cg-page-builder--cyclic-event .cg-builder-cta-v2__inner figure {
    border-radius: 0;
}

.cg-page-builder--cyclic-event .cg-builder-posts__action {
    margin-top: clamp(1.1rem, 2vw, 1.5rem);
}

@media (max-width: 760px) {
    .cg-page-builder--cyclic-event .cyclic-hero {
        min-height: auto;
    }

    .cg-page-builder--cyclic-event .cyclic-hero__inner {
        min-height: auto;
    }

    .cg-page-builder--cyclic-event .cyclic-meta-strip {
        margin-top: 0;
        margin-bottom: clamp(1.8rem, 7vw, 2.4rem);
    }

    .cg-page-builder--cyclic-event .cyclic-meta-strip__grid {
        grid-template-columns: 1fr;
    }

    .cg-page-builder--cyclic-event .cyclic-meta-strip__item {
        min-height: 0;
        padding: 1rem 1.1rem;
    }
}

/* Portal mobile polish v1 */
.home-events,
.home-youtube,
.home-contact-cta,
.home-contact-cta.cg-builder-cta--v1.cg-builder-cta--has-image {
    --cg-heading-color: var(--cg-white);
}

.home-events__intro p,
.home-youtube__intro p,
.home-contact-cta__copy p,
.home-contact-cta.cg-builder-cta--v1.cg-builder-cta--has-image .home-contact-cta__copy p {
    color: rgba(255, 255, 255, 0.84);
}

.portal-slider__arrow,
.event-strip-panel__controls button,
.home-events__lower .cg-events-featured-slider__controls > button,
.cg-events-page--archive .cg-events-featured-slider__controls > button {
    display: inline-grid;
    place-items: center;
    line-height: 1;
}

.portal-slider__arrow {
    font-size: 1rem;
}

.event-strip-panel__controls button > span,
.home-events__lower .cg-events-featured-slider__controls > button > span,
.cg-events-page--archive .cg-events-featured-slider__controls > button > span {
    display: grid;
    width: 1em;
    height: 1em;
    place-items: center;
    line-height: 1;
    transform: none;
}

.message-rail__ad:not(.message-rail__ad--image),
.home-worth-knowing-ad--empty {
    padding-top: clamp(3.2rem, 2.7818rem + 2.0909vw, 4rem);
}

.message-rail__ad strong,
.home-worth-knowing-ad strong {
    text-wrap: balance;
}

.home-community-topic__icon,
.attraction-category__icon,
.patronage-benefit__icon,
.patronage-highlight__icon,
.patronage-organizer-benefit__icon,
.advertising-reason__icon,
.advertising-format__icon,
.advertising-organizer-benefit__icon,
.patronage-offer-list li span,
.patronage-requirements__list li span,
.cg-share-panel__icon,
.article-reaction__icon,
.article-response-stack .cg-share-panel__icon,
.article-response-stack .article-reaction__icon,
.article-response-stack .article-reaction[data-article-reaction="sad"] .article-reaction__icon,
.article-response-stack .article-reaction[data-article-reaction="not_for_me"] .article-reaction__icon,
.article-response-stack .article-reaction[data-article-reaction="less"] .article-reaction__icon {
    width: auto;
    height: auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.home-community-topic__icon {
    color: var(--cg-white);
}

.home-community-topic__icon svg,
.home-community-topic__icon img {
    width: 1.35rem;
    height: 1.35rem;
}

.attraction-category__icon {
    color: var(--cg-brand-700);
}

.attraction-category__link:hover .attraction-category__icon,
.attraction-category__link:focus-visible .attraction-category__icon {
    background: transparent;
    box-shadow: none;
}

.cg-share-panel__icon,
.article-reaction__icon,
.article-response-stack .cg-share-panel__icon,
.article-response-stack .article-reaction__icon {
    color: currentColor;
}

.article-reaction.is-selected .article-reaction__icon,
.article-reaction:hover .article-reaction__icon,
.article-response-stack .article-reaction:hover .article-reaction__icon,
.article-response-stack .article-reaction.is-selected .article-reaction__icon {
    background: transparent;
    color: currentColor;
}

@media (max-width: 760px) {
    .daily-card__countdown {
        gap: clamp(0.62rem, 0.2718rem + 1.7409vw, 0.96rem);
        padding: clamp(0.88rem, 0.4709rem + 2.0455vw, 1.28rem);
    }

    .daily-card__countdown > span {
        gap: 0.5rem;
        font-size: clamp(0.78rem, 0.6573rem + 0.6136vw, 0.9rem);
    }

    .daily-card__countdown > span::after {
        padding: 0.2rem 0.42rem;
        font-size: clamp(0.58rem, 0.5186rem + 0.3068vw, 0.64rem);
    }

    .daily-card__countdown-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: clamp(0.28rem, 0.095rem + 0.925vw, 0.46rem);
    }

    .daily-card__countdown-grid span,
    .daily-card__countdown-grid span:first-child {
        min-height: clamp(3.8rem, 3.1455rem + 3.2727vw, 4.44rem);
        gap: 0.08rem;
        padding: clamp(0.34rem, 0.2477rem + 0.4614vw, 0.43rem) clamp(0.22rem, 0.0973rem + 0.6136vw, 0.34rem);
        place-content: center;
    }

    .daily-card__countdown-grid b {
        font-size: clamp(1.36rem, 1.0532rem + 1.5341vw, 1.66rem);
        line-height: 1;
    }

    .daily-card__countdown-grid span:first-child b {
        font-size: clamp(1.86rem, 1.3891rem + 2.3545vw, 2.32rem);
    }

    .daily-card__countdown-grid small,
    .daily-card__countdown-grid span:first-child small {
        font-size: clamp(0.58rem, 0.5186rem + 0.3068vw, 0.64rem);
        line-height: 1.08;
    }

    .home-actualities {
        padding: clamp(2rem, 1.6932rem + 1.5341vw, 2.3rem) 0;
    }

    .actuality-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(0.62rem, 0.1709rem + 2.2455vw, 1.06rem);
        min-height: 0;
    }

    .actuality-tile,
    .actuality-tile--slot-2,
    .actuality-tile--slot-3,
    .actuality-tile--slot-4,
    .actuality-tile--slot-5,
    .actuality-tile--slot-6 {
        grid-column: auto !important;
        grid-row: auto !important;
        min-height: clamp(8.5rem, 6.8636rem + 8.1818vw, 10.1rem);
        padding: clamp(0.72rem, 0.4541rem + 1.3295vw, 0.98rem);
    }

    .actuality-tile--lead {
        grid-column: 1 / -1 !important;
        min-height: clamp(12rem, 9.5455rem + 12.2727vw, 14.4rem);
    }

    .actuality-tile h3 {
        max-width: none;
    }

    .actuality-tile--lead h3 {
        font-size: clamp(1.18rem, 0.9345rem + 1.2273vw, 1.42rem);
        line-height: 1.08;
    }

    .actuality-tile:not(.actuality-tile--lead) h3 {
        font-size: clamp(0.8rem, 0.6977rem + 0.5114vw, 0.9rem);
        line-height: 1.14;
    }

    .actuality-tile__date {
        font-size: clamp(0.62rem, 0.5279rem + 0.4605vw, 0.71rem);
    }

    .message-rail {
        gap: clamp(0.55rem, 0.2227rem + 1.6364vw, 0.87rem);
    }

    .message-rail__ad,
    .home-worth-knowing-ad {
        min-height: clamp(13.2rem, 11.7673rem + 7.1636vw, 14.6rem);
    }

    .message-rail__ad strong,
    .home-worth-knowing-ad strong {
        font-size: clamp(1.28rem, 1.0032rem + 1.3841vw, 1.55rem);
        line-height: 1.02;
    }

    .home-youtube {
        padding: clamp(1.1rem, 0.8545rem + 1.2273vw, 1.34rem) 0 clamp(1.2rem, 0.9136rem + 1.4318vw, 1.48rem);
    }

    .home-youtube__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(0.56rem, 0.3345rem + 1.1273vw, 0.78rem);
    }

    .home-youtube-card,
    .home-youtube-card--lead {
        min-height: 0;
    }

    .home-youtube-card__media,
    .home-youtube-card--lead .home-youtube-card__media {
        aspect-ratio: 4 / 5;
    }

    .home-youtube-card__play {
        width: clamp(2.5rem, 2.0909rem + 2.0455vw, 2.9rem);
        height: clamp(2.5rem, 2.0909rem + 2.0455vw, 2.9rem);
    }

    .home-youtube-card__body {
        padding: clamp(0.64rem, 0.4764rem + 0.8182vw, 0.8rem);
    }

    .home-youtube-card__body strong,
    .home-youtube-card--lead .home-youtube-card__body strong {
        font-size: clamp(0.86rem, 0.6555rem + 1.0227vw, 1.06rem);
        line-height: 1.14;
        -webkit-line-clamp: 3;
    }

    .home-about-story {
        padding: clamp(2.8rem, 2.0836rem + 3.5818vw, 3.5rem) 0 clamp(1.95rem, 1.4386rem + 2.5568vw, 2.45rem);
        background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
    }

    .home-about-story::before,
    .home-about-story::after,
    .home-about-story__ticker {
        display: none;
    }

    .home-about-story__shell {
        gap: clamp(1.1rem, 0.4864rem + 3.0682vw, 1.7rem);
        padding-top: 0;
    }

    .home-about-story__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(0.48rem, 0.2755rem + 1.0227vw, 0.68rem);
        margin-top: 0;
    }

    .home-about-story__facts span,
    .home-about-story__note {
        animation: none;
    }

    .home-about-story__facts span {
        min-height: 0;
        padding: clamp(0.72rem, 0.495rem + 1.125vw, 0.94rem);
    }

    .home-about-story__note--2,
    .home-about-story__note--3 {
        margin-left: 0;
    }

    .home-about-board {
        gap: clamp(0.62rem, 0.3336rem + 1.4318vw, 0.9rem);
    }

    .home-events__lower .cg-events-featured-slider,
    .cg-events-page--archive .cg-events-featured-slider {
        --cg-featured-slider-title-height: auto;
        gap: 0.58rem;
    }

    .home-events__lower .cg-events-featured-slider__top,
    .cg-events-page--archive .cg-events-featured-slider__top {
        min-height: 0;
        padding-right: 5.4rem;
        align-items: start;
    }

    .home-events__lower .cg-events-featured-slider__title,
    .cg-events-page--archive .cg-events-featured-slider__title {
        font-size: clamp(1rem, 0.8568rem + 0.7159vw, 1.14rem);
        line-height: 1.16;
    }

    .home-events__lower .cg-events-featured-slider__controls,
    .cg-events-page--archive .cg-events-featured-slider__controls {
        top: 0;
        right: 0;
        gap: 0.38rem;
    }

    .home-events__lower .cg-events-featured-slider__controls > button,
    .cg-events-page--archive .cg-events-featured-slider__controls > button,
    .event-strip-panel__controls button {
        width: clamp(2.28rem, 2.0345rem + 1.2273vw, 2.52rem);
        height: clamp(2.28rem, 2.0345rem + 1.2273vw, 2.52rem);
        font-size: 0.92rem;
    }

    .portal-slider__controls {
        gap: 0.4rem;
        padding: 0.34rem;
    }

    .portal-slider__arrow {
        width: clamp(2.2rem, 2.0159rem + 0.9205vw, 2.38rem);
        height: clamp(2.2rem, 2.0159rem + 0.9205vw, 2.38rem);
        font-size: 0.94rem;
    }

    .cg-ad-badge {
        min-height: 1.72rem;
        padding: 0.22rem 0.54rem;
        font-size: 0.62rem;
    }

    .facebook-side-panel {
        --fb-panel-tab: 42px;
        --fb-panel-body: 0px;
        left: 0.65rem;
        right: auto;
        bottom: 0.75rem;
        top: auto;
        transform: none;
    }

    .facebook-side-panel__link {
        width: var(--fb-panel-tab);
        min-height: var(--fb-panel-tab);
        margin-left: 0;
        border-radius: 999px;
        grid-template-columns: 1fr;
        overflow: hidden;
        box-shadow: 0 12px 26px rgba(5, 24, 58, 0.16);
    }

    .facebook-side-panel__tab {
        grid-column: 1;
        grid-row: 1;
        gap: 0;
        width: var(--fb-panel-tab);
        height: var(--fb-panel-tab);
        padding: 0;
        justify-content: center;
    }

    .facebook-side-panel__tab > span:not(.facebook-side-panel__mark),
    .facebook-side-panel__body {
        display: none;
    }

    .facebook-side-panel__mark {
        font-size: 1.2rem;
        line-height: 1;
    }
}

@media (max-width: 430px) {
    .home-youtube__grid,
    .attraction-category__posts--wide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-about-story__facts {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 359px) {
    .daily-card__countdown-grid,
    .actuality-tiles,
    .home-youtube__grid,
    .attraction-category__posts--wide,
    .home-about-story__facts {
        grid-template-columns: 1fr;
    }
}

/* Portal responsive polish v2 */
.home-community-topic,
.home-community-topic__top,
.message-rail__ad--image,
.home-worth-knowing-ad,
.cg-events-page--archive .cg-events-hero,
.cg-page-builder--cyclic-event .cyclic-hero,
.contact-hero,
.about-hero,
.about-cta {
    --cg-heading-color: var(--cg-white);
}

.home-community-topic__top h3,
.message-rail__ad--image strong,
.message-rail__ad--image b,
.home-worth-knowing-ad strong,
.home-worth-knowing-ad b,
.home-events__lower .cg-events-featured-slide__content strong,
.cg-events-page--archive .cg-events-featured-slide__content strong,
.cg-events-page--archive .cg-events-hero h1,
.cg-events-page--archive .cg-events-hero h2,
.cg-events-page--archive .cg-events-hero-action h2,
.cg-page-builder--cyclic-event .cyclic-hero h1,
.contact-hero h1,
.about-hero h1,
.about-cta h2 {
    color: var(--cg-white);
}

.home-community-topic__top p,
.message-rail__ad--image p,
.home-worth-knowing-ad p,
.home-events__lower .cg-events-featured-slide__content small,
.cg-events-page--archive .cg-events-featured-slide__content small,
.cg-events-page--archive .cg-events-hero p:not(.cg-events-eyebrow),
.cg-events-page--archive .cg-events-hero-action p,
.cg-page-builder--cyclic-event .cyclic-hero__lead,
.cg-page-builder--cyclic-event .cyclic-hero__lead p,
.cg-page-builder--cyclic-event .cyclic-hero__edition strong,
.cg-page-builder--cyclic-event .cyclic-hero__edition span,
.cg-page-builder--cyclic-event .cyclic-hero__meta dt,
.cg-page-builder--cyclic-event .cyclic-hero__meta dd,
.contact-hero__lead,
.contact-hero__lead p,
.about-hero__lead,
.about-hero__lead p,
.about-cta__inner p {
    color: rgba(255, 255, 255, 0.9);
}

.cg-events-page--archive .cg-events-hero .cg-events-eyebrow,
.cg-events-page--archive .cg-events-hero-action > span,
.cg-page-builder--cyclic-event .cyclic-hero__event-link span {
    color: rgba(255, 255, 255, 0.78);
}

.contact-overview__icon,
.contact-side-note__icon,
.contact-route__icon,
.contact-socials a span,
.about-feature__icon,
.cg-event-single__fact-icon {
    width: auto;
    height: auto;
    background: transparent;
    box-shadow: none;
}

.about-foundation__goal svg {
    background: transparent;
    box-shadow: none;
}

@media (max-width: 1040px) {
    .contact-overview__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-overview__item + .contact-overview__item {
        border-top: 0;
        border-left: 1px solid var(--contact-line);
    }

    .contact-overview__item:nth-child(2n + 1):not(:first-child) {
        border-left: 0;
    }

    .contact-overview__item:nth-child(n + 3) {
        border-top: 1px solid var(--contact-line);
    }

    .contact-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-team__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-member {
        grid-template-columns: 1fr;
    }

    .about-member__photo {
        min-height: clamp(15rem, 28vw, 18.5rem);
    }

    .cg-event-single__hero--simple {
        width: 100%;
        margin-inline: 0;
    }
}

@media (max-width: 760px) {
    .contact-overview__list {
        grid-template-columns: 1fr;
    }

    .contact-overview__item + .contact-overview__item,
    .contact-overview__item:nth-child(n + 3) {
        border-top: 1px solid var(--contact-line);
        border-left: 0;
    }

    .contact-gallery__grid,
    .contact-socials__list,
    .about-features__grid,
    .cg-events-page--archive .cg-events-grid,
    .cg-event-single__upcoming-grid,
    .article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-selected-related__grid,
    .article-single--portal-v2 .article-footer-sections .article-selected-related__grid,
    .cg-classifieds-related .article-selected-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-features__grid {
        gap: 0.72rem;
    }

    .about-team__grid {
        grid-template-columns: 1fr;
    }

    .about-member__body {
        gap: 0.72rem;
        padding: 1rem;
    }

    .cg-event-single__facts--hero {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cg-event-single__hero--simple .cg-event-single__media {
        min-height: clamp(15rem, 58vw, 19rem);
    }

    .article-single--portal-v2 .article-response-stack .cg-share-panel__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cg-classifieds-single-hero__grid {
        gap: 1rem;
    }

    .cg-classifieds-single__fact-row {
        grid-template-columns: minmax(6.4rem, 0.62fr) minmax(0, 1fr);
        gap: 0.65rem;
    }

    .cg-classifieds-single__thumbs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.55rem;
    }
}

@media (max-width: 359px) {
    .contact-gallery__grid,
    .contact-socials__list,
    .about-features__grid,
    .cg-events-page--archive .cg-events-grid,
    .cg-event-single__upcoming-grid,
    .article-single--portal-v2 .article-layout--portal > .article-selected-related--after-reactions .article-selected-related__grid,
    .article-single--portal-v2 .article-footer-sections .article-selected-related__grid,
    .article-single--portal-v2 .article-response-stack .cg-share-panel__grid,
    .cg-classifieds-related .article-selected-related__grid,
    .cg-classifieds-single__thumbs,
    .cg-event-single__facts--hero,
    .cg-classifieds-single__fact-row {
        grid-template-columns: 1fr;
    }
}

/* Portal responsive polish v3 */
@media (min-width: 861px) and (max-width: 1180px) {
    .about-story__inner,
    .about-duo__inner,
    .about-foundation__inner,
    .about-mission__inner {
        grid-template-columns: minmax(0, 1.02fr) minmax(18rem, 0.78fr);
    }

    .about-features__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-story__image img,
    .about-duo__image img,
    .about-foundation__image img,
    .about-mission__image img {
        min-height: clamp(18rem, 28vw, 21rem);
    }
}

@media (min-width: 981px) and (max-width: 1100px) {
    .contact-main__inner {
        grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.78fr);
    }

    .cg-classifieds-single-hero__grid {
        grid-template-columns: minmax(0, 1.04fr) minmax(19rem, 0.96fr);
        gap: clamp(1.15rem, 2.2vw, 1.75rem);
    }

    .cg-classifieds-single__layout {
        grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.38fr);
    }

    .cg-classifieds-page--single .cg-classifieds-single__sidebar .article-sidebar__sticky {
        top: 6.4rem;
    }
}

@media (min-width: 901px) and (max-width: 1120px) {
    .article-single--portal-v2 .article-layout--portal {
        grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.38fr);
    }

    .article-single--portal-v2 .article-main {
        grid-column: 1 / 2;
    }

    .article-single--portal-v2 .article-sidebar {
        grid-column: 2 / 3;
        order: 0;
    }

    .article-single--portal-v2 .article-sidebar__sticky {
        top: 6.4rem;
    }
}

@media (min-width: 981px) and (max-width: 1120px) {
    .cg-event-single__hero--simple {
        grid-template-columns: minmax(0, 1.02fr) minmax(19rem, 0.98fr);
        width: 100%;
        margin-inline: 0;
    }

    .cg-event-single__hero--simple .cg-event-single__summary {
        min-height: clamp(20rem, 32vw, 24rem);
    }

    .cg-event-single__hero--simple .cg-event-single__media {
        min-height: clamp(20rem, 32vw, 24rem);
        border-top: 0;
        border-left: 1px solid rgba(var(--article-accent-rgb), 0.12);
    }

    .cg-event-single__layout--article {
        grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.36fr);
    }

    .cg-event-single__sidebar .article-sidebar__sticky {
        top: 6.4rem;
    }
}


/* Author page final cleanup v2 */
.author-page .author-hero h1,
.author-page .author-profile__story h2,
.author-page .author-feed__head h2,
.author-page .author-profile__fact strong,
.author-page .author-post-card h3,
.author-page .author-post-card h3 a,
.author-page .author-empty h2 {
    color: var(--cg-blue) !important;
}

.author-page .author-feed {
    padding-block: 2.75rem 4rem;
}

.author-page .author-feed__head {
    display: block;
    margin-bottom: 0;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
}

.author-page .author-feed__head h2 {
    margin-bottom: 0;
}

.author-page .author-post-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.95rem, 1vw, 1.2rem);
    margin-top: 0;
    padding-top: 1.15rem;
    border-top: 0;
}

.author-page .author-post-card {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    gap: 0;
    min-width: 0;
    height: 100%;
    padding-top: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.author-page .author-post-card__media {
    display: grid;
    min-height: 0;
    overflow: hidden;
    place-items: center;
    aspect-ratio: 1.22;
    border-radius: 0;
    background: rgba(8, 73, 162, 0.06);
}

.author-page .author-post-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.author-page .author-post-card__body {
    display: grid;
    grid-template-rows: auto minmax(3.45em, auto) auto;
    min-width: 0;
    gap: 0.32rem;
    align-content: start;
    padding-top: 0.62rem;
    height: 100%;
}

.author-page .author-post-card__category {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 1.65rem;
    padding: 0.24rem 0.48rem;
    border: 1px solid rgba(8, 73, 162, 0.13);
    border-radius: 0;
    background: rgba(214, 233, 254, 0.52);
    color: var(--cg-blue);
    font-family: var(--cg-font-menu);
    font-size: 0.68rem;
    font-weight: 820;
    line-height: 1;
    text-decoration: none;
}

.author-page .author-post-card__category:hover {
    border-color: rgba(8, 73, 162, 0.32);
    background: var(--cg-blue);
    color: var(--cg-white);
}

.author-page .author-post-card h3 {
    display: -webkit-box;
    margin: 0;
    min-height: 3.45em;
    overflow: hidden;
    font-size: 0.95rem;
    line-height: 1.12;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.author-page .author-post-card h3 a {
    text-decoration: none;
}

.author-page .author-post-card time {
    color: var(--cg-ink-soft);
    font-size: 0.76rem;
}

.author-page .author-empty {
    padding: 1.15rem 0 0;
    border: 0;
    border-top: 1px solid rgba(8, 73, 162, 0.12);
    border-radius: 0;
    background: transparent;
}

.author-page .author-load-more {
    display: flex;
    justify-content: center;
    margin-top: 1.8rem;
}

.author-page .author-load-more__button {
    display: inline-flex;
    min-width: min(100%, 18rem);
    min-height: 3.15rem;
    align-items: center;
    justify-content: center;
    padding: 0.9rem 1.35rem;
    border: 1px solid rgba(8, 73, 162, 0.24) !important;
    border-radius: 0;
    background: #0849a2 !important;
    background-image: none;
    color: #ffffff !important;
    cursor: pointer;
    appearance: none;
    box-shadow: none;
    font-family: var(--cg-font-menu);
    font-size: 0.94rem;
    font-weight: 830;
    letter-spacing: 0;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.author-page .author-load-more__button span {
    color: #ffffff !important;
    font: inherit;
}

.author-page .author-load-more__button:hover,
.author-page .author-load-more__button:focus-visible {
    background: #063e8d !important;
    color: #ffffff !important;
}

@media (max-width: 1180px) {
    .author-page .author-post-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .author-page .author-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 440px) {
    .author-page .author-post-grid {
        grid-template-columns: 1fr;
    }
}



