/* Minification failed. Returning unminified contents.
(5,55): run-time error CSS1039: Token not allowed after unary operator: '-color-bg'
(62,21): run-time error CSS1039: Token not allowed after unary operator: '-text-sm'
(143,25): run-time error CSS1039: Token not allowed after unary operator: '-radius-pill'
(145,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text'
(147,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(153,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-md'
(160,25): run-time error CSS1039: Token not allowed after unary operator: '-radius-lg'
(162,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-lg'
(168,17): run-time error CSS1039: Token not allowed after unary operator: '-color-primary-700'
(185,28): run-time error CSS1039: Token not allowed after unary operator: '-color-border'
(186,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text'
(192,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(198,17): run-time error CSS1039: Token not allowed after unary operator: '-color-danger'
(238,37): run-time error CSS1019: Unexpected token, found ' '
(238,37): run-time error CSS1019: Unexpected token, found ' '
(238,37): run-time error CSS1042: Expected function, found ' '
(238,37): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(242,22): run-time error CSS1039: Token not allowed after unary operator: '-color-surface'
(267,17): run-time error CSS1039: Token not allowed after unary operator: '-color-danger'
(273,21): run-time error CSS1039: Token not allowed after unary operator: '-text-2xl'
(276,17): run-time error CSS1039: Token not allowed after unary operator: '-color-primary-700'
(281,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text-soft'
(287,17): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(300,25): run-time error CSS1039: Token not allowed after unary operator: '-radius-md'
(302,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(334,17): run-time error CSS1039: Token not allowed after unary operator: '-color-accent'
(348,28): run-time error CSS1039: Token not allowed after unary operator: '-color-border'
(350,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text-soft'
(351,25): run-time error CSS1039: Token not allowed after unary operator: '-radius-pill'
(360,22): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(361,24): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(370,22): run-time error CSS1039: Token not allowed after unary operator: '-color-surface'
(372,25): run-time error CSS1039: Token not allowed after unary operator: '-radius-md'
(373,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(394,25): run-time error CSS1039: Token not allowed after unary operator: '-radius-pill'
(396,17): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(409,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text-soft'
(434,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text-soft'
(439,34): run-time error CSS1019: Unexpected token, found ' '
(439,34): run-time error CSS1019: Unexpected token, found ' '
(439,34): run-time error CSS1042: Expected function, found ' '
(439,34): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(456,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(460,46): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(464,46): run-time error CSS1039: Token not allowed after unary operator: '-color-danger'
(468,46): run-time error CSS1039: Token not allowed after unary operator: '-color-accent-600'
(468,71): run-time error CSS1039: Token not allowed after unary operator: '-color-accent'
(469,17): run-time error CSS1039: Token not allowed after unary operator: '-color-primary-900'
(478,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text-soft'
(499,21): run-time error CSS1039: Token not allowed after unary operator: '-text-sm'
(500,17): run-time error CSS1039: Token not allowed after unary operator: '-color-danger'
(511,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text-soft'
(521,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(541,17): run-time error CSS1039: Token not allowed after unary operator: '-color-danger'
(549,28): run-time error CSS1039: Token not allowed after unary operator: '-color-border'
(551,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text'
(582,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text-soft'
(593,22): run-time error CSS1039: Token not allowed after unary operator: '-color-surface'
(594,28): run-time error CSS1039: Token not allowed after unary operator: '-color-border'
(595,25): run-time error CSS1039: Token not allowed after unary operator: '-radius-md'
(597,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(604,25): run-time error CSS1039: Token not allowed after unary operator: '-radius-pill'
(606,17): run-time error CSS1039: Token not allowed after unary operator: '-color-danger'
(619,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text-soft'
(620,21): run-time error CSS1039: Token not allowed after unary operator: '-text-sm'
(633,25): run-time error CSS1039: Token not allowed after unary operator: '-radius-md'
(635,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(641,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-md'
(660,46): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(664,46): run-time error CSS1039: Token not allowed after unary operator: '-color-danger'
(668,46): run-time error CSS1039: Token not allowed after unary operator: '-color-accent-600'
(668,71): run-time error CSS1039: Token not allowed after unary operator: '-color-accent'
(669,17): run-time error CSS1039: Token not allowed after unary operator: '-color-primary-900'
(673,46): run-time error CSS1039: Token not allowed after unary operator: '-color-tropical'
(719,17): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(721,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(749,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text-soft'
(786,17): run-time error CSS1039: Token not allowed after unary operator: '-color-accent'
(792,36): run-time error CSS1019: Unexpected token, found ' '
(792,36): run-time error CSS1019: Unexpected token, found ' '
(792,36): run-time error CSS1042: Expected function, found ' '
(792,36): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(863,28): run-time error CSS1039: Token not allowed after unary operator: '-color-accent'
(956,33): run-time error CSS1019: Unexpected token, found ' '
(956,33): run-time error CSS1019: Unexpected token, found ' '
(956,33): run-time error CSS1042: Expected function, found ' '
(956,33): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(1019,17): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(1031,36): run-time error CSS1019: Unexpected token, found ' '
(1031,36): run-time error CSS1019: Unexpected token, found ' '
(1031,36): run-time error CSS1042: Expected function, found ' '
(1031,36): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(1069,17): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(1074,21): run-time error CSS1039: Token not allowed after unary operator: '-color-primary-700'
(1120,43): run-time error CSS1019: Unexpected token, found ' '
(1120,43): run-time error CSS1019: Unexpected token, found ' '
(1120,43): run-time error CSS1042: Expected function, found ' '
(1120,43): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(1141,34): run-time error CSS1019: Unexpected token, found ' '
(1141,34): run-time error CSS1019: Unexpected token, found ' '
(1141,34): run-time error CSS1042: Expected function, found ' '
(1141,34): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(1149,21): run-time error CSS1039: Token not allowed after unary operator: '-text-2xl'
(1151,17): run-time error CSS1039: Token not allowed after unary operator: '-color-primary-700'
(1156,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text-soft'
(1178,22): run-time error CSS1039: Token not allowed after unary operator: '-color-danger'
(1201,25): run-time error CSS1039: Token not allowed after unary operator: '-radius-md'
(1203,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(1204,28): run-time error CSS1039: Token not allowed after unary operator: '-color-border'
(1209,17): run-time error CSS1039: Token not allowed after unary operator: '-color-primary-700'
(1215,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text-soft'
(1216,21): run-time error CSS1039: Token not allowed after unary operator: '-text-sm'
(1222,35): run-time error CSS1019: Unexpected token, found ' '
(1222,35): run-time error CSS1019: Unexpected token, found ' '
(1222,35): run-time error CSS1042: Expected function, found ' '
(1222,35): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(1223,25): run-time error CSS1039: Token not allowed after unary operator: '-radius-lg'
(1224,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-lg'
(1234,17): run-time error CSS1039: Token not allowed after unary operator: '-color-accent'
 */
