@charset "UTF-8";
body {
     overflow-x: clip;
}
/* =========================
   HEADER PAGE
   ========================= */ :root {
     --vance-red: #AD0B17;
     --vance-ink: #0b0d10;
     --vance-border: rgba(0, 0, 0, .10);
     --vance-muted: rgba(0, 0, 0, .62);
}
.site-header .utility-bar {
     background: var(--vance-ink);
     color: #fff;
     border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.site-header .utility-link {
     color: rgba(255, 255, 255, .90);
     text-decoration: none;
     font-weight: 600;
}
.site-header .utility-link:hover {
     color: #fff;
     text-decoration: underline;
     text-underline-offset: 3px;
}
.site-header .brand-logo {
     width: auto;
     height: auto;
     max-height: 72px;
     max-width: 232px;
     object-fit: contain;
     display: block;
}
.site-header .navbar {
     background: #fff;
     border-bottom: 1px solid var(--vance-border);
}
.site-header .navbar .container-xxl {
     min-height: 82px;
}
.site-header .nav-link.simple-nav {
     position: relative;
     padding: .85rem .85rem;
     font-weight: 900;
     letter-spacing: .10em;
     text-transform: uppercase;
     font-size: .82rem;
     color: rgba(11, 13, 16, .88);
     text-decoration: none;
}
.site-header .nav-link.simple-nav::after {
     content: "";
     position: absolute;
     left: .85rem;
     right: .85rem;
     bottom: .55rem;
     height: 2px;
     background: transparent;
     border-radius: 99px;
     transform: translateY(2px);
}
.site-header .nav-link.simple-nav:hover {
     color: var(--vance-red);
}
.site-header .nav-link.simple-nav:hover::after {
     background: rgba(173, 11, 23, .55);
}
.site-header .nav-link.simple-nav.active, .site-header .nav-link.simple-nav[aria-current="page"] {
     color: var(--vance-red);
}
.site-header .nav-link.simple-nav.active::after, .site-header .nav-link.simple-nav[aria-current="page"]::after {
     background: var(--vance-red);
}
.site-header .navbar-nav > .nav-item {
     margin-left: .1rem;
}
.site-header .navbar .btn.btn-danger {
     background: var(--vance-red) !important;
     border-color: var(--vance-red) !important;
     font-weight: 900;
     letter-spacing: .06em;
     text-transform: uppercase;
     font-size: .82rem;
     border-radius: 14px;
     padding: .72rem 1rem;
}
.site-header .simple-toggler {
     border: 0 !important;
     padding: .5rem .25rem;
     background: transparent;
     box-shadow: none !important;
}
.site-header .simple-bars {
     width: 28px;
     height: 22px;
     display: inline-block;
     position: relative;
     background-image: linear-gradient(rgba(17, 17, 17, .60), rgba(17, 17, 17, .60));
     background-repeat: no-repeat;
     background-position: center;
     background-size: 100% 2px;
}
.site-header .simple-bars::before, .site-header .simple-bars::after {
     content: "";
     position: absolute;
     left: 0;
     right: 0;
     height: 2px;
     background: rgba(17, 17, 17, .60);
     border-radius: 99px;
}
.site-header .simple-bars::before {
     top: 2px;
}
.site-header .simple-bars::after {
     bottom: 2px;
}
.offcanvas {
     background: #0b0d10;
     color: #fff;
}
.offcanvas .offcanvas-header {
     border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.offcanvas .offcanvas-logo {
     width: 110px;
     height: auto;
     object-fit: contain;
}
.offcanvas .oc-section-title {
     margin: 18px 0 8px;
     font-size: .72rem;
     letter-spacing: .18em;
     text-transform: uppercase;
     font-weight: 900;
     color: rgba(255, 255, 255, .55);
}
.offcanvas .oc-nav {
     display: grid;
     gap: 4px;
}
.offcanvas .oc-link {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 12px;
     padding: 12px 10px;
     border-radius: 12px;
     color: rgba(255, 255, 255, .92);
     text-decoration: none;
     font-weight: 850;
     letter-spacing: .02em;
}
.offcanvas .oc-link:hover {
     background: rgba(255, 255, 255, .06);
     color: #fff;
}
.offcanvas .oc-link.active, .offcanvas .oc-link[aria-current="page"] {
     background: rgba(173, 11, 23, .18);
     color: #fff;
}
.offcanvas .oc-subnav {
     display: grid;
     gap: 2px;
     margin: 2px 0 10px;
     padding-left: 10px;
     border-left: 2px solid rgba(255, 255, 255, .08);
}
.offcanvas .oc-sublink {
     display: block;
     padding: 10px 10px;
     border-radius: 10px;
     color: rgba(255, 255, 255, .78);
     text-decoration: none;
     font-weight: 700;
}
.offcanvas .oc-sublink:hover {
     background: rgba(255, 255, 255, .05);
     color: #fff;
}
.offcanvas .oc-divider {
     border-top: 1px solid rgba(255, 255, 255, .08);
     margin: 16px 0;
}
.offcanvas .oc-tagline {
     position: relative;
     margin-top: 2px;
     font-weight: 900;
     letter-spacing: .14em;
     text-transform: uppercase;
     font-size: .72rem;
     line-height: 1.2;
     color: rgba(255, 255, 255, .72);
     padding-left: 12px;
}
.offcanvas .oc-tagline::before {
     content: "";
     position: absolute;
     left: 0;
     top: .15em;
     bottom: .15em;
     width: 3px;
     background: var(--vance-red);
     border-radius: 99px;
     opacity: .95;
}
@media (max-width: 991.98px) {
     .site-header .navbar .container-xxl {
          position: relative;
          min-height: 74px;
     }
     .site-header .navbar .navbar-brand {
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
          margin: 0;
          padding: 0;
          z-index: 2;
     }
     .site-header .brand-logo {
          max-width: 170px;
          max-height: 56px;
     }
     .site-header .simple-toggler {
          position: relative;
          z-index: 3;
     }
}
.site-header {
     transition: transform .22s ease, box-shadow .22s ease;
     will-change: transform;
}
.site-header.is-hidden {
     transform: translateY(-100%);
}
.site-header.is-scrolled {
     box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
}
/* =========================
   HOME PAGE
   ========================= */ :root {
     --hp-ink: #0b0d10;
     --hp-red: #AD0B17;
     --hp-border: rgba(0, 0, 0, .12);
     --hp-muted: rgba(0, 0, 0, .62);
     --hp-bg: #ffffff;
     --hp-soft: #f6f7f8;
     --hp-gutter: clamp(14px, 2.2vw, 28px);
}
.hp-wrap {
     max-width: 3500px;
     margin: 0 auto;
}
.hp-container {
     padding-left: var(--hp-gutter);
     padding-right: var(--hp-gutter);
}
.hp-wow {
     position: relative;
     background: #000;
     overflow: hidden;
     min-height: clamp(360px, 52vh, 560px);
     max-height: 600px;
     display: flex;
     align-items: center;
}
.hp-wow img.hp-wow-poster {
     position: absolute;
     inset: 0;
     z-index: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
}
.hp-wow::before {
     content: "";
     position: absolute;
     inset: 0;
     z-index: 1;
     background:
          linear-gradient(90deg, rgba(0, 0, 0, .88) 0%, rgba(0, 0, 0, .68) 35%, rgba(0, 0, 0, .38) 60%, rgba(0, 0, 0, .18) 100%);
     pointer-events: none;
}
.hp-wow .hp-container {
     position: relative;
     z-index: 2;
     width: 100%;
}
.hp-hero-band {
     position: relative;
     z-index: 2;
     background: rgba(28, 31, 36, .96); /* gray box */
     border-left: 8px solid var(--hp-red);
     /* DESKTOP PADDING */
     padding: 28px 34px 30px;
     max-width: 72ch;
     box-shadow: none;
     border-radius: 0;
}
/* Design accents */
.hp-hero-band::before {
     content: "";
     display: block;
     width: 64px;
     height: 2px;
     background: rgba(255, 255, 255, .22);
     margin-bottom: 16px;
}
.hp-hero-band::after {
     content: "";
     display: block;
     height: 1px;
     background: rgba(255, 255, 255, .15);
     margin-top: 20px;
}
/* =========================
   TYPOGRAPHY (DESKTOP)
   ========================= */
.hp-wow-title {
     margin: 0 0 14px;
     font-weight: 950;
     letter-spacing: -.03em;
     line-height: 1.05;
     font-size: 3.1rem;
     color: #fff;
}
.hp-wow-lede {
     margin: 0;
     color: rgba(255, 255, 255, .85);
     font-size: 1.08rem;
     line-height: 1.6;
}
/* CTA */
.hp-hero-cta {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     margin-top: 22px;
     color: #fff;
     text-decoration: none;
     font-weight: 800;
     letter-spacing: .03em;
}
.hp-hero-cta i {
     transition: transform .2s ease;
}
.hp-hero-cta:hover i {
     transform: translateX(4px);
}
@media (max-width: 991.98px) {
     .hp-wow {
          min-height: auto;
          max-height: none;
          padding-top: 16px;
          padding-bottom: 16px;
          align-items: flex-start;
     }
     .hp-hero-band {
          max-width: none;
          width: 100%;
          margin-top: 10px;
          margin-bottom: 14px;
          padding: 30px 22px 34px;
          border-left-width: 6px;
     }
     .hp-wow-title {
          font-size: 2.15rem;
          line-height: 1.08;
          margin-bottom: 12px;
     }
     .hp-wow-lede {
          font-size: .98rem;
          line-height: 1.6;
     }
     .hp-hero-cta {
          margin-top: 18px;
     }
}
.hp-membership-bar {
     background: var(--hp-red);
     color: #fff;
     border-top: 1px solid rgba(255, 255, 255, .10);
     border-bottom: 1px solid rgba(0, 0, 0, .08);
}
.hp-membership-bar-inner {
     padding: clamp(14px, 2vw, 22px) var(--hp-gutter);
}
.hp-membership-bar {
     position: relative;
     overflow: hidden;
}
.hp-membership-bar::before {
     content: "";
     position: absolute;
     inset: 0;
     background:
          radial-gradient(circle at 18% 30%, rgba(255, 255, 255, .14) 0%, rgba(255, 255, 255, 0) 42%), radial-gradient(circle at 85% 55%, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, 0) 44%);
     pointer-events: none;
     opacity: .7;
}
.hp-membership-bar .hp-membership-row {
     position: relative;
     z-index: 1;
}
.hp-membership-tagline {
     margin: 0;
     font-weight: 980;
     letter-spacing: -.02em;
     line-height: 1.05;
     font-size: clamp(1.45rem, 2.2vw, 2.05rem); /* larger */
     color: #fff;
}
.hp-membership-tagline strong {
     color: #fff;
     font-weight: 980;
}
.hp-membership-sub {
     margin: 6px 0 0;
     color: rgba(255, 255, 255, .86);
     font-weight: 650;
     line-height: 1.35;
     font-size: clamp(.98rem, 1.1vw, 1.05rem);
     max-width: 72ch;
}
.hp-membership-cta {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 10px;
     white-space: nowrap;
     padding: 10px 14px;
     border-radius: 12px;
     background: #fff;
     color: var(--hp-red);
     border: 1px solid rgba(255, 255, 255, .95);
     font-weight: 950;
     text-decoration: none !important;
}
.hp-membership-cta:hover {
     color: var(--hp-red);
     text-decoration: underline;
     text-underline-offset: 4px;
}
@media (max-width: 991.98px) {
     .hp-membership-cta {
          width: 100%;
     }
}
.hp-training {
     background: var(--hp-soft);
     border-top: 1px solid var(--hp-border);
}
.hp-head-rail {
     position: relative;
     padding-left: 16px;
}
.hp-head-rail::before {
     content: "";
     position: absolute;
     left: 0;
     top: .15em;
     bottom: .15em;
     width: 3px;
     background: var(--hp-red);
     border-radius: 3px;
}
.hp-head-kicker {
     margin: 0;
     font-weight: 900;
     letter-spacing: .18em;
     text-transform: uppercase;
     font-size: .78rem;
     color: rgba(0, 0, 0, .55);
}
.hp-head-title {
     margin: 0;
     font-weight: 980;
     letter-spacing: -.02em;
     line-height: 1.08;
     font-size: clamp(1.75rem, 2.4vw, 2.35rem);
     color: #111;
}
.hp-head-sub {
     margin: 8px 0 0;
     color: var(--hp-muted);
     line-height: 1.55;
     max-width: 80ch;
}
.hp-training-card {
     border-radius: 16px;
     overflow: hidden;
     background: #fff;
     border: 1px solid rgba(0, 0, 0, .10);
     text-decoration: none;
     color: inherit;
}
.hp-training-card:hover {
     border-color: rgba(173, 11, 23, .28);
}
.hp-training-media {
     background: #000;
}
.hp-training-media img {
     width: 100%;
     display: block;
     aspect-ratio: 16 / 10;
     object-fit: cover;
}
.hp-training-body {
     padding: 14px 16px 16px;
}
.hp-training-label {
     display: inline-flex;
     align-items: center;
     padding: 6px 10px;
     border-radius: 999px;
     font-weight: 900;
     letter-spacing: .14em;
     text-transform: uppercase;
     font-size: .70rem;
     color: rgba(0, 0, 0, .72);
     background: rgba(0, 0, 0, .04);
     border: 1px solid rgba(0, 0, 0, .08);
}
.hp-training-card-featured {
     border-color: rgba(173, 11, 23, .22);
}
.hp-training-card-featured .hp-training-label {
     background: rgba(173, 11, 23, .06);
     border-color: rgba(173, 11, 23, .18);
     color: var(--hp-red);
}
.hp-training-h {
     margin: 10px 0 0;
     font-weight: 950;
     letter-spacing: -.01em;
     color: var(--hp-ink);
     font-size: 1.15rem;
}
.hp-training-p {
     margin: 8px 0 0;
     color: rgba(0, 0, 0, .65);
     line-height: 1.55;
     font-weight: 600;
}
.hp-training-link {
     margin-top: 12px;
     padding-top: 10px;
     border-top: 1px solid rgba(0, 0, 0, .06);
     font-weight: 900;
     color: var(--hp-ink);
     letter-spacing: .2px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 10px;
}
.hp-training-card:hover .hp-training-link {
     color: var(--hp-red);
     text-decoration: underline;
     text-underline-offset: 4px;
}
.hp-training-arrow {
     width: 22px;
     height: 22px;
     border-radius: 999px;
     background: rgba(0, 0, 0, .06);
     position: relative;
     flex: 0 0 auto;
}
.hp-training-arrow::before {
     content: "";
     position: absolute;
     inset: 0;
     margin: auto;
     width: 8px;
     height: 8px;
     border-right: 2px solid rgba(0, 0, 0, .55);
     border-bottom: 2px solid rgba(0, 0, 0, .55);
     transform: rotate(-45deg);
}
.hp-training-card:hover .hp-training-arrow {
     background: rgba(173, 11, 23, .10);
}
.hp-training-card:hover .hp-training-arrow::before {
     border-color: rgba(173, 11, 23, .80);
}
@media (max-width: 991.98px) {
     .hp-training-media img {
          aspect-ratio: 16 / 9;
     }
}
.hp-feat {
     background: var(--hp-bg);
     border-top: 1px solid var(--hp-border);
}
.hp-feat-inner {
     padding: clamp(28px, 4vw, 60px) var(--hp-gutter);
}
.hp-feat-card {
     background: #fff;
     border: 1px solid rgba(0, 0, 0, .10);
     border-radius: 18px;
     overflow: hidden;
     height: 100%;
}
.hp-feat-media {
     position: relative;
     background: #0b0d10;
}
.hp-feat-media img {
     width: 100%;
     height: 100%;
     display: block;
     object-fit: cover;
     aspect-ratio: 16 / 9;
}
.hp-feat-media.is-contain img {
     object-fit: contain !important;
     background: #0b0d10;
}
.hp-feat-chip {
     position: absolute;
     left: 12px;
     top: 12px;
     display: inline-flex;
     align-items: center;
     padding: 7px 10px;
     border-radius: 999px;
     background: rgba(0, 0, 0, .72);
     color: #fff;
     border: 1px solid rgba(255, 255, 255, .20);
     font-weight: 900;
     letter-spacing: .12em;
     text-transform: uppercase;
     font-size: .72rem;
}
.hp-feat-body {
     padding: 16px 16px 18px;
}
.hp-feat-title {
     margin: 0 0 10px;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.15rem;
     color: #111;
}
.hp-feat-text {
     margin: 0;
     color: rgba(0, 0, 0, .72);
     line-height: 1.6;
     font-weight: 600;
}
.hp-feat-text + .hp-feat-text {
     margin-top: 10px;
}
.hp-events {
     background: #0b0d10; /* dark */
     border-top: 1px solid rgba(255, 255, 255, .10);
}
.hp-events .hp-head-kicker, .hp-events .hp-head-title, .hp-events .hp-head-sub {
     color: #fff;
}
.hp-events .hp-head-sub {
     color: rgba(255, 255, 255, .72);
}
.hp-events-inner {
     /* smaller on desktop, still comfortable on mobile */
     padding: clamp(18px, 2.2vw, 34px) var(--hp-gutter);
}
@media (min-width: 992px) {
     .hp-events-inner {
          max-width: 1180px;
     }
}
.hp-event-body {
     padding: 14px 14px 16px;
}
@media (min-width: 992px) {
     .hp-event-media img {
          aspect-ratio: 16 / 10;
     }
     .hp-event-title {
          font-size: 1.1rem;
     }
     .hp-event-desc {
          margin-top: 8px;
          line-height: 1.55;
     }
     .hp-event-cta {
          margin-top: 12px;
          padding-top: 10px;
     }
}
.hp-events .hp-head {
     margin-bottom: 14px;
}
.hp-event-card {
     background: #fff;
     border: 1px solid rgba(0, 0, 0, .10);
     border-radius: 18px;
     overflow: hidden;
     height: 100%;
     text-decoration: none;
     color: inherit;
     display: block;
}
.hp-event-card:hover {
     border-color: rgba(173, 11, 23, .25);
}
.hp-event-media {
     position: relative;
     background: #0b0d10;
}
.hp-event-media img {
     width: 100%;
     height: 100%;
     display: block;
     object-fit: cover;
     aspect-ratio: 4 / 3;
}
.hp-event-media.is-contain img {
     object-fit: contain !important;
     background: #0b0d10;
}
.hp-event-chip {
     position: absolute;
     left: 12px;
     top: 12px;
     display: inline-flex;
     align-items: center;
     padding: 7px 10px;
     border-radius: 999px;
     background: rgba(0, 0, 0, .72);
     color: #fff;
     border: 1px solid rgba(255, 255, 255, .20);
     font-weight: 900;
     letter-spacing: .12em;
     text-transform: uppercase;
     font-size: .72rem;
}
.hp-event-body {
     padding: 16px 16px 18px;
}
.hp-event-top {
     display: flex;
     align-items: flex-start;
     justify-content: space-between;
     gap: 12px;
}
.hp-event-title {
     margin: 0;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.2rem;
     color: #111;
}
.hp-event-time {
     margin-top: 2px;
     color: rgba(0, 0, 0, .60);
     font-weight: 800;
     font-size: .95rem;
}
.hp-event-desc {
     margin: 10px 0 0;
     color: rgba(0, 0, 0, .72);
     line-height: 1.6;
     font-weight: 600;
}
.hp-event-cta {
     margin-top: 14px;
     padding-top: 12px;
     border-top: 1px solid rgba(0, 0, 0, .06);
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 10px;
     font-weight: 900;
     color: var(--hp-ink);
}
.hp-event-card:hover .hp-event-cta {
     color: var(--hp-red);
     text-decoration: underline;
     text-underline-offset: 4px;
}
.hp-event-arrow {
     width: 22px;
     height: 22px;
     border-radius: 999px;
     background: rgba(0, 0, 0, .06);
     position: relative;
     flex: 0 0 auto;
}
.hp-event-arrow::before {
     content: "";
     position: absolute;
     inset: 0;
     margin: auto;
     width: 8px;
     height: 8px;
     border-right: 2px solid rgba(0, 0, 0, .55);
     border-bottom: 2px solid rgba(0, 0, 0, .55);
     transform: rotate(-45deg);
}
.hp-event-card:hover .hp-event-arrow {
     background: rgba(173, 11, 23, .10);
}
.hp-event-card:hover .hp-event-arrow::before {
     border-color: rgba(173, 11, 23, .80);
}
.hp-groups {
     background: var(--hp-soft);
     border-top: 1px solid var(--hp-border);
}
.hp-groups-inner {
     padding: clamp(24px, 3.2vw, 52px) var(--hp-gutter);
}
.hp-group-card {
     background: #fff;
     border: 1px solid rgba(0, 0, 0, .10);
     border-radius: 18px;
     overflow: hidden;
     height: 100%;
}
.hp-group-media {
     position: relative;
     background: #0b0d10;
}
.hp-group-media img {
     width: 100%;
     height: 100%;
     display: block;
     object-fit: cover;
     aspect-ratio: 16 / 9;
}
.hp-group-chip {
     position: absolute;
     left: 12px;
     top: 12px;
     display: inline-flex;
     align-items: center;
     padding: 7px 10px;
     border-radius: 999px;
     background: rgba(0, 0, 0, .72);
     color: #fff;
     border: 1px solid rgba(255, 255, 255, .20);
     font-weight: 900;
     letter-spacing: .12em;
     text-transform: uppercase;
     font-size: .72rem;
}
.hp-group-body {
     padding: 16px 16px 18px;
}
.hp-group-title {
     margin: 0 0 10px;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.25rem;
     color: #111;
}
.hp-group-text {
     margin: 0;
     color: rgba(0, 0, 0, .72);
     line-height: 1.6;
     font-weight: 600;
}
.hp-group-text + .hp-group-text {
     margin-top: 10px;
}
.hp-group-box {
     background: #fff;
     border: 1px solid rgba(0, 0, 0, .10);
     border-radius: 18px;
     padding: 16px 16px 18px;
     height: 100%;
}
.hp-group-box h3 {
     margin: 0 0 10px;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.05rem;
}
.hp-group-list {
     margin: 0;
     padding-left: 18px;
     color: rgba(0, 0, 0, .72);
     font-weight: 650;
     line-height: 1.6;
}
.hp-group-list li {
     margin: 6px 0;
}
.hp-group-contact {
     border-top: 1px solid rgba(0, 0, 0, .08);
     margin-top: 12px;
     padding-top: 12px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 12px;
     font-weight: 900;
     color: var(--hp-ink);
}
.hp-group-contact a {
     color: var(--hp-red);
     text-decoration: none;
     font-weight: 950;
}
.hp-group-contact a:hover {
     text-decoration: underline;
     text-underline-offset: 4px;
}
@media (min-width: 992px) {
     .hp-groups-inner {
          max-width: 1180px;
     }
}
.hp-groups {
     background: var(--hp-soft);
     border-top: 1px solid var(--hp-border);
}
.hp-groups-inner {
     padding: clamp(24px, 3.2vw, 52px) var(--hp-gutter);
}
/* main feature card */
.hp-group-card {
     background: #fff;
     border: 1px solid rgba(0, 0, 0, .10);
     border-radius: 18px;
     overflow: hidden;
     height: 100%;
}
.hp-group-media {
     position: relative;
     background: #0b0d10;
}
.hp-group-media img {
     width: 100%;
     height: 100%;
     display: block;
     object-fit: cover;
     aspect-ratio: 16 / 9;
}
.hp-group-chip {
     position: absolute;
     left: 12px;
     top: 12px;
     display: inline-flex;
     align-items: center;
     padding: 7px 10px;
     border-radius: 999px;
     background: rgba(0, 0, 0, .72);
     color: #fff;
     border: 1px solid rgba(255, 255, 255, .20);
     font-weight: 900;
     letter-spacing: .12em;
     text-transform: uppercase;
     font-size: .72rem;
}
.hp-group-body {
     padding: 16px 16px 18px;
}
.hp-group-title {
     margin: 0 0 10px;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.25rem;
     color: #111;
}
.hp-group-text {
     margin: 0;
     color: rgba(0, 0, 0, .72);
     line-height: 1.6;
     font-weight: 600;
}
.hp-group-text + .hp-group-text {
     margin-top: 10px;
}
.hp-group-box {
     background: #fff;
     border: 1px solid rgba(0, 0, 0, .10);
     border-radius: 18px;
     padding: 16px 16px 18px;
     height: 100%;
}
.hp-group-box h3 {
     margin: 0 0 10px;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.05rem;
}
.hp-group-list {
     margin: 0;
     padding-left: 18px;
     color: rgba(0, 0, 0, .72);
     font-weight: 650;
     line-height: 1.6;
}
.hp-group-list li {
     margin: 6px 0;
}
.hp-group-contact {
     border-top: 1px solid rgba(0, 0, 0, .08);
     margin-top: 12px;
     padding-top: 12px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 12px;
     font-weight: 900;
     color: var(--hp-ink);
}
.hp-group-contact a {
     color: var(--hp-red);
     text-decoration: none;
     font-weight: 950;
}
.hp-group-contact a:hover {
     text-decoration: underline;
     text-underline-offset: 4px;
}
@media (min-width: 992px) {
     .hp-groups-inner {
          max-width: 1180px;
     }
}
/* =========================
   MEMBERSHIP PAGE
   ========================= */ :root {
     --vance-red: #AD0B17;
     --vance-ink: #0b0d10;
     --vance-border: rgba(0, 0, 0, .10);
     --vance-muted: rgba(0, 0, 0, .62);
     --vance-subtle: rgba(0, 0, 0, .04);
     --vance-r: 14px;
     --vance-r-sm: 10px;
}
a {
     color: inherit;
}
.mem-wrap {
     max-width: 1500px;
     margin: 0 auto;
}
.mem-bleed {
     position: relative;
     left: 50%;
     right: 50%;
     margin-left: -50vw;
     margin-right: -50vw;
     width: 100vw;
}
.mem-band-inner {
     max-width: 1300px;
     margin: 0 auto;
     padding-left: 18px;
     padding-right: 18px;
}
@media (min-width: 992px) {
     .mem-band-inner {
          padding-left: 24px;
          padding-right: 24px;
     }
}
.btn {
     border-radius: var(--vance-r-sm);
     font-weight: 900;
}
.btn-plan {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     padding: 12px 16px;
     border-radius: var(--vance-r-sm);
     font-weight: 900;
     background: var(--vance-red);
     color: white;
     border: 2px solid rgba(0, 0, 0, .18);
     text-decoration: none !important;
     line-height: 1.1;
}
.btn-plan:hover {
     border-color: var(--vance-red);
     color: var(--vance-red);
     background: rgba(173, 11, 23, .03);
}
.btn-plan:focus {
     outline: none;
     box-shadow: 0 0 0 .25rem rgba(173, 11, 23, .18);
}
.mem-breadcrumb {
     display: flex;
     gap: 8px;
     align-items: center;
     flex-wrap: wrap;
     margin: 10px 0 18px;
     padding: 10px 0;
     border-bottom: 1px solid var(--vance-border);
     font-size: .92rem;
}
.mem-breadcrumb a {
     color: rgba(0, 0, 0, .72);
     text-decoration: none;
}
.mem-breadcrumb a:hover {
     color: var(--vance-red);
     text-decoration: underline;
     text-underline-offset: 3px;
}
.mem-breadcrumb .sep {
     color: rgba(0, 0, 0, .35);
}
.mem-breadcrumb .current {
     color: rgba(0, 0, 0, .55);
}
.mem-hero {
     padding: 6px 0 6px;
}
.mem-kicker {
     display: flex;
     align-items: center;
     gap: 10px;
     font-weight: 900;
     letter-spacing: .14em;
     text-transform: uppercase;
     color: rgba(0, 0, 0, .55);
     font-size: .82rem;
     margin-bottom: 10px;
}
.mem-kicker:before {
     content: "";
     width: 26px;
     height: 2px;
     background: var(--vance-red);
     display: inline-block;
}
.mem-title {
     font-weight: 950;
     letter-spacing: -.03em;
     font-size: clamp(2.05rem, 3.0vw, 3.0rem);
     line-height: 1.08;
     margin: 0 0 10px;
}
.mem-lede {
     color: var(--vance-muted);
     font-size: 1.05rem;
     line-height: 1.55;
     max-width: 78ch;
     margin: 0;
}
.mem-sectionhead {
     margin-top: 18px;
     padding-bottom: 14px;
     border-bottom: 1px solid var(--vance-border);
}
.mem-sectionhead h2 {
     margin: 0;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.2rem;
}
.mem-sectionhead p {
     margin: 6px 0 0;
     color: var(--vance-muted);
     font-size: .98rem;
}
.mem-plans {
     margin-top: 14px;
}
.plan {
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: var(--vance-r);
     overflow: hidden;
     height: 100%;
}
.plan-pad {
     padding: 20px 20px 18px;
}
.plan--primary {
     border-top: 3px solid var(--vance-red);
}
.plan-name {
     margin: 0;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.08rem;
     color: var(--vance-ink);
}
.plan-blurb {
     margin: 6px 0 14px;
     color: rgba(0, 0, 0, .60);
     font-weight: 650;
     line-height: 1.35;
     font-size: .98rem;
     max-width: 44ch;
}
.plan-price {
     display: flex;
     align-items: baseline;
     gap: 10px;
     margin: 0 0 10px;
     flex-wrap: wrap;
}
.plan-amount {
     font-weight: 990;
     letter-spacing: -.04em;
     font-size: clamp(2.15rem, 2.4vw, 2.55rem);
     line-height: 1;
     color: var(--vance-ink);
}
.plan-term {
     color: rgba(0, 0, 0, .55);
     font-weight: 850;
     font-size: 1rem;
}
.plan-meta {
     margin: 10px 0 0;
     color: rgba(0, 0, 0, .70);
     font-weight: 650;
     line-height: 1.35;
     font-size: .98rem;
}
.plan-meta strong {
     font-weight: 950;
}
.plan-meta:last-of-type {
     padding-bottom: 14px;
     border-bottom: 1px solid rgba(0, 0, 0, .08);
}
.plan-meta a {
     color: var(--vance-red);
     text-decoration: none;
     border-bottom: 1px solid rgba(173, 11, 23, .35);
}
.plan-meta a:hover {
     border-bottom-color: var(--vance-red);
}
.plan-btn {
     margin-top: 16px;
}
@media (max-width: 575.98px) {
     .plan-pad {
          padding: 18px 16px 16px;
     }
     .plan-blurb {
          max-width: none;
     }
     .plan-meta {
          font-size: .96rem;
     }
}
.mem-benefits-band {
     margin-top: 18px;
     background: var(--vance-subtle);
     color: var(--vance-ink);
     padding: 30px 0;
}
.mem-benefits-head {
     padding-bottom: 16px;
     border-bottom: 1px solid rgba(255, 255, 255, .22);
}
.mem-benefits-title {
     margin: 0;
     font-weight: 980;
     letter-spacing: -.02em;
     font-size: clamp(1.4rem, 1.9vw, 1.9rem);
     color: var(--vance-ink);
}
.mem-benefits-sub {
     margin-top: 6px;
     color: var(--vance-ink);
     font-weight: 650;
     line-height: 1.45;
     max-width: 85ch;
}
.mem-benefits-grid {
     padding-top: 18px;
}
.mem-benefit-row {
     display: flex;
     gap: 12px;
     align-items: flex-start;
     padding: 14px 0;
     border-top: 1px solid rgba(255, 255, 255, .18);
}
.mem-benefit-ico {
     color: var(--vance-ink);
     font-size: 1.15rem;
     line-height: 1;
     margin-top: 2px;
     flex: 0 0 auto;
     opacity: .95;
}
.mem-benefit-h {
     font-weight: 950;
     letter-spacing: -.01em;
     color: var(--vance-ink);
     font-size: 1rem;
     margin: 0;
}
.mem-benefit-p {
     margin-top: 4px;
     color: var(--vance-ink);
     font-weight: 650;
     line-height: 1.45;
     font-size: .97rem;
}
.mem-benefits-footnote {
     margin-top: 18px;
     padding-top: 14px;
     border-top: 1px solid rgba(255, 255, 255, .22);
     display: flex;
     gap: 12px;
     align-items: flex-start;
     color: var(--vance-ink);
     font-weight: 650;
     line-height: 1.45;
}
.mem-benefits-footnote strong {
     color: var(--vance-ink);
}
.mem-discount-band {
     margin-top: 0;
     background: var(--vance-muted);
     border-top: 1px solid rgba(0, 0, 0, .08);
     border-bottom: 1px solid rgba(0, 0, 0, .08);
     padding: 18px 0;
     color: #ffffff;
}
.mem-discount-row {
     display: flex;
     gap: 14px;
     align-items: flex-start;
}
.mem-discount-ico {
     color: #ffffff;
     font-size: 1.25rem;
     line-height: 1;
     margin-top: 2px;
     flex: 0 0 auto;
}
.mem-discount-title {
     margin: 0;
     font-weight: 980;
     letter-spacing: -.01em;
     font-size: 1.1rem;
     color: #ffffff;
}
.mem-discount-copy {
     margin: 6px 0 0;
     color: #ffffff;
     font-weight: 650;
     line-height: 1.45;
}
.mem-discount-note {
     margin: 10px 0 0;
     padding-top: 10px;
     border-top: 1px solid rgba(0, 0, 0, .10);
     color: #ffffff;
     font-weight: 750;
}

.mem-fineprint{
  margin-top: 18px;
  margin-bottom: 28px;
  padding: 18px 18px 16px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: var(--vance-r);
  background: #fff;
}

@media (min-width: 992px){
  .mem-fineprint{
    padding: 20px 22px 18px;
  }
}

/* header matches your page language (rail + muted sub) */
.mem-fp-head{
  margin-bottom: 12px;
}

.mem-fp-rail{
  position: relative;
  padding-left: 14px;
}

.mem-fp-rail::before{
  content:"";
  position:absolute;
  left:0;
  top:.2em;
  bottom:.2em;
  width:3px;
  background: var(--vance-red);
  border-radius: 3px;
}

.mem-fp-title{
  margin: 0;
  font-weight: 980;
  letter-spacing: -.01em;
  font-size: 1.1rem;
  color: var(--vance-ink);
}

.mem-fp-sub{
  margin: 6px 0 0;
  color: var(--vance-muted);
  font-weight: 650;
  line-height: 1.45;
  font-size: .95rem;
  max-width: 85ch;
}

/* list */
.mem-fp-list{
  display: grid;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.08);
}

