@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600;1,700&family=Great+Vibes&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
    --ink: #10263a;
    --muted: #5e7487;
    --soft: #edf9f6;
    --soft-blue: #eef8ff;
    --paper: #ffffff;
    --line: #d8ece8;
    --green: #66b63f;
    --teal: #39b9a8;
    --blue: #087fc0;
    --navy: #073a66;
    --mint: #dff6ef;
    --sky: #e8f6ff;
    --shadow: 0 18px 42px rgba(7, 58, 102, 0.10);
    --shadow-strong: 0 24px 70px rgba(7, 58, 102, 0.16);
    --r: 8px;
    --max: 1180px;
    --font-title: 'Barlow Condensed', sans-serif;
    --font-body: 'Plus Jakarta Sans', sans-serif;
    --brand-gradient: linear-gradient(135deg, var(--green) 0%, var(--teal) 46%, var(--blue) 100%);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    background:
        radial-gradient(circle at 8% 8%, rgba(102, 182, 63, .12), transparent 30%),
        radial-gradient(circle at 92% 18%, rgba(8, 127, 192, .10), transparent 34%),
        linear-gradient(180deg, #fbfefe 0%, #f3fbf9 48%, #f7fcff 100%);
    color: var(--ink);
    font-family: var(--font-body);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

a { color: var(--blue); text-decoration: none; transition: color .2s ease, transform .2s ease; }
a:hover { color: var(--navy); }
img { max-width: 100%; display: block; }
main { flex: 1; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

h1, h2, h3, h4 {
    font-family: var(--font-title);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.04;
    color: var(--navy);
}
h1 { font-size: clamp(42px, 6vw, 72px); margin-bottom: 18px; text-transform: uppercase; }
h2 { font-size: clamp(30px, 4vw, 46px); margin-bottom: 14px; text-transform: uppercase; }
h3 { font-size: 23px; margin-bottom: 8px; text-transform: uppercase; }
p { color: inherit; }
.lede { color: var(--muted); font-size: clamp(16px, 2vw, 19px); max-width: 760px; margin-bottom: 24px; }
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--blue);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--brand-gradient); border-radius: 99px; }
.container { max-width: var(--max); margin: 0 auto; padding: 0 24px; }
.section { padding: 78px 0; }
.section-tight { padding: 50px 0; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fff;
    border-bottom: 1px solid var(--line);
}
.nav { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 11px 24px; }
.brand { display: flex; align-items: center; gap: 12px; color: var(--ink); }
.brand img { width: 54px; height: 54px; object-fit: contain; border-radius: 50%; background: #fff; box-shadow: 0 10px 26px rgba(7, 58, 102, .12); padding: 3px; }
.brand-name { display: grid; line-height: .92; }
.brand-name small {
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .02em;
    color: #1f2933;
    text-transform: uppercase;
}
.brand-name strong {
    font-family: var(--font-title);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 0;
    background: var(--brand-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.brand-name span {
    margin-top: 2px;
    font-size: 10.1px;
    line-height: 1.05;
    color: var(--muted);
    font-weight: 800;
    letter-spacing: .02em;
}
.nav-links { display: flex; align-items: center; justify-content: center; gap: 24px; font-size: 14px; font-weight: 800; }
.nav-links a { color: var(--ink); padding: 8px 0; border-bottom: 2px solid transparent; }
.nav-links a:hover, .nav-links a.active { color: var(--blue); border-bottom-color: var(--teal); }
.nav-actions { display: flex; align-items: center; gap: 12px; }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    border: 0;
    border-radius: 8px;
    padding: 13px 22px;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
    cursor: pointer;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.btn-primary, .btn-cta {
    background: var(--brand-gradient);
    color: #fff;
    box-shadow: 0 14px 28px rgba(8, 127, 192, .22);
}
.btn-primary:hover, .btn-cta:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 18px 38px rgba(8, 127, 192, .30); }
.btn-outline { color: var(--navy); background: #fff; border: 1px solid var(--line); }
.btn-outline:hover { border-color: var(--teal); box-shadow: 0 12px 24px rgba(57, 185, 168, .14); transform: translateY(-1px); }
.link-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    border-radius: 999px;
    padding: 10px 16px;
    color: var(--navy);
    background: rgba(255,255,255,.72);
    border: 1px solid var(--line);
    font-weight: 900;
    box-shadow: 0 8px 20px rgba(7, 58, 102, .07);
}
.link-arrow span { transition: transform .2s ease; }
.link-arrow:hover { color: var(--blue); border-color: #bfe7df; transform: translateY(-1px); box-shadow: 0 14px 30px rgba(7, 58, 102, .12); }
.link-arrow:hover span { transform: translateX(3px); }
.link-arrow-primary {
    background: var(--brand-gradient);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 14px 28px rgba(8, 127, 192, .20);
}
.link-arrow-primary:hover { color: #fff; box-shadow: 0 18px 38px rgba(8, 127, 192, .28); }
.link-arrow-invert { color: #fff; border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.14); }
.link-arrow-invert:hover { color: #fff; background: rgba(255,255,255,.22); }
.nav-cta { padding-left: 20px; padding-right: 20px; }
.google-login-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    border-radius: 999px;
    padding: 10px 18px;
    color: var(--navy);
    background: #fff;
    border: 1px solid var(--line);
    font-weight: 900;
    box-shadow: none;
}
.google-login-button:hover { color: var(--blue); border-color: rgba(57,185,168,.65); transform: translateY(-1px); box-shadow: 0 8px 18px rgba(7, 58, 102, .06); }
.google-mark {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #4285f4;
    background: #fff;
    border: 1px solid var(--line);
    font-family: Arial, sans-serif;
    font-weight: 900;
}

.hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(120deg, rgba(255,255,255,.96), rgba(239,250,246,.94) 55%, rgba(232,246,255,.96)),
        var(--paper);
    border-bottom: 1px solid var(--line);
    padding: 72px 0 58px;
}
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--brand-gradient); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); gap: 56px; align-items: center; position: relative; z-index: 1; }
.event-hero { text-align: center; }
.event-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
}
.event-hero-copy {
    width: min(100%, 900px);
    margin: 0 auto;
}
.event-hero-copy .eyebrow,
.event-hero-copy .hero-actions {
    justify-content: center;
}
.event-hero-copy h1 {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
.event-hero-copy .lede,
.event-hero-copy > p {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
}
.event-organizer-logos {
    display: grid;
    gap: 12px;
    justify-items: center;
    margin: 24px auto 28px;
}
.event-organizer-logos > span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.event-organizer-logos__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}
.collab-logo {
    min-width: 230px;
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 20px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(7,58,102,.08);
}
.collab-logo img {
    display: block;
    max-width: 180px;
    max-height: 46px;
    object-fit: contain;
}
.collab-logo strong {
    color: #126020;
    font-size: 28px;
    line-height: 1;
}
.collab-logo--alpha strong {
    font-weight: 900;
}
.collab-logo--salus strong {
    color: #6d6a60;
    font-size: 30px;
    font-weight: 500;
    text-transform: lowercase;
}
.event-hero-copy .event-urgency {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}
.event-urgency {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(220px, .62fr);
    gap: 16px;
    align-items: stretch;
    margin-top: 24px;
}
.event-countdown,
.event-slots {
    position: relative;
    overflow: hidden;
    min-height: 126px;
    border: 1px solid rgba(57,185,168,.35);
    border-radius: 8px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 16px 38px rgba(7,58,102,.08);
}
.event-urgency.is-live .event-countdown::after,
.event-urgency.is-live .event-slots::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 1px solid rgba(251,146,60,.34);
    opacity: .72;
    pointer-events: none;
    animation: urgency-hud-pulse 2.8s ease-in-out infinite;
}
.event-urgency.is-urgent .event-countdown,
.event-urgency.is-urgent .event-slots {
    border-color: rgba(249,115,22,.48);
    box-shadow: 0 18px 44px rgba(249,115,22,.14), 0 16px 38px rgba(7,58,102,.08);
}
.event-countdown {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.event-countdown div {
    display: grid;
    align-content: center;
    gap: 4px;
    min-width: 0;
    padding: 16px 10px;
    border-left: 1px solid var(--line);
}
.event-countdown div:first-child { border-left: 0; }
.event-countdown strong {
    color: var(--navy);
    font-family: var(--font-title);
    font-size: clamp(30px, 4vw, 46px);
    line-height: .9;
}
.event-countdown span,
.event-slots span,
.event-slots em {
    color: var(--muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.event-slots {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 4px;
    padding: 18px;
    background: linear-gradient(135deg, rgba(57,185,168,.12), rgba(238,248,255,.92));
}
.event-slots strong {
    color: var(--blue);
    font-family: var(--font-title);
    font-size: clamp(48px, 6.5vw, 74px);
    line-height: .86;
}
.event-slots small {
    color: var(--muted);
    font-size: .38em;
    margin-left: 3px;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 28px 0; }
.hero-grid-profile {
    grid-template-columns: minmax(0, 1.14fr) minmax(320px, .86fr);
}
.hero-grid-profile .hero-copy {
    max-width: 690px;
}
.hero-grid-profile .hero-actions {
    margin: 30px 0 0;
}
.hero-primary-cta {
    min-height: 54px;
    padding: 14px 24px;
    font-size: 16px;
}
.hero-media {
    position: relative;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 28px;
    box-shadow: var(--shadow-strong);
}
.hero-media::before {
    content: "Official Conference Identity";
    position: absolute;
    top: 14px;
    right: 14px;
    color: var(--blue);
    background: var(--soft-blue);
    border: 1px solid #cbe8fb;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.profile-portrait-panel {
    padding: 0;
    overflow: hidden;
    background: #f6fbfd;
}
.profile-portrait-panel::before { display: none; }
.profile-portrait {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: 50% 24%;
    border-radius: 8px;
}
.portrait-pending {
    display: grid;
    place-items: center;
    min-height: 520px;
    padding: 28px;
    text-align: center;
    background: linear-gradient(135deg, var(--soft), var(--soft-blue));
}
.portrait-pending strong {
    display: block;
    color: var(--navy);
    font-family: var(--font-title);
    font-size: 36px;
    line-height: 1;
    text-transform: uppercase;
}
.portrait-pending span {
    display: block;
    color: var(--muted);
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.hero-media img { width: 100%; border-radius: 6px; }
.event-thumbnail {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border: 1px solid var(--line);
    margin-bottom: 18px;
    box-shadow: 0 16px 34px rgba(7, 58, 102, .09);
}
.brand-hero { display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 22px; padding-top: 24px; }
.brand-hero img { width: 120px; height: 120px; object-fit: contain; border-radius: 50%; background: #fff; box-shadow: 0 18px 38px rgba(7, 58, 102, .12); }
.brand-hero-title small { display: block; font-family: var(--font-title); font-size: clamp(20px, 2.2vw, 28px); line-height: .96; color: #1f2933; font-weight: 800; text-transform: uppercase; }
.brand-hero-title strong { display: block; font-family: var(--font-title); font-size: clamp(34px, 4.2vw, 58px); line-height: .88; font-weight: 800; text-transform: uppercase; background: var(--brand-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.brand-hero-title span { display: block; margin-top: 10px; color: var(--muted); font-weight: 800; }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 28px; }
.stat, .card, .speaker-card, .timeline-row, .faq-card, .contact-card {
    background: rgba(255,255,255,.94);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow);
}
.stat { padding: 16px; min-height: 112px; }
.stat strong { display: block; color: var(--navy); font-family: var(--font-title); font-size: clamp(20px, 2vw, 26px); line-height: 1; margin-bottom: 8px; text-transform: uppercase; }
.stat span { color: var(--muted); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.trust-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.trust-item {
    background: linear-gradient(180deg, #fff, var(--soft));
    border: 1px solid var(--line);
    border-left: 4px solid var(--teal);
    border-radius: 8px;
    padding: 12px 13px;
    color: var(--navy);
    font-size: 13px;
    font-weight: 900;
}

.section-nav { position: sticky; top: 77px; z-index: 90; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.section-nav .container {
    display: flex;
    justify-content: center;
    gap: 10px;
    overflow-x: auto;
    padding: 10px 24px;
    scrollbar-width: none;
    scroll-padding-inline: 24px;
}
.section-nav .container::-webkit-scrollbar { display: none; }
.section-nav a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    min-width: 86px;
    white-space: nowrap;
    color: var(--navy);
    background: var(--soft-blue);
    border: 1px solid #d5ecfb;
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
}
.section-nav a:hover { background: var(--mint); color: var(--blue); }

.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.card-grid-offset, .section-grid-offset { margin-top: 30px; }
.card, .contact-card { padding: 26px; position: relative; overflow: hidden; }
.card::before, .speaker-card::before, .contact-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: var(--brand-gradient);
}
.card:hover, .speaker-card:hover, .timeline-row:hover, .faq-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-strong); border-color: #bfe7df; }
.card, .speaker-card, .timeline-row, .faq-card { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.card p, .speaker-card p, .timeline-row p, .faq-card p { color: var(--muted); }
.combined-learn-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    margin-top: 24px;
    background: rgba(255,255,255,.9);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 18px 48px rgba(7,58,102,.09);
}
.combined-learn-card__panel {
    position: relative;
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 30px;
}
.combined-learn-card__panel + .combined-learn-card__panel {
    border-left: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(237,249,246,.6), rgba(255,255,255,.88));
}
.combined-learn-card__panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--brand-gradient);
}
.combined-learn-card__panel span {
    color: var(--blue);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.combined-learn-card__panel h2 {
    margin: 0;
    font-size: clamp(30px, 4vw, 48px);
}
.combined-learn-card__panel p {
    margin: 0;
    color: var(--muted);
}
.combined-learn-card__panel ul {
    display: grid;
    gap: 10px;
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
}
.combined-learn-card__panel li {
    position: relative;
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 10px 12px 10px 34px;
    color: var(--muted);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    font-weight: 700;
}
.combined-learn-card__panel li::before {
    content: "";
    position: absolute;
    left: 14px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--brand-gradient);
}
.pill { display: inline-flex; align-items: center; border-radius: 999px; border: 1px solid var(--line); background: var(--soft); color: var(--blue); padding: 7px 11px; font-size: 12px; font-weight: 900; }

.impact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 30px;
}
.impact-card, .owner-card {
    background: rgba(255,255,255,.88);
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: var(--shadow);
    padding: 28px;
    position: relative;
    overflow: hidden;
}
.impact-card::before, .owner-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: var(--brand-gradient);
}
.impact-icon {
    display: inline-grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--soft), var(--soft-blue));
    color: var(--blue);
    font-family: var(--font-title);
    font-size: 25px;
    font-weight: 800;
    margin-bottom: 18px;
}
.impact-card p { color: var(--muted); }
.owner-section { background: linear-gradient(120deg, rgba(255,255,255,.58), rgba(232,246,255,.72)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.owner-profile {
    max-width: 820px;
    margin: 0 auto;
    display: grid;
    justify-items: center;
    text-align: center;
}
.owner-profile .eyebrow { justify-content: center; }
.owner-profile .lede { margin-left: auto; margin-right: auto; }
.owner-profile__mark {
    width: 118px;
    height: 118px;
    object-fit: cover;
    object-position: 50% 24%;
    border-radius: 50%;
    background: #fff;
    padding: 4px;
    border: 1px solid rgba(57,185,168,.45);
    box-shadow: 0 20px 44px rgba(7,58,102,.16);
    margin-bottom: 22px;
}
.owner-profile__portrait {
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(238,248,255,.92));
}
.owner-specialty {
    color: var(--blue);
    font-size: clamp(18px, 2vw, 23px);
    font-weight: 900;
    margin: 0 0 22px;
}
.social-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin: 0 0 24px;
}
.social-row a {
    position: relative;
    width: 54px;
    height: 54px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    color: var(--navy);
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, rgba(57,185,168,.45), rgba(8,127,192,.34)) border-box;
    border: 1px solid transparent;
    box-shadow: 0 12px 24px rgba(7,58,102,.09);
    transition: transform .22s ease, box-shadow .22s ease, color .22s ease, background .22s ease;
}
.social-row a svg {
    width: 22px;
    height: 22px;
    transition: transform .22s ease;
}
.social-row a:hover,
.social-row a:focus-visible {
    color: #fff;
    background:
        linear-gradient(135deg, rgba(57,185,168,1), rgba(8,127,192,1)) padding-box,
        var(--brand-gradient) border-box;
    border-color: transparent;
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 20px 38px rgba(8,127,192,.22);
    outline: none;
}
.social-row a:hover svg,
.social-row a:focus-visible svg {
    transform: scale(1.08);
}
.direct-call-link {
    display: inline-grid;
    gap: 2px;
    color: var(--blue);
    font-weight: 900;
    text-decoration: none;
}
.direct-call-link span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}
.direct-call-link:hover {
    color: var(--navy);
    transform: translateY(-1px);
}
.owner-specialty {
    color: var(--blue);
    font-size: 20px;
    font-weight: 900;
    margin: 0 0 18px;
}
.reels-section {
    background: linear-gradient(135deg, #073a66, #0f6f8f 55%, #39b9a8);
    color: #fff;
    overflow: hidden;
}
.reels-section h2 { color: #fff; }
.reels-section .lede { color: rgba(255,255,255,.78); }
.reels-section .eyebrow { color: #dffaf4; }
.reels-section .eyebrow::before { background: #dffaf4; }
.reels-heading { margin-bottom: 34px; }
.reels-heading .social-handle {
    display: inline-block;
    font-family: var(--font-body);
    font-size: .68em;
    font-style: italic;
    font-weight: 900;
    text-transform: lowercase;
    letter-spacing: 0;
}
.reel-showcase {
    position: relative;
    width: 100%;
    min-height: 500px;
    padding-top: 10px;
    overflow: visible;
}
.reel-stage {
    position: relative;
    height: 448px;
    overflow: hidden;
}
.reel-card {
    position: relative;
    display: grid;
    align-content: end;
    position: absolute;
    top: 18px;
    left: 50%;
    width: min(280px, 72vw);
    height: 410px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 28px;
    padding: 22px;
    overflow: hidden;
    background:
        radial-gradient(circle at 30% 18%, rgba(219,255,247,.38), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.14), rgba(0,25,44,.36) 46%, rgba(0,25,44,.72)),
        linear-gradient(135deg, rgba(57,185,168,.86), rgba(0,139,198,.72));
    color: #fff;
    border-color: rgba(255,255,255,.18);
    cursor: pointer;
    font: inherit;
    text-align: left;
    box-shadow: 0 30px 70px rgba(0,0,0,.18);
    transition: transform .36s ease, opacity .36s ease, filter .36s ease, box-shadow .24s ease;
}
.reel-card:hover { box-shadow: 0 38px 90px rgba(0,0,0,.26); }
.reel-card[data-reel-offset="0"] {
    z-index: 8;
    opacity: 1;
    filter: none;
    transform: translateX(-50%) scale(1.08);
}
.reel-card[data-reel-offset="-1"] {
    z-index: 6;
    opacity: .72;
    filter: blur(1px) saturate(.9);
    transform: translateX(calc(-50% - 300px)) scale(.86);
}
.reel-card[data-reel-offset="1"] {
    z-index: 6;
    opacity: .72;
    filter: blur(1px) saturate(.9);
    transform: translateX(calc(-50% + 300px)) scale(.86);
}
.reel-card[data-reel-offset="-2"] {
    z-index: 4;
    opacity: .42;
    filter: blur(2px) saturate(.8);
    transform: translateX(calc(-50% - 540px)) scale(.72);
}
.reel-card[data-reel-offset="2"] {
    z-index: 4;
    opacity: .42;
    filter: blur(2px) saturate(.8);
    transform: translateX(calc(-50% + 540px)) scale(.72);
}
.reel-card[data-reel-offset="-3"] {
    z-index: 2;
    opacity: .2;
    filter: blur(3px) saturate(.7);
    transform: translateX(calc(-50% - 730px)) scale(.58);
}
.reel-card[data-reel-offset="3"] {
    z-index: 2;
    opacity: .2;
    filter: blur(3px) saturate(.7);
    transform: translateX(calc(-50% + 730px)) scale(.58);
}
.reel-card[data-reel-offset="-4"],
.reel-card[data-reel-offset="4"] {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%) scale(.6);
}
.reel-card::before {
    content: "";
    position: absolute;
    inset: 14px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.18);
    pointer-events: none;
}
.reel-thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.03);
    filter: saturate(1.04) contrast(.96);
}
.reel-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7,58,102,.08), rgba(7,58,102,.24) 48%, rgba(3,28,50,.38));
    pointer-events: none;
}
.reel-phone-top {
    position: absolute;
    top: 24px;
    left: 50%;
    width: 74px;
    height: 6px;
    border-radius: 99px;
    background: rgba(255,255,255,.45);
    transform: translateX(-50%);
    z-index: 2;
}
.reel-play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: var(--navy);
    box-shadow: 0 20px 42px rgba(0,0,0,.22);
    z-index: 2;
}
.reel-nav {
    position: absolute;
    top: 50%;
    z-index: 20;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: var(--navy);
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 22px 44px rgba(0,0,0,.22);
    transition: transform .2s ease, background .2s ease;
    transform: translateY(-50%);
}
.reel-nav:hover { background: #dffaf4; transform: translateY(-50%) scale(1.05); }
.reel-nav-prev { left: 24px; }
.reel-nav-next { right: 24px; }
.reel-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}
.reel-dots button {
    width: 9px;
    height: 9px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.38);
    cursor: pointer;
    transition: width .2s ease, background .2s ease;
}
.reel-dots button.is-active {
    width: 28px;
    background: #fff;
}
.reel-modal {
    position: fixed;
    inset: 0;
    z-index: 400;
    display: none;
    place-items: center;
    padding: 18px;
}
.reel-modal[aria-hidden="false"] { display: grid; }
.reel-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(2, 18, 32, .72);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.reel-modal__panel {
    position: relative;
    z-index: 1;
    width: min(456px, 92vw, calc((100dvh - 44px) * 9 / 16));
}
.reel-modal__close {
    position: absolute;
    top: -16px;
    right: -16px;
    z-index: 2;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 50%;
    background: #fff;
    color: var(--navy);
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    box-shadow: var(--shadow);
}
.reel-modal__frame {
    aspect-ratio: 9 / 16;
    border-radius: 20px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 30px 90px rgba(0,0,0,.4);
}
.reel-modal__frame iframe {
    display: block;
    width: calc(100% + 150px);
    height: calc(100% + 244px);
    border: 0;
    transform: translate(-75px, -52px) scale(1.08);
    transform-origin: center top;
}
.reel-modal__source {
    display: none;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
    color: #fff;
    font-weight: 900;
}
.reel-modal-open { overflow: hidden; }