/* =========================
   HOME PAGE
========================= */
.home-v15 {
    background: linear-gradient(180deg, #fff 0%, var(--color-bg) 100%);
}

/* =========================
   HERO
========================= */
.hero-v15 {
    position: relative;
    min-height: 88vh;
    display: flex;
    align-items: stretch;
    overflow: hidden;
}

.hero-v15__media,
.hero-v15__overlay {
    position: absolute;
    inset: 0;
}

.hero-v15__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-v15__overlay {
    background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.42) 40%, rgba(0,0,0,.68) 100%);
}

.hero-v15__content {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    align-items: center;
    padding-top: 6rem;
    padding-bottom: 3rem;
}

.hero-v15__inner {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 2rem;
    align-items: end;
}

.hero-v15__copy {
    color: #fff;
    width: 100%;
    max-width: 780px;
}

.hero-kicker,
.section-kicker {
    display: inline-block;
    font-size: var(--text-sm);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.hero-kicker {
    color: rgba(255,255,255,.9);
    margin-bottom: .9rem;
}

.hero-v15__copy h1 {
    font-size: clamp(2.5rem, 4.4vw, 5rem);
    font-weight: 800;
    line-height: .98;
    margin: 0 0 1rem;
    max-width: 13.5ch;
    text-wrap: balance;
}

.hero-v15__copy p {
    font-size: clamp(1rem, 1.15vw, 1.22rem);
    line-height: 1.5;
    color: rgba(255,255,255,.92);
    max-width: 34ch;
    margin: 0 0 1.5rem;
}

.hero-v15__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    margin-bottom: 1.1rem;
}