/* each row: minimal, consistent spacing */
.mem-fp-item{
  display: grid;
  grid-template-columns: 2.8ch 1fr;
  gap: 12px;
  align-items: start;
  padding: 10px 0;
}

.mem-fp-item + .mem-fp-item{
  border-top: 1px solid rgba(0,0,0,.06);
}

/* badge: NOT Bootstrap .mark */
.mem-fp-badge{
  text-align: right;
  font-weight: 950;
  color: rgba(0,0,0,.45);
  line-height: 1.2;
  padding-top: 2px;
  white-space: nowrap;
}

/* body */
.mem-fp-text{
  margin: 0;
  color: rgba(0,0,0,.72);
  font-weight: 650;
  line-height: 1.55;
  font-size: .96rem;
}

/* links consistent with the rest of the page */
.mem-fineprint a{
  color: var(--vance-red);
  text-decoration: none;
  border-bottom: 1px solid rgba(173,11,23,.35);
}
.mem-fineprint a:hover{
  border-bottom-color: var(--vance-red);
}

/* mobile tightening */
@media (max-width: 575.98px){
  .mem-fp-item{
    grid-template-columns: 2.4ch 1fr;
    gap: 10px;
  }
  .mem-fp-text{
    font-size: .95rem;
  }
}

.mem-benefits-band {
     margin-top: 18px;
     background: var(--vance-subtle);
     color: var(--vance-ink);
     padding: 30px 0;
     border-top: 1px solid rgba(0, 0, 0, .06);
     border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.mem-benefits-head {
     padding-bottom: 14px;
     border-bottom: 1px solid rgba(0, 0, 0, .08);
}
.mem-benefits-title {
     margin: 0;
     font-weight: 980;
     letter-spacing: -.02em;
     font-size: clamp(1.4rem, 1.9vw, 1.9rem);
     color: var(--vance-ink);
}
.mem-benefits-sub {
     margin-top: 6px;
     color: rgba(0, 0, 0, .62);
     font-weight: 650;
     line-height: 1.45;
     max-width: 85ch;
}
.mem-benefits-grid {
     padding-top: 18px;
}
.mem-benefit-row {
     display: flex;
     gap: 12px;
     align-items: flex-start;
     padding: 14px 0;
     border-top: 1px solid rgba(0, 0, 0, .08);
}
.mem-benefit-row:first-child {
     border-top: 0;
     padding-top: 0;
}
.mem-benefit-ico {
     color: rgba(0, 0, 0, .55);
     font-size: 1.15rem;
     line-height: 1;
     margin-top: 2px;
     flex: 0 0 auto;
}
.mem-benefit-body {
     padding-left: 12px;
     border-left: 2px solid rgba(173, 11, 23, .25);
}
.mem-benefit-h {
     font-weight: 950;
     letter-spacing: -.01em;
     color: var(--vance-ink);
     font-size: 1rem;
     margin: 0;
}
.mem-benefit-p {
     margin-top: 4px;
     color: rgba(0, 0, 0, .62);
     font-weight: 650;
     line-height: 1.45;
     font-size: .97rem;
}
.mem-benefits-footnote {
     margin-top: 18px;
     padding-top: 14px;
     border-top: 1px solid rgba(0, 0, 0, .10);
     display: flex;
     gap: 12px;
     align-items: flex-start;
     color: rgba(0, 0, 0, .72);
     font-weight: 650;
     line-height: 1.45;
}
.mem-benefits-footnote .mem-benefit-ico {
     color: var(--vance-red);
}
.mem-benefits-footnote strong {
     color: var(--vance-ink);
}
.mem-discount-band {
     margin-top: 0;
     background: var(--vance-muted); /* keeps your current tone */
     border-top: 1px solid rgba(0, 0, 0, .08);
     border-bottom: 1px solid rgba(0, 0, 0, .08);
     padding: 20px 0;
     color: #fff;
}
.mem-discount-row {
     display: flex;
     gap: 14px;
     align-items: flex-start;
}
.mem-discount-ico {
     color: #fff;
     font-size: 1.25rem;
     line-height: 1;
     margin-top: 2px;
     flex: 0 0 auto;
     opacity: .95;
}
.mem-discount-title {
     margin: 0;
     font-weight: 980;
     letter-spacing: -.01em;
     font-size: 1.1rem;
     color: #fff;
}
.mem-discount-copy {
     margin: 6px 0 0;
     color: rgba(255, 255, 255, .88);
     font-weight: 650;
     line-height: 1.45;
}
.mem-discount-emph {
     margin-top: 10px;
     padding-left: 12px;
     border-left: 2px solid rgba(173, 11, 23, .55);
     color: #fff;
     font-weight: 800;
}
.mem-discount-subtle {
     margin-top: 6px;
     color: rgba(255, 255, 255, .78);
     font-weight: 650;
}
:root {
     --vance-red: #AD0B17;
     --vance-border: rgba(0, 0, 0, .12);
     --vance-muted: rgba(0, 0, 0, .62);
}
.ccw-wrap {
     max-width: 1500px;
     margin: 0 auto;
}
.ccw-breadcrumb {
     display: flex;
     gap: .5rem;
     align-items: center;
     flex-wrap: wrap;
     padding: .75rem 0;
     margin: .5rem 0 1.25rem;
     border-bottom: 1px solid var(--vance-border);
     font-size: .95rem;
}
.ccw-breadcrumb a {
     color: rgba(0, 0, 0, .72);
     text-decoration: none;
}
.ccw-breadcrumb a:hover {
     color: var(--vance-red);
     text-decoration: underline;
     text-underline-offset: 3px;
}
.ccw-breadcrumb .sep {
     color: rgba(0, 0, 0, .35);
}
.ccw-breadcrumb .current {
     color: rgba(0, 0, 0, .55);
}
.ccw-hero {
     padding: .25rem 0 1rem;
}
.ccw-kicker {
     display: flex;
     align-items: center;
     gap: .6rem;
     font-weight: 900;
     letter-spacing: .14em;
     text-transform: uppercase;
     color: rgba(0, 0, 0, .55);
     font-size: .82rem;
     margin: 0 0 .6rem;
}
.ccw-kicker:before {
     content: "";
     width: 26px;
     height: 2px;
     background: var(--vance-red);
     display: inline-block;
}
.ccw-title {
     font-weight: 950;
     letter-spacing: -.03em;
     font-size: clamp(2rem, 3.1vw, 3rem);
     line-height: 1.08;
     margin: 0 0 .6rem;
}
.ccw-lede {
     color: var(--vance-muted);
     font-size: 1.05rem;
     line-height: 1.6;
     max-width: 78ch;
     margin: 0;
}
.ccw-card {
     border: 1px solid var(--vance-border);
     border-radius: 16px;
     overflow: hidden;
     background: #fff;
     height: 100%;
}
.ccw-card-head {
     padding: 14px 14px 10px;
     border-bottom: 1px solid var(--vance-border);
}
.ccw-card h2 {
     font-size: 1.05rem;
     margin: 0 0 .35rem;
     font-weight: 900;
}
.ccw-card p {
     margin: 0;
     color: var(--vance-muted);
     line-height: 1.45;
}
.ccw-card-body {
     padding: 14px;
}
.ccw-meta {
     margin: 0 0 12px;
     padding: 0;
     list-style: none;
     color: rgba(0, 0, 0, .72);
}
.ccw-meta li {
     margin: .25rem 0;
}
.ccw-meta strong {
     color: rgba(0, 0, 0, .86);
}
.ccw-table thead th {
     font-size: .8rem;
     letter-spacing: .14em;
     text-transform: uppercase;
     color: rgba(0, 0, 0, .55);
     border-bottom: 1px solid var(--vance-border) !important;
}
.ccw-table td, .ccw-table th {
     vertical-align: middle;
}
.ccw-card.ladies {
     border-color: rgba(173, 11, 23, .22);
     box-shadow: 0 10px 22px rgba(0, 0, 0, .05);
}
.ccw-card.ladies .ccw-card-head {
     background: rgba(173, 11, 23, .05);
}
.ccw-section {
     margin-top: 22px;
}
.ccw-figure {
     border-radius: 18px;
     overflow: hidden;
     border: 1px solid var(--vance-border);
     background: #fff;
}
.ccw-figure img {
     width: 100%;
     height: auto;
     display: block;
}
.ccw-box {
     border: 1px solid var(--vance-border);
     border-radius: 16px;
     background: #fff;
     padding: 16px;
}
.ccw-box h3 {
     font-weight: 950;
     margin-bottom: 12px;
}
.ccw-box h4 {
     font-weight: 900;
     margin-top: 14px;
}
.list-group-item {
     border-color: rgba(0, 0, 0, .08);
}
.star-row {
     display: inline-flex;
     gap: 2px;
     align-items: center;
     line-height: 1;
}
.star-row .bi {
     font-size: 1rem;
}
.star-row .filled {
     color: #f5c542;
} /* gold */
.star-row .empty {
     color: rgba(0, 0, 0, .20);
}
.ccw-divider {
     margin: 26px 0;
     border-top: 1px solid var(--vance-border);
}
.ccw-story {
     margin-top: 22px;
     background: rgba(0, 0, 0, .035);
     border: 1px solid var(--vance-border);
     border-radius: 18px;
     padding: 14px;
}
.ccw-story-head {
     display: flex;
     align-items: flex-end;
     justify-content: space-between;
     gap: 12px;
     padding: 6px 6px 12px;
}
.ccw-story-head h2 {
     margin: 0;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.2rem;
}
.ccw-story-head p {
     margin: 0;
     color: var(--vance-muted);
     font-size: .98rem;
}
.ccw-mod {
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: 16px;
     overflow: hidden;
     height: 100%;
     box-shadow: 0 10px 20px rgba(0, 0, 0, .04);
}
.ccw-mod .ccw-figure {
     border: 0;
     border-radius: 0;
     margin: 0 !important;
}
.ccw-mod-body {
     padding: 14px 14px 16px;
}
.ccw-mod-body h3 {
     margin: 0 0 8px;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.15rem;
}
.ccw-mod-body p {
     margin: 0;
     color: var(--vance-muted);
     line-height: 1.55;
     font-size: 1rem;
}
.ccw-topics {
     margin-top: 12px;
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: 16px;
     overflow: hidden;
}
.ccw-topics-head {
     padding: 12px 14px;
     border-bottom: 1px solid var(--vance-border);
     display: flex;
     align-items: baseline;
     justify-content: space-between;
     gap: 12px;
}
.ccw-topics-head h3 {
     margin: 0;
     font-weight: 950;
     font-size: 1rem;
}
.ccw-topics-head .muted {
     margin: 0;
     color: var(--vance-muted);
     font-size: .95rem;
}
.ccw-topic-list {
     list-style: none;
     margin: 0;
     padding: 0;
}
.ccw-topic-list li {
     padding: 12px 14px;
     border-top: 1px solid rgba(0, 0, 0, .06);
     display: flex;
     gap: 10px;
     align-items: flex-start;
}
.ccw-topic-list i {
     margin-top: 2px;
     color: #0CB13C;
}
.ccw-topic-list span {
     line-height: 1.45;
     color: rgba(0, 0, 0, .78);
}
.ccw-empty {
     color: var(--vance-muted);
     font-style: italic;
     padding-top: .85rem !important;
     padding-bottom: .85rem !important;
}
.ccw-reviews {
     margin-top: 22px;
     background: rgba(0, 0, 0, .035);
     border: 1px solid var(--vance-border);
     border-radius: 18px;
     padding: 14px;
}
.ccw-reviews-head {
     display: flex;
     align-items: flex-end;
     justify-content: space-between;
     gap: 12px;
     padding: 6px 6px 12px;
}
.ccw-reviews-head h2 {
     margin: 0;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.2rem;
}
.ccw-reviews-head p {
     margin: 0;
     color: var(--vance-muted);
     font-size: .98rem;
}
.ccw-revcard {
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: 16px;
     padding: 14px;
     height: 100%;
}
.ccw-rev-top {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 10px;
     margin-bottom: 8px;
}
.ccw-rev-title {
     margin: 0;
     font-weight: 950;
     font-size: 1.05rem;
     letter-spacing: -.01em;
}
.ccw-rev-meta {
     color: var(--vance-muted);
     font-size: .92rem;
     margin: 6px 0 0;
     line-height: 1.35;
}
.ccw-rev-body {
     margin: 10px 0 0;
     color: rgba(0, 0, 0, .72);
     line-height: 1.55;
}
.ccw-carousel .carousel-control-prev, .ccw-carousel .carousel-control-next {
     width: 44px;
}
.ccw-carousel .carousel-control-prev-icon, .ccw-carousel .carousel-control-next-icon {
     filter: none;
     background-color: rgba(0, 0, 0, .60);
     border-radius: 999px;
     padding: 18px;
     background-size: 12px 12px;
}
.ccw-carousel .carousel-indicators {
     margin-bottom: -6px;
}
.ccw-carousel .carousel-indicators [data-bs-target] {
     width: 8px;
     height: 8px;
     border-radius: 999px;
     background-color: rgba(0, 0, 0, .25);
}
.ccw-carousel .carousel-indicators .active {
     background-color: rgba(173, 11, 23, .85);
}
.ccw-faq {
     margin-top: 22px;
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: 18px;
     overflow: hidden;
}
.ccw-faq-head {
     padding: 14px 16px;
     border-bottom: 1px solid var(--vance-border);
}
.ccw-faq-head h2 {
     margin: 0;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.2rem;
}
.ccw-faq-head p {
     margin: 4px 0 0;
     color: var(--vance-muted);
}
.ccw-accordion .accordion-item {
     border: 0;
     border-top: 1px solid rgba(0, 0, 0, .06);
}
.ccw-accordion .accordion-button {
     font-weight: 900;
     letter-spacing: -.01em;
     padding: 14px 16px;
     background: #fff;
     color: rgba(0, 0, 0, .86);
}
.ccw-accordion .accordion-button:focus {
     border-color: transparent;
     box-shadow: none;
}
.ccw-accordion .accordion-button:not(.collapsed) {
     color: rgba(0, 0, 0, .90);
     background: rgba(0, 0, 0, .02);
}
.ccw-accordion .accordion-button::after {
     background-image: none;
     content: "+";
     font-weight: 950;
     color: rgba(0, 0, 0, .55);
     transform: none;
     width: auto;
     height: auto;
}
.ccw-accordion .accordion-button:not(.collapsed)::after {
     content: "_";
     color: rgba(173, 11, 23, .85);
}
.ccw-accordion .accordion-body {
     padding: 0 16px 16px;
     color: rgba(0, 0, 0, .72);
     line-height: 1.55;
}
.ccw-rev-body {
     display: -webkit-box;
     -webkit-line-clamp: 5;
     -webkit-box-orient: vertical;
     overflow: hidden;
}
.ccw-wrap {
     padding-bottom: 32px;
}
/* =========================
   TRAINING PAGE
   ========================= */ 
:root {
     --vance-red: #AD0B17;
     --vance-ink: #0b0d10;
     --vance-border: rgba(0, 0, 0, .12);
     --vance-muted: rgba(0, 0, 0, .62);
     --vance-soft: rgba(0, 0, 0, .035);
}
.train-wrap {
     max-width: 1500px;
     margin: 0 auto;
     padding-bottom: 32px;
}
.train-breadcrumb {
     display: flex;
     gap: .5rem;
     align-items: center;
     flex-wrap: wrap;
     padding: .75rem 0;
     margin: .5rem 0 1.25rem;
     border-bottom: 1px solid var(--vance-border);
     font-size: .95rem;
}
.train-breadcrumb a {
     color: rgba(0, 0, 0, .72);
     text-decoration: none;
}
.train-breadcrumb a:hover {
     color: var(--vance-red);
     text-decoration: underline;
     text-underline-offset: 3px;
}
.train-breadcrumb .sep {
     color: rgba(0, 0, 0, .35);
}
.train-breadcrumb .current {
     color: rgba(0, 0, 0, .55);
}
.train-hero {
     padding: .25rem 0 1rem;
}
.train-kicker {
     display: flex;
     align-items: center;
     gap: .6rem;
     font-weight: 900;
     letter-spacing: .14em;
     text-transform: uppercase;
     color: rgba(0, 0, 0, .55);
     font-size: .82rem;
     margin: 0 0 .6rem;
}
.train-kicker:before {
     content: "";
     width: 26px;
     height: 2px;
     background: var(--vance-red);
     display: inline-block;
}
.train-title {
     font-weight: 950;
     letter-spacing: -.03em;
     font-size: clamp(2rem, 3.1vw, 3rem);
     line-height: 1.08;
     margin: 0 0 .6rem;
}
.train-lede {
     color: var(--vance-muted);
     font-size: 1.05rem;
     line-height: 1.6;
     max-width: 80ch;
     margin: 0;
}
.train-promo {
     border: 1px solid rgba(173, 11, 23, .22);
     background: rgba(173, 11, 23, .06);
     border-radius: 16px;
     padding: 14px 16px;
}
.train-promo strong {
     color: var(--vance-ink);
}
.train-promo .bi {
     color: var(--vance-red);
}
.train-seg {
     margin-top: 18px;
     background: var(--vance-soft);
     border: 1px solid var(--vance-border);
     border-radius: 18px;
     padding: 14px;
}
.train-seghead {
     display: flex;
     align-items: flex-end;
     justify-content: space-between;
     gap: 12px;
     padding: 6px 6px 12px;
}
.train-seghead h2 {
     margin: 0;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.2rem;
}
.train-seghead p {
     margin: 0;
     color: var(--vance-muted);
     font-size: .98rem;
}
.train-tile {
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: 16px;
     overflow: hidden;
     height: 100%;
     box-shadow: 0 10px 20px rgba(0, 0, 0, .04);
     text-decoration: none;
     color: inherit;
     display: block;
}
.train-tile:hover {
     border-color: rgba(173, 11, 23, .22);
}
.train-tile .fig {
     border: 0;
     border-radius: 0;
     margin: 0;
}
.train-tile img {
     display: block;
     width: 100%;
     height: auto;
}
.train-tile-body {
     padding: 14px 14px 16px;
}
.train-tile-body h3 {
     margin: 0 0 8px;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.1rem;
}
.train-tile-body p {
     margin: 0;
     color: var(--vance-muted);
     line-height: 1.55;
}
.train-card {
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: 16px;
     overflow: hidden;
}
.train-card-head {
     padding: 12px 14px;
     border-bottom: 1px solid var(--vance-border);
}
.train-card-head h2 {
     margin: 0;
     font-weight: 950;
     font-size: 1.05rem;
}
.train-card-body {
     padding: 12px 14px 14px;
}
.train-table thead th {
     font-size: .8rem;
     letter-spacing: .14em;
     text-transform: uppercase;
     color: rgba(0, 0, 0, .55);
     border-bottom: 1px solid var(--vance-border) !important;
}
.train-table td, .train-table th {
     vertical-align: top;
}
.train-classname a {
     text-decoration: none;
}
.train-classname a:hover {
     text-decoration: underline;
     text-underline-offset: 3px;
}
.train-dates {
     list-style: none;
     margin: 8px 0 0;
     padding: 0;
     color: rgba(0, 0, 0, .74);
}
.train-dates li {
     margin: .2rem 0;
}
.train-dates .muted {
     color: var(--vance-muted);
     font-style: italic;
}
.btn-danger {
     background: var(--vance-red) !important;
     border-color: var(--vance-red) !important;
}
.btn-danger:hover {
     filter: brightness(.95);
}
.btn-outline-dark {
     border-radius: 12px;
}
.btn-outline-dark {
     border-radius: 12px;
     font-weight: 900;
}
.train-empty {
     color: var(--vance-muted);
     font-style: italic;
     padding-top: .75rem !important;
     padding-bottom: .75rem !important;
}
.train-seghead .train-actions {
     display: flex;
     gap: 10px;
     flex-wrap: wrap;
     align-items: center;
     justify-content: flex-end;
}
.train-actions .btn {
     border-radius: 12px;
     font-weight: 900;
}
.train-filterbar {
     margin-top: 8px;
     padding: 10px 12px;
     border: 1px solid var(--vance-border);
     border-radius: 14px;
     background: #fff;
     display: flex;
     gap: 10px;
     flex-wrap: wrap;
     align-items: center;
}
.train-filterbar .hint {
     color: var(--vance-muted);
     font-size: .95rem;
     margin: 0;
}
.train-badges {
     display: flex;
     gap: 8px;
     flex-wrap: wrap;
}
.train-chip {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     padding: 7px 10px;
     border-radius: 999px;
     font-weight: 900;
     font-size: .82rem;
     border: 1px solid rgba(0, 0, 0, .12);
     background: rgba(0, 0, 0, .03);
     color: rgba(0, 0, 0, .72);
}
.train-schedule {
     margin-top: 12px;
     display: grid;
     gap: 10px;
}
.train-class {
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: 16px;
     padding: 14px;
     display: flex;
     gap: 14px;
     align-items: flex-start;
     justify-content: space-between;
}
.train-class:hover {
     border-color: rgba(173, 11, 23, .22);
     box-shadow: 0 10px 20px rgba(0, 0, 0, .04);
}
.train-class-main {
     min-width: 0;
} /* allow truncation */
.train-class-name {
     margin: 0;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.05rem;
}
.train-class-name a {
     color: inherit;
     text-decoration: none;
}
.train-class-name a:hover {
     text-decoration: underline;
     text-underline-offset: 3px;
}
.train-class-desc {
     margin: 6px 0 0;
     color: var(--vance-muted);
     line-height: 1.5;
     max-width: 95ch;
}
.train-dates {
     margin-top: 10px;
     display: flex;
     gap: 8px;
     flex-wrap: wrap;
}
.train-date {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     padding: 7px 10px;
     border-radius: 999px;
     border: 1px solid rgba(0, 0, 0, .10);
     background: rgba(0, 0, 0, .02);
     color: rgba(0, 0, 0, .75);
     font-weight: 800;
     font-size: .9rem;
}
.train-date .bi {
     color: rgba(0, 0, 0, .45);
}
/* Right side: price + CTA */
.train-class-side {
     display: flex;
     flex-direction: column;
     align-items: flex-end;
     gap: 10px;
     flex: 0 0 auto;
}
.train-price {
     font-weight: 950;
     color: rgba(0, 0, 0, .80);
}
.train-price small {
     color: var(--vance-muted);
     font-weight: 800;
}
.train-emptybox {
     background: #fff;
     border: 1px dashed rgba(0, 0, 0, .18);
     border-radius: 16px;
     padding: 16px;
     color: var(--vance-muted);
}
@media (max-width: 767.98px) {
     .train-class {
          flex-direction: column;
          align-items: stretch;
     }
     .train-class-side {
          flex-direction: row;
          align-items: center;
          justify-content: space-between;
     }
}
/* =========================
   PRICING PAGE
   ========================= */ 
:root {
     --vance-red: #AD0B17;
     --vance-border: rgba(0, 0, 0, .12);
     --vance-muted: rgba(0, 0, 0, .62);
     --vance-soft: rgba(0, 0, 0, .035);
     --vance-r: 14px;
}
.rp-wrap {
     max-width: 1500px;
     margin: 0 auto;
}
.rp-breadcrumb {
     display: flex;
     gap: .5rem;
     align-items: center;
     flex-wrap: wrap;
     padding: .75rem 0;
     margin: .5rem 0 1.25rem;
     border-bottom: 1px solid var(--vance-border);
     font-size: .95rem;
}
.rp-breadcrumb a {
     color: rgba(0, 0, 0, .72);
     text-decoration: none;
}
.rp-breadcrumb a:hover {
     color: var(--vance-red);
     text-decoration: underline;
     text-underline-offset: 3px;
}
.rp-breadcrumb .sep {
     color: rgba(0, 0, 0, .35);
}
.rp-breadcrumb .current {
     color: rgba(0, 0, 0, .55);
}
.rp-hero {
     padding: .25rem 0 1rem;
}
.rp-kicker {
     display: flex;
     align-items: center;
     gap: .6rem;
     font-weight: 900;
     letter-spacing: .14em;
     text-transform: uppercase;
     color: rgba(0, 0, 0, .55);
     font-size: .82rem;
     margin: 0 0 .6rem;
}
.rp-kicker:before {
     content: "";
     width: 26px;
     height: 2px;
     background: var(--vance-red);
     display: inline-block;
}
.rp-title {
     font-weight: 950;
     letter-spacing: -.03em;
     font-size: clamp(2rem, 3.1vw, 3rem);
     line-height: 1.08;
     margin: 0 0 .6rem;
}
.rp-lede {
     color: var(--vance-muted);
     font-size: 1.05rem;
     line-height: 1.6;
     max-width: 78ch;
     margin: 0;
}
.rp-section {
     margin-top: 18px;
}
.rp-section-head {
     display: flex;
     flex-direction: column;
     gap: 10px;
     padding: 0 0 12px;
     border-bottom: 1px solid var(--vance-border);
     margin-bottom: 12px;
}
.rp-section-title h2 {
     margin: 0;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.2rem;
}
.rp-section-title p {
     color: var(--vance-muted);
     font-size: .98rem;
}
.rp-section-aside {
     display: flex;
     align-items: flex-start;
}
.rp-link {
     color: var(--vance-red);
     text-decoration: none;
     font-weight: 900;
}
.rp-link:hover {
     text-decoration: underline;
     text-underline-offset: 3px;
}
.rp-panel {
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: var(--vance-r);
     overflow: hidden;
}
.rp-panel-head {
     padding: 12px 14px;
     border-bottom: 1px solid var(--vance-border);
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 10px;
}
.rp-panel-head .title {
     margin: 0;
     font-weight: 950;
     font-size: 1rem;
}
.rp-panel-foot {
     padding: 12px 14px;
     border-top: 1px solid var(--vance-border);
}
.rp-table thead th {
     font-size: .78rem;
     letter-spacing: .14em;
     text-transform: uppercase;
     color: rgba(0, 0, 0, .55);
     border-bottom: 1px solid var(--vance-border) !important;
}
.rp-table td, .rp-table th {
     vertical-align: middle;
}
.rp-ico {
     width: 22px;
     height: auto;
     display: block;
     opacity: .9;
}
.rp-rownote {
     margin-top: 4px;
     font-size: .9rem;
     color: var(--vance-muted);
}
.rp-cta {
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: var(--vance-r);
     overflow: hidden;
     position: relative;
}
.rp-cta:before {
     content: "";
     position: absolute;
     left: 0;
     top: 0;
     bottom: 0;
     width: 3px;
     background: var(--vance-red);
}
.rp-cta-head {
     padding: 12px 14px 10px;
     border-bottom: 1px solid var(--vance-border);
}
.rp-cta-head h3 {
     font-weight: 950;
     font-size: 1rem;
}
.rp-cta-body {
     padding: 14px;
}
.rp-cta-body p {
     color: var(--vance-muted);
     line-height: 1.55;
}
.rp-kpis {
     margin: 0;
     display: grid;
     gap: 10px;
}
.rp-kpi {
     padding: 10px 0;
     border-top: 1px solid rgba(0, 0, 0, .08);
}
.rp-kpi:first-child {
     border-top: 0;
     padding-top: 0;
}
.rp-kpi dt {
     font-weight: 950;
     letter-spacing: -.02em;
     font-size: 1.1rem;
     margin: 0;
}
.rp-kpi dd {
     margin: 2px 0 0;
     color: var(--vance-muted);
     font-size: .95rem;
     font-weight: 700;
}
.rp-actions {
     margin-top: 14px;
     display: grid;
     gap: 10px;
}
.rp-actions .btn {
     border-radius: 12px;
     font-weight: 900;
     padding: 10px 14px;
}
.rp-note {
     color: var(--vance-muted);
     font-size: .95rem;
     line-height: 1.55;
}
@media (min-width: 992px) {
     .rp-section-head {
          flex-direction: row;
          align-items: flex-end;
          justify-content: space-between;
     }
     .rp-actions {
          grid-template-columns: 1fr;
     }
}
/* =========================
   FOOTER PAGE
   ========================= */
.rf-footer {
     background: #0b0d10;
     color: rgba(255, 255, 255, .88);
     padding: 44px 0 20px;
     border-top: 1px solid rgba(255, 255, 255, .08);
}
.rf-foothead {
     font-weight: 900;
     letter-spacing: .2px;
     color: #fff;
     margin-bottom: 10px;
}
.rf-foottext {
     color: rgba(255, 255, 255, .78);
     line-height: 1.55;
     margin-bottom: 14px;
}
.rf-footmeta {
     display: grid;
     gap: 8px;
     margin-bottom: 14px;
}
.rf-footmeta-link {
     color: rgba(255, 255, 255, .82);
     text-decoration: none;
     display: inline-flex;
     align-items: center;
     gap: 8px;
}
.rf-footmeta-link:hover {
     color: #fff;
     text-decoration: underline;
     text-underline-offset: 3px;
}
.rf-social {
     display: flex;
     gap: 10px;
}
.rf-socialbtn {
     width: 40px;
     height: 40px;
     border-radius: 12px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     text-decoration: none;
     color: #fff;
     border: 1px solid rgba(255, 255, 255, .12);
     background: rgba(255, 255, 255, .06);
}
.rf-socialbtn:hover {
     background: rgba(255, 255, 255, .10);
     border-color: rgba(255, 255, 255, .18);
}
.rf-footlist {
     list-style: none;
     padding: 0;
     margin: 0;
     display: grid;
     gap: 10px;
}
.rf-footlink {
     color: rgba(255, 255, 255, .84);
     text-decoration: none;
     font-weight: 700;
}
.rf-footlink:hover {
     color: #fff;
     text-decoration: underline;
     text-underline-offset: 3px;
}
.rf-hoursbox {
     border: 1px solid rgba(255, 255, 255, .10);
     background: rgba(255, 255, 255, .04);
     border-radius: 16px;
     padding: 14px 14px 12px;
}
.rf-hoursrow {
     display: flex;
     align-items: baseline;
     justify-content: space-between;
     gap: 12px;
     padding: 7px 0;
     border-bottom: 1px dashed rgba(255, 255, 255, .10);
}
.rf-hoursrow:last-of-type {
     border-bottom: 0;
     padding-bottom: 4px;
}
.rf-day {
     color: rgba(255, 255, 255, .78);
     font-weight: 700;
}
.rf-time {
     color: rgba(255, 255, 255, .92);
     font-weight: 700;
}
.rf-nextchange {
     margin-top: 10px;
     color: rgba(255, 255, 255, .72);
     font-size: .95rem;
}
.rf-pill {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     padding: 6px 10px;
     border-radius: 999px;
     font-weight: 800;
     font-size: .9rem;
     border: 1px solid rgba(255, 255, 255, .14);
     background: rgba(255, 255, 255, .06);
     white-space: nowrap;
}
.rf-pill--open {
     border-color: rgba(46, 204, 113, .35);
}
.rf-pill--closed {
     border-color: rgba(231, 76, 60, .35);
}
.rf-dot {
     width: 8px;
     height: 8px;
     border-radius: 999px;
     background: #2ecc71;
}
.rf-pill--closed .rf-dot {
     background: #e74c3c;
}
.rf-footerbtn {
     border-color: rgba(255, 255, 255, .22) !important;
     color: #fff !important;
}
.rf-footerbtn:hover {
     background: rgba(255, 255, 255, .10) !important;
}
.rf-footbottom {
     margin-top: 26px;
     padding-top: 16px;
     border-top: 1px solid rgba(255, 255, 255, .08);
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 12px;
     flex-wrap: wrap;
     color: rgba(255, 255, 255, .68);
     font-size: .95rem;
}
.rf-footfine {
     color: rgba(255, 255, 255, .72);
     text-decoration: none;
     font-weight: 700;
}
.rf-footfine:hover {
     color: #fff;
     text-decoration: underline;
     text-underline-offset: 3px;
}
/* =========================
   RENTALS PAGE
   ========================= */ :root {
     --vance-red: #AD0B17;
     --vance-border: rgba(0, 0, 0, .12);
     --vance-muted: rgba(0, 0, 0, .62);
     --vance-soft: rgba(0, 0, 0, .035);
}
.gr-wrap {
     max-width: 1500px;
     margin: 0 auto;
}
.gr-breadcrumb {
     display: flex;
     gap: .5rem;
     align-items: center;
     flex-wrap: wrap;
     padding: .75rem 0;
     margin: .5rem 0 1.25rem;
     border-bottom: 1px solid var(--vance-border);
     font-size: .95rem;
}
.gr-breadcrumb a {
     color: rgba(0, 0, 0, .72);
     text-decoration: none;
}
.gr-breadcrumb a:hover {
     color: var(--vance-red);
     text-decoration: underline;
     text-underline-offset: 3px;
}
.gr-breadcrumb .sep {
     color: rgba(0, 0, 0, .35);
}
.gr-breadcrumb .current {
     color: rgba(0, 0, 0, .55);
}
.gr-hero {
     padding: .25rem 0 1rem;
}
.gr-kicker {
     display: flex;
     align-items: center;
     gap: .6rem;
     font-weight: 900;
     letter-spacing: .14em;
     text-transform: uppercase;
     color: rgba(0, 0, 0, .55);
     font-size: .82rem;
     margin: 0 0 .6rem;
}
.gr-kicker:before {
     content: "";
     width: 26px;
     height: 2px;
     background: var(--vance-red);
     display: inline-block;
}
.gr-title {
     font-weight: 950;
     letter-spacing: -.03em;
     font-size: clamp(2rem, 3.1vw, 3rem);
     line-height: 1.08;
     margin: 0 0 .6rem;
}
.gr-lede {
     color: var(--vance-muted);
     font-size: 1.05rem;
     line-height: 1.6;
     max-width: 78ch;
     margin: 0;
}
.gr-seg {
     margin-top: 18px;
     background: var(--vance-soft);
     border: 1px solid var(--vance-border);
     border-radius: 18px;
     padding: 14px;
}
.gr-seghead {
     display: flex;
     align-items: flex-end;
     justify-content: space-between;
     gap: 12px;
     padding: 6px 6px 12px;
}
.gr-seghead h2 {
     margin: 0;
     font-weight: 950;
     letter-spacing: -.01em;
     font-size: 1.2rem;
}
.gr-seghead p {
     margin: 0;
     color: var(--vance-muted);
     font-size: .98rem;
}
.gr-price {
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: 16px;
     padding: 14px;
     height: 100%;
}
.gr-price-top {
     display: flex;
     align-items: flex-start;
     justify-content: space-between;
     gap: 12px;
}
.gr-price .lbl {
     font-weight: 950;
}
.gr-price .amt {
     font-weight: 950;
     font-size: 1.5rem;
     letter-spacing: -.01em;
     white-space: nowrap;
}
.gr-price-notes {
     margin-top: 10px;
     display: grid;
     gap: 8px;
     color: var(--vance-muted);
     font-weight: 700;
     line-height: 1.45;
}
.gr-price-note {
     display: flex;
     gap: 10px;
     align-items: flex-start;
     padding: 10px 12px;
     border: 1px solid rgba(0, 0, 0, .08);
     border-radius: 14px;
     background: rgba(0, 0, 0, .015);
}
.gr-price-note i {
     color: var(--vance-red);
     margin-top: 2px;
}
.gr-filter {
     background: #fff;
     border: 1px solid var(--vance-border);
     border-radius: 16px;
     padding: 14px;
}
.gr-card {
     border: 1px solid var(--vance-border);
     border-radius: 16px;
     overflow: hidden;
     background: #fff;
     height: 100%;
     box-shadow: 0 10px 20px rgba(0, 0, 0, .04);
}
.gr-card img {
     width: 100%;
     height: auto;
     display: block;
     object-fit: cover;
     aspect-ratio: 4/3;
}
.gr-card .body {
     padding: 12px 12px 14px;
}
.gr-card .brand {
     font-size: .78rem;
     letter-spacing: .14em;
     text-transform: uppercase;
     font-weight: 950;
     color: var(--vance-red);
}
.gr-card .name {
     margin-top: 4px;
     font-weight: 900;
     color: rgba(0, 0, 0, .86);
}
.gr-card .hint {
     margin-top: 6px;
     color: var(--vance-muted);
     font-size: .92rem;
}
.gr-card:hover {
     border-color: rgba(173, 11, 23, .22);
}
.gr-callout {
     background: #fff;
     border: 1px solid rgba(173, 11, 23, .22);
     border-radius: 16px;
     padding: 14px;
     height: 100%;
}
.gr-callout h3 {
     margin: 0 0 6px;
     font-weight: 950;
     font-size: 1rem;
}
.gr-callout p {
     margin: 0;
     color: var(--vance-muted);
     line-height: 1.55;
}
.gr-actions {
     margin-top: 12px;
     display: flex;
     gap: 10px;
     flex-wrap: wrap;
}
.gr-actions .btn {
     border-radius: 14px;
     font-weight: 900;
     padding: 10px 14px;
}