.press-section {
    background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(238,249,246,.8));
    border-bottom: 1px solid var(--line);
}
.press-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(238,248,255,.76));
    border: 1px solid rgba(216,236,232,.92);
    border-radius: 8px;
    box-shadow: 0 16px 40px rgba(7,58,102,.09);
    padding: 28px;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.press-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: var(--brand-gradient);
}
.press-card:hover {
    transform: translateY(-3px);
    border-color: rgba(57,185,168,.58);
    box-shadow: 0 24px 54px rgba(7,58,102,.13);
}
.press-card span {
    display: block;
    color: var(--blue);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.press-card h3 { margin-top: 0; }
.press-card p { color: var(--muted); }
.press-list { display: grid; gap: 16px; }
.publisher-list {
    position: relative;
    display: grid;
    margin-top: 30px;
    min-height: 206px;
}
.publisher-card {
    display: grid;
    gap: 12px;
}
.publisher-list[data-publisher-rotator] .publisher-card {
    grid-area: 1 / 1;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity .8s ease, transform .8s ease;
}
.publisher-list[data-publisher-rotator] .publisher-card.is-active,
.publisher-list[data-publisher-rotator] .publisher-card:only-child {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.publisher-card__source {
    display: flex;
    align-items: center;
    gap: 10px;
}
.publisher-card__source img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}
.publisher-card__source span {
    margin-bottom: 0;
}
.publisher-link {
    justify-self: start;
    gap: 7px;
    padding: 11px 18px;
    background: #fff;
    border-color: rgba(57,185,168,.42);
    white-space: nowrap;
}
.publisher-link span,
.publisher-link small {
    color: var(--blue);
    display: inline;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 0;
    text-transform: none;
    transition: color .2s ease, transform .2s ease;
}
.publisher-link:hover {
    color: #fff;
    background: var(--brand-gradient);
    border-color: transparent;
}
.publisher-link:hover span,
.publisher-link:hover small {
    color: #fff;
}

.events-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: end;
    margin-bottom: 34px;
}
.event-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
}
.event-card {
    display: grid;
    grid-template-columns: minmax(280px, 410px) 1fr;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(216,236,232,.92);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(7,58,102,.11);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.event-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 28px 70px rgba(7,58,102,.16);
    border-color: rgba(57,185,168,.56);
}
.event-card__media {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--soft), var(--soft-blue));
    overflow: hidden;
    padding: 34px;
    min-height: 360px;
}
.event-card__media img {
    width: 100%;
    max-width: 290px;
    aspect-ratio: 1;
    object-fit: contain;
    transition: transform .35s ease;
    filter: drop-shadow(0 18px 30px rgba(7,58,102,.14));
}
.event-card:hover .event-card__media img { transform: scale(1.035); }
.event-card__body { padding: 30px; display: grid; gap: 15px; align-content: center; }
.event-card__body h2 { font-size: clamp(28px, 3vw, 38px); margin: 0; }
.event-card__body p { color: var(--muted); margin: 0; }
.event-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.event-card__meta span {
    border-radius: 999px;
    background: var(--soft);
    border: 1px solid var(--line);
    color: var(--blue);
    font-size: 12px;
    font-weight: 900;
    padding: 6px 10px;
}
.event-card__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.event-card__facts span {
    min-height: 84px;
    border-radius: 16px;
    background: rgba(248,253,252,.9);
    border: 1px solid var(--line);
    padding: 12px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.event-card__facts strong {
    display: block;
    color: var(--navy);
    font-family: var(--font-title);
    font-size: 20px;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 7px;
    text-transform: uppercase;
}
.site-event-slider {
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(237,249,246,.76));
    border-top: 1px solid var(--line);
}
.site-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: end;
    margin-bottom: 26px;
}
.site-section-heading h2 { margin-bottom: 0; }
.event-card-scroll {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(620px, 74%);
    gap: 20px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    padding: 4px 2px 18px;
}
.event-card-scroll--single {
    display: block;
    overflow: visible;
    padding: 2px 0;
}
.event-card-scroll--single .site-event-card {
    width: min(100%, 940px);
    margin: 0 auto;
}
.event-card-scroll--fade {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: clamp(390px, 38vw, 520px);
    padding: 2px 0 10px;
}
.event-card-scroll::-webkit-scrollbar { height: 10px; }
.event-card-scroll::-webkit-scrollbar-track { background: rgba(216,236,232,.7); border-radius: 999px; }
.event-card-scroll::-webkit-scrollbar-thumb { background: var(--brand-gradient); border-radius: 999px; }
.site-event-card {
    scroll-snap-align: start;
    min-width: 0;
}
.event-card-scroll--fade .site-event-card {
    position: absolute;
    inset: 0;
    width: min(100%, 980px);
    margin: 0 auto;
    left: 50%;
    right: auto;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%) translateY(12px) scale(.985);
    transition: opacity .7s ease, transform .7s ease;
}
.event-card-scroll--fade .site-event-card.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0) scale(1);
}
.site-event-card .event-card__media { min-height: 300px; }
.site-event-card .event-card__body h2 { font-size: clamp(25px, 2.7vw, 34px); }
.event-card-dots {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 18px;
}
.event-card-dots button {
    width: 10px;
    height: 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(8,127,192,.25);
    cursor: pointer;
    transition: width .2s ease, background .2s ease;
}
.event-card-dots button.is-active {
    width: 28px;
    background: var(--brand-gradient);
}