.hero-btn-primary,
.hero-btn-secondary {
    min-height: 56px;
    padding-inline: 1.35rem;
    font-weight: 700;
}

.hero-v15__stats {
    list-style: none;
    padding: 0;
    margin: 1.2rem 0 1.2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem 2.2rem;
}

.hero-v15__stats li {
    display: grid;
    gap: .2rem;
}

.hero-v15__stats strong {
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
}

.hero-v15__stats span {
    color: rgba(255,255,255,.82);
    font-size: .95rem;
}

.hero-v15__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    max-width: 900px;
}

.hero-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 46px;
    padding: .75rem 1rem;
    border-radius: var(--radius-pill);
    background: rgba(255,255,255,.95);
    color: var(--color-text);
    font-weight: 700;
    box-shadow: var(--shadow-sm);
    transition: transform .2s ease, box-shadow .2s ease;
}

.hero-chip:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.hero-panel {
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.45);
    border-radius: var(--radius-lg);
    padding: 1.35rem;
    box-shadow: var(--shadow-lg);
}

.hero-panel h2 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--color-primary-700);
    margin-bottom: 1rem;
}

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

.hero-panel__item {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    padding: 1rem;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--color-border);
    color: var(--color-text);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.hero-panel__item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
    border-color: rgba(0,59,142,.18);
}

.hero-panel__item i {
    font-size: 1.2rem;
    color: var(--color-danger);
}

.hero-panel__item span {
    font-weight: 700;
    line-height: 1.25;
}

/* HERO ENTRY ANIMATION */
.hero-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .8s ease, transform .8s cubic-bezier(.22, 1, .36, 1);
    will-change: opacity, transform;
}

body.is-loaded .hero-reveal {
    opacity: 1;
    transform: translateY(0);
}

.hero-delay-0 { transition-delay: .05s; }
.hero-delay-1 { transition-delay: .14s; }
.hero-delay-2 { transition-delay: .24s; }
.hero-delay-3 { transition-delay: .34s; }
.hero-delay-4 { transition-delay: .44s; }
.hero-delay-5 { transition-delay: .54s; }

@media (prefers-reduced-motion: reduce) {
    .hero-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* =========================
   SECTIONS
========================= */
.section-v15 {
    padding: clamp(3.25rem, 2.2rem + 2.2vw, 5.5rem) 0;
}

.section-v15--white {
    background: var(--color-surface);
}

.section-v15--soft {
    background: linear-gradient(180deg, #fff 0%, #f8fbfd 100%);
}

.section-v15--advertisers {
    background: linear-gradient(180deg, rgba(0,59,142,.03) 0%, rgba(0,59,142,.08) 100%);
}

.section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.75rem;
}

.section-head--center {
    justify-content: center;
    text-align: center;
}

.section-kicker {
    color: var(--color-danger);
    margin-bottom: .4rem;
}

.section-head h2 {
    margin: 0;
    font-size: var(--text-2xl);
    line-height: 1.08;
    font-weight: 800;
    color: var(--color-primary-700);
}

.section-head p {
    margin: .55rem 0 0;
    color: var(--color-text-soft);
    max-width: 60ch;
}

.section-link {
    font-weight: 700;
    color: var(--color-primary);
    white-space: nowrap;
}

.section-cta-row {
    margin-top: 1.1rem;
    display: flex;
    justify-content: flex-start;
}

/* PROVINCES */
.province-card {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    min-height: 360px;
    height: 100%;
}

.province-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 5;
}

.province-card__overlay {
    position: absolute;
    inset: auto 0 0 0;
    padding: 1.25rem;
    color: #fff;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.75) 100%);
}

.province-card__overlay h3 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
}

.province-card__overlay p {
    margin: .2rem 0 .35rem;
    color: rgba(255,255,255,.9);
}

.province-card__overlay span {
    color: var(--color-accent);
    font-weight: 700;
    font-size: .9rem;
}

