/* VirTTunity Connect 3.0.0 — deliberately self-contained so theme styles cannot make text unreadable. */
.vttc-page,
.vttc-standalone-events {
    --vttc-red: #d71920;
    --vttc-red-dark: #8f0c13;
    --vttc-red-deep: #4b0509;
    --vttc-gold: #d7a91e;
    --vttc-gold-light: #fff0b8;
    --vttc-navy: #101d3d;
    --vttc-ink: #111827;
    --vttc-muted: #5f6b7c;
    --vttc-line: #e4e8ef;
    --vttc-white: #ffffff;
    --vttc-soft: #f7f3ec;
    --vttc-soft-red: #fff1f1;
    --vttc-success: #087f5b;
    --vttc-shell: 1320px;
    --vttc-radius: 22px;
    --vttc-radius-lg: 36px;
    --vttc-shadow: 0 24px 70px rgba(16, 29, 61, .12);
    --vttc-shadow-sm: 0 10px 32px rgba(16, 29, 61, .08);
    --vttc-transition: 220ms ease;
    width: 100%;
    overflow: clip;
    background: #fff;
    color: var(--vttc-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.vttc-page *,
.vttc-page *::before,
.vttc-page *::after,
.vttc-standalone-events *,
.vttc-standalone-events *::before,
.vttc-standalone-events *::after { box-sizing: border-box; }

.vttc-page img,
.vttc-standalone-events img { max-width: 100%; height: auto; }

.vttc-page button,
.vttc-page input,
.vttc-page select,
.vttc-page textarea,
.vttc-standalone-events button,
.vttc-standalone-events input { font: inherit; }

.vttc-page a,
.vttc-standalone-events a { text-decoration: none; }

.vttc-shell { width: min(var(--vttc-shell), calc(100% - 48px)); margin-inline: auto; }

.vttc-section { position: relative; padding: 96px 0; }
.vttc-section--white { background: #fff; }
.vttc-section--soft { background: linear-gradient(180deg, #faf7f2 0%, #fff 100%); }

.vttc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-height: 30px;
    padding: 7px 12px;
    border: 1px solid rgba(215, 25, 32, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    color: var(--vttc-red) !important;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 8px 24px rgba(16, 29, 61, .05);
}

.vttc-section-heading { max-width: 760px; margin-bottom: 36px; }
.vttc-section-heading--center { margin-inline: auto; text-align: center; }
.vttc-section-heading--center .vttc-eyebrow { margin-inline: auto; }
.vttc-section-heading--split { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.vttc-section-heading--split > div { max-width: 820px; }
.vttc-section-heading h2,
.vttc-faq-layout h2,
.vttc-safety h2,
.vttc-final-cta h2 {
    margin: 14px 0 14px !important;
    color: var(--vttc-ink) !important;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: clamp(34px, 5vw, 62px);
    font-weight: 900;
    letter-spacing: -.055em;
    line-height: 1.02;
}
.vttc-section-heading p,
.vttc-faq-layout header p {
    max-width: 720px;
    margin: 0 !important;
    color: var(--vttc-muted) !important;
    font-size: 17px;
    line-height: 1.7;
}
.vttc-section-heading--split > a,
.vttc-text-link {
    flex: 0 0 auto;
    color: var(--vttc-red) !important;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none !important;
}

.vttc-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.vttc-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 20px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none !important;
    transition: transform var(--vttc-transition), box-shadow var(--vttc-transition), background var(--vttc-transition), border-color var(--vttc-transition);
}
.vttc-button:hover { transform: translateY(-2px); }
.vttc-button:focus-visible { outline: 3px solid rgba(215, 169, 30, .6); outline-offset: 3px; }
.vttc-button--primary { background: linear-gradient(135deg, var(--vttc-red), #b80f17); color: #fff !important; box-shadow: 0 14px 34px rgba(215, 25, 32, .22); }
.vttc-button--primary:hover { color: #fff !important; box-shadow: 0 18px 44px rgba(215, 25, 32, .28); }
.vttc-button--secondary { border-color: rgba(16, 29, 61, .16); background: #fff; color: var(--vttc-navy) !important; }
.vttc-button--secondary:hover { border-color: var(--vttc-red); color: var(--vttc-red) !important; }
.vttc-button--light { background: #fff; color: var(--vttc-red-dark) !important; }
.vttc-button--outline-light { border-color: rgba(255,255,255,.55); background: transparent; color: #fff !important; }
.vttc-button--disabled { border-color: #dfe4eb; background: #f2f4f7; color: #6b7482 !important; box-shadow: none; cursor: default; }
.vttc-button--disabled:hover { transform: none; }

/* Hero */
.vttc-hero {
    position: relative;
    isolation: isolate;
    min-height: 690px;
    display: grid;
    align-items: center;
    overflow: hidden;
    padding: 100px 0 92px;
    background:
        radial-gradient(circle at 78% 28%, rgba(215,169,30,.22), transparent 25%),
        radial-gradient(circle at 12% 88%, rgba(215,25,32,.22), transparent 30%),
        linear-gradient(118deg, #210306 0%, #52060b 43%, #8e1017 100%);
}
.vttc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .14;
    background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: linear-gradient(to bottom, black, transparent 80%);
}
.vttc-hero__glow { position: absolute; z-index: -1; border-radius: 50%; filter: blur(18px); pointer-events: none; }
.vttc-hero__glow--one { top: -180px; right: -140px; width: 520px; height: 520px; background: rgba(255, 196, 0, .18); }
.vttc-hero__glow--two { bottom: -220px; left: -100px; width: 460px; height: 460px; background: rgba(255, 74, 83, .18); }
.vttc-hero__grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr); gap: 80px; align-items: center; }
.vttc-hero__copy { position: relative; z-index: 2; }
.vttc-hero .vttc-eyebrow { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.1); color: #fff !important; box-shadow: none; backdrop-filter: blur(10px); }
.vttc-hero .vttc-eyebrow span { color: var(--vttc-gold); }
.vttc-hero h1 {
    max-width: 780px;
    margin: 24px 0 24px !important;
    color: #fff !important;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: clamp(54px, 7.2vw, 105px);
    font-weight: 950;
    letter-spacing: -.075em;
    line-height: .91;
    text-wrap: balance;
}
.vttc-hero h1 span { display: block; color: #ffd85d !important; }
.vttc-hero__copy > p {
    max-width: 670px;
    margin: 0 0 34px !important;
    color: rgba(255,255,255,.84) !important;
    font-size: clamp(17px, 1.7vw, 21px);
    line-height: 1.68;
}
.vttc-hero .vttc-button--secondary { border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.08); color: #fff !important; backdrop-filter: blur(10px); }
.vttc-hero .vttc-button--secondary:hover { border-color: #fff; }
.vttc-hero__trust { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 30px; }
.vttc-hero__trust span { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.78) !important; font-size: 12px; font-weight: 800; }
.vttc-hero__trust b { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; background: rgba(255,216,93,.16); color: #ffd85d; }

.vttc-hero__visual {
    position: relative;
    min-height: 520px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 46px;
    background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.035));
    box-shadow: 0 40px 90px rgba(0,0,0,.28);
    backdrop-filter: blur(20px);
    transform-style: preserve-3d;
    transition: transform 180ms ease-out;
}
.vttc-hero__visual::before { content:""; position:absolute; inset:24px; border:1px solid rgba(255,255,255,.08); border-radius:34px; }
.vttc-hero__image { width: calc(100% - 70px); max-height: 440px; object-fit: contain; filter: drop-shadow(0 28px 36px rgba(0,0,0,.26)); }
.vttc-network { position: relative; width: min(390px, 78%); aspect-ratio: 1; }
.vttc-network::before,
.vttc-network::after { content:""; position:absolute; inset:16%; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.vttc-network::after { inset:2%; border-style:dashed; animation: vttc-spin 24s linear infinite; }
.vttc-network__center { position:absolute; inset:29%; z-index:3; display:grid; place-items:center; border:10px solid rgba(255,255,255,.1); border-radius:50%; background:radial-gradient(circle at 35% 25%, #ffefad 0 8%, #d7a91e 9% 31%, #d71920 32% 66%, #67070d 67%); box-shadow:0 25px 55px rgba(0,0,0,.3), 0 0 0 18px rgba(255,255,255,.035); color:#fff; }
.vttc-network__center strong { grid-area:1/1; font-family: Georgia, serif; font-size: clamp(70px, 8vw, 110px); line-height:1; }
.vttc-network__center small { grid-area:1/1; align-self:end; margin-bottom:24%; font-size:9px; font-weight:900; letter-spacing:.14em; }
.vttc-avatar { position:absolute; z-index:4; display:grid; width:60px; height:60px; place-items:center; border:5px solid rgba(255,255,255,.16); border-radius:50%; background:#fff; color:var(--vttc-navy); font-size:13px; font-weight:900; box-shadow:0 14px 30px rgba(0,0,0,.22); }
.vttc-avatar--one { top:1%; left:42%; background:#fff0b8; }
.vttc-avatar--two { top:41%; right:-2%; background:#f9c7ca; }
.vttc-avatar--three { bottom:2%; left:42%; background:#d8e7ff; }
.vttc-avatar--four { top:41%; left:-2%; background:#d7f4e9; }
.vttc-network__line { position:absolute; z-index:1; top:50%; left:50%; width:65%; height:1px; background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); transform-origin:left center; }
.vttc-network__line--one { transform:rotate(0deg); }
.vttc-network__line--two { transform:rotate(60deg); }
.vttc-network__line--three { transform:rotate(-60deg); }
.vttc-float-card { position:absolute; z-index:5; display:flex; align-items:center; gap:12px; min-width:210px; padding:14px 16px; border:1px solid rgba(255,255,255,.3); border-radius:16px; background:rgba(255,255,255,.92); box-shadow:0 18px 44px rgba(0,0,0,.22); color:var(--vttc-ink); }
.vttc-float-card > span { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:var(--vttc-soft-red); color:var(--vttc-red); }
.vttc-float-card strong { display:block; color:var(--vttc-ink) !important; font-size:12px; }
.vttc-float-card small { display:block; margin-top:2px; color:var(--vttc-muted) !important; font-size:10px; }
.vttc-float-card--top { top:24px; right:-25px; }
.vttc-float-card--bottom { bottom:24px; left:-28px; }

/* Metrics */
.vttc-metrics { position:relative; z-index:3; margin-top:-38px; }
.vttc-metrics__grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); overflow:hidden; border:1px solid var(--vttc-line); border-radius:22px; background:#fff; box-shadow:var(--vttc-shadow); }
.vttc-metrics article { min-height:120px; padding:28px 30px; border-right:1px solid var(--vttc-line); }
.vttc-metrics article:last-child { border-right:0; }
.vttc-metrics article span { display:block; margin-bottom:8px; color:var(--vttc-red) !important; font-size:22px; font-weight:950; letter-spacing:-.03em; }
.vttc-metrics article p { margin:0 !important; color:var(--vttc-muted) !important; font-size:12px; font-weight:700; line-height:1.5; }

/* Value and category cards */
.vttc-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.vttc-values article { min-height:260px; padding:28px; border:1px solid var(--vttc-line); border-radius:var(--vttc-radius); background:linear-gradient(145deg,#fff,#fcfaf7); box-shadow:var(--vttc-shadow-sm); transition:transform var(--vttc-transition), box-shadow var(--vttc-transition), border-color var(--vttc-transition); }
.vttc-values article:hover { transform:translateY(-6px); border-color:rgba(215,25,32,.24); box-shadow:var(--vttc-shadow); }
.vttc-values__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; }
.vttc-values__top > span { color:var(--vttc-red) !important; font-size:30px; font-weight:950; }
.vttc-values__top i { display:grid; width:46px; height:46px; place-items:center; border-radius:14px; background:var(--vttc-soft-red); color:var(--vttc-red); font-style:normal; font-size:20px; }
.vttc-values h3,
.vttc-categories h3 { margin:0 0 12px !important; color:var(--vttc-ink) !important; font-size:20px; font-weight:900; letter-spacing:-.025em; line-height:1.2; }
.vttc-values p,
.vttc-categories p { margin:0 !important; color:var(--vttc-muted) !important; font-size:14px; line-height:1.68; }

.vttc-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.vttc-categories button { min-height:280px; display:flex; flex-direction:column; align-items:flex-start; padding:26px; border:1px solid var(--vttc-line); border-radius:var(--vttc-radius); background:#fff; color:var(--vttc-ink); text-align:left; cursor:pointer; box-shadow:var(--vttc-shadow-sm); transition:transform var(--vttc-transition), border-color var(--vttc-transition), box-shadow var(--vttc-transition); }
.vttc-categories button:hover { transform:translateY(-6px); border-color:rgba(215,25,32,.25); box-shadow:var(--vttc-shadow); }
.vttc-categories button > span { display:grid; width:50px; height:50px; place-items:center; margin-bottom:42px; border-radius:15px; background:linear-gradient(135deg,var(--vttc-soft-red),var(--vttc-gold-light)); color:var(--vttc-red); font-size:22px; }
.vttc-categories button b { margin-top:auto; padding-top:22px; color:var(--vttc-red); font-size:12px; }

/* Event discovery */
.vttc-events-section { background:#fff; }
.vttc-filterbar { display:grid; grid-template-columns:minmax(260px,1fr) auto auto; gap:16px; align-items:center; margin-bottom:28px; padding:14px; border:1px solid var(--vttc-line); border-radius:18px; background:#f9fafb; }
.vttc-search { position:relative; display:block; }
.vttc-search i { position:absolute; top:50%; left:15px; translate:0 -50%; color:#8b95a5; font-style:normal; font-size:20px; }
.vttc-search input { width:100%; min-height:48px; padding:10px 16px 10px 44px; border:1px solid #dce1e8; border-radius:12px; background:#fff; color:var(--vttc-ink); outline:none; }
.vttc-search input:focus { border-color:var(--vttc-red); box-shadow:0 0 0 4px rgba(215,25,32,.1); }
.vttc-filter-chips { display:flex; gap:7px; overflow-x:auto; padding:2px; }
.vttc-filter-chips button { min-height:40px; padding:8px 12px; border:1px solid #dce1e8; border-radius:999px; background:#fff; color:#4f5d70; font-size:11px; font-weight:850; white-space:nowrap; cursor:pointer; }
.vttc-filter-chips button.is-active { border-color:var(--vttc-red); background:var(--vttc-red); color:#fff; }
.vttc-result-count { color:var(--vttc-muted); font-size:11px; font-weight:800; white-space:nowrap; }
.vttc-event-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.vttc-event-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--vttc-line); border-radius:24px; background:#fff; box-shadow:var(--vttc-shadow-sm); transition:transform var(--vttc-transition), box-shadow var(--vttc-transition), border-color var(--vttc-transition); }
.vttc-event-card:hover { transform:translateY(-6px); border-color:rgba(215,25,32,.22); box-shadow:var(--vttc-shadow); }
.vttc-event-card[hidden] { display:none !important; }
.vttc-event-card__media { position:relative; min-height:235px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 35%,#fff 0 15%,#f6f0e9 65%,#eee6dc 100%); }
.vttc-event-card__media > a { width:100%; height:100%; min-height:235px; display:grid; place-items:center; padding:22px; }
.vttc-event-card__media img { width:100%; height:195px; object-fit:contain; filter:drop-shadow(0 15px 18px rgba(16,29,61,.18)); transition:transform 300ms ease; }
.vttc-event-card:hover .vttc-event-card__media img { transform:scale(1.035); }
.vttc-event-card__fallback { display:grid; width:145px; height:145px; place-items:center; border:10px solid rgba(255,255,255,.75); border-radius:50%; background:radial-gradient(circle at 35% 25%,#fff 0 7%,#f1c23a 8% 28%,#d71920 29% 64%,#7c0910 65%); color:#fff; box-shadow:0 22px 44px rgba(121,9,16,.24); }
.vttc-event-card__fallback strong { grid-area:1/1; font-family:Georgia,serif; font-size:76px; }
.vttc-event-card__fallback small { grid-area:1/1; align-self:end; margin-bottom:26px; font-size:8px; font-weight:900; letter-spacing:.13em; }
.vttc-event-card__top { position:absolute; top:14px; left:14px; right:14px; display:flex; justify-content:space-between; align-items:center; pointer-events:none; }
.vttc-event-card__top button { pointer-events:auto; display:grid; width:38px; height:38px; place-items:center; padding:0; border:1px solid rgba(16,29,61,.1); border-radius:50%; background:rgba(255,255,255,.92); color:var(--vttc-navy); font-size:21px; cursor:pointer; box-shadow:0 7px 18px rgba(16,29,61,.1); }
.vttc-event-card__top button[aria-pressed="true"] { background:var(--vttc-red); color:#fff; }
.vttc-status { min-height:27px; display:inline-flex; align-items:center; padding:6px 9px; border-radius:999px; background:#fff; color:#435269; font-size:9px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; box-shadow:0 8px 22px rgba(16,29,61,.1); }
.vttc-status--open { background:#e4f7ef; color:#087f5b; }
.vttc-status--coming_soon { background:#fff5d8; color:#8c6200; }
.vttc-status--sold_out,.vttc-status--closed { background:#f2e4e5; color:#8d141a; }
.vttc-status--waitlist { background:#e8edff; color:#304c9a; }
.vttc-event-card__mode { position:absolute; right:14px; bottom:14px; padding:6px 10px; border-radius:999px; background:rgba(16,29,61,.9); color:#fff; font-size:9px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.vttc-event-card__body { flex:1; padding:22px 22px 18px; }
.vttc-event-card__host { display:grid; grid-template-columns:24px auto 1fr; gap:7px; align-items:center; margin-bottom:15px; color:var(--vttc-muted); }
.vttc-event-card__host > span { grid-row:1/3; display:grid; width:24px; height:24px; place-items:center; border-radius:8px; background:#e6f7ff; color:#087fac; }
.vttc-event-card__host small { font-size:9px; line-height:1; }
.vttc-event-card__host strong { min-width:0; overflow:hidden; color:#087fac !important; font-size:11px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.vttc-event-card h3 { margin:0 0 10px !important; color:var(--vttc-ink) !important; font-size:21px; font-weight:900; letter-spacing:-.03em; line-height:1.23; }
.vttc-event-card h3 a { color:inherit !important; }
.vttc-event-card__body > p { min-height:68px; margin:0 0 16px !important; color:var(--vttc-muted) !important; font-size:13px; line-height:1.65; }
.vttc-event-card__badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:17px; }
.vttc-event-card__badges span { padding:5px 8px; border-radius:999px; background:#f3eaff; color:#68439a; font-size:8px; font-weight:850; }
.vttc-event-card__badges span:nth-child(2) { background:#fff0cf; color:#875a00; }
.vttc-event-card__badges span:nth-child(3) { background:#e7f7ef; color:#087f5b; }
.vttc-event-card__facts { display:grid; gap:0; margin:0; border-top:1px solid #edf0f4; }
.vttc-event-card__facts > div { display:flex; justify-content:space-between; gap:15px; padding:10px 0; border-bottom:1px solid #edf0f4; }
.vttc-event-card__facts dt { color:#7a8798; font-size:10px; }
.vttc-event-card__facts dd { margin:0; color:var(--vttc-navy); font-size:10px; font-weight:850; text-align:right; }
.vttc-event-card__facts .woocommerce-Price-amount { color:var(--vttc-success); }
.vttc-progress { margin-top:16px; }
.vttc-progress > div { display:flex; justify-content:space-between; gap:12px; margin-bottom:7px; color:#687689; font-size:9px; font-weight:800; }
.vttc-progress > span { display:block; height:6px; overflow:hidden; border-radius:999px; background:#e8edf2; }
.vttc-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--vttc-red),var(--vttc-gold)); }
.vttc-event-card__footer { display:grid; gap:10px; padding:16px 20px 20px; border-top:1px solid #edf0f4; background:#fbfcfd; }
.vttc-event-card__primary .vttc-button { width:100%; min-height:44px; }
.vttc-event-card__secondary { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.vttc-event-card__secondary a,
.vttc-event-card__secondary button { min-height:40px; display:grid; place-items:center; padding:8px 10px; border:1px solid #dce1e8; border-radius:10px; background:#fff; color:var(--vttc-navy) !important; font-size:10px; font-weight:850; cursor:pointer; }
.vttc-event-card__secondary a:hover,
.vttc-event-card__secondary button:hover { border-color:var(--vttc-red); color:var(--vttc-red) !important; }
.vttc-empty { grid-column:1/-1; display:grid; place-items:center; min-height:320px; padding:50px; border:1px dashed #d8dee7; border-radius:24px; background:#fafbfc; text-align:center; }
.vttc-empty[hidden] { display:none; }
.vttc-empty > span { display:grid; width:62px; height:62px; place-items:center; margin-bottom:18px; border-radius:18px; background:var(--vttc-soft-red); color:var(--vttc-red); font-size:28px; }
.vttc-empty h3 { margin:0 0 9px !important; color:var(--vttc-ink) !important; font-size:24px; }
.vttc-empty p { max-width:520px; margin:0 0 22px !important; color:var(--vttc-muted) !important; }

/* Steps */
.vttc-steps { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:0; margin:0; list-style:none; }
.vttc-steps::before { content:""; position:absolute; top:31px; left:12%; right:12%; height:2px; background:linear-gradient(90deg,var(--vttc-red),var(--vttc-gold)); opacity:.25; }
.vttc-steps li { position:relative; padding:0 12px; text-align:center; }
.vttc-steps li > span { position:relative; z-index:2; display:grid; width:64px; height:64px; place-items:center; margin:0 auto 22px; border:8px solid #fff; border-radius:50%; background:var(--vttc-red); color:#fff; font-weight:950; box-shadow:0 12px 26px rgba(215,25,32,.2); }
.vttc-steps h3 { margin:0 0 10px !important; color:var(--vttc-ink) !important; font-size:18px; font-weight:900; }
.vttc-steps p { margin:0 !important; color:var(--vttc-muted) !important; font-size:13px; line-height:1.65; }

/* Safety */
.vttc-safety { overflow:hidden; background:linear-gradient(120deg,#0e1320 0%,#221015 46%,#58070d 100%); }
.vttc-safety::before { content:""; position:absolute; inset:0; opacity:.08; background-image:radial-gradient(circle at 1px 1px,#fff 1px,transparent 0); background-size:24px 24px; }
.vttc-safety__grid { position:relative; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; align-items:center; }
.vttc-safety .vttc-eyebrow { border-color:rgba(255,255,255,.16); background:rgba(255,255,255,.08); color:#ffd85d !important; }
.vttc-safety h2 { color:#fff !important; }
.vttc-safety__grid > div:first-child > p { max-width:620px; margin:0 0 30px !important; color:rgba(255,255,255,.78) !important; font-size:17px; line-height:1.75; }
.vttc-safety__standards { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.vttc-safety__standards article { display:grid; grid-template-columns:50px 1fr; gap:14px; min-height:150px; padding:22px; border:1px solid rgba(255,255,255,.13); border-radius:18px; background:rgba(255,255,255,.07); backdrop-filter:blur(12px); }
.vttc-safety__standards article > span { display:grid; width:46px; height:46px; place-items:center; border-radius:14px; background:rgba(255,216,93,.12); color:#ffd85d; }
.vttc-safety__standards h3 { margin:3px 0 8px !important; color:#fff !important; font-size:15px; font-weight:900; }
.vttc-safety__standards p { margin:0 !important; color:rgba(255,255,255,.68) !important; font-size:12px; line-height:1.6; }

/* FAQ */
.vttc-faq-layout { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:70px; align-items:start; }
.vttc-faq-layout header { position:sticky; top:120px; }
.vttc-faq { display:grid; gap:12px; }
.vttc-faq article { overflow:hidden; border:1px solid var(--vttc-line); border-radius:16px; background:#fff; box-shadow:0 8px 22px rgba(16,29,61,.04); }
.vttc-faq h3 { margin:0 !important; }
.vttc-faq button { width:100%; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 22px; border:0; background:#fff; color:var(--vttc-ink); text-align:left; cursor:pointer; }
.vttc-faq button span { font-weight:900; }
.vttc-faq button i { display:grid; width:32px; height:32px; flex:0 0 auto; place-items:center; border-radius:50%; background:var(--vttc-soft-red); color:var(--vttc-red); font-style:normal; font-size:20px; transition:transform var(--vttc-transition); }
.vttc-faq button[aria-expanded="true"] i { transform:rotate(45deg); }
.vttc-faq article > div { padding:0 22px 21px; }
.vttc-faq article > div p { margin:0 !important; color:var(--vttc-muted) !important; line-height:1.7; }

/* Final CTA */
.vttc-final-cta { position:relative; overflow:hidden; padding:100px 0; background:radial-gradient(circle at 85% 15%,rgba(215,169,30,.2),transparent 25%),linear-gradient(135deg,#fff5f5,#fff 55%,#fff9e8); text-align:center; }
.vttc-final-cta::before { content:"V"; position:absolute; top:50%; left:50%; translate:-50% -50%; color:rgba(215,25,32,.025); font-family:Georgia,serif; font-size:500px; line-height:1; }
.vttc-final-cta .vttc-shell { position:relative; max-width:850px; }
.vttc-final-cta .vttc-eyebrow { margin-inline:auto; }
.vttc-final-cta p { max-width:680px; margin:0 auto 28px !important; color:var(--vttc-muted) !important; font-size:17px; line-height:1.7; }
.vttc-final-cta .vttc-actions { justify-content:center; }

/* Reveal motion */
.vttc-page [data-vttc-reveal] { opacity:1; transform:none; }
.vttc-js .vttc-page [data-vttc-reveal] { opacity:0; transform:translateY(18px); transition:opacity 600ms ease, transform 600ms ease; }
.vttc-js .vttc-page [data-vttc-reveal].is-visible { opacity:1; transform:none; }

/* Dark appearance remains readable rather than inheriting global theme colors. */
html[data-vtt-theme="dark"] .vttc-section--white,
html[data-vtt-theme="dark"] .vttc-events-section { background:#0f141e; }
html[data-vtt-theme="dark"] .vttc-section--soft { background:linear-gradient(180deg,#14161b,#0f141e); }
html[data-vtt-theme="dark"] .vttc-page { background:#0f141e; }
html[data-vtt-theme="dark"] .vttc-section-heading h2,
html[data-vtt-theme="dark"] .vttc-values h3,
html[data-vtt-theme="dark"] .vttc-categories h3,
html[data-vtt-theme="dark"] .vttc-event-card h3,
html[data-vtt-theme="dark"] .vttc-steps h3,
html[data-vtt-theme="dark"] .vttc-faq-layout h2,
html[data-vtt-theme="dark"] .vttc-empty h3 { color:#f8fafc !important; }
html[data-vtt-theme="dark"] .vttc-section-heading p,
html[data-vtt-theme="dark"] .vttc-values p,
html[data-vtt-theme="dark"] .vttc-categories p,
html[data-vtt-theme="dark"] .vttc-steps p,
html[data-vtt-theme="dark"] .vttc-faq-layout header p { color:#b7c0cd !important; }
html[data-vtt-theme="dark"] .vttc-values article,
html[data-vtt-theme="dark"] .vttc-categories button,
html[data-vtt-theme="dark"] .vttc-event-card,
html[data-vtt-theme="dark"] .vttc-faq article,
html[data-vtt-theme="dark"] .vttc-faq button,
html[data-vtt-theme="dark"] .vttc-metrics__grid { border-color:#2d3542; background:#171d28; }
html[data-vtt-theme="dark"] .vttc-filterbar { border-color:#2d3542; background:#131923; }
html[data-vtt-theme="dark"] .vttc-search input,
html[data-vtt-theme="dark"] .vttc-filter-chips button { border-color:#364050; background:#0f141e; color:#dce3ed; }
html[data-vtt-theme="dark"] .vttc-event-card__footer { border-color:#2d3542; background:#121823; }
html[data-vtt-theme="dark"] .vttc-event-card__secondary a,
html[data-vtt-theme="dark"] .vttc-event-card__secondary button { border-color:#364050; background:#171d28; color:#eef2f7 !important; }
html[data-vtt-theme="dark"] .vttc-faq button { color:#f8fafc; }

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

@media (max-width: 1180px) {
    .vttc-hero__grid { grid-template-columns:minmax(0,1fr) 420px; gap:45px; }
    .vttc-values,.vttc-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .vttc-event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .vttc-filterbar { grid-template-columns:1fr; }
    .vttc-result-count { justify-self:end; }
}

@media (max-width: 900px) {
    .vttc-section { padding:74px 0; }
    .vttc-hero { min-height:auto; padding:72px 0; }
    .vttc-hero__grid { grid-template-columns:1fr; }
    .vttc-hero__visual { min-height:470px; max-width:620px; width:100%; margin-inline:auto; }
    .vttc-metrics { margin-top:0; padding-top:20px; background:#fff; }
    .vttc-metrics__grid { grid-template-columns:1fr 1fr; }
    .vttc-metrics article:nth-child(2) { border-right:0; }
    .vttc-metrics article:nth-child(-n+2) { border-bottom:1px solid var(--vttc-line); }
    .vttc-safety__grid,.vttc-faq-layout { grid-template-columns:1fr; gap:40px; }
    .vttc-faq-layout header { position:static; }
    .vttc-steps { grid-template-columns:1fr 1fr; gap:32px 16px; }
    .vttc-steps::before { display:none; }
}

@media (max-width: 680px) {
    .vttc-shell { width:min(100% - 24px,var(--vttc-shell)); }
    .vttc-section { padding:58px 0; }
    .vttc-section-heading--split { align-items:flex-start; flex-direction:column; gap:18px; }
    .vttc-hero { padding:58px 0; }
    .vttc-hero h1 { font-size:clamp(48px,14vw,72px); line-height:.94; }
    .vttc-hero__copy > p { font-size:16px; }
    .vttc-actions,.vttc-actions .vttc-button { width:100%; }
    .vttc-hero__trust { align-items:flex-start; flex-direction:column; gap:10px; }
    .vttc-hero__visual { min-height:380px; border-radius:28px; }
    .vttc-network { width:82%; }
    .vttc-avatar { width:48px; height:48px; border-width:4px; font-size:11px; }
    .vttc-float-card { min-width:180px; padding:11px; }
    .vttc-float-card--top { top:14px; right:10px; }
    .vttc-float-card--bottom { bottom:14px; left:10px; }
    .vttc-metrics__grid,.vttc-values,.vttc-categories,.vttc-event-grid,.vttc-steps,.vttc-safety__standards { grid-template-columns:1fr; }
    .vttc-metrics article { border-right:0; border-bottom:1px solid var(--vttc-line); }
    .vttc-metrics article:last-child { border-bottom:0; }
    .vttc-filter-chips { width:100%; }
    .vttc-result-count { justify-self:start; }
    .vttc-event-card__media,.vttc-event-card__media > a { min-height:220px; }
    .vttc-event-card__media img { height:180px; }
    .vttc-safety__standards article { min-height:auto; }
    .vttc-final-cta { padding:72px 0; }
}

@media (max-width: 420px) {
    .vttc-hero__visual { min-height:330px; }
    .vttc-network__center strong { font-size:72px; }
    .vttc-float-card { min-width:160px; }
    .vttc-float-card small { display:none; }
    .vttc-event-card__secondary { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .vttc-page *,
    .vttc-standalone-events * { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
    .vttc-js .vttc-page [data-vttc-reveal] { opacity:1; transform:none; }
}
