 :root {
    --av-bg: #9fb1b7;
    --av-bg-soft: #c0cbd0;
    --av-ink: #41505a;
    --av-ink-deep: #1e2630;
    --av-light: #d9d6d1;
    --av-cream: #ece8e2;
    --av-accent: #d8292f;
    --av-accent-dark: #b51d24;
    --av-gold: #efc245;
    --av-line: rgba(65, 80, 90, 0.14);
    --av-header-bg: #ddd9d6;
}

html,
body {
    min-height: 100%;
}

body {
    font-family: var(--av-font-family, Arial, Helvetica, sans-serif);
    font-size: var(--av-base-font-size, 16px);
    color: var(--av-ink-deep);
    background: var(--av-bg);
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

img,
picture,
video,
canvas,
svg,
iframe {
    max-width: 100%;
}

img,
video {
    height: auto;
}

.image-frame,
.image-blob,
.cms-image-block,
.layout-media-block,
.table-responsive,
.content-card,
.info-card,
.cta-box,
.pricing-card,
.note-card,
.quote-card,
.board-card,
.benefit-card,
.training-feed-tile,
.news-feed-card,
.news-mini-card,
.member-card,
.member-shell .card,
.training-detail-shell,
.member-directory-card,
.cms-form-shell {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.image-frame img,
.image-blob img,
.cms-image-block img,
.layout-media-block img,
.content-card img,
.info-card img,
.cta-box img,
.pricing-card img,
.note-card img,
.quote-card img,
.board-card img,
.benefit-card img,
.training-feed-tile img,
.news-feed-card img,
.news-mini-card img,
.member-card img,
.member-shell .card img,
.training-detail-shell img,
.member-directory-card img,
.cms-form-shell img {
    display: block;
    max-width: 100%;
    height: auto;
}

.hero-section,
.page-hero,
.content-section,
.cta-section,
.placeholder-section,
.cms-form-shell,
.member-shell,
.member-layout,
.member-card,
.training-detail-shell {
    background-color: transparent;
}


.py-lg-6 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

.site-header {
    background: var(--av-header-bg);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(65, 80, 90, 0.12);
}


.header-extra-bar {
    border-top: 1px solid rgba(65, 80, 90, 0.08);
    background: rgba(255, 255, 255, 0.3);
}

.header-extra-content {
    color: var(--av-ink-deep);
}

.header-extra-content > *:last-child {
    margin-bottom: 0;
}

.brand-logo {
    width: 128px;
    height: auto;
}

.brand-text {
    color: var(--av-ink);
    font-weight: 800;
    letter-spacing: 0.02em;
}

.nav-pill-group .nav-link {
    color: var(--av-ink);
    font-size: 0.95rem;
    font-weight: 700;
    border-radius: 999px;
    padding: 0.65rem 0.95rem;
    white-space: nowrap;
}

.nav-pill-group .nav-link:hover,
.nav-pill-group .nav-link.active {
    color: var(--av-ink-deep);
    background: rgba(65, 80, 90, 0.10);
}


.nav-submenu {
    min-width: 15rem;
    padding: 0.6rem;
    background: rgba(236, 232, 226, 0.98);
    border: 1px solid var(--av-line);
}

.nav-submenu .dropdown-item {
    border-radius: 0.85rem;
    color: var(--av-ink-deep);
    padding: 0.65rem 0.85rem;
}

.nav-submenu .dropdown-item:hover,
.nav-submenu .dropdown-item.active {
    background: rgba(65, 80, 90, 0.10);
    color: var(--av-ink-deep);
}

.header-cta {
    padding-inline: 1rem;
}


.header-inline-zone {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.header-inline-zone .layout-text-block,
.header-inline-zone .layout-media-block,
.header-inline-zone .layout-social-block {
    width: auto;
    margin-bottom: 0;
}

.header-inline-zone .layout-social-link {
    color: var(--layout-social-icon-color, var(--av-ink-deep));
    background: transparent;
}

.header-inline-zone .layout-social-link:hover {
    color: var(--layout-social-icon-color, var(--av-ink-deep));
    background: rgba(65, 80, 90, 0.10);
}

.header-inline-zone a:not(.btn):not(.layout-social-link),
.footer-layout-col a:not(.btn):not(.layout-social-link) {
    color: inherit;
}

.header-inline-zone a:not(.btn):not(.layout-social-link):hover,
.footer-layout-col a:not(.btn):not(.layout-social-link):hover {
    color: inherit;
}

.header-inline-zone a:not(.btn):not(.layout-social-link) > i[class*="bi-"],
.footer-layout-col a:not(.btn):not(.layout-social-link) > i[class*="bi-"] {
    color: inherit;
}

.header-inline-zone .layout-media-block__caption,
.footer-layout-col .layout-media-block__caption {
    color: rgba(57, 71, 77, 0.82);
}

.header-inline-zone > *:last-child,
.footer-layout-col > *:last-child {
    margin-bottom: 0;
}

.hero-section,
.page-hero {
    position: relative;
    overflow: hidden;
}

.hero-section::before,
.page-hero::before {
    content: none;
}

.eyebrow {
    display: inline-block;
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--av-ink);
    margin-bottom: 0.75rem;
}

.section-number {
    display: none !important;
}

.lead {
    line-height: 1.7;
}

.hero-image {
    max-height: 470px;
    object-fit: contain;
}

.hero-artwork {
    position: relative;
    padding: 1rem;
}

.hero-artwork::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 78%;
    height: 78%;
    transform: translate(-50%, -50%);
    background: rgba(236, 232, 225, 0.38);
    filter: blur(45px);
    border-radius: 50%;
    z-index: -1;
}

.content-card,
.info-card,
.cta-box,
.pricing-card,
.note-card,
.quote-card,
.board-card {
    background: var(--av-box-bg, rgba(234, 231, 226, 0.96));
    color: var(--av-box-text, var(--av-ink-deep));
    border: 1px solid var(--av-box-border, var(--av-line));
    border-radius: 1.5rem;
    box-shadow: 0 10px 35px rgba(36, 48, 54, 0.08);
}

.content-card p,
.info-card p,
.placeholder-section p,
.cta-box p,
.feature-list li,
.quote-card p,
.benefit-card p,
.contact-list li {
    line-height: 1.75;
}

.info-card,
.pricing-card {
    background: var(--av-box-dark-bg, linear-gradient(180deg, rgba(65, 80, 90, 0.98), rgba(54, 68, 77, 0.98)));
    color: var(--av-box-dark-text, #f8f7f2);
}

.pricing-card .cms-nested-zone {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.pricing-card-title {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    max-width: 100%;
    padding: 0.45rem 1rem;
    border: 2px solid rgba(214, 189, 150, 0.95);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--av-box-dark-text, #f8f7f2);
    line-height: 1.2;
}

.pricing-card .price-row span {
    max-width: 65%;
}

.light-list li {
    color: rgba(248, 247, 242, 0.92);
}

.schedule-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.schedule-list li:last-child {
    border-bottom: 0;
}

.schedule-day,
.board-role {
    font-weight: 700;
}

.schedule-time {
    color: rgba(248, 247, 242, 0.85);
}

.feature-list {
    padding-left: 1.15rem;
    margin-bottom: 0;
}

.feature-list li {
    margin-bottom: 0.8rem;
}

.feature-list li:last-child {
    margin-bottom: 0;
}

.image-blob {
    max-width: 420px;
    padding: 0.9rem;
    background: rgba(234, 231, 226, 0.55);
    border-radius: 43% 57% 58% 42% / 39% 43% 57% 61%;
    box-shadow: 0 14px 40px rgba(36, 48, 54, 0.12);
}

.image-frame {
    padding: 0.95rem;
    background: rgba(234, 231, 226, 0.52);
    border-radius: 1.75rem;
    box-shadow: 0 14px 40px rgba(36, 48, 54, 0.08);
}

.cta-box {
    padding: 2rem;
    background: var(--av-box-dark-bg, linear-gradient(135deg, #41505a, #36444d));
    color: var(--av-box-dark-text, #fff);
}

.price-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.price-row:last-child {
    border-bottom: 0;
}

.benefit-card {
    background: var(--av-box-bg-soft, var(--av-box-bg, rgba(246, 244, 240, 0.82)));
    border: 1px solid var(--av-box-border, rgba(57, 71, 77, 0.1));
    border-radius: 1.25rem;
    padding: 1.4rem;
    height: 100%;
}

.benefit-icon,
.quote-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: rgba(216, 41, 47, 0.12);
    color: var(--av-accent);
    font-size: 1.3rem;
    margin-bottom: 1rem;
}

.note-card {
    background: var(--av-box-bg, rgba(246, 244, 240, 0.9));
}

.quote-card {
    background: var(--av-box-bg, linear-gradient(180deg, rgba(236, 232, 225, 0.98), rgba(224, 220, 214, 0.98)));
}

.quote-card blockquote {
    font-size: 1.5rem;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 0;
}

.board-card {
    overflow: hidden;
}

.board-photo {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    border-bottom: 1px solid var(--av-line);
}

.members-list li {
    padding: 0.35rem 0;
    font-size: 1.08rem;
}

.contact-list li {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    margin-bottom: 0.75rem;
}

.contact-list i {
    color: var(--av-accent);
    margin-top: 0.2rem;
}

.form-control,
.form-select {
    border-radius: 0.95rem;
    padding: 0.8rem 1rem;
    border-color: rgba(57, 71, 77, 0.18);
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(223, 42, 34, 0.45);
    box-shadow: 0 0 0 0.25rem rgba(223, 42, 34, 0.12);
}

.btn-avengers {
    background: var(--av-button-bg, var(--av-ink));
    border-color: var(--av-button-border, var(--av-ink));
    color: var(--av-button-text, #fff);
    font-weight: 700;
}

.btn-avengers:hover,
.btn-avengers:focus {
    background: var(--av-button-bg-hover, var(--av-ink-deep));
    border-color: var(--av-button-bg-hover, var(--av-ink-deep));
    color: var(--av-button-text, #fff);
}

.btn-outline-avengers {
    border: 2px solid var(--av-button-border, var(--av-ink));
    color: var(--av-button-bg, var(--av-ink));
    font-weight: 700;
}

.btn-outline-avengers:hover,
.btn-outline-avengers:focus {
    background: var(--av-button-bg, var(--av-ink));
    border-color: var(--av-button-border, var(--av-ink));
    color: var(--av-button-text, #fff);
}

.placeholder-section {
    min-height: 60vh;
    flex: 1 0 auto;
}

.site-footer {
    background: var(--av-footer-bg, var(--av-header-bg));
    background: var(--av-header-bg);
    border-top: 1px solid rgba(57, 71, 77, 0.08);
    margin-top: auto;
}

.footer-link {
    display: inline-flex;
    align-items: center;
}

.footer-link:hover {
    opacity: 0.88;
}

.footer-copy,
.footer-meta {
    color: rgba(57, 71, 77, 0.8);
}


.footer-extra {
    padding: 1rem 1.25rem;
    border: 1px solid rgba(57, 71, 77, 0.08);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.28);
    color: var(--av-ink-deep);
}

.footer-extra > *:last-child {
    margin-bottom: 0;
}

.footer-partner {
    max-width: 230px;
    height: auto;
}

.footer-partner-small {
    max-width: 180px;
}


.footer-layout-row {
    min-height: 88px;
}

.footer-layout-col {
    color: rgba(57, 71, 77, 0.88);
}

.footer-layout-col .layout-text-block,
.footer-layout-col .layout-media-block,
.footer-layout-col .layout-social-block {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    width: auto;
    max-width: 100%;
}

.footer-layout-col .layout-social-link {
    color: var(--layout-social-icon-color, var(--av-ink-deep));
    background: transparent;
}

.footer-layout-col .layout-social-link:hover {
    color: var(--layout-social-icon-color, var(--av-ink-deep));
    background: rgba(57, 71, 77, 0.10);
}

.whatsapp-float {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #25d366;
    color: #fff;
    font-size: 1.6rem;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
    z-index: 1040;
}

.whatsapp-float:hover {
    color: #fff;
    transform: translateY(-2px);
}

@media (max-width: 1199.98px) {
    .nav-pill-group {
        gap: 0.2rem;
    }

    .header-cta-wrap {
        justify-content: flex-start;
    }

    .nav-submenu {
        margin-top: 0.35rem;
    }
}

@media (max-width: 991.98px) {
    .brand-logo {
        width: 108px;
    }

    .quote-card blockquote {
        font-size: 1.25rem;
    }
}

@media (max-width: 575.98px) {
    .schedule-list li,
    .price-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-partner,
    .footer-partner-small {
        max-width: 170px;
    }

    .content-card,
    .info-card,
    .cta-box,
    .pricing-card,
    .note-card,
    .quote-card,
    .board-card,
    .benefit-card,
    .training-feed-tile,
    .news-feed-card,
    .news-mini-card,
    .member-card,
    .member-shell .card,
    .training-detail-shell,
    .member-directory-card,
    .cms-form-shell {
        border-radius: 1.15rem;
    }

    .image-frame,
    .image-blob {
        padding: 0.65rem;
        border-radius: 1.15rem;
    }
}

.cms-image-block img {
    display: inline-block;
}

.cms-button-block .btn {
    min-width: 12rem;
}

.cms-form-shell .badge {
    border-radius: 999px;
}

.cms-form-shell .cms-button-block .btn {
    min-width: 10rem;
}

.cms-form-shell .d-none {
    display: none !important;
}


.layout-text-block,
.layout-media-block {
    width: 100%;
}

.layout-media-block__caption {
    color: rgba(255,255,255,.88);
}

.layout-social-block {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    width: auto;
    max-width: 100%;
}

.layout-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--layout-social-icon-size, 22px) + 1rem);
    height: calc(var(--layout-social-icon-size, 22px) + 1rem);
    padding: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--layout-social-icon-color, currentColor);
    text-decoration: none;
    transition: transform .15s ease, background .15s ease, color .15s ease;
}

.layout-social-link:hover {
    background: rgba(255,255,255,.14);
    transform: translateY(-1px);
    color: var(--layout-social-icon-color, currentColor);
}

.layout-social-link i { display:none; }

.layout-social-icon-image {
    display: block;
    width: var(--layout-social-icon-size, 22px);
    height: var(--layout-social-icon-size, 22px);
    object-fit: contain;
}

.layout-social-icon-svg {
    display: block;
    width: var(--layout-social-icon-size, 22px);
    height: var(--layout-social-icon-size, 22px);
}

.layout-social-icon-svg * {
    fill: currentColor !important;
    stroke: currentColor !important;
}

.layout-social-label {
    display: none;
}




body.has-cookie-notice {
    padding-bottom: 0;
}

.cookie-notice {
    position: fixed;
    left: 50%;
    bottom: 1.5rem;
    z-index: 1080;
    width: min(540px, calc(100vw - 2rem));
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 18px);
    transition: opacity .24s ease, transform .24s ease, visibility .24s ease;
    pointer-events: none;
}

.cookie-notice.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
    pointer-events: auto;
}

.cookie-notice[hidden] {
    display: none !important;
}

.cookie-notice__shell {
    width: 100%;
}

.cookie-notice__inner {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: stretch;
    padding: 1.1rem 1.15rem 1rem;
    border: 1px solid rgba(65, 80, 90, 0.16);
    border-radius: 1rem;
    background: rgba(234, 231, 226, 0.98);
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(8px);
}

.cookie-notice__text {
    display: block;
    color: var(--av-ink-deep);
    text-align: left;
}

.cookie-notice__text strong {
    display: block;
    margin-bottom: .35rem;
    font-size: 1rem;
}

.cookie-notice__text span {
    display: block;
    line-height: 1.55;
}

.cookie-notice__text a {
    display: inline-block;
    margin-top: .6rem;
    color: var(--av-ink-deep);
    font-weight: 700;
    text-decoration: underline;
}

.cookie-notice__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    justify-content: flex-start;
}

.cookie-notice__actions .btn {
    min-width: 10.5rem;
}

@media (max-width: 767.98px) {
    .cookie-notice {
        left: .75rem;
        right: .75rem;
        bottom: .75rem;
        width: auto;
        transform: translateY(18px);
    }

    .cookie-notice.is-visible {
        transform: translateY(0);
    }

    .cookie-notice__actions {
        flex-direction: column;
    }

    .cookie-notice__actions .btn {
        width: 100%;
        min-width: 0;
    }
}