/* FILTERS */
.experience-filters {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.experience-filter {
    appearance: none;
    border: 1px solid var(--color-border);
    background: #fff;
    color: var(--color-text-soft);
    border-radius: var(--radius-pill);
    padding: .65rem 1rem;
    font-weight: 700;
    transition: all .2s ease;
}

.experience-filter.is-active,
.experience-filter:hover {
    color: #fff;
    background: var(--color-primary);
    border-color: var(--color-primary);
}

/* CARDS */
.experience-card,
.event-card,
.video-card,
.share-steps,
.about-rd {
    background: var(--color-surface);
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.experience-card {
    overflow: hidden;
    height: 100%;
}

.experience-card__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.experience-card__body {
    padding: 1rem;
}

.experience-badge {
    display: inline-flex;
    padding: .35rem .75rem;
    border-radius: var(--radius-pill);
    background: rgba(0, 59, 142, .09);
    color: var(--color-primary);
    font-size: .78rem;
    font-weight: 800;
    margin-bottom: .65rem;
}

.experience-card__body h3 {
    margin: 0 0 .45rem;
    font-size: 1.08rem;
    line-height: 1.3;
}

.experience-card__body p {
    color: var(--color-text-soft);
    margin-bottom: 1rem;
}

.experience-card__meta {
    display: flex;
    gap: .8rem;
    align-items: center;
}

.experience-card__avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
}

.experience-card__meta strong {
    display: block;
    font-size: .95rem;
}

.experience-card__meta span {
    display: block;
    font-size: .85rem;
    color: var(--color-text-soft);
}

/* SHARE STEPS */
.share-steps {
    padding: clamp(1.4rem, 1rem + 1vw, 2.4rem);
}

.step-card {
    text-align: center;
    padding: 1rem;
}

.step-card__icon {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    margin: 0 auto 1rem;
    color: #fff;
    font-size: 1.6rem;
    box-shadow: var(--shadow-sm);
}

.step-card__icon--blue {
    background: linear-gradient(135deg, var(--color-primary), #2363c8);
}

.step-card__icon--red {
    background: linear-gradient(135deg, var(--color-danger), #ed5b69);
}

.step-card__icon--gold {
    background: linear-gradient(135deg, var(--color-accent-600), var(--color-accent));
    color: var(--color-primary-900);
}

.step-card h3 {
    font-size: 1.15rem;
    font-weight: 800;
}

.step-card p {
    color: var(--color-text-soft);
    margin: 0;
}

/* EVENTS */
.event-card {
    overflow: hidden;
    height: 100%;
}

.event-card__image {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.event-card__body {
    padding: 1rem;
}

.event-card__meta {
    font-size: var(--text-sm);
    color: var(--color-danger);
    font-weight: 800;
}

.event-card h3 {
    margin: .45rem 0;
    font-size: 1.08rem;
    line-height: 1.28;
}

.event-card p {
    color: var(--color-text-soft);
    margin: 0;
}

/* PATRONAL CTA */
.patronal-cta {
    background: linear-gradient(180deg, rgba(0,59,142,.04) 0%, rgba(0,59,142,.08) 100%);
    border: 1px solid rgba(0,59,142,.08);
    border-radius: 22px;
    padding: 1.1rem;
    box-shadow: var(--shadow-sm);
}

.patronal-cta__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
}

.patronal-cta__field {
    display: grid;
    gap: .4rem;
}

.patronal-cta__label {
    font-size: .82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--color-danger);
}

.patronal-cta__select {
    min-height: 50px;
    width: 100%;
    padding: .78rem .95rem;
    border-radius: 16px;
    border: 1px solid var(--color-border);
    background: #fff;
    color: var(--color-text);
    font-weight: 600;
    box-shadow: 0 8px 18px rgba(15,23,42,.04);
}

.patronal-cta__select:focus {
    outline: none;
    border-color: rgba(0,59,142,.22);
    box-shadow: 0 0 0 .2rem rgba(0,59,142,.08);
}

.patronal-cta__actions {
    display: flex;
}

.patronal-cta__button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-inline: 1.15rem;
    font-weight: 700;
}

.patronal-cta__button.is-disabled {
    pointer-events: none;
    opacity: .6;
}

.patronal-cta__helper {
    margin-top: .9rem;
    color: var(--color-text-soft);
    font-size: .92rem;
}

/* NEWS */
.news-list {
    display: grid;
    gap: 1rem;
}

.news-inline {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 1rem 1.05rem;
    box-shadow: var(--shadow-sm);
}

.news-inline__category {
    display: inline-block;
    font-size: .75rem;
    font-weight: 800;
    border-radius: var(--radius-pill);
    padding: .32rem .65rem;
    color: var(--color-danger);
    background: rgba(198, 40, 57, .08);
    margin-bottom: .7rem;
}

.news-inline h3 {
    margin: 0 0 .35rem;
    font-size: 1rem;
    line-height: 1.35;
}

.news-inline p {
    margin: 0 0 .35rem;
    color: var(--color-text-soft);
    font-size: var(--text-sm);
}

.news-inline small {
    color: #64748B;
    font-weight: 600;
}

/* KNOWLEDGE */
.knowledge-card {
    display: block;
    min-height: 160px;
    padding: 1.15rem;
    border-radius: var(--radius-md);
    color: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform .2s ease, box-shadow .2s ease;
}

.knowledge-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.knowledge-card span {
    display: block;
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    opacity: .85;
    margin-bottom: .55rem;
}

.knowledge-card strong {
    display: block;
    font-size: 1.02rem;
    line-height: 1.35;
}

.theme-blue {
    background: linear-gradient(135deg, var(--color-primary), #2a66c7);
}

.theme-red {
    background: linear-gradient(135deg, var(--color-danger), #e55462);
}

.theme-gold {
    background: linear-gradient(135deg, var(--color-accent-600), var(--color-accent));
    color: var(--color-primary-900);
}

.theme-tropical {
    background: linear-gradient(135deg, var(--color-tropical), #42c6d4);
}

/* VIDEOS */
.video-card {
    overflow: hidden;
}

.video-card__thumb {
    cursor: pointer;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
}

.video-card__thumb img {
    transition: transform .35s ease, filter .35s ease;
}

.video-card__thumb:hover img,
.video-card__thumb:focus-visible img {
    transform: scale(1.03);
    filter: saturate(1.04);
}

.video-card__thumb:hover .video-card__play,
.video-card__thumb:focus-visible .video-card__play {
    transform: translate(-50%, -50%) scale(1.06);
    box-shadow: 0 16px 34px rgba(15, 23, 42, .18);
}

.video-card__thumb--featured img,
.video-card__thumb--small img {
    aspect-ratio: 16 / 9;
}

.video-card__play {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    color: var(--color-primary);
    font-size: 1.9rem;
    box-shadow: var(--shadow-sm);
    transition: transform .22s ease, box-shadow .22s ease;
}

.video-card__play--small {
    width: 56px;
    height: 56px;
    font-size: 1.5rem;
}

.video-card__body {
    padding: 1rem;
}

.video-card__body h3 {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.35;
}

.video-stack {
    display: grid;
    gap: 1rem;
}

.video-card__body small {
    display: block;
    margin-top: .35rem;
    color: var(--color-text-soft);
    font-weight: 600;
}

/* =========================
   VIDEO MODAL - PREMIUM
========================= */
.video-modal .modal-dialog {
    max-width: min(1180px, calc(100vw - 1.5rem));
}

.video-modal .modal-content {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 28px;
    overflow: hidden;
    background: radial-gradient(circle at top left, rgba(242, 201, 76, 0.10), transparent 28%), radial-gradient(circle at top right, rgba(22, 166, 182, 0.10), transparent 24%), linear-gradient(180deg, rgba(9, 18, 36, 0.98) 0%, rgba(4, 10, 24, 0.99) 100%);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.42), 0 8px 24px rgba(15, 23, 42, 0.25);
    color: #fff;
    backdrop-filter: blur(10px);
}

.video-modal .modal-header {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .3rem;
    padding: 1.15rem 1.25rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.015) 100%);
}

.video-modal__eyebrow {
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-accent);
}