.site-contact-cta {
    background:
        linear-gradient(135deg, rgba(7,58,102,.96), rgba(8,127,192,.94) 58%, rgba(57,185,168,.96)),
        var(--navy);
    color: #fff;
    border-top: 1px solid rgba(255,255,255,.14);
}
.site-contact-cta h2 { color: #fff; }
.site-contact-cta .lede { color: rgba(255,255,255,.82); }
.site-contact-cta .eyebrow { color: #dffaf4; }
.site-contact-cta .eyebrow::before { background: #dffaf4; }
.site-contact-actions {
    display: grid;
    gap: 12px;
    justify-items: end;
}
.site-contact-actions--details {
    width: min(420px, 100%);
}
.contact-form-button {
    display: inline-grid;
    min-width: min(380px, 100%);
    gap: 5px;
    padding: 18px 22px;
    color: #073a66;
    background: #fff;
    border: 1px solid rgba(255,255,255,.46);
    border-radius: 8px;
    text-align: left;
    box-shadow: 0 20px 46px rgba(0,0,0,.16);
    transition: transform .2s ease, box-shadow .2s ease;
}
.contact-form-button span {
    color: var(--blue);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.contact-form-button strong {
    color: var(--navy);
    font-family: var(--font-title);
    font-size: 30px;
    line-height: .95;
    font-weight: 900;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}
.contact-form-button small {
    color: var(--muted);
    font-weight: 800;
}
.contact-form-button:hover {
    color: #073a66;
    transform: translateY(-2px);
    box-shadow: 0 26px 62px rgba(0,0,0,.2);
}
.contact-direct-card {
    display: grid;
    width: 100%;
    gap: 5px;
    padding: 16px 18px;
    color: #fff;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 8px;
    text-align: left;
}
.contact-direct-card span {
    color: rgba(255,255,255,.72);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.contact-direct-card strong {
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    overflow-wrap: anywhere;
}
.contact-direct-card:hover {
    color: #fff;
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.42);
    transform: translateY(-2px);
}
.pricing-panel.single-price {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    margin: 8px 0 18px;
}
.pricing-panel.single-price > div {
    padding: 18px;
    background: linear-gradient(135deg, #fff, var(--soft-blue));
}
.pricing-panel.single-price span,
.pricing-panel.single-price small {
    display: block;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.pricing-panel.single-price strong {
    display: block;
    color: var(--blue);
    font-family: var(--font-title);
    font-size: 34px;
    line-height: 1;
    margin: 8px 0;
}
.checkout-surface {
    position: relative;
    min-height: calc(100vh - 86px);
    display: grid;
    align-items: center;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(237,249,246,.96), rgba(230,244,252,.9));
}
.checkout-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 18%, rgba(95,172,63,.24), transparent 28%),
        radial-gradient(circle at 82% 28%, rgba(8,127,192,.22), transparent 30%);
}
.checkout-shell {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
}
.checkout-popup {
    width: min(620px, 100%);
    background: rgba(255,255,255,.96);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 34px;
    box-shadow: 0 30px 90px rgba(7, 58, 102, .18);
}
.checkout-popup__mark {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    box-shadow: 0 18px 44px rgba(7, 58, 102, .14);
    margin-bottom: 18px;
}
.checkout-popup__mark img { width: 58px; height: 58px; object-fit: contain; }
.checkout-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 22px 0;
}
.checkout-summary div {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
    background: linear-gradient(135deg, #fff, var(--soft-blue));
}
.checkout-summary span {
    display: block;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 7px;
}
.checkout-summary strong {
    display: block;
    color: var(--navy);
    font-weight: 900;
    overflow-wrap: anywhere;
}
.checkout-pay-button { margin-top: 4px; }
.checkout-policy {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
    margin: 18px 0 10px;
}
.checkout-policy a {
    color: var(--blue);
    font-weight: 900;
}

.certificate-preview-section {
    background:
        radial-gradient(circle at 12% 20%, rgba(102,182,63,.10), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(8,127,192,.12), transparent 30%),
        linear-gradient(180deg, #fbfdfc 0%, rgba(237,249,246,.92) 100%);
    border-top: 1px solid var(--line);
}
.certificate-preview-copy h2 { margin-bottom: 14px; }

/* The certificate itself */
.certificate-sample {
    --cert-navy: #073a66;
    --cert-gold: #b88922;
    --cert-gold-soft: #d4a73f;
    --cert-paper: #fbfaf5;
    --cert-paper-edge: #f3efe2;
    --cert-mute: #5e7487;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 0%, rgba(184, 137, 34, 0.05), transparent 50%),
        radial-gradient(circle at 50% 100%, rgba(7, 58, 102, 0.05), transparent 55%),
        linear-gradient(180deg, var(--cert-paper) 0%, var(--cert-paper-edge) 100%);
    border: 1px solid rgba(184, 137, 34, 0.5);
    border-radius: 4px;
    box-shadow:
        0 36px 90px rgba(7, 58, 102, 0.22),
        0 0 0 1px rgba(255, 255, 255, 0.4) inset;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Inner double-line frame */
.certificate-sample__frame {
    position: absolute;
    inset: 14px;
    border: 1px solid rgba(184, 137, 34, 0.55);
    border-radius: 2px;
    pointer-events: none;
    z-index: 1;
}
.certificate-sample__frame::before {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1px solid rgba(184, 137, 34, 0.35);
    border-radius: 1px;
}

/* Subtle monogram watermark */
.certificate-sample__monogram {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(180px, 28vw, 320px);
    font-weight: 600;
    font-style: italic;
    color: rgba(7, 58, 102, 0.045);
    letter-spacing: -0.04em;
    line-height: 1;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}

/* Refined gold corner flourishes */
.certificate-sample__corner {
    position: absolute;
    width: 36px;
    height: 36px;
    z-index: 3;
    pointer-events: none;
}
.certificate-sample__corner::before,
.certificate-sample__corner::after {
    content: "";
    position: absolute;
    background: var(--cert-gold);
}
.certificate-sample__corner::before {
    width: 26px;
    height: 1.5px;
}
.certificate-sample__corner::after {
    width: 1.5px;
    height: 26px;
}
.certificate-sample__corner--tl { top: 22px; left: 22px; }
.certificate-sample__corner--tl::before { top: 0; left: 0; }
.certificate-sample__corner--tl::after { top: 0; left: 0; }
.certificate-sample__corner--tr { top: 22px; right: 22px; }
.certificate-sample__corner--tr::before { top: 0; right: 0; }
.certificate-sample__corner--tr::after { top: 0; right: 0; }
.certificate-sample__corner--bl { bottom: 22px; left: 22px; }
.certificate-sample__corner--bl::before { bottom: 0; left: 0; }
.certificate-sample__corner--bl::after { bottom: 0; left: 0; }
.certificate-sample__corner--br { bottom: 22px; right: 22px; }
.certificate-sample__corner--br::before { bottom: 0; right: 0; }
.certificate-sample__corner--br::after { bottom: 0; right: 0; }

.certificate-sample__body {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 14px;
    justify-items: center;
    padding: 38px 48px 32px;
    text-align: center;
}

/* Header: logo + event info */
.certificate-sample__header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    padding-bottom: 4px;
}
.certificate-sample__logo {
    position: relative;
    flex-shrink: 0;
}
.certificate-sample__logo::after {
    content: "";
    position: absolute;
    inset: -6px;
    border: 1px solid var(--cert-gold);
    border-radius: 50%;
    pointer-events: none;
    opacity: 0.55;
}
.certificate-sample__logo img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    border-radius: 50%;
    padding: 4px;
    background: #fff;
    border: 1.5px solid var(--cert-gold);
    box-shadow: 0 10px 24px rgba(7, 58, 102, 0.12);
}
.certificate-sample__event-info {
    text-align: left;
    max-width: 440px;
}
.certificate-sample__edition {
    display: block;
    color: var(--cert-mute);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.certificate-sample__edition sup {
    font-size: 0.7em;
    margin-left: 1px;
}
.certificate-sample__event-title {
    display: block;
    color: var(--cert-navy);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(22px, 2.6vw, 32px);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: 0;
    margin-bottom: 4px;
}
.certificate-sample__tagline {
    display: block;
    color: var(--cert-gold);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.04em;
}

/* Title "Certificate of participation" */
.certificate-sample__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 4px 0 0;
}
.certificate-sample__title-ornament {
    width: 60px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--cert-gold), transparent);
    position: relative;
    flex-shrink: 0;
}
.certificate-sample__title-ornament::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 6px;
    height: 6px;
    background: var(--cert-gold);
    border-radius: 50%;
    transform: translateY(-50%);
}
.certificate-sample__title-ornament--left::before { left: 30%; transform: translate(-50%, -50%); }
.certificate-sample__title-ornament--right::before { left: 70%; transform: translate(-50%, -50%); }
.certificate-sample__title-text {
    display: grid;
    gap: 2px;
}
.certificate-sample__title h3 {
    margin: 0;
    color: var(--cert-navy);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(46px, 6.5vw, 72px);
    font-weight: 600;
    font-style: italic;
    letter-spacing: 0.02em;
    line-height: 0.95;
    text-transform: none;
}
.certificate-sample__title span {
    display: inline-flex;
    color: var(--cert-mute);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.32em;
    text-transform: uppercase;
}