.video-modal__title {
    margin: 0;
    padding-right: 3.5rem;
    font-size: clamp(1rem, .92rem + .4vw, 1.28rem);
    line-height: 1.25;
    font-weight: 800;
    color: #fff;
}

.video-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    filter: invert(1) grayscale(1);
    opacity: .9;
    border-radius: 999px;
    background-size: 14px;
    width: 40px;
    height: 40px;
    transition: transform .18s ease, opacity .18s ease, background-color .18s ease;
}

    .video-modal__close:hover {
        opacity: 1;
        transform: scale(1.04);
        background-color: rgba(255,255,255,.08);
    }

.video-modal__body {
    padding: 0;
}

.video-modal__frame-wrap {
    position: relative;
    background: linear-gradient(180deg, rgba(255,255,255,.01) 0%, rgba(255,255,255,0) 100%), #050b18;
}

.video-modal__ratio {
    position: relative;
    z-index: 2;
}

.video-modal iframe {
    width: 100%;
    height: 100%;
    border: 0;
    background: #000;
}

.video-modal__loading {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: grid;
    place-items: center;
    gap: .8rem;
    background: radial-gradient(circle at center, rgba(255,255,255,.04) 0%, rgba(0,0,0,.28) 45%, rgba(0,0,0,.56) 100%);
    color: rgba(255,255,255,.9);
    font-weight: 700;
    letter-spacing: .01em;
    transition: opacity .25s ease, visibility .25s ease;
}

    .video-modal__loading.is-hidden {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

.video-modal__spinner {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 3px solid rgba(255,255,255,.16);
    border-top-color: var(--color-accent);
    animation: video-modal-spin .9s linear infinite;
    box-shadow: 0 0 0 6px rgba(255,255,255,.03);
}

@keyframes video-modal-spin {
    to {
        transform: rotate(360deg);
    }
}

.video-modal.fade .modal-dialog {
    transform: scale(.985) translateY(10px);
    transition: transform .22s ease;
}

.video-modal.show .modal-dialog {
    transform: scale(1) translateY(0);
}

.video-modal-backdrop.show {
    opacity: .82;
    backdrop-filter: blur(4px);
}

@media (max-width: 767.98px) {
    .video-modal .modal-dialog {
        max-width: calc(100vw - 1rem);
        margin: .5rem auto;
    }

    .video-modal .modal-content {
        border-radius: 22px;
    }

    .video-modal .modal-header {
        padding: .95rem 1rem .9rem;
    }

    .video-modal__title {
        padding-right: 3rem;
        font-size: 1rem;
    }

    .video-modal__close {
        top: .82rem;
        right: .82rem;
        width: 36px;
        height: 36px;
    }

    .video-modal__spinner {
        width: 46px;
        height: 46px;
    }
}

/* =========================
   VIDEOS FEATURED MODULE
========================= */
.video-card--featured {
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.14);
    border: 1px solid rgba(226, 232, 240, .85);
}

.video-card__thumb--featured {
    position: relative;
    display: block;
    border-radius: 0;
    overflow: hidden;
}

    .video-card__thumb--featured img {
        width: 100%;
        aspect-ratio: 16 / 9;
        object-fit: cover;
        transition: transform .45s ease, filter .45s ease;
    }

    .video-card__thumb--featured:hover img,
    .video-card__thumb--featured:focus-visible img {
        transform: scale(1.035);
        filter: saturate(1.05) contrast(1.02);
    }

.video-card__featured-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(1rem, .8rem + 1vw, 1.6rem);
    background: linear-gradient(180deg, rgba(6, 10, 18, 0.18) 0%, rgba(6, 10, 18, 0.08) 20%, rgba(6, 10, 18, 0.48) 62%, rgba(6, 10, 18, 0.86) 100%);
    color: #fff;
}

.video-card__featured-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}

.video-card__badge,
.video-card__duration {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: .45rem .75rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .02em;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
}

.video-card__badge {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .16);
    color: #fff;
}

.video-card__duration {
    background: rgba(15, 23, 42, .68);
    border: 1px solid rgba(255, 255, 255, .12);
    color: rgba(255,255,255,.95);
}

.video-card__duration--small {
    position: absolute;
    top: .8rem;
    right: .8rem;
    min-height: 30px;
    padding: .38rem .65rem;
    font-size: .74rem;
    z-index: 2;
}

.video-card__featured-bottom {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: end;
}