.certificate-sample__certify {
    margin: 6px 0 0;
    color: var(--cert-mute);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.04em;
}

/* Sample name in italic serif */
.certificate-sample__name {
    display: grid;
    justify-items: center;
    gap: 4px;
    width: min(620px, 88%);
    margin: 4px 0 6px;
}
.certificate-sample__name-text {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(34px, 4.6vw, 52px);
    font-weight: 600;
    font-style: italic;
    color: var(--cert-navy);
    letter-spacing: 0.01em;
    line-height: 1;
    padding-bottom: 8px;
}
.certificate-sample__name-underline {
    display: block;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--cert-gold) 20%, var(--cert-gold) 80%, transparent);
    position: relative;
}
.certificate-sample__name-underline::before,
.certificate-sample__name-underline::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 18px;
    height: 1px;
    background: var(--cert-gold);
}
.certificate-sample__name-underline::before {
    left: -10px;
    transform-origin: left center;
    transform: translateY(-50%) rotate(-20deg);
}
.certificate-sample__name-underline::after {
    right: -10px;
    transform-origin: right center;
    transform: translateY(-50%) rotate(20deg);
}

.certificate-sample__details {
    max-width: 720px;
    margin: 0;
    color: #2a3744;
    font-size: 15px;
    line-height: 1.65;
    font-weight: 500;
    letter-spacing: 0.01em;
}
.certificate-sample__details strong {
    color: var(--cert-navy);
    font-weight: 700;
}

/* Meta strip — refined, dividers instead of card boxes */
.certificate-sample__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    max-width: 740px;
    margin: 10px 0 6px;
    border-top: 1px solid rgba(184, 137, 34, 0.25);
    border-bottom: 1px solid rgba(184, 137, 34, 0.25);
    padding: 14px 0;
}
.certificate-sample__meta-item {
    display: grid;
    gap: 4px;
    justify-items: center;
    padding: 0 12px;
    position: relative;
}
.certificate-sample__meta-item + .certificate-sample__meta-item::before {
    content: "";
    position: absolute;
    top: 12%;
    bottom: 12%;
    left: 0;
    width: 1px;
    background: rgba(184, 137, 34, 0.3);
}
.certificate-sample__meta-label {
    color: var(--cert-mute);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}