.video-card__play--featured {
    position: static;
    transform: none;
    width: 76px;
    height: 76px;
    font-size: 2rem;
    background: rgba(255,255,255,.92);
    color: var(--color-primary);
    box-shadow: 0 18px 34px rgba(15, 23, 42, .22);
    flex: 0 0 auto;
}

.video-card__thumb--featured:hover .video-card__play--featured,
.video-card__thumb--featured:focus-visible .video-card__play--featured {
    transform: scale(1.06);
}

.video-card__featured-copy h3 {
    margin: 0;
    font-size: clamp(1.2rem, 1rem + 1vw, 2rem);
    line-height: 1.1;
    font-weight: 800;
    color: #fff;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .24);
    max-width: 18ch;
}

.video-card__meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: .6rem;
    color: rgba(255,255,255,.86);
    font-size: .9rem;
    font-weight: 600;
}

.video-card__meta-separator {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(255,255,255,.55);
}

.video-card__body--featured {
    display: flex;
    justify-content: flex-end;
    padding: .95rem 1.15rem 1.05rem;
    background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, #fff 100%);
}

.video-card__external-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-weight: 700;
    color: var(--color-primary);
    transition: color .2s ease, transform .2s ease;
}

    .video-card__external-link:hover {
        color: var(--color-primary-700);
        transform: translateX(2px);
    }

/* refine secondary cards */
.video-card__thumb--small {
    position: relative;
}

    .video-card__thumb--small img {
        width: 100%;
        aspect-ratio: 16 / 9;
        object-fit: cover;
        transition: transform .35s ease, filter .35s ease;
    }

    .video-card__thumb--small:hover img,
    .video-card__thumb--small:focus-visible img {
        transform: scale(1.03);
        filter: saturate(1.03);
    }

@media (max-width: 991.98px) {
    .video-card__featured-copy h3 {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .video-card__featured-overlay {
        padding: 1rem;
    }

    .video-card__featured-bottom {
        grid-template-columns: 1fr;
        gap: .85rem;
        align-items: start;
    }

    .video-card__play--featured {
        width: 62px;
        height: 62px;
        font-size: 1.6rem;
    }

    .video-card__featured-copy h3 {
        font-size: clamp(1.05rem, .94rem + .9vw, 1.45rem);
        line-height: 1.15;
    }

    .video-card__meta-row {
        font-size: .83rem;
        gap: .45rem;
    }

    .video-card__duration--small {
        top: .65rem;
        right: .65rem;
    }
}

/* ABOUT */
.about-rd {
    overflow: hidden;
}

.about-rd__content {
    padding: clamp(1.4rem, 1rem + 1.6vw, 2.5rem);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.about-rd__content h2 {
    font-size: var(--text-2xl);
    line-height: 1.1;
    color: var(--color-primary-700);
    margin-bottom: 1rem;
}

.about-rd__content p {
    color: var(--color-text-soft);
}

.about-rd__list {
    list-style: none;
    padding: 0;
    margin: 1rem 0 1.4rem;
    display: grid;
    gap: .7rem;
}

.about-rd__list li {
    position: relative;
    padding-left: 1.4rem;
    font-weight: 600;
}

.about-rd__list li::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-danger);
    position: absolute;
    left: 0;
    top: .62rem;
}

.about-rd__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.about-rd__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 360px;
}

/* ADVERTISERS */
.advertiser-metric {
    height: 100%;
    background: #fff;
    border-radius: var(--radius-md);
    padding: 1rem;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border);
}

.advertiser-metric strong {
    display: block;
    color: var(--color-primary-700);
    margin-bottom: .4rem;
    font-size: 1rem;
}

.advertiser-metric span {
    color: var(--color-text-soft);
    font-size: var(--text-sm);
}

.advertiser-panel {
    background: linear-gradient(135deg, rgba(0,59,142,.96), rgba(0,44,107,.96));
    color: #fff;
    padding: clamp(1.35rem, 1rem + 1.2vw, 2rem);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    min-height: 100%;
}

.advertiser-panel__label {
    display: inline-block;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--color-accent);
    margin-bottom: .8rem;
}

.advertiser-panel h3 {
    font-size: 1.45rem;
    line-height: 1.22;
    margin-bottom: .8rem;
}