.certificate-sample__meta-value {
    color: var(--cert-navy);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* Footer: signatory + wax-seal badge */
.certificate-sample__footer {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 28px;
    width: 100%;
    max-width: 740px;
    margin-top: 8px;
    padding-top: 6px;
}
.certificate-sample__signatory {
    display: grid;
    justify-items: start;
    gap: 0;
    text-align: left;
}
.certificate-sample__signature-script {
    font-family: 'Great Vibes', 'Brush Script MT', cursive;
    font-size: clamp(32px, 3.6vw, 42px);
    color: var(--cert-navy);
    line-height: 1;
    margin-bottom: -2px;
    transform: translateX(-2px);
}
.certificate-sample__signature-line {
    display: block;
    width: 220px;
    height: 1px;
    background: var(--cert-navy);
    margin: 4px 0 6px;
    opacity: 0.7;
}
.certificate-sample__signatory-name {
    color: var(--cert-navy);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.certificate-sample__signatory-title {
    color: var(--cert-mute);
    font-style: normal;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-top: 2px;
}

/* Wax-seal style badge */
.certificate-sample__seal {
    position: relative;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 30% 30%, #e7c57c, var(--cert-gold) 55%, #8e6412 100%);
    display: grid;
    place-items: center;
    box-shadow:
        0 8px 18px rgba(7, 58, 102, 0.18),
        inset 0 -4px 8px rgba(0, 0, 0, 0.15),
        inset 0 2px 4px rgba(255, 255, 255, 0.4);
    flex-shrink: 0;
}
.certificate-sample__seal::before {
    content: "";
    position: absolute;
    inset: 6px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-style: dashed;
}
.certificate-sample__seal-text {
    color: #fff;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-align: center;
    line-height: 1.2;
    text-transform: uppercase;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
}

/* Verification footer */
.certificate-sample__verification {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 8px;
    color: var(--cert-mute);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    flex-wrap: wrap;
}
.certificate-sample__verification strong {
    color: var(--cert-navy);
    font-weight: 700;
}
.certificate-sample__verification-divider {
    color: var(--cert-gold);
    font-weight: 900;
}

.conference-note {
    background: linear-gradient(135deg, var(--soft), var(--soft-blue));
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
    color: var(--navy);
    font-weight: 800;
    margin: 0 0 22px;
}

.speaker-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }
.speaker-showcase {
    position: relative;
    min-height: auto;
    display: grid;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
}
.speaker-carousel {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 360px;
    gap: 20px;
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: calc((100% - 360px) / 2);
    scrollbar-width: none;
    padding: 18px max(24px, calc((100% - 360px) / 2)) 24px;
}
.speaker-carousel::-webkit-scrollbar { display: none; }
.speaker-card {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    min-height: 570px;
    display: grid;
    grid-template-rows: 360px minmax(210px, auto);
    overflow: hidden;
    text-align: center;
    cursor: pointer;
    opacity: 1;
    pointer-events: auto;
    scroll-snap-align: center;
    background: #fff;
    border: 1px solid rgba(198,228,222,.96);
    box-shadow: none;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.speaker-card.is-active {
    box-shadow: none;
    border-color: rgba(14,151,199,.64);
}
.speaker-card:hover { transform: translateY(-4px); }
.speaker-card:focus-visible { outline: 3px solid rgba(8,127,192,.35); outline-offset: 4px; }
.speaker-card .country,
.speaker-modal .country {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255,255,255,.94);
    color: var(--navy);
    border: 1px solid rgba(216,236,232,.95);
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}
.speaker-card .country { position: absolute; top: 12px; right: 12px; z-index: 1; }
.country-flag {
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    overflow: hidden;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(7,58,102,.08);
    font-size: 14px;
    line-height: 1;
}
.speaker-avatar {
    width: 100%;
    height: 360px;
    aspect-ratio: 1 / 1;
    border-radius: 0;
    overflow: hidden;
    margin: 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    background: linear-gradient(135deg, var(--soft), var(--soft-blue));
}
.speaker-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.speaker-card__body {
    display: grid;
    align-content: start;
    gap: 6px;
    padding: 16px 18px 14px;
    background: #fff;
}
.speaker-card h3,
.speaker-card p { margin: 0; }
.speaker-card h3 { color: var(--navy); font-size: 22px; line-height: 1.05; }
.speaker-card .credentials { color: var(--muted); font-weight: 900; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.speaker-card .topic { color: var(--navy); font-weight: 900; font-size: 13px; line-height: 1.3; }
.speaker-card .time-label {
    color: var(--teal);
    font-weight: 900;
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: .02em;
}
.speaker-card .profile {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.38;
}
.speaker-card__cue {
    display: inline-flex;
    justify-self: center;
    margin-top: 4px;
    color: var(--blue);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.speaker-nav {
    position: absolute;
    top: 45%;
    z-index: 6;
    width: 48px;
    height: 48px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: var(--navy);
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 14px 34px rgba(7,58,102,.12);
}
.speaker-nav-prev { left: 10px; }
.speaker-nav-next { right: 10px; }
.speaker-initials { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(135deg, var(--soft), #eef8ff); color: var(--navy); font-size: 30px; font-weight: 950; letter-spacing: .04em; }
.speaker-modal {
    position: fixed;
    inset: 0;
    z-index: 410;
    display: none;
    place-items: center;
    padding: 22px;
}
.speaker-modal[aria-hidden="false"] { display: grid; }
.speaker-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(2,18,32,.72);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.speaker-modal__panel {
    position: relative;
    z-index: 1;
    width: min(980px, calc(100vw - 36px));
    display: grid;
    grid-template-columns: minmax(300px, 420px) 1fr;
    overflow: hidden;
    background: #fff;
    border-radius: 8px;
    border: 1px solid rgba(216,236,232,.85);
    box-shadow: 0 34px 100px rgba(0,0,0,.34);
}
.speaker-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: #fff;
    color: var(--navy);
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    box-shadow: var(--shadow);
}
.speaker-modal__media {
    min-height: 100%;
    background:
        linear-gradient(180deg, rgba(7,58,102,.08), rgba(57,185,168,.14)),
        linear-gradient(135deg, var(--soft), var(--soft-blue));
}
.speaker-modal__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.speaker-modal__body {
    display: grid;
    align-content: center;
    gap: 14px;
    padding: 42px;
}
.speaker-modal__body h2 { margin: 0; font-size: clamp(38px, 5vw, 64px); }
.speaker-modal__body p { margin: 0; color: var(--muted); }
.speaker-modal__body .credentials {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.speaker-modal__body .topic { color: var(--blue); font-weight: 900; }
.speaker-modal__body .time-label { color: var(--teal); font-weight: 900; }
.speaker-modal__body .profile {
    margin-top: 8px;
    font-size: 16px;
    line-height: 1.75;
}
.speaker-modal-open { overflow: hidden; }
.inline-payment-form { display: inline-flex; margin: 0; }
.inline-payment-form button { border: 0; cursor: pointer; font: inherit; }

.timeline { display: grid; gap: 18px; position: relative; }
.timeline-row {
    display: grid;
    grid-template-columns: minmax(116px, 150px) 120px 1fr;
    gap: 20px;
    align-items: stretch;
    padding: 20px;
    background-size: cover;
    background-position: center;
}
.agenda-time {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 8px;
    min-height: 120px;
    color: var(--blue);
    background: linear-gradient(180deg, rgba(237,249,246,.92), rgba(232,246,255,.92));
    border: 1px solid var(--line);
    border-radius: 8px;
    text-align: center;
}
.agenda-time strong {
    color: var(--navy);
    font-family: var(--font-title);
    font-size: clamp(23px, 2.4vw, 34px);
    line-height: .95;
}
.agenda-time span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    margin: 0;
    color: #fff;
    background: var(--brand-gradient);
    border-radius: 999px;
    font-size: 17px;
    font-weight: 900;
}
.agenda-speaker-circle {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid #fff;
    box-shadow: 0 8px 24px rgba(7, 58, 102, 0.18);
    background: var(--brand-gradient);
    display: grid;
    place-items: center;
    align-self: center;
}
.agenda-speaker-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.agenda-speaker-circle .speaker-initials {
    color: #fff;
    font-family: var(--font-title);
    font-size: 32px;
    font-weight: 800;
}
.agenda-speaker-circle .welcome-icon {
    font-size: 48px;
}
.agenda-copy {
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 8px 4px;
}
.agenda-copy strong {
    color: var(--navy);
    display: block;
    font-size: clamp(25px, 3vw, 42px);
    line-height: .98;
    text-transform: uppercase;
}
.agenda-copy span {
    color: var(--teal);
    display: inline-block;
    margin-top: 2px;
    font-size: 15px;
    font-weight: 900;
}
.timeline-description { font-size: 14px; color: var(--muted); margin-top: 4px; }

.faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.faq-card { padding: 22px; }
.faq-card strong { color: var(--navy); font-size: 16px; display: block; }
.faq-card p { margin-top: 8px; font-size: 14px; }

.sticky-register {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 150;
    background: rgba(255,255,255,.96);
    border-top: 1px solid var(--line);
    box-shadow: 0 -14px 38px rgba(7, 58, 102, .12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: right .2s ease, left .2s ease;
}
.sticky-register.is-live::before {
    content: "";
    position: absolute;
    inset: -1px 0 auto;
    height: 3px;
    background: linear-gradient(90deg, var(--teal), #f97316, var(--blue));
    animation: sticky-scan 3.8s ease-in-out infinite;
}
.sticky-register.is-urgent {
    box-shadow: 0 -18px 46px rgba(249,115,22,.18), 0 -14px 38px rgba(7,58,102,.12);
}
.sticky-register .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    justify-content: center;
    align-items: center;
    gap: 28px;
    padding: 14px 24px;
}
.sticky-register__countdown {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    min-width: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}
.sticky-register__message {
    display: grid;
    gap: 0;
    min-width: 190px;
}
.sticky-register__message span {
    color: #d52222;
    font-size: clamp(13px, 1.15vw, 17px);
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}
.sticky-register__message b {
    font-weight: 950;
}
.sticky-register__message strong {
    display: none;
}
.sticky-register__timer {
    display: grid;
    grid-template-columns: repeat(4, minmax(104px, auto));
    gap: 18px;
}
.sticky-register__timer div {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 6px;
    min-width: 104px;
}
.sticky-register__timer strong {
    --flip-tile-height: 82px;
    position: relative;
    width: 100%;
    height: var(--flip-tile-height);
    min-height: var(--flip-tile-height);
    display: block;
    overflow: hidden;
    color: var(--navy);
    font-family: var(--font-title);
    font-size: clamp(52px, 5vw, 76px);
    font-weight: 900;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98) 0 48%, rgba(230,246,252,.98) 49% 100%);
    border: 1px solid rgba(7,58,102,.18);
    border-radius: 7px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        inset 0 -1px 0 rgba(7,58,102,.08),
        0 9px 0 rgba(7,58,102,.08),
        0 18px 24px rgba(7,58,102,.10);
    perspective: 520px;
}
.sticky-register__timer strong::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    border-top: 1px solid rgba(7,58,102,.16);
}
.sticky-register__timer strong::after {
    content: "";
    position: absolute;
    left: 9px;
    right: 9px;
    top: 5px;
    height: 4px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--teal), var(--blue));
    opacity: .8;
}
.sticky-register__timer .flip-value {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font: inherit;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    z-index: 1;
}
.sticky-register__timer .flip-flap {
    position: absolute;
    inset: 0 0 auto;
    height: calc(var(--flip-tile-height) / 2);
    display: grid;
    align-items: center;
    justify-items: center;
    overflow: hidden;
    font: inherit;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    color: transparent;
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(245,251,252,.99));
    border-radius: 7px 7px 0 0;
    transform-origin: bottom center;
    backface-visibility: hidden;
    opacity: 0;
    z-index: 2;
    pointer-events: none;
}
.sticky-register__timer .flip-flap::before {
    content: attr(data-flip-value);
    position: absolute;
    inset: 0 0 auto;
    height: var(--flip-tile-height);
    display: grid;
    place-items: center;
    font: inherit;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    color: var(--navy);
}
.sticky-register__timer strong.is-flipping .flip-flap {
    animation: flip-flap .58s cubic-bezier(.2, .72, .22, 1);
}
.sticky-register__timer strong.is-flipping::before {
    animation: flip-hinge .58s cubic-bezier(.2, .72, .22, 1);
}
.sticky-register__timer span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}
.sticky-register .link-arrow-primary {
    min-width: 190px;
    justify-content: center;
}

@keyframes flip-flap {
    0% {
        transform: perspective(520px) rotateX(0deg);
        opacity: 1;
    }
    55% {
        transform: perspective(520px) rotateX(-92deg);
        opacity: .72;
        box-shadow: inset 0 -12px 18px rgba(7,58,102,.18);
    }
    100% {
        transform: perspective(520px) rotateX(-180deg);
        opacity: 0;
    }
}

@keyframes flip-hinge {
    0%, 100% { border-top-color: rgba(7,58,102,.16); }
    42% { border-top-color: rgba(7,58,102,.36); }
}

@keyframes urgency-hud-pulse {
    0%, 100% { opacity: .28; transform: scale(1); }
    50% { opacity: .86; transform: scale(.988); }
}

@keyframes sticky-scan {
    0%, 100% { opacity: .52; filter: saturate(1); }
    50% { opacity: 1; filter: saturate(1.35); }
}

@media (prefers-reduced-motion: reduce) {
    .event-urgency.is-live .event-countdown::after,
    .event-urgency.is-live .event-slots::after,
    .sticky-register.is-live::before {
        animation: none;
    }
    .sticky-register__timer strong.is-flipping .flip-flap,
    .sticky-register__timer strong.is-flipping::before {
        animation: none;
    }
}

.cta-band { background: linear-gradient(135deg, var(--navy), #0b6090 58%, var(--teal)); color: #fff; }
.cta-band h2 { color: #fff; }
.cta-band .lede { color: rgba(255,255,255,.82); }
.cta-band .eyebrow { color: #dffaf4; }
.cta-band .eyebrow::before { background: #dffaf4; }
.cta-grid { align-items: center; }
.cta-actions { text-align: right; }

.footer { background: #ffffff; border-top: 1px solid var(--line); color: var(--muted); padding: 42px 0; font-size: 14px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 30px; }
.footer strong { color: var(--navy); display: block; margin-bottom: 10px; font-weight: 900; }
.footer a { color: var(--muted); display: inline-block; margin-bottom: 5px; }
.footer a:hover { color: var(--blue); }
.footer-links { margin-top: 12px; }
.user-rail {
    position: fixed;
    top: 77px;
    left: 0;
    bottom: 0;
    z-index: 80;
    width: 236px;
    overflow: auto;
    background: rgba(255,255,255,.96);
    border-right: 1px solid var(--line);
    box-shadow: 16px 0 40px rgba(7,58,102,.07);
    padding: 20px 14px;
}
.user-rail__profile {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(237,249,246,.92), rgba(238,248,255,.9));
}
.user-rail__profile strong { color: var(--navy); font-weight: 900; overflow-wrap: anywhere; }
.user-rail__profile span { color: var(--muted); font-size: 12px; font-weight: 800; overflow-wrap: anywhere; }
.user-rail nav { display: grid; gap: 8px; margin-top: 14px; }
.user-rail nav a {
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 11px 12px;
    color: var(--navy);
    font-weight: 900;
    background: #fff;
}
.user-rail nav a:hover, .user-rail nav a.active {
    color: var(--blue);
    border-color: rgba(57,185,168,.55);
    background: #f7fcfc;
}
body.has-user-rail main,
body.has-user-rail .site-event-slider,
body.has-user-rail .site-contact-cta,
body.has-user-rail .footer { margin-left: 236px; }
body.has-user-rail .sticky-register { left: 236px; }
@media (min-width: 921px) {
    body.support-open main,
    body.support-open .footer,
    body.support-open .site-event-slider,
    body.support-open .site-contact-cta {
        margin-right: 430px;
    }
    body.support-open .sticky-register {
        right: 430px;
    }
    body.support-open .sticky-register .container {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 10px 18px;
    }
    body.support-open .sticky-register__countdown {
        display: grid;
        justify-items: center;
        gap: 10px;
    }
    body.support-open .sticky-register__message {
        min-width: 0;
        text-align: center;
    }
    body.support-open .sticky-register__message span {
        font-size: 13px;
    }
    body.support-open .sticky-register__timer {
        width: min(100%, 360px);
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }
    body.support-open .sticky-register__timer div {
        min-width: 0;
    }
    body.support-open .sticky-register__timer strong {
        --flip-tile-height: 58px;
        width: 100%;
        min-height: var(--flip-tile-height);
        font-size: clamp(30px, 4vw, 40px);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.95),
            inset 0 -1px 0 rgba(7,58,102,.08),
            0 6px 0 rgba(7,58,102,.08),
            0 13px 18px rgba(7,58,102,.09);
    }
    body.support-open .sticky-register__timer span {
        font-size: 10px;
    }
    body.support-open .sticky-register .link-arrow-primary {
        width: min(100%, 360px);
        min-width: 0;
        justify-self: center;
    }
    body.support-open .hero-grid-profile {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
        align-items: start;
    }
    body.support-open .hero-grid-profile .hero-copy {
        max-width: 720px;
    }
    body.support-open .hero-grid-profile .hero-copy h1 {
        max-width: 11.5ch;
        font-size: clamp(42px, 5vw, 62px);
        overflow-wrap: anywhere;
    }
    body.support-open .profile-portrait-panel {
        width: min(100%, 420px);
        justify-self: center;
    }
    body.support-open.has-user-rail main,
    body.support-open.has-user-rail .footer,
    body.support-open.has-user-rail .site-event-slider,
    body.support-open.has-user-rail .site-contact-cta {
        margin-left: 236px;
    }
}
.support-widget { position: fixed; inset: 0 0 auto auto; z-index: 130; pointer-events: none; }
.support-launcher {
    border: 0;
    border-radius: 999px;
    width: 48px;
    height: 48px;
    color: var(--blue);
    background: #fff;
    border: 1px solid transparent;
    background-image: linear-gradient(#fff, #fff), linear-gradient(135deg, #7b4dff, #dd3df2 45%, #087fc0);
    background-origin: border-box;
    background-clip: padding-box, border-box;
    box-shadow: none;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
.gemini-mark {
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
    color: #7b4dff;
}
.support-widget.is-thinking .gemini-mark::before {
    animation: agent-spin 1.4s linear infinite;
}
.gemini-mark::before, .gemini-mark::after {
    content: "";
    position: absolute;
    inset: 3px;
    background: linear-gradient(135deg, #7b4dff, #dd3df2 52%, #087fc0);
    clip-path: polygon(50% 0, 62% 36%, 100% 50%, 62% 64%, 50% 100%, 38% 64%, 0 50%, 38% 36%);
}
.gemini-mark::after {
    inset: 8px;
    background: #fff;
    opacity: .95;
}
.support-panel {
    position: fixed;
    top: 77px;
    right: 0;
    bottom: 0;
    width: min(430px, calc(100vw - 32px));
    height: auto;
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--line);
    border-right: 0;
    border-radius: 8px 0 0 0;
    box-shadow: none;
    opacity: 0;
    pointer-events: none;
    transform: translateX(100%);
    transition: opacity .2s ease, transform .2s ease;
}
.support-widget.is-open .support-panel { opacity: 1; pointer-events: auto; transform: translateX(0); }
.support-chat { min-height: 0; display: grid; grid-template-rows: auto 1fr auto; background: #fff; }
.support-panel > .support-chat { height: 100%; min-height: 0; }
.support-chat__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--line);
}
.support-chat__head strong { display: block; color: var(--navy); }
.support-chat__head span { color: var(--muted); font-size: 12px; font-weight: 800; }
.support-google-prompt { padding: 14px 18px; border-bottom: 1px solid var(--line); background: #f6fbfb; }
.support-google-prompt p { margin: 0 0 10px; font-size: 13px; line-height: 1.4; color: var(--navy); }
.support-google-button { width: 100%; justify-content: center; }
.support-chat__head button { border: 0; background: #eef6f6; color: var(--navy); border-radius: 8px; width: 36px; height: 36px; font-size: 24px; cursor: pointer; line-height: 1; }
.support-messages { min-height: 0; overflow: auto; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.support-message { max-width: 88%; border-radius: 8px; padding: 10px 12px; color: var(--ink); white-space: pre-wrap; }
.support-message--agent { align-self: flex-start; background: var(--soft-blue); border: 1px solid #d6eafa; }
.support-message--user { align-self: flex-end; background: var(--navy); color: #fff; }
.support-message--working {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    color: var(--navy);
    font-weight: 800;
}
.agent-working-copy {
    color: var(--muted);
    font-size: 12px;
    letter-spacing: .02em;
}
.agent-orbit {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: radial-gradient(circle, #fff 0 38%, rgba(249,115,22,.10) 39% 100%);
    border: 1px solid rgba(249,115,22,.32);
}
.agent-orbit::before,
.agent-orbit::after,
.agent-orbit i {
    content: "";
    position: absolute;
    border-radius: 50%;
}
.agent-orbit::before {
    inset: 4px;
    border: 2px solid rgba(7,58,102,.16);
    border-top-color: #f97316;
    animation: agent-spin 1.1s linear infinite;
}
.agent-orbit::after {
    width: 6px;
    height: 6px;
    background: var(--teal);
    box-shadow: 0 0 16px rgba(57,185,168,.7);
    transform: translateY(-10px);
    animation: agent-dot 1.1s linear infinite;
}
.agent-orbit i {
    width: 8px;
    height: 8px;
    background: var(--navy);
    opacity: .9;
}
.agent-orbit--button {
    width: 24px;
    height: 24px;
    background: transparent;
    border-color: rgba(255,255,255,.48);
}
.agent-orbit--button i { background: #fff; }
.agent-orbit--button::before { border-color: rgba(255,255,255,.26); border-top-color: #fff; }
.agent-orbit--button::after { background: #fb923c; box-shadow: 0 0 12px rgba(251,146,60,.8); transform: translateY(-8px); }
.support-actions { display: flex; flex-wrap: wrap; gap: 8px; max-width: 88%; }
.support-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    border-radius: 999px;
    padding: 7px 11px;
    color: var(--navy);
    background: #fff;
    border: 1px solid var(--line);
    font-size: 12px;
    font-weight: 900;
}
.support-actions a:hover { color: var(--blue); border-color: rgba(57,185,168,.65); }
.support-form { min-height: 76px; border-top: 1px solid var(--line); padding: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; background: #fff; }
.support-form textarea { min-height: 52px; max-height: 120px; resize: vertical; }
.support-send {
    width: 46px;
    height: 46px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    border: 0;
    background: var(--brand-gradient);
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    cursor: pointer;
}
.support-widget.is-thinking .support-send { background: var(--navy); font-size: 15px; }

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

@keyframes agent-dot {
    to { transform: rotate(360deg) translateY(-10px); }
}

@media (prefers-reduced-motion: reduce) {
    .support-widget.is-thinking .gemini-mark::before,
    .agent-orbit::before,
    .agent-orbit::after {
        animation: none;
    }
}

.cursor-bubble {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 500;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    transform: translate3d(-100px, -100px, 0) scale(.72);
    background:
        radial-gradient(circle at 32% 28%, rgba(255,255,255,.95) 0 12%, rgba(255,255,255,.28) 13% 23%, transparent 24%),
        radial-gradient(circle at 68% 72%, rgba(57,185,168,.22), transparent 36%),
        rgba(255,255,255,.2);
    border: 1px solid rgba(57,185,168,.72);
    box-shadow:
        inset 0 0 12px rgba(255,255,255,.7),
        0 0 16px rgba(57,185,168,.28),
        0 10px 28px rgba(7,58,102,.12);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: opacity .18s ease;
    will-change: transform, opacity;
}
.cursor-bubble.is-visible { opacity: 1; }
.cursor-bubble.is-bursting { animation: cursor-bubble-burst .38s ease-out forwards; }
.cursor-bubble__pop {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 499;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    pointer-events: none;
    background: rgba(57,185,168,.42);
    box-shadow: 0 0 0 1px rgba(255,255,255,.72), 0 0 18px rgba(8,127,192,.2);
    animation: cursor-bubble-pop .58s ease-out forwards;
}
@keyframes cursor-bubble-burst {
    0% { opacity: 1; transform: translate3d(var(--bubble-x, -100px), var(--bubble-y, -100px), 0) scale(1); }
    50% { opacity: .78; transform: translate3d(var(--bubble-x, -100px), var(--bubble-y, -100px), 0) scale(2.4); }
    100% { opacity: 0; transform: translate3d(var(--bubble-x, -100px), var(--bubble-y, -100px), 0) scale(.2); }
}
@keyframes cursor-bubble-pop {
    0% { opacity: .78; transform: translate3d(var(--pop-x, -100px), var(--pop-y, -100px), 0) scale(.25); }
    100% { opacity: 0; transform: translate3d(calc(var(--pop-x, -100px) + var(--pop-dx, 0px)), calc(var(--pop-y, -100px) + var(--pop-dy, 0px)), 0) scale(1.5); }
}

.flash { max-width: var(--max); margin: 18px auto 0; padding: 14px 18px; background: var(--soft); border: 1px solid var(--line); border-radius: 8px; color: var(--navy); font-weight: 700; }
.flash-inline { margin: 0 0 24px; }
input, textarea, select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 13px 14px;
    font: inherit;
    color: var(--ink);
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}
textarea { min-height: 140px; resize: vertical; }
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 4px rgba(57, 185, 168, .13); }
label { display: grid; gap: 7px; color: var(--navy); font-size: 13px; font-weight: 900; }

.auth-surface { min-height: 70vh; display: grid; align-items: center; }
.auth-shell { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(380px, .98fr); align-items: center; gap: 40px; }
body.auth-only { background: #f6fbfb; min-height: 100vh; }
body.auth-only .auth-surface { min-height: calc(100vh - 80px); }
body.auth-only .auth-shell { grid-template-columns: minmax(0, 460px); justify-content: center; gap: 0; }
body.auth-only .auth-copy { display: none; }
body.auth-only .form-card { max-width: 460px; }
body.auth-only .legal-copy { background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(237,249,246,.86)); border: 1px solid var(--line); border-radius: 8px; padding: 34px; box-shadow: var(--shadow); max-width: 720px; margin: 0 auto; }
body.auth-only .legal-copy p { color: var(--ink); }
.auth-only-brand { position: absolute; top: 20px; left: 24px; display: inline-flex; align-items: center; gap: 10px; color: var(--navy); text-decoration: none; font-size: 14px; }
.auth-only-brand img { height: 44px; width: auto; display: block; }
.auth-only-brand strong { font-weight: 900; letter-spacing: .02em; }
.auth-only-brand span { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.auth-only-brand span::after { content: ""; width: 100%; height: 2px; background: var(--brand-gradient); border-radius: 99px; }
.auth-only-main { display: block; padding: 80px 20px 40px; }
.auth-copy, .auth-visual, .form-card {
    background: rgba(255,255,255,.94);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 34px;
    box-shadow: var(--shadow);
}
.auth-copy { background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(237,249,246,.86)); }
.form-card { width: 100%; max-width: 500px; justify-self: center; position: relative; overflow: hidden; }
.form-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: var(--brand-gradient);
}
.form-stack, .contact-card { display: flex; flex-direction: column; gap: 18px; }
.form-helper { color: var(--muted); font-size: 13px; margin-bottom: 2px; }
.form-footer { color: var(--muted); font-size: 13px; }
.form-submit { align-self: stretch; width: 100%; margin-top: 4px; }
.btn-block { width: 100%; }
.contact-form-wrap { max-width: 850px; }
.contact-form-card { width: 100%; }
.contact-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
.contact-choice-grid > .contact-card:only-child { max-width: 760px; width: 100%; justify-self: center; }
.contact-details-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.contact-detail-item {
    position: relative;
    overflow: hidden;
    min-height: 128px;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 24px;
    background: linear-gradient(135deg, rgba(255,255,255,.97), rgba(238,248,255,.88));
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(7,58,102,.07);
}
.contact-detail-item::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: var(--brand-gradient);
}
.contact-detail-item small { color: var(--blue); font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.contact-detail-item span { color: var(--navy); font-size: 16px; font-weight: 900; overflow-wrap: anywhere; }
.dashboard-hero { padding-bottom: 46px; }
.dashboard-shell {
    display: grid;
    grid-template-columns: minmax(220px, 280px) 1fr;
    gap: 24px;
    align-items: stretch;
}
.dashboard-menu, .dashboard-main, .account-card {
    background: rgba(255,255,255,.92);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow);
}
.dashboard-menu {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.dashboard-menu strong {
    color: var(--navy);
    font-family: var(--font-title);
    font-size: 28px;
    line-height: 1;
    text-transform: uppercase;
}
.dashboard-menu > span { color: var(--muted); font-size: 13px; font-weight: 800; overflow-wrap: anywhere; }
.dashboard-menu nav { display: grid; gap: 8px; margin-top: 14px; }
.dashboard-menu nav a {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 12px;
    color: var(--navy);
    font-weight: 900;
    background: #fff;
}
.dashboard-menu nav a:hover { border-color: rgba(57,185,168,.6); color: var(--blue); }
.dashboard-main { padding: 30px; background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(238,248,255,.88)); }
.dashboard-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.dashboard-stats div {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    padding: 16px;
}
.dashboard-stats strong { display: block; color: var(--navy); font-size: 30px; line-height: 1; }
.dashboard-stats span, .account-meta span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.account-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; margin-top: 22px; }
.account-card { padding: 22px; display: grid; gap: 14px; align-content: start; }
.account-card h3 { margin: 8px 0 0; }
.account-card p { color: var(--muted); }
.account-meta { border-top: 1px solid var(--line); padding-top: 12px; display: grid; gap: 2px; }
.account-meta strong { color: var(--navy); overflow-wrap: anywhere; }
.empty-state { display: grid; gap: 14px; }
.compact-copy, .section-body-copy { color: var(--muted); font-size: 14px; margin-top: 8px; }
.section-body-copy { margin: 0 0 24px; }
.section-item-copy { font-weight: 500; font-size: 15px; }
.venue-card { display: flex; flex-direction: column; justify-content: space-between; }
.venue-address { font-size: 14px; color: var(--muted); margin-bottom: 20px; }
.registration-contact { margin-top: 18px; }

@media (min-width: 921px) and (max-width: 1120px) {
    .hero-grid-profile {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }
    .hero-grid-profile .hero-copy {
        max-width: 720px;
    }
    .hero-grid-profile .hero-copy h1 {
        max-width: 11.5ch;
        font-size: clamp(42px, 5.8vw, 62px);
        overflow-wrap: anywhere;
    }
    .profile-portrait-panel {
        width: min(100%, 430px);
        justify-self: center;
    }
}

@media (max-width: 920px) {
    .nav { flex-wrap: wrap; }
    .nav-links { order: 3; width: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
    .nav-actions { margin-left: auto; }
    .user-rail {
        position: relative;
        top: auto;
        left: auto;
        bottom: auto;
        width: auto;
        margin: 14px 18px 0;
        display: grid;
        grid-template-columns: minmax(180px, 1fr) 2fr;
        gap: 12px;
        border: 1px solid var(--line);
        border-radius: 8px;
        box-shadow: var(--shadow);
    }
    .user-rail nav { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); margin-top: 0; }
    body.has-user-rail main,
    body.has-user-rail .site-event-slider,
    body.has-user-rail .site-contact-cta,
    body.has-user-rail .footer { margin-left: 0; }
    .support-panel { top: 105px; }
    .hero-grid, .grid-2, .footer-grid, .auth-shell, .events-heading, .contact-choice-grid, .contact-details-card, .dashboard-shell { grid-template-columns: 1fr; }
    .grid, .impact-grid { grid-template-columns: 1fr 1fr; }
    .stats, .trust-strip, .faq-grid { grid-template-columns: 1fr 1fr; }
    .combined-learn-card { grid-template-columns: 1fr; }
    .combined-learn-card__panel + .combined-learn-card__panel {
        border-left: 0;
        border-top: 1px solid var(--line);
    }
    .owner-grid { grid-template-columns: 1fr; }
    .site-section-heading { grid-template-columns: 1fr; align-items: start; }
    .event-card-scroll { grid-auto-columns: minmax(320px, 88vw); }
    .event-card-scroll--single,
    .event-card-scroll--fade {
        display: block;
        overflow: visible;
        min-height: auto;
    }
    .event-card-scroll--fade .site-event-card,
    .event-card-scroll--single .site-event-card {
        position: relative;
        inset: auto;
        left: auto;
        width: 100%;
        transform: none;
    }
    .event-card-scroll--fade .site-event-card {
        display: none;
        opacity: 1;
        pointer-events: auto;
    }
    .event-card-scroll--fade .site-event-card.is-active { display: grid; transform: none; }
    .event-urgency { grid-template-columns: 1fr; }
    .certificate-preview-grid { grid-template-columns: 1fr; }
    .certificate-sample__meta { grid-template-columns: 1fr; }
    .certificate-sample__meta-item {
        padding: 10px 0;
        border-top: 1px solid rgba(184, 137, 34, 0.25);
    }
    .certificate-sample__meta-item:first-child { border-top: 0; padding-top: 0; }
    .certificate-sample__meta-item + .certificate-sample__meta-item::before { display: none; }
    .certificate-sample__footer { grid-template-columns: 1fr; gap: 20px; justify-items: center; }
    .certificate-sample__signatory { justify-items: center; text-align: center; }
    .site-contact-actions { justify-items: start; }
    .speaker-modal__panel {
        grid-template-columns: 1fr;
        max-height: calc(100vh - 44px);
        overflow: auto;
    }
    .speaker-modal__media {
        min-height: auto;
        max-height: 420px;
    }
    .speaker-carousel {
        grid-auto-columns: 340px;
        scroll-padding-inline: calc((100% - 340px) / 2);
        padding-inline: max(18px, calc((100% - 340px) / 2));
    }
    .speaker-card {
        min-height: 545px;
        grid-template-rows: 340px minmax(205px, auto);
    }
    .speaker-avatar {
        height: 340px;
    }
    .reel-showcase { min-height: 450px; }
    .reel-stage { height: 398px; }
    .reel-card { width: min(240px, 72vw); height: 360px; }
    .form-card { justify-self: stretch; max-width: none; }
    .cta-actions { text-align: left; }
}

@media (max-width: 640px) {
    .container { padding: 0 18px; }
    .section { padding: 54px 0; }
    .hero { padding: 42px 0 38px; }
    .grid, .stats, .trust-strip, .faq-grid, .impact-grid { grid-template-columns: 1fr; }
    .checkout-summary { grid-template-columns: 1fr; }
    .checkout-popup { padding: 24px; }
    .combined-learn-card__panel { padding: 22px; }
    .combined-learn-card__panel h2 { font-size: 30px; }
    .combined-learn-card__panel li {
        min-height: 40px;
        padding-block: 9px;
    }
    .site-header { position: sticky; }
    .brand-name small { font-size: 15px; }
    .brand-name strong { font-size: 24px; }
    .brand-name span { font-size: 9px; }
    .brand { gap: 9px; min-width: 0; }
    .brand img { width: 46px; height: 46px; }
    .brand {
        grid-column: 1;
        grid-row: 1;
    }
    .nav {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px 12px;
        padding: 10px 18px 12px;
    }
    .nav-links {
        grid-column: 1 / -1;
        grid-row: 2;
        order: initial;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
        overflow: visible;
        padding: 4px;
        background: rgba(255,255,255,.72);
        border: 1px solid var(--line);
        border-radius: 999px;
        box-shadow: 0 8px 20px rgba(7,58,102,.05);
    }
    .nav-links a {
        display: flex;
        justify-content: center;
        min-height: 38px;
        align-items: center;
        padding: 8px 10px;
        border: 0;
        border-radius: 999px;
        font-size: 14px;
    }
    .nav-links a:hover,
    .nav-links a.active {
        color: var(--blue);
        background: #fff;
        box-shadow: 0 8px 18px rgba(7,58,102,.08);
    }
    .nav-actions {
        grid-column: 2;
        grid-row: 1;
        width: auto;
        justify-content: flex-end;
        gap: 8px;
        margin-left: 0;
    }
    .nav-cta {
        min-height: 44px;
        padding: 9px 14px;
    }
    .support-launcher {
        width: 46px;
        height: 46px;
    }
    .nav > .btn { width: auto; }
    .hero-actions .btn, .hero-actions .link-arrow { width: 100%; }
    .event-organizer-logos__row { width: 100%; }
    .collab-logo {
        width: 100%;
        min-width: 0;
    }
    .brand-hero { grid-template-columns: 1fr; text-align: center; justify-items: center; padding-top: 32px; }
    .brand-hero-title small { font-size: 23px; }
    .timeline-row {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 16px;
    }
    .agenda-time {
        min-height: auto;
        grid-template-columns: 1fr auto 1fr;
        gap: 12px;
        padding: 14px;
    }
    .agenda-speaker-circle {
        width: 100px;
        height: 100px;
        margin: 0 auto;
    }
    .event-card-grid { grid-template-columns: 1fr; }
    .event-card { grid-template-columns: 1fr; }
    .event-card { border-radius: 18px; }
    .event-card-scroll {
        grid-auto-columns: calc(100vw - 36px);
        gap: 14px;
        padding-bottom: 14px;
    }
    .event-card-scroll--single,
    .event-card-scroll--fade {
        padding-bottom: 4px;
    }
    .site-event-card .event-card__body h2 { font-size: 26px; }
    .speaker-carousel {
        grid-auto-columns: calc(100vw - 42px);
        scroll-padding-inline: 21px;
        padding-inline: 21px;
        padding-bottom: 24px;
    }
    .speaker-card {
        min-height: 0;
        grid-template-rows: calc(100vw - 44px) auto;
    }
    .speaker-avatar {
        height: calc(100vw - 44px);
    }
    .speaker-card__body {
        padding: 15px 16px 14px;
    }
    .speaker-card h3 {
        font-size: 21px;
    }
    .speaker-nav {
        top: 42%;
        width: 42px;
        height: 42px;
        font-size: 28px;
    }
    .speaker-nav-prev { left: 0; }
    .speaker-nav-next { right: 0; }
    .speaker-modal { padding: 12px; }
    .speaker-modal__body { padding: 22px; }
    .contact-form-button { min-width: 0; width: 100%; }
    .event-card__media { min-height: 240px; padding: 28px; }
    .event-card__media img { max-width: 220px; }
    .event-card__body { padding: 18px; }
    .event-card__facts { grid-template-columns: 1fr; }
    .certificate-sample {
        aspect-ratio: 1.414 / 1;
        width: 100%;
    }
    .certificate-sample__body { padding: 32px 18px 28px; }
    .certificate-sample__header {
        flex-direction: column;
        gap: 10px;
    }
    .certificate-sample__header img {
        width: 72px;
        height: 72px;
    }
    .certificate-sample__title h3 {
        font-size: 42px;
        letter-spacing: .1em;
    }
    .certificate-sample__title span {
        font-size: 13px;
        letter-spacing: .14em;
    }
    .certificate-sample__details { font-size: 15px; }
    .certificate-sample__name-text { font-size: 36px; }
    .certificate-sample__signature-script { font-size: 30px; }
    .certificate-sample__seal { width: 72px; height: 72px; }
    .certificate-sample__frame { inset: 10px; }
    .owner-card { grid-template-columns: 1fr; text-align: center; justify-items: center; }
    .dashboard-stats { grid-template-columns: 1fr; }
    .reel-showcase { min-height: 410px; }
    .reel-stage { height: 360px; }
    .reel-card { width: min(210px, 74vw); height: 326px; border-radius: 22px; }
    .reel-card[data-reel-offset="-1"] { transform: translateX(calc(-50% - 185px)) scale(.78); }
    .reel-card[data-reel-offset="1"] { transform: translateX(calc(-50% + 185px)) scale(.78); }
    .reel-card[data-reel-offset="-2"] { transform: translateX(calc(-50% - 330px)) scale(.62); }
    .reel-card[data-reel-offset="2"] { transform: translateX(calc(-50% + 330px)) scale(.62); }
    .reel-card[data-reel-offset="-3"] { transform: translateX(calc(-50% - 460px)) scale(.52); }
    .reel-card[data-reel-offset="3"] { transform: translateX(calc(-50% + 460px)) scale(.52); }
    .reel-play { width: 54px; height: 54px; }
    .reel-nav { width: 44px; height: 44px; font-size: 28px; }
    .reel-nav-prev { left: 6px; }
    .reel-nav-next { right: 6px; }
    .reel-modal { padding: 12px; }
    .reel-modal__panel {
        width: min(94vw, calc((100dvh - 28px) * 9 / 16));
    }
    .reel-modal__close {
        top: -10px;
        right: -10px;
        width: 42px;
        height: 42px;
    }
    .section-nav { top: 0; }
    .section-nav .container {
        justify-content: flex-start;
        padding-inline: 18px;
        scroll-padding-inline: 18px;
    }
    .section-nav a {
        min-width: 82px;
        min-height: 38px;
        padding-inline: 14px;
    }
    .sticky-register .container {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 10px;
        padding: 10px 18px;
    }
    .sticky-register__countdown {
        display: grid;
        gap: 10px;
        justify-items: center;
        padding: 0;
    }
    .sticky-register__message {
        min-width: 0;
        text-align: center;
    }
    .sticky-register__message span {
        font-size: 13px;
    }
    .sticky-register__timer {
        width: 100%;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }
    .sticky-register__timer div {
        min-width: 0;
    }
    .sticky-register__timer strong {
        --flip-tile-height: 58px;
        width: 100%;
        min-height: var(--flip-tile-height);
        font-size: 34px;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.95),
            inset 0 -1px 0 rgba(7,58,102,.08),
            0 6px 0 rgba(7,58,102,.08),
            0 13px 18px rgba(7,58,102,.09);
    }
    .sticky-register__timer span {
        font-size: 10px;
    }
    .sticky-register .link-arrow-primary {
        width: 100%;
        min-width: 0;
    }
    .user-rail {
        margin: 12px 12px 0;
        padding: 12px;
        grid-template-columns: 1fr;
    }
    .user-rail nav { grid-template-columns: 1fr; }
    .support-panel {
        inset: 0;
        width: 100vw;
        height: 100vh;
        border-radius: 0;
        grid-template-columns: 1fr;
        transform: translateX(100%);
    }
    .support-form { grid-template-columns: 1fr; }
    body.support-open .sticky-register {
        z-index: 120;
    }
}