.advertiser-panel p {
    color: rgba(255,255,255,.86);
    margin-bottom: 1.2rem;
}

/* REVEAL ANIMATION */
.reveal-up {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .65s ease, transform .65s ease;
}

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

.delay-1 { transition-delay: .08s; }
.delay-2 { transition-delay: .16s; }
.delay-3 { transition-delay: .24s; }
.delay-4 { transition-delay: .32s; }
.delay-5 { transition-delay: .40s; }

.experience-item.is-hidden {
    display: none !important;
}

/* =========================
   RESPONSIVE - HOME
========================= */
@media (min-width: 1200px) {
    .hero-v15__copy {
        max-width: 780px;
    }

    .hero-v15__copy h1 {
        max-width: 14ch;
        font-size: clamp(3.2rem, 4.6vw, 5.2rem);
        line-height: .96;
    }

    .hero-v15__copy p {
        max-width: 33ch;
        font-size: 1.18rem;
    }
}

@media (min-width: 1400px) {
    .hero-v15__copy h1 {
        max-width: 15ch;
    }
}

@media (max-width: 1199.98px) {
    .hero-v15__inner {
        grid-template-columns: 1fr;
        align-items: end;
    }

    .hero-panel {
        max-width: 540px;
    }

    .section-head {
        align-items: start;
        flex-direction: column;
    }
}

@media (max-width: 991.98px) {
    .hero-v15 {
        min-height: auto;
    }

    .hero-v15__content {
        padding-top: 6rem;
        padding-bottom: 3rem;
    }

    .hero-panel {
        margin-top: 1rem;
    }

    .province-card {
        min-height: auto;
    }

    .province-card img {
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 767.98px) {
    .hero-v15 {
        min-height: auto;
    }

    .hero-v15__content {
        align-items: end;
        padding-top: 4.5rem;
        padding-bottom: 1.5rem;
       /* --min-height: calc(100svh - 64px);*/
    }

    .hero-v15__inner {
        grid-template-columns: 1fr;
        gap: 1rem;
        align-items: end;
    }

    .hero-panel {
        display: none;
    }

    .hero-v15__copy {
        max-width: none;
        width: 100%;
    }

    .hero-kicker {
        font-size: .78rem;
        margin-bottom: .85rem;
        max-width: 22ch;
    }

    .hero-v15__copy h1 {
        font-size: clamp(2.35rem, 10vw, 3.6rem);
        line-height: .98;
        max-width: none;
        margin-bottom: 1rem;
        text-wrap: balance;
    }

    .hero-v15__copy p {
        font-size: 1rem;
        line-height: 1.45;
        max-width: none;
        margin-bottom: 1.2rem;
    }

    .hero-v15__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: .85rem;
        margin-bottom: 1rem;
    }

    .hero-v15__actions .btn {
        width: 100%;
        min-height: 58px;
        font-size: 1rem;
        padding-inline: 1rem;
    }

    .hero-v15__stats {
        gap: 1rem 1.2rem;
    }

    .hero-v15__chips {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: .75rem;
        width: 100%;
        max-width: none;
    }

    .hero-chip {
        width: 100%;
        min-height: 50px;
        padding: .8rem .9rem;
        font-size: .95rem;
    }

    .video-card__play {
        width: 56px;
        height: 56px;
        font-size: 1.5rem;
    }

    .section-head--stack-mobile {
        align-items: stretch;
    }

    .patronal-cta__form {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .patronal-cta__actions {
        width: 100%;
    }

    .patronal-cta__button {
        width: 100%;
    }

    .section-cta-row {
        width: 100%;
    }

    .section-cta-row .btn {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .hero-v15__content {
        padding-top: 4.25rem;
        padding-bottom: 1rem;
    }

    .hero-v15__copy h1 {
        font-size: clamp(2.1rem, 10.5vw, 3rem);
    }

    .hero-v15__copy p {
        font-size: .98rem;
    }

    .hero-v15__chips {
        grid-template-columns: 1fr 1fr;
        gap: .65rem;
    }

    .hero-chip {
        min-height: 48px;
        padding: .75rem .7rem;
        font-size: .92rem;
    }
}

