/* BNS Message page */

.bns-message-page {
    --msg-coral: #ff5544;
    --msg-navy: #0a1d37;
    --msg-ink: #334155;
    --msg-muted: #64748b;
    --msg-line: rgba(15, 23, 42, 0.1);
    --msg-s1: #ff5544;
    --msg-s2: #ea580c;
    --msg-s3: #d97706;
    --msg-s4: #2563eb;
    --msg-s5: #7c3aed;
    --msg-s6: #db2777;
    --msg-s7: #333d61;
    --msg-s8: #0f766e;
    --msg-s9: #0e7490;
    --msg-s10: #4338ca;
    background:
        radial-gradient(ellipse 80% 50% at 10% -10%, rgba(255, 85, 68, 0.08), transparent 55%),
        radial-gradient(ellipse 70% 45% at 100% 0%, rgba(51, 61, 97, 0.08), transparent 50%),
        linear-gradient(180deg, #f7f9fc 0%, #eef2f7 100%);
}

.bns-message-content {
    padding: 56px 0 110px;
}

.bns-message-intro {
    max-width: 760px;
    margin: 0 auto 40px;
    text-align: center;
}

.bns-message-intro__label {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(255, 85, 68, 0.12);
    color: var(--msg-coral);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.bns-message-intro h2 {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: clamp(1.55rem, 3.2vw, 2.15rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.bns-message-intro p {
    margin: 0;
    color: var(--msg-muted);
    font-size: 1.02rem;
    line-height: 1.75;
}

.bns-message-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-width: 1100px;
    margin: 0 auto 52px;
}

.bns-message-overview__card {
    --stage-accent: var(--msg-coral);
    --stage-soft: rgba(255, 85, 68, 0.12);
    --stage-glow: rgba(255, 85, 68, 0.28);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 188px;
    padding: 18px 18px 16px;
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
    text-decoration: none !important;
    overflow: hidden;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.bns-message-overview__card::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 4px;
    background: var(--stage-accent);
}

.bns-message-overview__card:hover {
    transform: translateY(-4px);
    border-color: rgba(15, 23, 42, 0.14);
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.12);
}

.bns-message-overview__card--s1 { --stage-accent: var(--msg-s1); --stage-soft: rgba(255, 85, 68, 0.12); --stage-glow: rgba(255, 85, 68, 0.28); }
.bns-message-overview__card--s2 { --stage-accent: var(--msg-s2); --stage-soft: rgba(234, 88, 12, 0.12); --stage-glow: rgba(234, 88, 12, 0.28); }
.bns-message-overview__card--s3 { --stage-accent: var(--msg-s3); --stage-soft: rgba(217, 119, 6, 0.14); --stage-glow: rgba(217, 119, 6, 0.28); }
.bns-message-overview__card--s4 { --stage-accent: var(--msg-s4); --stage-soft: rgba(37, 99, 235, 0.12); --stage-glow: rgba(37, 99, 235, 0.28); }
.bns-message-overview__card--s5 { --stage-accent: var(--msg-s5); --stage-soft: rgba(124, 58, 237, 0.12); --stage-glow: rgba(124, 58, 237, 0.28); }
.bns-message-overview__card--s6 { --stage-accent: var(--msg-s6); --stage-soft: rgba(219, 39, 119, 0.12); --stage-glow: rgba(219, 39, 119, 0.28); }
.bns-message-overview__card--s7 { --stage-accent: var(--msg-s7); --stage-soft: rgba(51, 61, 97, 0.12); --stage-glow: rgba(51, 61, 97, 0.28); }
.bns-message-overview__card--s8 { --stage-accent: var(--msg-s8); --stage-soft: rgba(15, 118, 110, 0.12); --stage-glow: rgba(15, 118, 110, 0.28); }
.bns-message-overview__card--s9 { --stage-accent: var(--msg-s9); --stage-soft: rgba(14, 116, 144, 0.12); --stage-glow: rgba(14, 116, 144, 0.28); }
.bns-message-overview__card--s10 { --stage-accent: var(--msg-s10); --stage-soft: rgba(67, 56, 202, 0.12); --stage-glow: rgba(67, 56, 202, 0.28); }

.bns-message-overview__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.bns-message-overview__stage {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--stage-soft);
    color: var(--stage-accent);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.bns-message-overview__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    color: #fff;
    font-size: 1.05rem;
    background: var(--stage-accent);
    box-shadow: 0 10px 18px var(--stage-glow);
}

.bns-message-overview__copy {
    display: grid;
    gap: 6px;
    flex: 1;
}

.bns-message-overview__eyebrow {
    display: block;
    color: var(--msg-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.bns-message-overview__copy strong {
    display: block;
    color: var(--msg-navy);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.bns-message-overview__count {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    margin-top: 4px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    color: var(--msg-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.bns-message-overview__count i {
    color: var(--stage-accent);
    font-size: 0.72rem;
}

.bns-message-overview__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px dashed rgba(15, 23, 42, 0.1);
    color: var(--msg-muted);
    font-size: 0.8rem;
    font-weight: 700;
}

.bns-message-overview__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: #f8fafc;
    color: var(--stage-accent);
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.bns-message-overview__card:hover .bns-message-overview__footer {
    color: var(--msg-navy);
}

.bns-message-overview__card:hover .bns-message-overview__arrow {
    background: var(--stage-accent);
    color: #fff;
    transform: translateX(2px);
}

.bns-message-section {
    max-width: 1100px;
    margin: 0 auto 36px;
    padding: 28px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--msg-line);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
    position: relative;
    overflow: hidden;
}

.bns-message-section::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
}

.bns-message-section--s1::before { background: var(--msg-s1); }
.bns-message-section--s2::before { background: var(--msg-s2); }
.bns-message-section--s3::before { background: var(--msg-s3); }
.bns-message-section--s4::before { background: var(--msg-s4); }
.bns-message-section--s5::before { background: var(--msg-s5); }
.bns-message-section--s6::before { background: var(--msg-s6); }
.bns-message-section--s7::before { background: var(--msg-s7); }
.bns-message-section--s8::before { background: var(--msg-s8); }
.bns-message-section--s9::before { background: var(--msg-s9); }
.bns-message-section--s10::before { background: var(--msg-s10); }

.bns-message-section__head {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 16px;
    align-items: center;
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-message-section__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    color: #fff;
    font-size: 1.1rem;
}

.bns-message-section--s1 .bns-message-section__badge { background: linear-gradient(145deg, #ff6b5b, #e84a3a); }
.bns-message-section--s2 .bns-message-section__badge { background: linear-gradient(145deg, #fb923c, #ea580c); }
.bns-message-section--s3 .bns-message-section__badge { background: linear-gradient(145deg, #fbbf24, #d97706); }
.bns-message-section--s4 .bns-message-section__badge { background: linear-gradient(145deg, #60a5fa, #2563eb); }
.bns-message-section--s5 .bns-message-section__badge { background: linear-gradient(145deg, #a78bfa, #7c3aed); }
.bns-message-section--s6 .bns-message-section__badge { background: linear-gradient(145deg, #f472b6, #db2777); }
.bns-message-section--s7 .bns-message-section__badge { background: linear-gradient(145deg, #465380, #333d61); }
.bns-message-section--s8 .bns-message-section__badge { background: linear-gradient(145deg, #14b8a6, #0f766e); }
.bns-message-section--s9 .bns-message-section__badge { background: linear-gradient(145deg, #22d3ee, #0e7490); }
.bns-message-section--s10 .bns-message-section__badge { background: linear-gradient(145deg, #818cf8, #4338ca); }

.bns-message-section__eyebrow {
    display: inline-block;
    margin-bottom: 4px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.bns-message-section--s1 .bns-message-section__eyebrow { color: var(--msg-s1); }
.bns-message-section--s2 .bns-message-section__eyebrow { color: var(--msg-s2); }
.bns-message-section--s3 .bns-message-section__eyebrow { color: var(--msg-s3); }
.bns-message-section--s4 .bns-message-section__eyebrow { color: var(--msg-s4); }
.bns-message-section--s5 .bns-message-section__eyebrow { color: var(--msg-s5); }
.bns-message-section--s6 .bns-message-section__eyebrow { color: var(--msg-s6); }
.bns-message-section--s7 .bns-message-section__eyebrow { color: var(--msg-s7); }
.bns-message-section--s8 .bns-message-section__eyebrow { color: var(--msg-s8); }
.bns-message-section--s9 .bns-message-section__eyebrow { color: var(--msg-s9); }
.bns-message-section--s10 .bns-message-section__eyebrow { color: var(--msg-s10); }

.bns-message-section__head h3 {
    margin: 0 0 6px;
    color: var(--msg-navy);
    font-size: clamp(1.25rem, 2.4vw, 1.65rem);
    font-weight: 800;
    letter-spacing: -0.01em;
}

.bns-message-section__head p {
    margin: 0;
    max-width: 620px;
    color: var(--msg-muted);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-message-section__meta {
    display: grid;
    justify-items: center;
    min-width: 78px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-message-section__meta span {
    display: block;
    color: var(--msg-navy);
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.1;
}

.bns-message-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-message-card {
    appearance: none;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    text-align: left;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.03);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.bns-message-card:hover,
.bns-message-card:focus {
    outline: none;
    transform: translateY(-2px);
    border-color: rgba(255, 85, 68, 0.28);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.bns-message-section--s4 .bns-message-card:hover,
.bns-message-section--s4 .bns-message-card:focus { border-color: rgba(37, 99, 235, 0.35); }
.bns-message-section--s5 .bns-message-card:hover,
.bns-message-section--s5 .bns-message-card:focus { border-color: rgba(124, 58, 237, 0.35); }
.bns-message-section--s7 .bns-message-card:hover,
.bns-message-section--s7 .bns-message-card:focus { border-color: rgba(51, 61, 97, 0.35); }
.bns-message-section--s8 .bns-message-card:hover,
.bns-message-section--s8 .bns-message-card:focus { border-color: rgba(15, 118, 110, 0.35); }
.bns-message-section--s9 .bns-message-card:hover,
.bns-message-section--s9 .bns-message-card:focus { border-color: rgba(14, 116, 144, 0.35); }
.bns-message-section--s10 .bns-message-card:hover,
.bns-message-section--s10 .bns-message-card:focus { border-color: rgba(67, 56, 202, 0.35); }

.bns-message-card__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}

.bns-message-section--s1 .bns-message-card__num { color: var(--msg-s1); background: rgba(255, 85, 68, 0.08); }
.bns-message-section--s2 .bns-message-card__num { color: var(--msg-s2); background: rgba(234, 88, 12, 0.1); }
.bns-message-section--s3 .bns-message-card__num { color: var(--msg-s3); background: rgba(217, 119, 6, 0.1); }
.bns-message-section--s4 .bns-message-card__num { color: var(--msg-s4); background: rgba(37, 99, 235, 0.1); }
.bns-message-section--s5 .bns-message-card__num { color: var(--msg-s5); background: rgba(124, 58, 237, 0.1); }
.bns-message-section--s6 .bns-message-card__num { color: var(--msg-s6); background: rgba(219, 39, 119, 0.1); }
.bns-message-section--s7 .bns-message-card__num { color: var(--msg-s7); background: rgba(51, 61, 97, 0.08); }
.bns-message-section--s8 .bns-message-card__num { color: var(--msg-s8); background: rgba(15, 118, 110, 0.1); }
.bns-message-section--s9 .bns-message-card__num { color: var(--msg-s9); background: rgba(14, 116, 144, 0.1); }
.bns-message-section--s10 .bns-message-card__num { color: var(--msg-s10); background: rgba(67, 56, 202, 0.1); }

.bns-message-card__body {
    min-width: 0;
}

.bns-message-card__title {
    display: block;
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.bns-message-card__hint {
    display: block;
    margin-top: 4px;
    color: #94a3b8;
    font-size: 0.78rem;
    font-weight: 600;
}

.bns-message-card__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    flex-shrink: 0;
}

.bns-message-card--promo {
    border-color: rgba(255, 85, 68, 0.28);
    background:
        linear-gradient(135deg, rgba(255, 85, 68, 0.07), transparent 45%),
        #fff;
    box-shadow: 0 14px 28px rgba(255, 85, 68, 0.08);
}

.bns-message-card__promo-tag {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(255, 85, 68, 0.12);
    color: var(--msg-coral);
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.bns-message-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    color: #94a3b8;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.bns-message-card:hover .bns-message-card__action {
    color: #fff;
    border-color: transparent;
    background: var(--msg-coral);
}

.bns-message-section--s4 .bns-message-card:hover .bns-message-card__action { background: var(--msg-s4); }
.bns-message-section--s5 .bns-message-card:hover .bns-message-card__action { background: var(--msg-s5); }
.bns-message-section--s7 .bns-message-card:hover .bns-message-card__action { background: var(--msg-s7); }
.bns-message-section--s8 .bns-message-card:hover .bns-message-card__action { background: var(--msg-s8); }
.bns-message-section--s9 .bns-message-card:hover .bns-message-card__action { background: var(--msg-s9); }
.bns-message-section--s10 .bns-message-card:hover .bns-message-card__action { background: var(--msg-s10); }

.bns-message-grid__empty {
    grid-column: 1 / -1;
    margin: 8px 0 0;
    text-align: center;
    color: var(--msg-muted);
}

.bns-message-modal {
    z-index: 1080;
}

/* Stack badge + icon vertically in every rich modal hero */
.bns-message-modal [class$="__hero"] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.bns-message-modal [class$="__hero-badge"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
}

.bns-message-modal [class$="__hero-icon"],
.bns-message-modal [class$="__hero"] > [class$="__icon"] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bns-message-modal [class$="__hero"] > [class$="__hero-stats"],
.bns-message-modal [class$="__hero"] > [class$="__chips"],
.bns-message-modal [class$="__hero"] > [class$="__hero-meta"],
.bns-message-modal [class$="__hero"] > [class$="__motto"],
.bns-message-modal [class$="__hero"] > [class*="__cta"],
.bns-message-modal [class$="__hero"] > [class*="__actions"],
.bns-message-modal [class$="__hero"] > [class*="__btns"] {
    align-self: stretch;
    width: 100%;
}

.bns-message-modal [class$="__hero"] > h3,
.bns-message-modal [class$="__hero"] > p,
.bns-message-modal [class$="__hero"] > strong,
.bns-message-modal [class$="__hero"] > em {
    max-width: 100%;
}

.bns-message-modal .modal-dialog {
    max-width: 720px;
}

.bns-message-modal .modal-dialog.modal-xl {
    max-width: 920px;
}

.bns-message-modal__panel {
    padding: 22px 22px 24px;
    position: relative;
}

.bns-message-modal__nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 16px;
}

.bns-message-modal__nav {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
    color: var(--msg-navy);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.bns-message-modal__nav:hover:not(:disabled) {
    background: var(--msg-coral);
    border-color: transparent;
    color: #fff;
    transform: translateY(-1px);
}

.bns-message-modal__nav:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.bns-message-modal__counter {
    min-width: 72px;
    text-align: center;
    color: var(--msg-muted);
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.bns-message-modal__image {
    margin: 0 0 18px;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-message-modal__image img {
    display: block;
    width: 100%;
    height: auto;
}

.bns-message-modal__sheet {
    padding: 18px 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-message-modal__body p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 1rem;
    line-height: 1.75;
}

.bns-message-modal__body p:last-child {
    margin-bottom: 0;
}

/* Dark navy chips/pills must stay white — ignore global strong color rules */
.bns-message-modal :is(
    .bns-promo__tag,
    .bns-about__motto-item,
    .bns-about__motto-item strong,
    .bns-vision-msg__motto-item,
    .bns-vision-msg__motto-item strong,
    .bns-pitch__brand,
    .bns-reels__brand,
    .bns-journey__footer strong,
    .bns-benefits__footer strong,
    .bns-highlights__footer strong,
    .bns-bring__brand,
    .bns-countdown__motto span,
    .bns-confirm__motto span,
    .bns-thanks__motto span,
    .bns-savedate__brand,
    .bns-calreminder__motto span,
    .bns-wachannel__motto span,
    .bns-venue-msg__footer strong,
    .bns-dress__thanks,
    .bns-bizcard__brand,
    .bns-reporting__thanks,
    .bns-reporting__seats,
    .bns-reporting__seats strong,
    .bns-surprise__punch,
    .bns-surprise__rsvp-btn,
    .bns-tomorrow__rsvp-btn,
    .bns-tomorrow__seats,
    .bns-tomorrow__seats strong,
    .bns-tomorrow__final > em,
    .bns-checklist__rsvp-btn,
    .bns-checklist__final > em,
    .bns-countdown__hl-cta,
    .bns-today__rsvp-btn,
    .bns-today__seats,
    .bns-today__seats strong,
    .bns-today__final > em,
    .bns-reminder__rsvp-btn,
    .bns-reminder__seats,
    .bns-reminder__seats strong,
    .bns-reminder__final > em,
    .bns-welcome__journey,
    .bns-welcome__closing,
    .bns-venuegps__seats,
    .bns-venuegps__seats strong,
    .bns-venuegps__report-time,
    .bns-venuegps__final > em,
    .bns-welcomereg__duration,
    .bns-welcomereg__thanks,
    .bns-attendance-msg__hero-badge,
    .bns-attendance-msg__closing,
    .bns-attendance-msg__cta,
    .bns-instructions__hero-badge,
    .bns-instructions__thanks,
    .bns-instructions__connect-btn,
    .bns-admitcounter__hero-badge,
    .bns-admitcounter__open,
    .bns-admitcounter__basis,
    .bns-admitcounter__thanks,
    .bns-admitcounter__connect-btn,
    .bns-scholarship__hero-badge,
    .bns-scholarship__thanks,
    .bns-scholarship__pay,
    .bns-scholarship__benefit,
    .bns-usefullinks__hero-badge,
    .bns-usefullinks__map,
    .bns-usefullinks__social,
    .bns-semthanks__hero-badge,
    .bns-semthanks__again,
    .bns-semthanks__connect-btn,
    .bns-photogallery__hero-badge,
    .bns-photogallery__thanks,
    .bns-photogallery__cta,
    .bns-introsession__hero-badge,
    .bns-introsession__thanks,
    .bns-introsession__cta,
    .bns-syllabus-msg__hero-badge,
    .bns-syllabus-msg__cta,
    .bns-admitreminder__hero-badge,
    .bns-admitreminder__urgency,
    .bns-admitreminder__btn,
    .bns-admitreminder__bot,
    .bns-paynow__hero-badge,
    .bns-paynow__cta,
    .bns-paynow__bot,
    .bns-paynow__family,
    .bns-paynow__urgency,
    .bns-firstbatch__hero-badge,
    .bns-firstbatch__family,
    .bns-faq-msg__hero-badge,
    .bns-faq-msg__bot,
    .bns-faq-msg__num,
    .bns-bnsfamily__hero-badge,
    .bns-bnsfamily__congrats,
    .bns-bnsfamily__family,
    .bns-bnsfamily__connect-btn,
    .bns-founderwelcome__hero-badge,
    .bns-founderwelcome__formula
) {
    color: #fff !important;
}

.bns-message-modal__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px dashed rgba(15, 23, 42, 0.12);
}

.bns-message-modal__link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 13px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    color: var(--msg-navy) !important;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.bns-message-modal__link:hover {
    border-color: rgba(255, 85, 68, 0.35);
    background: rgba(255, 85, 68, 0.08);
    color: var(--msg-coral) !important;
}

.bns-message-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.bns-message-modal__copy,
.bns-message-modal__send,
.bns-message-modal__mail,
.bns-message-modal__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 11px 18px;
    border-radius: 12px;
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none !important;
}

.bns-message-modal__copy {
    border: 1px solid rgba(15, 23, 42, 0.14);
    background: #fff;
    color: var(--msg-navy);
}

.bns-message-modal__copy:hover {
    background: #f8fafc;
}

.bns-message-modal__send {
    border: 0;
    background: #25d366;
    color: #fff !important;
    box-shadow: 0 10px 20px rgba(37, 211, 102, 0.25);
}

.bns-message-modal__send:hover {
    background: #1ebe57;
    color: #fff !important;
}

.bns-message-modal__mail {
    border: 0;
    background: #1d4ed8;
    color: #fff !important;
    box-shadow: 0 10px 20px rgba(29, 78, 216, 0.25);
}

.bns-message-modal__mail:hover {
    background: #1e40af;
    color: #fff !important;
}

/* Stack above .bns-vision-modal (z-index: 100050) so email form is in front */
.bns-message-mail-modal {
    z-index: 100070 !important;
}

.modal-backdrop.bns-message-mail-backdrop {
    z-index: 100060 !important;
}

.bns-message-mail-modal .modal-content {
    border: 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.bns-message-mail-modal__header {
    align-items: flex-start;
    border-bottom: 1px solid #eef2f7;
    background: #fff;
    padding: 18px 20px;
}

.bns-message-mail-modal__eyebrow {
    display: block;
    margin-bottom: 4px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.bns-message-mail-modal__header .modal-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 800;
    color: #0a1d37;
}

.bns-message-mail-modal__hint {
    margin: 0 0 14px;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #64748b;
}

.bns-message-mail-modal__label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #0a1d37;
}

.bns-message-mail-modal__input {
    min-height: 48px;
    border-radius: 12px;
    border-color: #dbe3ef;
    font-size: 0.95rem;
}

.bns-message-mail-modal__input:focus {
    border-color: #1d4ed8;
    box-shadow: 0 0 0 0.2rem rgba(29, 78, 216, 0.15);
}

.bns-message-mail-modal__error {
    margin: 10px 0 0;
    font-size: 0.86rem;
    font-weight: 600;
    color: #dc2626;
}

.bns-message-mail-modal__success {
    margin: 10px 0 0;
    font-size: 0.86rem;
    font-weight: 600;
    color: #15803d;
}

.bns-message-mail-modal__footer {
    gap: 10px;
    border-top: 1px solid #eef2f7;
    padding: 14px 20px 18px;
}

.bns-message-mail-modal__cancel,
.bns-message-mail-modal__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 12px;
    font-size: 0.92rem;
    font-weight: 700;
}

.bns-message-mail-modal__cancel {
    border: 1px solid rgba(15, 23, 42, 0.14);
    background: #fff;
    color: #0a1d37;
}

.bns-message-mail-modal__submit {
    border: 0;
    background: #1d4ed8;
    color: #fff !important;
}

.bns-message-mail-modal__submit:hover {
    background: #1e40af;
    color: #fff !important;
}

.bns-message-mail-modal__submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.bns-message-modal__cta {
    border: 0;
    background: linear-gradient(135deg, #ff6b5b, #e84a3a);
    color: #fff !important;
    box-shadow: 0 10px 20px rgba(255, 85, 68, 0.25);
}

.bns-message-modal__cta:hover {
    background: linear-gradient(135deg, #e84a3a, #d63f30);
    color: #fff !important;
}

@media (max-width: 991px) {
    .bns-message-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bns-message-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .bns-message-overview {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .bns-message-content {
        padding: 40px 0 130px;
    }

    .bns-message-section {
        padding: 20px 16px 18px;
        margin-bottom: 24px;
        border-radius: 18px;
    }

    .bns-message-section__head {
        grid-template-columns: auto 1fr;
        gap: 12px;
    }

    .bns-message-section__meta {
        grid-column: 1 / -1;
        justify-self: start;
        grid-auto-flow: column;
        grid-template-columns: auto auto;
        align-items: center;
        gap: 8px;
        min-width: 0;
        padding: 8px 12px;
    }

    .bns-message-section__meta span {
        font-size: 1.05rem;
    }

    .bns-message-card {
        padding: 14px;
        gap: 12px;
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .bns-message-card__title {
        font-size: 0.94rem;
    }

    .bns-message-card__meta {
        gap: 6px;
    }

    .bns-message-card__promo-tag {
        font-size: 0.6rem;
        padding: 4px 7px;
    }

    .bns-message-modal__actions {
        flex-direction: column;
    }

    .bns-message-modal__copy,
    .bns-message-modal__send,
    .bns-message-modal__mail,
    .bns-message-modal__cta {
        width: 100%;
    }

    .bns-promo__sessions {
        grid-template-columns: 1fr;
    }

    .bns-promo__actions-row {
        grid-template-columns: 1fr;
    }

    .bns-promo__journeys {
        grid-template-columns: 1fr;
    }
}

/* ── First Promotional Message rich layout ── */
.bns-message-modal__sheet--promo {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-promo {
    display: grid;
    gap: 14px;
}

.bns-promo > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-promo > *:nth-child(1) { animation-delay: 0.02s; }
.bns-promo > *:nth-child(2) { animation-delay: 0.06s; }
.bns-promo > *:nth-child(3) { animation-delay: 0.1s; }
.bns-promo > *:nth-child(4) { animation-delay: 0.14s; }
.bns-promo > *:nth-child(5) { animation-delay: 0.18s; }
.bns-promo > *:nth-child(6) { animation-delay: 0.22s; }
.bns-promo > *:nth-child(7) { animation-delay: 0.26s; }
.bns-promo > *:nth-child(8) { animation-delay: 0.3s; }

@keyframes bnsPromoIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.bns-promo__hero {
    position: relative;
    padding: 26px 22px 22px;
    border-radius: 20px;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 12%, rgba(255, 85, 68, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(255, 255, 255, 0.12), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #333d61 52%, #1e293b 100%);
    color: #fff;
    text-align: center;
}

.bns-promo__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff6b5b, #ff5544);
    box-shadow: 0 10px 22px rgba(255, 85, 68, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-promo__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.25rem, 2.6vw, 1.7rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-promo__hero-sub {
    margin: 0 0 16px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.92rem;
    font-weight: 600;
}

.bns-promo__hero-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-promo__hero-stats span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.78rem;
    font-weight: 700;
}

.bns-promo__hero-stats i {
    color: #ffb4ab;
}

.bns-promo__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-promo__card--intro {
    background:
        linear-gradient(180deg, rgba(255, 85, 68, 0.03), transparent 40%),
        #fff;
}

.bns-promo__card p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.98rem;
    line-height: 1.7;
}

.bns-promo__card p:last-child {
    margin-bottom: 0;
}

.bns-promo__greeting {
    font-size: 1.08rem !important;
    color: var(--msg-navy) !important;
}

.bns-promo__opportunity {
    color: var(--msg-navy) !important;
    font-weight: 650;
}

.bns-promo__alert {
    margin: 14px 0;
    padding: 14px 16px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 85, 68, 0.12), rgba(255, 85, 68, 0.04));
    border: 1px solid rgba(255, 85, 68, 0.22);
}

.bns-promo__alert strong {
    display: block;
    margin-bottom: 6px;
    color: var(--msg-coral);
    font-size: 0.95rem;
}

.bns-promo__alert p {
    margin: 0;
    color: var(--msg-navy);
    font-weight: 600;
}

.bns-promo__card-title {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-promo__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(255, 85, 68, 0.35);
}

.bns-promo__journeys {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-promo__journey {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
    color: var(--msg-ink);
    font-size: 0.88rem;
    line-height: 1.45;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.bns-promo__journey:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 85, 68, 0.25);
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.06);
}

.bns-promo__journey-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.06);
    font-size: 1.05rem;
    line-height: 1;
}

.bns-promo__journey-label {
    display: block;
    margin-bottom: 2px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.bns-promo__journey strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
}

.bns-promo__actions-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-promo__action {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    min-height: 64px;
    padding: 14px 16px;
    border-radius: 16px;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none !important;
    text-align: left;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bns-promo__action i {
    font-size: 1.25rem;
}

.bns-promo__action span {
    display: grid;
    gap: 2px;
    line-height: 1.25;
}

.bns-promo__action em {
    font-style: normal;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-promo__action:hover {
    transform: translateY(-2px);
}

.bns-promo__action--reel {
    background: linear-gradient(135deg, #f58529, #dd2a7b 50%, #8134af);
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(221, 42, 123, 0.28);
}

.bns-promo__action--register {
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(22, 163, 74, 0.28);
}

.bns-promo__card--sessions {
    background:
        linear-gradient(180deg, rgba(10, 29, 55, 0.03), transparent 35%),
        #fff;
}

.bns-promo__sessions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-promo__session {
    position: relative;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    overflow: hidden;
}

.bns-promo__session--1 {
    border-color: rgba(255, 85, 68, 0.28);
    background: linear-gradient(180deg, rgba(255, 85, 68, 0.1), #fff 55%);
}

.bns-promo__session--2 {
    border-color: rgba(37, 99, 235, 0.28);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.1), #fff 55%);
}

.bns-promo__session-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.bns-promo__session-emoji {
    display: inline-flex;
    font-size: 1.35rem;
}

.bns-promo__session-chip {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--msg-navy);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.bns-promo__session--1 .bns-promo__session-chip {
    background: rgba(255, 85, 68, 0.14);
    color: #c2410c;
}

.bns-promo__session--2 .bns-promo__session-chip {
    background: rgba(37, 99, 235, 0.14);
    color: #1d4ed8;
}

.bns-promo__session h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1.08rem;
    font-weight: 800;
}

.bns-promo__session-date,
.bns-promo__session-time {
    margin: 0 0 8px;
    color: var(--msg-ink);
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.45;
}

.bns-promo__session-date:last-child,
.bns-promo__session-time:last-child {
    margin-bottom: 0;
}

.bns-promo__session-date i,
.bns-promo__session-time i {
    width: 16px;
    color: var(--msg-coral);
}

.bns-promo__session--2 .bns-promo__session-date i,
.bns-promo__session--2 .bns-promo__session-time i {
    color: #2563eb;
}

.bns-promo__venue-title {
    display: block;
    margin-bottom: 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.5;
}

.bns-promo__venue-lines {
    margin: 0 0 14px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-promo__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-promo__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-promo__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-promo__partner {
    padding: 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-promo__partner span {
    display: block;
    margin-bottom: 4px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-promo__partner strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    line-height: 1.45;
}

.bns-promo__website {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 12px;
    background: #fff;
    border: 1px dashed rgba(15, 23, 42, 0.16);
    color: var(--msg-navy) !important;
    font-weight: 700;
    text-decoration: none !important;
}

.bns-promo__footer {
    padding: 18px;
    border-radius: 16px;
    background:
        radial-gradient(circle at 80% 20%, rgba(255, 85, 68, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
    text-align: center;
}

.bns-promo__pill {
    display: inline-block;
    margin-bottom: 12px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 85, 68, 0.12);
    color: var(--msg-coral);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.03em;
}

.bns-promo__footer p {
    margin: 0 0 14px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-promo__tagline {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-promo__tagline span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

@media (max-width: 767px) {
    .bns-promo__partners,
    .bns-promo__sessions,
    .bns-promo__actions-row,
    .bns-promo__journeys {
        grid-template-columns: 1fr;
    }

    .bns-promo__hero-stats {
        gap: 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-promo > * {
        animation: none;
    }
}

/* ── About BNS rich layout ── */
.bns-message-modal__sheet--about {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-about {
    display: grid;
    gap: 14px;
}

.bns-about > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-about > *:nth-child(1) { animation-delay: 0.02s; }
.bns-about > *:nth-child(2) { animation-delay: 0.06s; }
.bns-about > *:nth-child(3) { animation-delay: 0.1s; }
.bns-about > *:nth-child(4) { animation-delay: 0.14s; }
.bns-about > *:nth-child(5) { animation-delay: 0.18s; }
.bns-about > *:nth-child(6) { animation-delay: 0.22s; }
.bns-about > *:nth-child(7) { animation-delay: 0.26s; }
.bns-about > *:nth-child(8) { animation-delay: 0.3s; }

.bns-about__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 85% 15%, rgba(253, 110, 1, 0.28), transparent 42%),
        radial-gradient(circle at 10% 90%, rgba(255, 255, 255, 0.1), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 50%, #0d2944 100%);
}

.bns-about__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fd8a2e, #fd6e01);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-about__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.25rem, 2.6vw, 1.7rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-about__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    font-weight: 650;
}

.bns-about__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-about__card p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.98rem;
    line-height: 1.7;
}

.bns-about__card p:last-child {
    margin-bottom: 0;
}

.bns-about__focus {
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(253, 110, 1, 0.08);
    border: 1px solid rgba(253, 110, 1, 0.18);
    color: var(--msg-navy) !important;
    font-weight: 650;
}

.bns-about__card-title {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-about__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(253, 110, 1, 0.4);
}

.bns-about__points {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-about__points--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bns-about__point {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.45;
}

.bns-about__point-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
    font-size: 0.65rem;
    margin-top: 1px;
}

.bns-about__card--audience {
    background:
        linear-gradient(180deg, rgba(37, 99, 235, 0.04), transparent 40%),
        #fff;
}

.bns-about__audiences {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-about__audience {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(37, 99, 235, 0.14);
    color: var(--msg-navy);
    font-size: 0.9rem;
}

.bns-about__audience-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #2563eb;
    flex-shrink: 0;
}

.bns-about__mission-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-about__mission-card {
    padding: 18px;
    border-radius: 16px;
    color: #fff;
}

.bns-about__mission-card span {
    display: inline-block;
    margin-bottom: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-about__mission-card h4 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 800;
}

.bns-about__mission-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.9rem;
    line-height: 1.65;
}

.bns-about__mission-card--mission {
    background: linear-gradient(145deg, #0a1d37, #1e3a5f);
}

.bns-about__mission-card--vision {
    background: linear-gradient(145deg, #fd6e01, #c2410c);
}

.bns-about__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(253, 110, 1, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-about__footer h4 {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-about__motto {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-about__motto-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 12px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-about__motto-item strong {
    color: #fff;
    font-weight: 700;
}

.bns-about__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-about__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 12px 16px;
    border-radius: 14px;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bns-about__action:hover {
    transform: translateY(-2px);
}

.bns-about__action--about {
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(10, 29, 55, 0.25);
}

.bns-about__action--web {
    background: linear-gradient(135deg, #fd8a2e, #fd6e01);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(253, 110, 1, 0.28);
}

@media (max-width: 767px) {
    .bns-about__points--two,
    .bns-about__audiences,
    .bns-about__mission-grid,
    .bns-about__motto,
    .bns-about__actions {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-about > * {
        animation: none;
    }
}

/* ── Vision & Mission rich layout ── */
.bns-message-modal__sheet--vision {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-vision-msg {
    display: grid;
    gap: 14px;
}

.bns-vision-msg > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-vision-msg > *:nth-child(1) { animation-delay: 0.02s; }
.bns-vision-msg > *:nth-child(2) { animation-delay: 0.06s; }
.bns-vision-msg > *:nth-child(3) { animation-delay: 0.1s; }
.bns-vision-msg > *:nth-child(4) { animation-delay: 0.14s; }
.bns-vision-msg > *:nth-child(5) { animation-delay: 0.18s; }

.bns-vision-msg__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(37, 99, 235, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 48%, #0d2944 100%);
}

.bns-vision-msg__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-vision-msg__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.25rem, 2.6vw, 1.7rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-vision-msg__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    font-weight: 650;
}

.bns-vision-msg__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-vision-msg__card--vision {
    background:
        linear-gradient(180deg, rgba(37, 99, 235, 0.05), transparent 45%),
        #fff;
}

.bns-vision-msg__card--mission {
    background:
        linear-gradient(180deg, rgba(253, 110, 1, 0.05), transparent 45%),
        #fff;
}

.bns-vision-msg__card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.bns-vision-msg__icon {
    font-size: 1.35rem;
    line-height: 1;
}

.bns-vision-msg__card-head h4 {
    margin: 0;
    color: var(--msg-navy);
    font-size: 1.08rem;
    font-weight: 800;
}

.bns-vision-msg__card p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.98rem;
    line-height: 1.7;
}

.bns-vision-msg__support {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.08);
    border: 1px solid rgba(37, 99, 235, 0.16);
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 700;
}

.bns-vision-msg__support i {
    color: #2563eb;
}

.bns-vision-msg__points {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-vision-msg__point {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.bns-vision-msg__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    border-radius: 10px;
    background: linear-gradient(145deg, #fd8a2e, #fd6e01);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
}

.bns-vision-msg__point strong {
    color: var(--msg-navy);
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.5;
    padding-top: 6px;
}

.bns-vision-msg__footer {
    padding: 16px;
    border-radius: 16px;
    background:
        radial-gradient(circle at 80% 20%, rgba(37, 99, 235, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-vision-msg__motto {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-vision-msg__motto-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 12px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-vision-msg__motto-item strong {
    color: #fff;
    font-weight: 700;
}

.bns-vision-msg__actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.bns-vision-msg__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bns-vision-msg__action:hover {
    transform: translateY(-2px);
}

.bns-vision-msg__action--vision {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.28);
}

.bns-vision-msg__action--mission {
    background: linear-gradient(135deg, #fd8a2e, #fd6e01);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(253, 110, 1, 0.28);
}

.bns-vision-msg__action--web {
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(10, 29, 55, 0.25);
}

@media (max-width: 767px) {
    .bns-vision-msg__motto,
    .bns-vision-msg__actions {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-vision-msg > * {
        animation: none;
    }
}

/* ── Member Pitch & Website share layout ── */
.bns-message-modal__sheet--pitch {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-pitch {
    display: grid;
    gap: 14px;
}

.bns-pitch > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-pitch > *:nth-child(1) { animation-delay: 0.02s; }
.bns-pitch > *:nth-child(2) { animation-delay: 0.06s; }
.bns-pitch > *:nth-child(3) { animation-delay: 0.1s; }
.bns-pitch > *:nth-child(4) { animation-delay: 0.14s; }

.bns-pitch__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(15, 118, 110, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.2), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #134e4a 52%, #0d2944 100%);
}

.bns-pitch__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #14b8a6, #0f766e);
    box-shadow: 0 10px 22px rgba(15, 118, 110, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-pitch__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.2rem, 2.5vw, 1.55rem);
    font-weight: 800;
    line-height: 1.35;
}

.bns-pitch__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.95rem;
    font-weight: 650;
}

.bns-pitch__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-pitch__card p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.98rem;
    line-height: 1.7;
}

.bns-pitch__card--closing {
    text-align: center;
    background:
        linear-gradient(180deg, rgba(15, 118, 110, 0.04), transparent 40%),
        #fff;
}

.bns-pitch__signoff {
    margin-top: 12px !important;
    color: var(--msg-navy) !important;
    font-weight: 800;
}

.bns-pitch__brand {
    display: inline-block;
    margin-top: 14px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
}

.bns-pitch__links {
    display: grid;
    gap: 12px;
}

.bns-pitch__link {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border-radius: 16px;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bns-pitch__link:hover {
    transform: translateY(-2px);
}

.bns-pitch__link--pitch {
    background: linear-gradient(135deg, rgba(253, 110, 1, 0.1), rgba(253, 110, 1, 0.04));
    border: 1px solid rgba(253, 110, 1, 0.22);
    box-shadow: 0 12px 24px rgba(253, 110, 1, 0.1);
}

.bns-pitch__link--web {
    background: linear-gradient(135deg, rgba(15, 118, 110, 0.1), rgba(15, 118, 110, 0.04));
    border: 1px solid rgba(15, 118, 110, 0.22);
    box-shadow: 0 12px 24px rgba(15, 118, 110, 0.1);
}

.bns-pitch__link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: #fff;
    font-size: 1.35rem;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06);
}

.bns-pitch__link-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.bns-pitch__link-copy strong {
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-pitch__link-copy em {
    color: var(--msg-muted);
    font-style: normal;
    font-size: 0.82rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bns-pitch__link-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.8rem;
}

.bns-pitch__link--pitch .bns-pitch__link-arrow {
    background: #fd6e01;
}

.bns-pitch__link--web .bns-pitch__link-arrow {
    background: #0f766e;
}

@media (prefers-reduced-motion: reduce) {
    .bns-pitch > * {
        animation: none;
    }
}

/* ── Introduction Reels rich layout ── */
.bns-message-modal__sheet--reels {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-reels {
    display: grid;
    gap: 14px;
}

.bns-reels > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-reels > *:nth-child(1) { animation-delay: 0.02s; }
.bns-reels > *:nth-child(2) { animation-delay: 0.06s; }
.bns-reels > *:nth-child(3) { animation-delay: 0.1s; }

.bns-reels__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(219, 39, 119, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(245, 133, 41, 0.28), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #4a1942 48%, #1e1b4b 100%);
}

.bns-reels__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f58529, #dd2a7b 55%, #8134af);
    box-shadow: 0 10px 22px rgba(221, 42, 123, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-reels__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.25rem, 2.6vw, 1.7rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-reels__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-reels__list {
    display: grid;
    gap: 12px;
}

.bns-reels__item {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 16px 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

a.bns-reels__item:hover {
    transform: translateY(-2px);
    border-color: rgba(221, 42, 123, 0.28);
    box-shadow: 0 14px 28px rgba(221, 42, 123, 0.12);
}

.bns-reels__item--pending {
    opacity: 0.72;
}

.bns-reels__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(10, 29, 55, 0.06);
    color: var(--msg-navy);
    font-size: 0.75rem;
    font-weight: 800;
}

.bns-reels__play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f58529, #dd2a7b 55%, #8134af);
    color: #fff;
    font-size: 0.85rem;
    box-shadow: 0 10px 18px rgba(221, 42, 123, 0.28);
}

.bns-reels__copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.bns-reels__copy strong {
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 800;
}

.bns-reels__copy em {
    color: var(--msg-muted);
    font-style: normal;
    font-size: 0.82rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bns-reels__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.72rem;
}

.bns-reels__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(221, 42, 123, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-reels__footer p {
    margin: 0 0 14px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-reels__brand {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
}

@media (max-width: 575px) {
    .bns-reels__item {
        grid-template-columns: auto 1fr auto;
        gap: 10px;
    }

    .bns-reels__num {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-reels > * {
        animation: none;
    }
}

/* ── ABCD to IPO Journey rich layout ── */
.bns-message-modal__sheet--journey {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-journey {
    display: grid;
    gap: 14px;
}

.bns-journey > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-journey > *:nth-child(1) { animation-delay: 0.02s; }
.bns-journey > *:nth-child(2) { animation-delay: 0.06s; }
.bns-journey > *:nth-child(3) { animation-delay: 0.1s; }
.bns-journey > *:nth-child(4) { animation-delay: 0.14s; }
.bns-journey > *:nth-child(5) { animation-delay: 0.18s; }
.bns-journey > *:nth-child(6) { animation-delay: 0.22s; }
.bns-journey > *:nth-child(7) { animation-delay: 0.26s; }

.bns-journey__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(253, 110, 1, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(37, 99, 235, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 48%, #7c2d12 100%);
}

.bns-journey__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fd8a2e, #fd6e01);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-journey__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-journey__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.98rem;
    font-weight: 650;
}

.bns-journey__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-journey__card p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.98rem;
    line-height: 1.7;
}

.bns-journey__card-title {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-journey__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(253, 110, 1, 0.4);
}

.bns-journey__topics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-journey__topic {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 11px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.bns-journey__topic-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: #fff;
    font-size: 1rem;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.bns-journey__topic strong {
    color: var(--msg-navy);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.4;
    padding-top: 6px;
}

.bns-journey__card--sessions {
    background:
        linear-gradient(180deg, rgba(253, 110, 1, 0.04), transparent 40%),
        #fff;
}

.bns-journey__sessions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-journey__session {
    padding: 16px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
}

.bns-journey__session--evening {
    border-color: rgba(253, 110, 1, 0.28);
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff 55%);
}

.bns-journey__session--morning {
    border-color: rgba(37, 99, 235, 0.28);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.1), #fff 55%);
}

.bns-journey__session-chip {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--msg-navy);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.bns-journey__session--evening .bns-journey__session-chip {
    background: rgba(253, 110, 1, 0.14);
    color: #c2410c;
}

.bns-journey__session--morning .bns-journey__session-chip {
    background: rgba(37, 99, 235, 0.14);
    color: #1d4ed8;
}

.bns-journey__session-date,
.bns-journey__session-day,
.bns-journey__session-time {
    margin: 0 0 7px;
    color: var(--msg-ink);
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.45;
}

.bns-journey__session-time {
    margin-bottom: 0;
}

.bns-journey__session-date i,
.bns-journey__session-day i,
.bns-journey__session-time i {
    width: 16px;
    color: #fd6e01;
}

.bns-journey__session--morning .bns-journey__session-date i,
.bns-journey__session--morning .bns-journey__session-day i,
.bns-journey__session--morning .bns-journey__session-time i {
    color: #2563eb;
}

.bns-journey__venue-lines {
    margin: 0 0 14px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.65;
}

.bns-journey__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-journey__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-journey__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-journey__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 12px 16px;
    border-radius: 14px;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bns-journey__action:hover {
    transform: translateY(-2px);
}

.bns-journey__action--register {
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(22, 163, 74, 0.28);
}

.bns-journey__action--web {
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(10, 29, 55, 0.25);
}

.bns-journey__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(253, 110, 1, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-journey__footer strong {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
}

.bns-journey__footer p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.92rem;
    font-style: italic;
    line-height: 1.6;
}

@media (max-width: 767px) {
    .bns-journey__topics,
    .bns-journey__sessions,
    .bns-journey__actions {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-journey > * {
        animation: none;
    }
}

/* ── Benefits of Joining BNS rich layout ── */
.bns-message-modal__sheet--benefits {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-benefits {
    display: grid;
    gap: 14px;
}

.bns-benefits > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-benefits > *:nth-child(1) { animation-delay: 0.02s; }
.bns-benefits > *:nth-child(2) { animation-delay: 0.06s; }
.bns-benefits > *:nth-child(3) { animation-delay: 0.1s; }
.bns-benefits > *:nth-child(4) { animation-delay: 0.14s; }
.bns-benefits > *:nth-child(5) { animation-delay: 0.18s; }
.bns-benefits > *:nth-child(6) { animation-delay: 0.22s; }
.bns-benefits > *:nth-child(7) { animation-delay: 0.26s; }

.bns-benefits__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(22, 163, 74, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.2), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #14532d 50%, #0d2944 100%);
}

.bns-benefits__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-benefits__hero h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.15rem, 2.4vw, 1.5rem);
    font-weight: 800;
    line-height: 1.35;
}

.bns-benefits__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-benefits__card--why {
    background:
        linear-gradient(180deg, rgba(22, 163, 74, 0.05), transparent 45%),
        #fff;
}

.bns-benefits__question {
    margin: 0 0 10px !important;
    color: var(--msg-navy) !important;
    font-size: 1.05rem !important;
    font-weight: 800;
}

.bns-benefits__card p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.98rem;
    line-height: 1.7;
}

.bns-benefits__card-title {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-benefits__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(22, 163, 74, 0.4);
}

.bns-benefits__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-benefits__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 11px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.bns-benefits__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: rgba(22, 163, 74, 0.14);
    color: #15803d;
    font-size: 0.7rem;
    margin-top: 1px;
}

.bns-benefits__item strong {
    color: var(--msg-navy);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.4;
    padding-top: 2px;
}

.bns-benefits__card--session {
    background:
        linear-gradient(180deg, rgba(253, 110, 1, 0.05), transparent 40%),
        #fff;
}

.bns-benefits__session-intro {
    margin: 0 0 12px !important;
    color: var(--msg-navy) !important;
    font-weight: 700;
}

.bns-benefits__points {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-benefits__point {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 11px 12px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(253, 110, 1, 0.16);
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.45;
}

.bns-benefits__bullet {
    width: 8px;
    height: 8px;
    margin-top: 6px;
    border-radius: 999px;
    background: #fd6e01;
    flex-shrink: 0;
}

.bns-benefits__cta-box {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(135deg, rgba(22, 163, 74, 0.1), rgba(10, 29, 55, 0.06));
    border: 1px solid rgba(22, 163, 74, 0.18);
}

.bns-benefits__cta-text {
    margin: 0 0 8px !important;
    color: var(--msg-navy) !important;
    font-size: 1.02rem !important;
    font-weight: 800;
}

.bns-benefits__cta-box p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-benefits__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-benefits__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 12px 16px;
    border-radius: 14px;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bns-benefits__action:hover {
    transform: translateY(-2px);
}

.bns-benefits__action--register {
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(22, 163, 74, 0.28);
}

.bns-benefits__action--web {
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(10, 29, 55, 0.25);
}

.bns-benefits__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(22, 163, 74, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-benefits__footer strong {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
}

.bns-benefits__footer p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.92rem;
    font-style: italic;
    line-height: 1.6;
}

@media (max-width: 767px) {
    .bns-benefits__items,
    .bns-benefits__actions {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-benefits > * {
        animation: none;
    }
}

/* ── Previous Seminar Highlights rich layout ── */
.bns-message-modal__sheet--highlights {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-highlights {
    display: grid;
    gap: 14px;
}

.bns-highlights > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-highlights > *:nth-child(1) { animation-delay: 0.02s; }
.bns-highlights > *:nth-child(2) { animation-delay: 0.06s; }
.bns-highlights > *:nth-child(3) { animation-delay: 0.1s; }
.bns-highlights > *:nth-child(4) { animation-delay: 0.14s; }
.bns-highlights > *:nth-child(5) { animation-delay: 0.18s; }
.bns-highlights > *:nth-child(6) { animation-delay: 0.22s; }

.bns-highlights__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(124, 58, 237, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #312e81 50%, #0d2944 100%);
}

.bns-highlights__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #a78bfa, #7c3aed);
    box-shadow: 0 10px 22px rgba(124, 58, 237, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-highlights__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.2rem, 2.5vw, 1.55rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-highlights__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.94rem;
    font-weight: 650;
    line-height: 1.65;
}

.bns-highlights__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-highlights__card-title {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-highlights__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(124, 58, 237, 0.4);
}

.bns-highlights__items {
    display: grid;
    gap: 10px;
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
}

.bns-highlights__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 11px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.bns-highlights__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: rgba(124, 58, 237, 0.14);
    color: #6d28d9;
    font-size: 0.7rem;
    margin-top: 1px;
}

.bns-highlights__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.45;
    padding-top: 2px;
}

.bns-highlights__quote {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    padding: 14px;
    border-radius: 14px;
    background: rgba(124, 58, 237, 0.08);
    border: 1px solid rgba(124, 58, 237, 0.16);
}

.bns-highlights__quote i {
    color: #7c3aed;
    margin-top: 3px;
}

.bns-highlights__quote p {
    margin: 0;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.65;
}

.bns-highlights__card--next {
    background:
        linear-gradient(180deg, rgba(253, 110, 1, 0.05), transparent 40%),
        #fff;
}

.bns-highlights__next-intro {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-weight: 700;
    font-size: 0.95rem;
}

.bns-highlights__next {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-highlights__next-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(253, 110, 1, 0.16);
}

.bns-highlights__next-icon {
    font-size: 1.15rem;
    line-height: 1.2;
}

.bns-highlights__next-item strong {
    color: var(--msg-navy);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.4;
}

.bns-highlights__cta-box {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.1), rgba(253, 110, 1, 0.08));
    border: 1px solid rgba(124, 58, 237, 0.18);
}

.bns-highlights__opportunity {
    margin: 0 0 8px !important;
    color: var(--msg-navy) !important;
    font-size: 1.02rem !important;
    font-weight: 800;
}

.bns-highlights__cta-box p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-highlights__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-highlights__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 12px 16px;
    border-radius: 14px;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bns-highlights__action:hover {
    transform: translateY(-2px);
}

.bns-highlights__action--register {
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(22, 163, 74, 0.28);
}

.bns-highlights__action--events {
    background: linear-gradient(135deg, #7c3aed, #5b21b6);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(124, 58, 237, 0.28);
}

.bns-highlights__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(124, 58, 237, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-highlights__footer p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-highlights__footer strong {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.85rem;
}

@media (max-width: 767px) {
    .bns-highlights__next,
    .bns-highlights__actions {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-highlights > * {
        animation: none;
    }
}

/* ── What to Bring rich layout ── */
.bns-message-modal__sheet--bring {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-bring {
    display: grid;
    gap: 14px;
}

.bns-bring > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-bring > *:nth-child(1) { animation-delay: 0.02s; }
.bns-bring > *:nth-child(2) { animation-delay: 0.06s; }
.bns-bring > *:nth-child(3) { animation-delay: 0.1s; }
.bns-bring > *:nth-child(4) { animation-delay: 0.14s; }

.bns-bring__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(14, 116, 144, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.2), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #155e75 50%, #0d2944 100%);
}

.bns-bring__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22d3ee, #0e7490);
    box-shadow: 0 10px 22px rgba(14, 116, 144, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-bring__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.65rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-bring__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.94rem;
    font-weight: 650;
    line-height: 1.65;
}

.bns-bring__list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-bring__item {
    display: grid;
    grid-template-columns: auto auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.bns-bring__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(14, 116, 144, 0.1);
    color: #0e7490;
    font-size: 0.72rem;
    font-weight: 800;
}

.bns-bring__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
    font-size: 1.2rem;
}

.bns-bring__copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.bns-bring__copy strong {
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 800;
}

.bns-bring__copy em {
    color: var(--msg-ink);
    font-style: normal;
    font-size: 0.9rem;
    font-weight: 550;
    line-height: 1.55;
}

.bns-bring__alert {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(253, 110, 1, 0.12), rgba(253, 110, 1, 0.04));
    border: 1px solid rgba(253, 110, 1, 0.22);
}

.bns-bring__alert i {
    color: #fd6e01;
    margin-top: 3px;
}

.bns-bring__alert strong {
    display: block;
    margin-bottom: 4px;
    color: #c2410c;
    font-size: 0.88rem;
    font-weight: 800;
}

.bns-bring__alert p {
    margin: 0;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.55;
}

.bns-bring__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(14, 116, 144, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-bring__footer > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-bring__brand {
    display: inline-block;
    margin-bottom: 14px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
}

.bns-bring__motto {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.bns-bring__motto-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.84rem;
}

.bns-bring__motto-item strong {
    color: var(--msg-navy);
    font-weight: 700;
}

@media (max-width: 767px) {
    .bns-bring__motto {
        grid-template-columns: 1fr;
    }

    .bns-bring__item {
        grid-template-columns: auto 1fr;
    }

    .bns-bring__num {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-bring > * {
        animation: none;
    }
}

/* ── Only 3 Days Left countdown rich layout ── */
.bns-message-modal__sheet--countdown {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-countdown {
    display: grid;
    gap: 14px;
}

.bns-countdown > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-countdown > *:nth-child(1) { animation-delay: 0.02s; }
.bns-countdown > *:nth-child(2) { animation-delay: 0.06s; }
.bns-countdown > *:nth-child(3) { animation-delay: 0.1s; }
.bns-countdown > *:nth-child(4) { animation-delay: 0.14s; }
.bns-countdown > *:nth-child(5) { animation-delay: 0.18s; }
.bns-countdown > *:nth-child(6) { animation-delay: 0.22s; }
.bns-countdown > *:nth-child(7) { animation-delay: 0.26s; }
.bns-countdown > *:nth-child(8) { animation-delay: 0.3s; }
.bns-countdown > *:nth-child(9) { animation-delay: 0.34s; }
.bns-countdown > *:nth-child(10) { animation-delay: 0.38s; }
.bns-countdown > *:nth-child(11) { animation-delay: 0.42s; }
.bns-countdown > *:nth-child(12) { animation-delay: 0.46s; }
.bns-countdown > *:nth-child(13) { animation-delay: 0.5s; }

.bns-countdown__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(220, 38, 38, 0.4), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.28), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #7f1d1d 48%, #0d2944 100%);
}

.bns-countdown__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f87171, #dc2626);
    box-shadow: 0 10px 22px rgba(220, 38, 38, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-countdown__days {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    margin: 0 auto 12px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.bns-countdown__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.7rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-countdown__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.95rem;
    font-weight: 650;
}

.bns-countdown__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-countdown__card p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.98rem;
    line-height: 1.7;
}

.bns-countdown__card p:last-child {
    margin-bottom: 0;
}

.bns-countdown__greeting {
    color: var(--msg-navy) !important;
    font-size: 1.05rem !important;
}

.bns-countdown__reserved {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    margin: 12px 0;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(22, 163, 74, 0.1);
    border: 1px solid rgba(22, 163, 74, 0.2);
    color: #166534;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.5;
}

.bns-countdown__reserved i {
    color: #16a34a;
    margin-top: 2px;
}

.bns-countdown__urgency {
    color: #b91c1c !important;
    font-weight: 800 !important;
}

.bns-countdown__event {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.bns-countdown__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.08), #fff);
    border: 1px solid rgba(220, 38, 38, 0.16);
}

.bns-countdown__event-row--accent {
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.12), #fff);
    border-color: rgba(253, 110, 1, 0.22);
}

.bns-countdown__event-row--accent i {
    color: #fd6e01;
}

.bns-countdown__event-row i {
    color: #dc2626;
    font-size: 1.1rem;
}

.bns-countdown__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-countdown__event-row strong {
    color: var(--msg-navy);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-countdown__sessions {
    display: grid;
    gap: 12px;
}

.bns-countdown__session {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-countdown__session--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-countdown__session-label {
    grid-column: 1 / -1;
    display: inline-flex;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-countdown__session--blue .bns-countdown__session-label {
    background: #2563eb;
}

.bns-countdown__session .bns-countdown__event-row {
    background: #fff;
}

.bns-countdown__event-row--full {
    grid-column: 1 / -1;
}

.bns-countdown__session:not(.bns-countdown__session--blue) .bns-countdown__event-row i {
    color: #16a34a;
}

.bns-countdown__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-countdown__partner {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #f8fafc;
}

.bns-countdown__partner span {
    display: block;
    margin-bottom: 6px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-countdown__partner strong {
    display: block;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-countdown__brand {
    display: block;
    margin: 4px 0 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 800;
}

.bns-countdown__card-title {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-countdown__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(220, 38, 38, 0.35);
}

.bns-countdown__venue-title {
    display: block;
    margin-bottom: 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.5;
}

.bns-countdown__venue-lines {
    margin: 0 0 14px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.65;
}

.bns-countdown__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-countdown__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-countdown__bring {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-countdown__bring-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.bns-countdown__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: rgba(22, 163, 74, 0.14);
    color: #15803d;
    font-size: 0.65rem;
}

.bns-countdown__bring-item strong {
    color: var(--msg-navy);
    font-size: 0.86rem;
    font-weight: 700;
}

.bns-countdown__notes {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-countdown__note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-ink);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.55;
}

.bns-countdown__note-icon {
    font-size: 1.15rem;
    line-height: 1.2;
}

.bns-countdown__notes-title {
    display: block !important;
    padding: 4px 2px 2px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--msg-navy);
    font-size: 1rem;
}

.bns-countdown__card--hl {
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.08), #fff);
    border-color: rgba(253, 110, 1, 0.18);
}

.bns-countdown__hls {
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.bns-countdown__hl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.bns-countdown__hl span {
    font-size: 1.15rem;
}

.bns-countdown__hl strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.4;
}

.bns-countdown__hl-note {
    margin: 0 0 8px !important;
    color: var(--msg-muted) !important;
    font-size: 0.9rem !important;
}

.bns-countdown__hl-cta {
    display: inline-block;
    padding: 7px 12px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.85rem;
}

.bns-countdown__web {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, #1d4ed8, #0a1d37);
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(29, 78, 216, 0.25);
}

.bns-countdown__web i {
    font-size: 1.35rem;
}

.bns-countdown__web span {
    display: grid;
    gap: 4px;
}

.bns-countdown__web em {
    font-style: normal;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-countdown__invite {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
    border: 1px solid rgba(37, 99, 235, 0.16);
}

.bns-countdown__invite h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-countdown__invite-intro {
    margin: 0 0 8px !important;
    color: #1d4ed8 !important;
    font-weight: 750 !important;
}

.bns-countdown__invite p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-countdown__bot-list-title {
    margin: 8px 0 0 !important;
    color: var(--msg-navy) !important;
    font-size: 0.88rem !important;
    font-weight: 750 !important;
}

.bns-countdown__bot-features {
    margin: 6px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
}

.bns-countdown__bot-features li {
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(18, 140, 126, 0.2);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 700;
}

.bns-countdown__connect {
    display: grid;
    gap: 10px;
}

.bns-countdown__bot {
    display: grid;
    gap: 6px;
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(37, 211, 102, 0.14), rgba(18, 140, 126, 0.08));
    border: 1px solid rgba(18, 140, 126, 0.22);
    text-align: center;
}

.bns-countdown__bot span {
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-countdown__bot strong {
    color: var(--msg-navy);
    font-size: 1.35rem;
    font-weight: 800;
}

.bns-countdown__bot em {
    color: var(--msg-muted);
    font-style: normal;
    font-size: 0.88rem;
    font-weight: 600;
}

.bns-countdown__bot a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 8px auto 0;
    padding: 10px 16px;
    border-radius: 999px;
    background: #25d366;
    color: #fff !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-countdown__channel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 12px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #128c7e, #075e54);
    color: #fff !important;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(7, 94, 84, 0.25);
}

.bns-countdown__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(220, 38, 38, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-countdown__footer p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-countdown__help,
.bns-countdown__closing {
    color: var(--msg-navy) !important;
    font-weight: 750 !important;
}

.bns-countdown__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 8px;
}

.bns-countdown__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

@media (max-width: 767px) {
    .bns-countdown__event,
    .bns-countdown__session,
    .bns-countdown__partners,
    .bns-countdown__bring,
    .bns-countdown__hls {
        grid-template-columns: 1fr;
    }

    .bns-countdown__event-row--full {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-countdown > * {
        animation: none;
    }
}

/* ── Registration Confirmation rich layout ── */
.bns-message-modal__sheet--confirm {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-confirm {
    display: grid;
    gap: 14px;
}

.bns-confirm > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-confirm > *:nth-child(1) { animation-delay: 0.02s; }
.bns-confirm > *:nth-child(2) { animation-delay: 0.06s; }
.bns-confirm > *:nth-child(3) { animation-delay: 0.1s; }
.bns-confirm > *:nth-child(4) { animation-delay: 0.14s; }
.bns-confirm > *:nth-child(5) { animation-delay: 0.18s; }
.bns-confirm > *:nth-child(6) { animation-delay: 0.22s; }
.bns-confirm > *:nth-child(7) { animation-delay: 0.26s; }
.bns-confirm > *:nth-child(8) { animation-delay: 0.3s; }
.bns-confirm > *:nth-child(9) { animation-delay: 0.34s; }

.bns-confirm__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(22, 163, 74, 0.4), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.18), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #14532d 50%, #0d2944 100%);
}

.bns-confirm__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-confirm__stamp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    border: 2px solid rgba(255, 255, 255, 0.28);
    color: #fff;
    font-size: 1.6rem;
}

.bns-confirm__hero h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.65rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-confirm__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-confirm__card p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.98rem;
    line-height: 1.7;
}

.bns-confirm__card p:last-child {
    margin-bottom: 0;
}

.bns-confirm__greeting {
    color: var(--msg-navy) !important;
    font-size: 1.05rem !important;
}

.bns-confirm__status {
    margin: 12px 0;
    padding: 14px 16px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.12), rgba(22, 163, 74, 0.04));
    border: 1px solid rgba(22, 163, 74, 0.22);
}

.bns-confirm__status strong {
    display: block;
    margin-bottom: 6px;
    color: #15803d;
    font-size: 1.02rem;
}

.bns-confirm__status p {
    margin: 0 !important;
    color: var(--msg-navy) !important;
    font-weight: 700;
}

.bns-confirm__event {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-confirm__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
    border: 1px solid rgba(22, 163, 74, 0.16);
}

.bns-confirm__event-row--full {
    grid-column: 1 / -1;
}

.bns-confirm__event-row i {
    color: #16a34a;
    font-size: 1.1rem;
}

.bns-confirm__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-confirm__event-row strong {
    color: var(--msg-navy);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-confirm__card-title {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-confirm__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(22, 163, 74, 0.4);
}

.bns-confirm__venue-title {
    display: block;
    margin-bottom: 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.5;
}

.bns-confirm__venue-lines {
    margin: 0 0 14px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.65;
}

.bns-confirm__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-confirm__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-confirm__bring {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-confirm__bring-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.bns-confirm__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: rgba(22, 163, 74, 0.14);
    color: #15803d;
    font-size: 0.65rem;
}

.bns-confirm__bring-item strong {
    color: var(--msg-navy);
    font-size: 0.86rem;
    font-weight: 700;
}

.bns-confirm__notes {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-confirm__note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
    color: var(--msg-ink);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.55;
}

.bns-confirm__note-icon {
    font-size: 1.1rem;
    line-height: 1.2;
}

.bns-confirm__invite {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(253, 110, 1, 0.1), rgba(253, 110, 1, 0.04));
    border: 1px solid rgba(253, 110, 1, 0.18);
}

.bns-confirm__invite h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-confirm__invite p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.94rem;
    line-height: 1.65;
}

.bns-confirm__connect {
    display: grid;
    gap: 10px;
}

.bns-confirm__bot {
    display: grid;
    gap: 6px;
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(37, 211, 102, 0.14), rgba(18, 140, 126, 0.08));
    border: 1px solid rgba(18, 140, 126, 0.22);
    text-align: center;
}

.bns-confirm__bot span {
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-confirm__bot strong {
    color: var(--msg-navy);
    font-size: 1.35rem;
    font-weight: 800;
}

.bns-confirm__bot em {
    color: var(--msg-muted);
    font-style: normal;
    font-size: 0.88rem;
    font-weight: 600;
}

.bns-confirm__bot a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 8px auto 0;
    padding: 10px 16px;
    border-radius: 999px;
    background: #25d366;
    color: #fff !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-confirm__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-confirm__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none !important;
    text-align: center;
    transition: transform 0.2s ease;
}

.bns-confirm__action:hover {
    transform: translateY(-2px);
}

.bns-confirm__action--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
    color: #fff !important;
}

.bns-confirm__action--web {
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff !important;
}

.bns-confirm__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(22, 163, 74, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-confirm__footer p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.94rem;
    line-height: 1.65;
}

.bns-confirm__help,
.bns-confirm__thanks,
.bns-confirm__closing {
    color: var(--msg-navy) !important;
    font-weight: 700 !important;
}

.bns-confirm__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 8px;
}

.bns-confirm__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

@media (max-width: 767px) {
    .bns-confirm__event,
    .bns-confirm__bring,
    .bns-confirm__actions {
        grid-template-columns: 1fr;
    }

    .bns-confirm__event-row--full {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-confirm > * {
        animation: none;
    }
}

/* ── Thank You Message rich layout ── */
.bns-message-modal__sheet--thanks {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-thanks {
    display: grid;
    gap: 14px;
}

.bns-thanks > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-thanks > *:nth-child(1) { animation-delay: 0.02s; }
.bns-thanks > *:nth-child(2) { animation-delay: 0.06s; }
.bns-thanks > *:nth-child(3) { animation-delay: 0.1s; }
.bns-thanks > *:nth-child(4) { animation-delay: 0.14s; }
.bns-thanks > *:nth-child(5) { animation-delay: 0.18s; }
.bns-thanks > *:nth-child(6) { animation-delay: 0.22s; }

.bns-thanks__hero {
    padding: 28px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(253, 110, 1, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(15, 118, 110, 0.25), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 48%, #0d2944 100%);
}

.bns-thanks__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fd8a2e, #fd6e01);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-thanks__hero h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
    font-weight: 800;
    line-height: 1.25;
}

.bns-thanks__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-thanks__card p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.98rem;
    line-height: 1.7;
}

.bns-thanks__card p:last-child {
    margin-bottom: 0;
}

.bns-thanks__greeting {
    color: var(--msg-navy) !important;
    font-size: 1.05rem !important;
}

.bns-thanks__growth {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    margin-top: 4px;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), rgba(253, 110, 1, 0.04));
    border: 1px solid rgba(253, 110, 1, 0.18);
}

.bns-thanks__growth i {
    color: #fd6e01;
    margin-top: 3px;
}

.bns-thanks__growth p {
    margin: 0 !important;
    color: var(--msg-navy) !important;
    font-weight: 700;
}

.bns-thanks__card-title {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-thanks__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(253, 110, 1, 0.4);
}

.bns-thanks__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-thanks__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 11px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.bns-thanks__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: rgba(22, 163, 74, 0.14);
    color: #15803d;
    font-size: 0.65rem;
    margin-top: 1px;
}

.bns-thanks__item strong {
    color: var(--msg-navy);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.4;
    padding-top: 1px;
}

.bns-thanks__alert {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 16px;
    border-radius: 14px;
    background: rgba(37, 99, 235, 0.08);
    border: 1px solid rgba(37, 99, 235, 0.16);
}

.bns-thanks__alert i {
    color: #2563eb;
    margin-top: 3px;
}

.bns-thanks__alert p {
    margin: 0;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-thanks__connect {
    display: grid;
    gap: 10px;
}

.bns-thanks__bot {
    display: grid;
    gap: 6px;
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(37, 211, 102, 0.14), rgba(18, 140, 126, 0.08));
    border: 1px solid rgba(18, 140, 126, 0.22);
    text-align: center;
}

.bns-thanks__bot span {
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-thanks__bot strong {
    color: var(--msg-navy);
    font-size: 1.35rem;
    font-weight: 800;
}

.bns-thanks__bot em {
    color: var(--msg-muted);
    font-style: normal;
    font-size: 0.88rem;
    font-weight: 600;
}

.bns-thanks__bot a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 8px auto 0;
    padding: 10px 16px;
    border-radius: 999px;
    background: #25d366;
    color: #fff !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-thanks__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-thanks__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none !important;
    text-align: center;
    transition: transform 0.2s ease;
}

.bns-thanks__action:hover {
    transform: translateY(-2px);
}

.bns-thanks__action--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
    color: #fff !important;
}

.bns-thanks__action--web {
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff !important;
}

.bns-thanks__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(253, 110, 1, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-thanks__footer p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-thanks__closing-thanks,
.bns-thanks__see-you {
    color: var(--msg-navy) !important;
    font-weight: 800 !important;
}

.bns-thanks__see-you {
    font-size: 1.05rem !important;
}

.bns-thanks__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 8px;
}

.bns-thanks__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

@media (max-width: 767px) {
    .bns-thanks__items,
    .bns-thanks__actions {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-thanks > * {
        animation: none;
    }
}

/* ── Save the Date rich layout ── */
.bns-message-modal__sheet--savedate {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-savedate {
    display: grid;
    gap: 14px;
}

.bns-savedate > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-savedate > *:nth-child(1) { animation-delay: 0.02s; }
.bns-savedate > *:nth-child(2) { animation-delay: 0.06s; }
.bns-savedate > *:nth-child(3) { animation-delay: 0.1s; }
.bns-savedate > *:nth-child(4) { animation-delay: 0.14s; }
.bns-savedate > *:nth-child(5) { animation-delay: 0.18s; }
.bns-savedate > *:nth-child(6) { animation-delay: 0.22s; }
.bns-savedate > *:nth-child(7) { animation-delay: 0.26s; }

.bns-savedate__hero {
    padding: 28px 22px 24px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(37, 99, 235, 0.4), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a8a 48%, #0d2944 100%);
}

.bns-savedate__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #60a5fa, #2563eb);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-savedate__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.35rem, 2.8vw, 1.85rem);
    font-weight: 800;
    line-height: 1.25;
}

.bns-savedate__mark {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 1.05rem;
    font-weight: 700;
}

.bns-savedate__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-savedate__card p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.98rem;
    line-height: 1.7;
}

.bns-savedate__card p:last-child {
    margin-bottom: 0;
}

.bns-savedate__invite {
    color: var(--msg-navy) !important;
    font-weight: 700 !important;
}

.bns-savedate__event {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-savedate__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
    border: 1px solid rgba(37, 99, 235, 0.16);
}

.bns-savedate__event-row--full {
    grid-column: 1 / -1;
}

.bns-savedate__event-row i {
    color: #2563eb;
    font-size: 1.1rem;
}

.bns-savedate__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-savedate__event-row strong {
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-savedate__sessions {
    display: grid;
    gap: 12px;
}

.bns-savedate__session {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-savedate__session--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-savedate__session-label {
    grid-column: 1 / -1;
    display: inline-flex;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-savedate__session--blue .bns-savedate__session-label {
    background: #2563eb;
}

.bns-savedate__session .bns-savedate__event-row {
    background: #fff;
}

.bns-savedate__session--green .bns-savedate__event-row i,
.bns-savedate__session:not(.bns-savedate__session--blue) .bns-savedate__event-row i {
    color: #16a34a;
}

.bns-savedate__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-savedate__partner {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #f8fafc;
}

.bns-savedate__partner span {
    display: block;
    margin-bottom: 6px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-savedate__partner strong {
    display: block;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-savedate__card-title {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-savedate__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(37, 99, 235, 0.35);
}

.bns-savedate__venue-title {
    display: block;
    margin-bottom: 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.5;
}

.bns-savedate__venue-lines {
    margin: 0 0 14px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.65;
}

.bns-savedate__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-savedate__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-savedate__note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(253, 110, 1, 0.1), rgba(253, 110, 1, 0.04));
    border: 1px solid rgba(253, 110, 1, 0.18);
}

.bns-savedate__note i {
    color: #fd6e01;
    margin-top: 3px;
}

.bns-savedate__note p {
    margin: 0;
    color: var(--msg-navy);
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.55;
}

.bns-savedate__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-savedate__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform 0.2s ease;
}

.bns-savedate__action:hover {
    transform: translateY(-2px);
}

.bns-savedate__action--maps {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.28);
}

.bns-savedate__action--events {
    background: linear-gradient(135deg, #fd8a2e, #fd6e01);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(253, 110, 1, 0.28);
}

.bns-savedate__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(37, 99, 235, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-savedate__footer p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-savedate__see-you {
    color: var(--msg-navy) !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
}

.bns-savedate__brand {
    display: inline-block;
    margin: 4px 0 14px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
}

.bns-savedate__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-savedate__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 700;
}

@media (max-width: 767px) {
    .bns-savedate__event,
    .bns-savedate__session,
    .bns-savedate__partners,
    .bns-savedate__actions {
        grid-template-columns: 1fr;
    }

    .bns-savedate__event-row--full {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-savedate > * {
        animation: none;
    }
}

/* ── Calendar Reminder rich layout ── */
.bns-message-modal__sheet--calreminder {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-calreminder {
    display: grid;
    gap: 14px;
}

.bns-calreminder > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-calreminder > *:nth-child(1) { animation-delay: 0.02s; }
.bns-calreminder > *:nth-child(2) { animation-delay: 0.06s; }
.bns-calreminder > *:nth-child(3) { animation-delay: 0.1s; }
.bns-calreminder > *:nth-child(4) { animation-delay: 0.14s; }
.bns-calreminder > *:nth-child(5) { animation-delay: 0.18s; }
.bns-calreminder > *:nth-child(6) { animation-delay: 0.22s; }
.bns-calreminder > *:nth-child(7) { animation-delay: 0.26s; }

.bns-calreminder__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(217, 119, 6, 0.4), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(37, 99, 235, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #92400e 48%, #0d2944 100%);
}

.bns-calreminder__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fbbf24, #d97706);
    box-shadow: 0 10px 22px rgba(217, 119, 6, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-calreminder__bell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #fff;
    font-size: 1.4rem;
}

.bns-calreminder__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.65rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-calreminder__alert {
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.05rem;
    font-weight: 700;
}

.bns-calreminder__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-calreminder__card p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.98rem;
    line-height: 1.7;
}

.bns-calreminder__card p:last-child {
    margin-bottom: 0;
}

.bns-calreminder__action-box {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(217, 119, 6, 0.1), rgba(217, 119, 6, 0.04));
    border: 1px solid rgba(217, 119, 6, 0.2);
}

.bns-calreminder__action-box i {
    color: #d97706;
    margin-top: 3px;
}

.bns-calreminder__action-box p {
    margin: 0 !important;
    color: var(--msg-navy) !important;
    font-weight: 700;
}

.bns-calreminder__event {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-calreminder__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(217, 119, 6, 0.08), #fff);
    border: 1px solid rgba(217, 119, 6, 0.16);
}

.bns-calreminder__event-row--full {
    grid-column: 1 / -1;
}

.bns-calreminder__event-row i {
    color: #d97706;
    font-size: 1.1rem;
}

.bns-calreminder__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-calreminder__event-row strong {
    color: var(--msg-navy);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-calreminder__sessions {
    display: grid;
    gap: 12px;
}

.bns-calreminder__session {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-calreminder__session--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-calreminder__session-label {
    grid-column: 1 / -1;
    display: inline-flex;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-calreminder__session--blue .bns-calreminder__session-label {
    background: #2563eb;
}

.bns-calreminder__session .bns-calreminder__event-row {
    background: #fff;
}

.bns-calreminder__session:not(.bns-calreminder__session--blue) .bns-calreminder__event-row i {
    color: #16a34a;
}

.bns-calreminder__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-calreminder__partner {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #f8fafc;
}

.bns-calreminder__partner span {
    display: block;
    margin-bottom: 6px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-calreminder__partner strong {
    display: block;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-calreminder__brand {
    display: block;
    margin: 8px 0 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 800;
}

.bns-calreminder__card-title {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-calreminder__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(217, 119, 6, 0.4);
}

.bns-calreminder__venue-title {
    display: block;
    margin-bottom: 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.5;
}

.bns-calreminder__venue-lines {
    margin: 0 0 14px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.65;
}

.bns-calreminder__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-calreminder__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-calreminder__tips {
    display: grid;
    gap: 10px;
}

.bns-calreminder__tip {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-calreminder__tip i {
    color: #d97706;
    margin-top: 2px;
}

.bns-calreminder__tip p {
    margin: 0;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.55;
}

.bns-calreminder__connect {
    display: grid;
    gap: 10px;
}

.bns-calreminder__bot {
    display: grid;
    gap: 6px;
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(37, 211, 102, 0.14), rgba(18, 140, 126, 0.08));
    border: 1px solid rgba(18, 140, 126, 0.22);
    text-align: center;
}

.bns-calreminder__bot span {
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-calreminder__bot strong {
    color: var(--msg-navy);
    font-size: 1.35rem;
    font-weight: 800;
}

.bns-calreminder__bot a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 8px auto 0;
    padding: 10px 16px;
    border-radius: 999px;
    background: #25d366;
    color: #fff !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-calreminder__channel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 12px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #128c7e, #075e54);
    color: #fff !important;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-calreminder__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(217, 119, 6, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-calreminder__footer p {
    margin: 0 0 14px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-calreminder__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-calreminder__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

@media (max-width: 767px) {
    .bns-calreminder__event,
    .bns-calreminder__session,
    .bns-calreminder__partners {
        grid-template-columns: 1fr;
    }

    .bns-calreminder__event-row--full {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-calreminder > * {
        animation: none;
    }
}

/* ── WhatsApp Channel Invite rich layout ── */
.bns-message-modal__sheet--wachannel {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-wachannel {
    display: grid;
    gap: 14px;
}

.bns-wachannel > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-wachannel > *:nth-child(1) { animation-delay: 0.02s; }
.bns-wachannel > *:nth-child(2) { animation-delay: 0.06s; }
.bns-wachannel > *:nth-child(3) { animation-delay: 0.1s; }
.bns-wachannel > *:nth-child(4) { animation-delay: 0.14s; }
.bns-wachannel > *:nth-child(5) { animation-delay: 0.18s; }
.bns-wachannel > *:nth-child(6) { animation-delay: 0.22s; }

.bns-wachannel__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(37, 211, 102, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(7, 94, 84, 0.35), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #075e54 50%, #0d2944 100%);
}

.bns-wachannel__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #25d366, #128c7e);
    box-shadow: 0 10px 22px rgba(18, 140, 126, 0.35);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-wachannel__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    margin: 0 auto 12px;
    border-radius: 999px;
    background: #25d366;
    color: #fff;
    font-size: 2rem;
    box-shadow: 0 12px 24px rgba(37, 211, 102, 0.35);
}

.bns-wachannel__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.2rem, 2.5vw, 1.55rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-wachannel__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-wachannel__greeting {
    margin: 0 0 10px;
    color: #bbf7d0;
    font-size: 1rem;
    font-weight: 700;
}

.bns-wachannel__note {
    padding: 14px 16px;
    border-radius: 14px;
    text-align: center;
    background: linear-gradient(180deg, rgba(37, 211, 102, 0.1), #fff);
    border: 1px solid rgba(18, 140, 126, 0.2);
}

.bns-wachannel__note p {
    margin: 0;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.55;
}

.bns-wachannel__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-wachannel__card-title {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-wachannel__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(18, 140, 126, 0.4);
}

.bns-wachannel__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bns-wachannel__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 11px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.bns-wachannel__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: rgba(37, 211, 102, 0.16);
    color: #128c7e;
    font-size: 0.65rem;
    margin-top: 1px;
}

.bns-wachannel__item strong {
    color: var(--msg-navy);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.4;
    padding-top: 1px;
}

.bns-wachannel__join {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: center;
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, #25d366, #128c7e);
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 14px 28px rgba(18, 140, 126, 0.3);
    transition: transform 0.2s ease;
}

.bns-wachannel__join:hover {
    transform: translateY(-2px);
    color: #fff !important;
}

.bns-wachannel__join i {
    font-size: 1.8rem;
}

.bns-wachannel__join span {
    display: grid;
    gap: 3px;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
}

.bns-wachannel__join em {
    font-style: normal;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.9;
}

.bns-wachannel__bot-card {
    padding: 18px;
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(37, 211, 102, 0.08), transparent 40%),
        #fff;
    border: 1px solid rgba(18, 140, 126, 0.18);
    text-align: center;
}

.bns-wachannel__bot-card h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1.05rem;
    font-weight: 800;
}

.bns-wachannel__bot-card > p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.94rem;
    line-height: 1.6;
}

.bns-wachannel__bot-number {
    display: block;
    margin-bottom: 12px;
    color: #075e54;
    font-size: 1.4rem;
    font-weight: 800;
}

.bns-wachannel__bot-list-title {
    margin: 0 0 10px !important;
    color: var(--msg-navy) !important;
    font-weight: 700 !important;
}

.bns-wachannel__bot-features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
    text-align: left;
}

.bns-wachannel__bot-feature {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
    color: var(--msg-navy);
    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1.4;
}

.bns-wachannel__dot {
    width: 7px;
    height: 7px;
    margin-top: 6px;
    border-radius: 999px;
    background: #25d366;
}

.bns-wachannel__bot-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 12px 18px;
    border-radius: 999px;
    background: #25d366;
    color: #fff !important;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-wachannel__web {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff;
    border: 1px dashed rgba(15, 23, 42, 0.16);
    color: var(--msg-navy) !important;
    font-weight: 700;
    text-decoration: none !important;
}

.bns-wachannel__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(37, 211, 102, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-wachannel__footer p {
    margin: 0 0 14px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-wachannel__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-wachannel__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

@media (max-width: 767px) {
    .bns-wachannel__items,
    .bns-wachannel__bot-features {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-wachannel > * {
        animation: none;
    }
}

/* ── Venue, Date, Time & Location rich layout ── */
.bns-message-modal__sheet--venue {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-venue-msg {
    display: grid;
    gap: 14px;
}

.bns-venue-msg > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-venue-msg > *:nth-child(1) { animation-delay: 0.02s; }
.bns-venue-msg > *:nth-child(2) { animation-delay: 0.06s; }
.bns-venue-msg > *:nth-child(3) { animation-delay: 0.1s; }
.bns-venue-msg > *:nth-child(4) { animation-delay: 0.14s; }
.bns-venue-msg > *:nth-child(5) { animation-delay: 0.18s; }
.bns-venue-msg > *:nth-child(6) { animation-delay: 0.22s; }
.bns-venue-msg > *:nth-child(7) { animation-delay: 0.26s; }

.bns-venue-msg__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(220, 38, 38, 0.28), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(37, 99, 235, 0.25), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 48%, #7f1d1d 100%);
}

.bns-venue-msg__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f87171, #dc2626);
    box-shadow: 0 10px 22px rgba(220, 38, 38, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-venue-msg__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.2rem, 2.5vw, 1.55rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-venue-msg__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-venue-msg__event {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-venue-msg__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.08), #fff);
    border: 1px solid rgba(220, 38, 38, 0.16);
}

.bns-venue-msg__event-row i {
    color: #dc2626;
    font-size: 1.1rem;
}

.bns-venue-msg__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-venue-msg__event-row strong {
    color: var(--msg-navy);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-venue-msg__sessions {
    display: grid;
    gap: 10px;
}

.bns-venue-msg__session {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-venue-msg__session--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-venue-msg__session-label {
    grid-column: 1 / -1;
    display: inline-flex;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-venue-msg__session--blue .bns-venue-msg__session-label {
    background: #2563eb;
}

.bns-venue-msg__session .bns-venue-msg__event-row {
    background: #fff;
}

.bns-venue-msg__event-row--full {
    grid-column: 1 / -1;
}

.bns-venue-msg__session:not(.bns-venue-msg__session--blue) .bns-venue-msg__event-row i {
    color: #16a34a;
}

.bns-venue-msg__or {
    display: flex;
    justify-content: center;
    align-items: center;
}

.bns-venue-msg__or span {
    display: inline-flex;
    min-width: 46px;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.bns-venue-msg__motto {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.bns-venue-msg__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 700;
}

.bns-venue-msg__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-venue-msg__card-title {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-venue-msg__card-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(220, 38, 38, 0.35);
}

.bns-venue-msg__address-title {
    display: block;
    margin-bottom: 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.5;
}

.bns-venue-msg__address-lines {
    margin: 0 0 14px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.65;
}

.bns-venue-msg__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-venue-msg__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-venue-msg__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-venue-msg__partner {
    padding: 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-venue-msg__partner span {
    display: block;
    margin-bottom: 4px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-venue-msg__partner strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    line-height: 1.45;
}

.bns-venue-msg__badge {
    display: inline-flex;
    justify-content: center;
    width: 100%;
    padding: 12px 16px;
    border-radius: 999px;
    background: rgba(253, 110, 1, 0.12);
    color: #c2410c;
    font-size: 0.88rem;
    font-weight: 800;
    text-align: center;
}

.bns-venue-msg__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-venue-msg__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform 0.2s ease;
}

.bns-venue-msg__action:hover {
    transform: translateY(-2px);
}

.bns-venue-msg__action--register {
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(22, 163, 74, 0.28);
}

.bns-venue-msg__action--maps {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.28);
}

.bns-venue-msg__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(220, 38, 38, 0.08), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-venue-msg__footer p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-venue-msg__footer strong {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.85rem;
}

@media (max-width: 767px) {
    .bns-venue-msg__event,
    .bns-venue-msg__session,
    .bns-venue-msg__partners,
    .bns-venue-msg__actions {
        grid-template-columns: 1fr;
    }

    .bns-venue-msg__event-row--full {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-venue-msg > * {
        animation: none;
    }
}

/* ── Dress Code rich layout ── */
.bns-message-modal__sheet--dress {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-dress {
    display: grid;
    gap: 14px;
}

.bns-dress > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-dress > *:nth-child(1) { animation-delay: 0.02s; }
.bns-dress > *:nth-child(2) { animation-delay: 0.06s; }
.bns-dress > *:nth-child(3) { animation-delay: 0.1s; }
.bns-dress > *:nth-child(4) { animation-delay: 0.14s; }

.bns-dress__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(253, 110, 1, 0.28), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(37, 99, 235, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 52%, #1e40af 100%);
}

.bns-dress__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-dress__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.4rem;
}

.bns-dress__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-dress__greeting {
    margin: 0 0 8px;
    color: #fdba74;
    font-size: 0.95rem;
    font-weight: 700;
}

.bns-dress__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.65;
}

.bns-dress__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-dress__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-dress__card--yes {
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.08), #fff);
    border-color: rgba(34, 197, 94, 0.2);
}

.bns-dress__card--no {
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.07), #fff);
    border-color: rgba(220, 38, 38, 0.18);
}

.bns-dress__card h4 {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-dress__card h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(15, 23, 42, 0.12);
}

.bns-dress__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-dress__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.85);
}

.bns-dress__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    font-size: 0.72rem;
    color: #fff;
    flex-shrink: 0;
}

.bns-dress__item--yes .bns-dress__mark {
    background: linear-gradient(135deg, #22c55e, #15803d);
}

.bns-dress__item--no .bns-dress__mark {
    background: linear-gradient(135deg, #f87171, #dc2626);
}

.bns-dress__item strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-dress__why {
    padding: 18px;
    border-radius: 16px;
    background:
        radial-gradient(circle at 90% 10%, rgba(37, 99, 235, 0.1), transparent 42%),
        #fff;
    border: 1px solid rgba(37, 99, 235, 0.14);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-dress__why h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-dress__why h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(37, 99, 235, 0.28);
}

.bns-dress__why > p {
    margin: 0 0 12px;
    color: var(--msg-muted);
    font-size: 0.92rem;
    font-weight: 650;
}

.bns-dress__why-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-dress__why-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.06);
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.5;
}

.bns-dress__why-dot {
    width: 8px;
    height: 8px;
    margin-top: 6px;
    border-radius: 999px;
    background: #2563eb;
}

.bns-dress__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(253, 110, 1, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-dress__thanks {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-dress__footer > p {
    margin: 0 0 14px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-dress__motto {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.bns-dress__motto-item {
    display: grid;
    gap: 4px;
    justify-items: center;
    padding: 10px 8px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-dress__motto-item span {
    font-size: 1.1rem;
}

.bns-dress__motto-item strong {
    color: var(--msg-navy);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
}

@media (max-width: 767px) {
    .bns-dress__grid,
    .bns-dress__motto {
        grid-template-columns: 1fr;
    }

    .bns-dress__motto {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-dress > * {
        animation: none;
    }
}

/* ── Business Card Reminder rich layout ── */
.bns-message-modal__sheet--bizcard {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-bizcard {
    display: grid;
    gap: 14px;
}

.bns-bizcard > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-bizcard > *:nth-child(1) { animation-delay: 0.02s; }
.bns-bizcard > *:nth-child(2) { animation-delay: 0.06s; }
.bns-bizcard > *:nth-child(3) { animation-delay: 0.1s; }
.bns-bizcard > *:nth-child(4) { animation-delay: 0.14s; }
.bns-bizcard > *:nth-child(5) { animation-delay: 0.18s; }

.bns-bizcard__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(34, 197, 94, 0.28), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(37, 99, 235, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #14532d 48%, #166534 100%);
}

.bns-bizcard__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-bizcard__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
}

.bns-bizcard__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-bizcard__greeting {
    margin: 0 0 8px;
    color: #86efac;
    font-size: 0.95rem;
    font-weight: 700;
}

.bns-bizcard__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.65;
}

.bns-bizcard__card,
.bns-bizcard__alt {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-bizcard__card {
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.08), #fff);
    border-color: rgba(34, 197, 94, 0.18);
}

.bns-bizcard__card h4,
.bns-bizcard__alt h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-bizcard__card h4 span,
.bns-bizcard__alt h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(34, 197, 94, 0.35);
}

.bns-bizcard__alt h4 span {
    border-bottom-color: rgba(37, 99, 235, 0.3);
}

.bns-bizcard__card-intro {
    margin: 0 0 12px;
    color: var(--msg-muted);
    font-size: 0.92rem;
    font-weight: 650;
}

.bns-bizcard__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-bizcard__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
}

.bns-bizcard__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-bizcard__item strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-bizcard__alt {
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.07), #fff);
    border-color: rgba(37, 99, 235, 0.16);
}

.bns-bizcard__alt-badge {
    display: inline-block;
    margin-bottom: 10px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
    font-size: 0.82rem;
    font-weight: 800;
}

.bns-bizcard__alt-welcome {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 0.95rem;
    font-weight: 750;
}

.bns-bizcard__alt-hint {
    margin: 0 0 12px;
    color: var(--msg-muted);
    font-size: 0.9rem;
    font-weight: 650;
}

.bns-bizcard__fields {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-bizcard__field {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.06);
    border: 1px dashed rgba(37, 99, 235, 0.22);
}

.bns-bizcard__field-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 26px;
    padding: 0 8px;
    border-radius: 999px;
    background: #1d4ed8;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
}

.bns-bizcard__field strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 750;
}

.bns-bizcard__remember {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 85% 15%, rgba(253, 110, 1, 0.14), transparent 42%),
        linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff;
}

.bns-bizcard__remember-label {
    display: inline-block;
    margin-bottom: 10px;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(253, 110, 1, 0.9);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-bizcard__quote {
    display: block;
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.05rem, 2.2vw, 1.3rem);
    font-weight: 800;
    line-height: 1.35;
}

.bns-bizcard__remember p {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.92rem;
    line-height: 1.65;
}

.bns-bizcard__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(34, 197, 94, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-bizcard__footer > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-bizcard__brand {
    display: inline-block;
    margin-bottom: 12px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.85rem;
}

.bns-bizcard__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-bizcard__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (prefers-reduced-motion: reduce) {
    .bns-bizcard > * {
        animation: none;
    }
}

/* ── Reporting Time rich layout ── */
.bns-message-modal__sheet--reporting {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-reporting {
    display: grid;
    gap: 14px;
}

.bns-reporting > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-reporting > *:nth-child(1) { animation-delay: 0.02s; }
.bns-reporting > *:nth-child(2) { animation-delay: 0.06s; }
.bns-reporting > *:nth-child(3) { animation-delay: 0.1s; }
.bns-reporting > *:nth-child(4) { animation-delay: 0.14s; }
.bns-reporting > *:nth-child(5) { animation-delay: 0.18s; }

.bns-reporting__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(253, 110, 1, 0.3), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(220, 38, 38, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 48%, #9a3412 100%);
}

.bns-reporting__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-reporting__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
}

.bns-reporting__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-reporting__greeting {
    margin: 0 0 8px;
    color: #fdba74;
    font-size: 0.95rem;
    font-weight: 700;
}

.bns-reporting__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.65;
}

.bns-reporting__details,
.bns-reporting__card,
.bns-reporting__note {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-reporting__details h4,
.bns-reporting__card h4,
.bns-reporting__note h4 {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-reporting__details h4 span,
.bns-reporting__card h4 span,
.bns-reporting__note h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(253, 110, 1, 0.35);
}

.bns-reporting__detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.bns-reporting__detail {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(10, 29, 55, 0.05), #fff);
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-reporting__detail--accent {
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.12), #fff);
    border-color: rgba(253, 110, 1, 0.22);
}

.bns-reporting__detail i {
    color: #fd6e01;
    font-size: 1.05rem;
}

.bns-reporting__detail span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-reporting__detail strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-reporting__sessions {
    display: grid;
    gap: 12px;
}

.bns-reporting__session {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-reporting__session--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-reporting__session-label {
    grid-column: 1 / -1;
    display: inline-flex;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-reporting__session--blue .bns-reporting__session-label {
    background: #2563eb;
}

.bns-reporting__session .bns-reporting__detail {
    background: #fff;
}

.bns-reporting__detail--full {
    grid-column: 1 / -1;
}

.bns-reporting__session:not(.bns-reporting__session--blue) .bns-reporting__detail i {
    color: #16a34a;
}

.bns-reporting__venue-title {
    display: block;
    margin-bottom: 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.5;
}

.bns-reporting__venue-lines {
    margin: 0 0 14px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.65;
}

.bns-reporting__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-reporting__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-reporting__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-reporting__partner {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #f8fafc;
}

.bns-reporting__partner span {
    display: block;
    margin-bottom: 6px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-reporting__partner strong {
    display: block;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-reporting__brand {
    display: block;
    margin: 4px 0 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 800;
}

.bns-reporting__card {
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.07), #fff);
    border-color: rgba(34, 197, 94, 0.18);
}

.bns-reporting__card-intro {
    margin: 0 0 12px;
    color: var(--msg-muted);
    font-size: 0.92rem;
    font-weight: 650;
}

.bns-reporting__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-reporting__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
}

.bns-reporting__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-reporting__item strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-reporting__note {
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.07), #fff);
    border-color: rgba(37, 99, 235, 0.16);
}

.bns-reporting__note-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    margin-bottom: 12px;
    padding: 12px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.06);
}

.bns-reporting__note-row p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-reporting__seats {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff;
}

.bns-reporting__seats strong {
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-reporting__seats-note {
    margin: 0;
    color: var(--msg-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.bns-reporting__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(253, 110, 1, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-reporting__thanks {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-reporting__footer > p {
    margin: 0 0 14px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-reporting__motto {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.bns-reporting__motto-item {
    display: grid;
    gap: 4px;
    justify-items: center;
    padding: 10px 8px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-reporting__motto-item span {
    font-size: 1.1rem;
}

.bns-reporting__motto-item strong {
    color: var(--msg-navy);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
}

@media (max-width: 767px) {
    .bns-reporting__detail-grid,
    .bns-reporting__session,
    .bns-reporting__partners,
    .bns-reporting__motto {
        grid-template-columns: 1fr;
    }

    .bns-reporting__detail--full {
        grid-column: auto;
    }

    .bns-reporting__motto {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-reporting > * {
        animation: none;
    }
}

/* ── Surprise Announcement rich layout ── */
.bns-message-modal__sheet--surprise {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-surprise {
    display: grid;
    gap: 14px;
}

.bns-surprise > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-surprise > *:nth-child(1) { animation-delay: 0.02s; }
.bns-surprise > *:nth-child(2) { animation-delay: 0.06s; }
.bns-surprise > *:nth-child(3) { animation-delay: 0.1s; }
.bns-surprise > *:nth-child(4) { animation-delay: 0.14s; }
.bns-surprise > *:nth-child(5) { animation-delay: 0.18s; }
.bns-surprise > *:nth-child(6) { animation-delay: 0.22s; }
.bns-surprise > *:nth-child(7) { animation-delay: 0.26s; }
.bns-surprise > *:nth-child(8) { animation-delay: 0.3s; }
.bns-surprise > *:nth-child(9) { animation-delay: 0.34s; }

.bns-surprise__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(253, 110, 1, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(168, 85, 247, 0.25), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #7c2d12 48%, #c2410c 100%);
}

.bns-surprise__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #78350f;
    box-shadow: 0 10px 22px rgba(245, 158, 11, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-surprise__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
}

.bns-surprise__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-surprise__greeting {
    margin: 0 0 8px;
    color: #fdba74;
    font-size: 0.95rem;
    font-weight: 700;
}

.bns-surprise__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.65;
}

.bns-surprise__teaser {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 85% 15%, rgba(251, 191, 36, 0.2), transparent 42%),
        linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.2);
}

.bns-surprise__teaser h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1.05rem;
    font-weight: 800;
}

.bns-surprise__teaser > p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-surprise__teaser-line {
    margin: 0 0 4px;
    color: var(--msg-muted);
    font-size: 0.92rem;
    font-weight: 650;
}

.bns-surprise__punch {
    display: inline-block;
    margin-top: 12px;
    padding: 10px 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, #dc2626, #ea580c);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(220, 38, 38, 0.25);
}

.bns-surprise__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-surprise__card h4 {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-surprise__card h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(253, 110, 1, 0.35);
}

.bns-surprise__waits {
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.bns-surprise__wait {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.08), #fff);
    border: 1px solid rgba(253, 110, 1, 0.14);
}

.bns-surprise__wait span {
    font-size: 1.15rem;
}

.bns-surprise__wait strong {
    color: var(--msg-navy);
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1.4;
}

.bns-surprise__wait-note {
    margin: 0;
    color: var(--msg-muted);
    font-size: 0.88rem;
    font-style: italic;
    line-height: 1.5;
}

.bns-surprise__exclusive {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff;
}

.bns-surprise__exclusive h4 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
}

.bns-surprise__exclusive > p {
    margin: 0 0 12px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-surprise__alert {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(251, 191, 36, 0.95);
    color: #78350f;
}

.bns-surprise__alert strong {
    font-size: 0.88rem;
    font-weight: 800;
}

.bns-surprise__event {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.bns-surprise__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.08), #fff);
    border: 1px solid rgba(220, 38, 38, 0.16);
}

.bns-surprise__event-row--accent {
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.12), #fff);
    border-color: rgba(253, 110, 1, 0.22);
}

.bns-surprise__event-row i {
    color: #dc2626;
    font-size: 1.05rem;
}

.bns-surprise__event-row--accent i {
    color: #fd6e01;
}

.bns-surprise__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-surprise__event-row strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-surprise__sessions {
    display: grid;
    gap: 12px;
}

.bns-surprise__session {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-surprise__session--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-surprise__session-label {
    grid-column: 1 / -1;
    display: inline-flex;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-surprise__session--blue .bns-surprise__session-label {
    background: #2563eb;
}

.bns-surprise__session .bns-surprise__event-row {
    background: #fff;
}

.bns-surprise__event-row--full {
    grid-column: 1 / -1;
}

.bns-surprise__session:not(.bns-surprise__session--blue) .bns-surprise__event-row i {
    color: #16a34a;
}

.bns-surprise__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-surprise__partner {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #f8fafc;
}

.bns-surprise__partner span {
    display: block;
    margin-bottom: 6px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-surprise__partner strong {
    display: block;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-surprise__brand {
    display: block;
    margin: 4px 0 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 800;
}

.bns-surprise__venue-title {
    display: block;
    margin-bottom: 8px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.45;
}

.bns-surprise__venue-lines {
    margin: 0 0 12px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-surprise__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-surprise__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-surprise__reminders {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-surprise__reminder {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-surprise__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
}

.bns-surprise__reminder strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-surprise__rsvp {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.1), #fff);
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.bns-surprise__rsvp h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-surprise__rsvp > p {
    margin: 0 0 12px;
    color: var(--msg-muted);
    font-size: 0.92rem;
}

.bns-surprise__rsvp-btn {
    display: inline-block;
    margin-bottom: 10px;
    padding: 14px 22px;
    border-radius: 14px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    box-shadow: 0 12px 24px rgba(22, 163, 74, 0.28);
}

.bns-surprise__rsvp em {
    display: block;
    color: var(--msg-ink);
    font-style: normal;
    font-size: 0.9rem;
    font-weight: 650;
}

.bns-surprise__footer {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(253, 110, 1, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-surprise__footer > p {
    margin: 0 0 8px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-surprise__closing {
    font-weight: 750 !important;
    color: var(--msg-navy) !important;
}

.bns-surprise__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}

.bns-surprise__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-surprise__event,
    .bns-surprise__session,
    .bns-surprise__partners,
    .bns-surprise__waits {
        grid-template-columns: 1fr;
    }

    .bns-surprise__event-row--full {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-surprise > * {
        animation: none;
    }
}

/* ── Tomorrow Reminder rich layout ── */
.bns-message-modal__sheet--tomorrow {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-tomorrow {
    display: grid;
    gap: 14px;
}

.bns-tomorrow > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-tomorrow > *:nth-child(1) { animation-delay: 0.02s; }
.bns-tomorrow > *:nth-child(2) { animation-delay: 0.06s; }
.bns-tomorrow > *:nth-child(3) { animation-delay: 0.1s; }
.bns-tomorrow > *:nth-child(4) { animation-delay: 0.14s; }
.bns-tomorrow > *:nth-child(5) { animation-delay: 0.18s; }
.bns-tomorrow > *:nth-child(6) { animation-delay: 0.22s; }
.bns-tomorrow > *:nth-child(7) { animation-delay: 0.26s; }
.bns-tomorrow > *:nth-child(8) { animation-delay: 0.3s; }
.bns-tomorrow > *:nth-child(9) { animation-delay: 0.34s; }
.bns-tomorrow > *:nth-child(10) { animation-delay: 0.38s; }

.bns-tomorrow__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(251, 191, 36, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.28), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 45%, #b45309 100%);
}

.bns-tomorrow__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #78350f;
    box-shadow: 0 10px 22px rgba(245, 158, 11, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-tomorrow__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
    color: #fbbf24;
}

.bns-tomorrow__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-tomorrow__tagline {
    margin: 0 0 10px;
    color: #fde68a;
    font-size: 1rem;
    font-weight: 750;
}

.bns-tomorrow__greeting {
    margin: 0 0 6px;
    color: #fdba74;
    font-size: 0.95rem;
    font-weight: 700;
}

.bns-tomorrow__hero-sub {
    margin: 0 0 6px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-tomorrow__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-tomorrow__event {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.bns-tomorrow__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(245, 158, 11, 0.1), #fff);
    border: 1px solid rgba(245, 158, 11, 0.2);
}

.bns-tomorrow__event-row--accent {
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.12), #fff);
    border-color: rgba(253, 110, 1, 0.22);
}

.bns-tomorrow__event-row i {
    color: #d97706;
    font-size: 1.05rem;
}

.bns-tomorrow__event-row--accent i {
    color: #fd6e01;
}

.bns-tomorrow__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-tomorrow__event-row strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-tomorrow__sessions {
    display: grid;
    gap: 12px;
}

.bns-tomorrow__session {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-tomorrow__session--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-tomorrow__session-label {
    grid-column: 1 / -1;
    display: inline-flex;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-tomorrow__session--blue .bns-tomorrow__session-label {
    background: #2563eb;
}

.bns-tomorrow__session .bns-tomorrow__event-row {
    background: #fff;
}

.bns-tomorrow__event-row--full {
    grid-column: 1 / -1;
}

.bns-tomorrow__session:not(.bns-tomorrow__session--blue) .bns-tomorrow__event-row i {
    color: #16a34a;
}

.bns-tomorrow__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-tomorrow__partner {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #f8fafc;
}

.bns-tomorrow__partner span {
    display: block;
    margin-bottom: 6px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-tomorrow__partner strong {
    display: block;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-tomorrow__brand {
    display: block;
    margin: 8px 0 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 800;
}

.bns-tomorrow__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-tomorrow__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-tomorrow__card h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(245, 158, 11, 0.4);
}

.bns-tomorrow__venue-title {
    display: block;
    margin-bottom: 8px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.45;
}

.bns-tomorrow__venue-lines {
    margin: 0 0 12px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-tomorrow__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-tomorrow__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-tomorrow__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-tomorrow__list--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bns-tomorrow__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-tomorrow__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-tomorrow__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-tomorrow__seats {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    margin-top: 12px;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff;
}

.bns-tomorrow__seats strong {
    color: #fff;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-tomorrow__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-tomorrow__notes {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-tomorrow__note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.5;
}

.bns-tomorrow__note-icon {
    font-size: 1.15rem;
}

.bns-tomorrow__help {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-tomorrow__help h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-tomorrow__help-grid {
    display: grid;
    gap: 8px;
}

.bns-tomorrow__help-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.bns-tomorrow__help-btn em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-tomorrow__help-btn--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
}

.bns-tomorrow__help-btn--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
}

.bns-tomorrow__help-btn--web {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.bns-tomorrow__rsvp {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.1), #fff);
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.bns-tomorrow__rsvp h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-tomorrow__rsvp > p {
    margin: 0 0 12px;
    color: var(--msg-muted);
    font-size: 0.92rem;
}

.bns-tomorrow__rsvp-btn {
    display: inline-block;
    margin-bottom: 10px;
    padding: 14px 22px;
    border-radius: 14px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    box-shadow: 0 12px 24px rgba(22, 163, 74, 0.28);
}

.bns-tomorrow__rsvp em {
    display: block;
    color: var(--msg-ink);
    font-style: normal;
    font-size: 0.9rem;
    font-weight: 650;
}

.bns-tomorrow__final {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 85% 15%, rgba(251, 191, 36, 0.16), transparent 42%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-tomorrow__final h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-tomorrow__final > strong {
    display: block;
    margin-bottom: 8px;
    color: var(--msg-navy);
    font-size: 1.05rem;
    line-height: 1.45;
}

.bns-tomorrow__final > p {
    margin: 0 0 6px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-tomorrow__final > em {
    display: inline-block;
    margin: 10px 0 12px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-style: normal;
    font-size: 0.88rem;
    font-weight: 800;
}

.bns-tomorrow__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-tomorrow__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-tomorrow__event,
    .bns-tomorrow__session,
    .bns-tomorrow__partners,
    .bns-tomorrow__grid,
    .bns-tomorrow__list--2 {
        grid-template-columns: 1fr;
    }

    .bns-tomorrow__event-row--full {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-tomorrow > * {
        animation: none;
    }
}

/* ── Final Checklist rich layout ── */
.bns-message-modal__sheet--checklist {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-checklist {
    display: grid;
    gap: 14px;
}

.bns-checklist > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-checklist > *:nth-child(1) { animation-delay: 0.02s; }
.bns-checklist > *:nth-child(2) { animation-delay: 0.06s; }
.bns-checklist > *:nth-child(3) { animation-delay: 0.1s; }
.bns-checklist > *:nth-child(4) { animation-delay: 0.14s; }
.bns-checklist > *:nth-child(5) { animation-delay: 0.18s; }
.bns-checklist > *:nth-child(6) { animation-delay: 0.22s; }
.bns-checklist > *:nth-child(7) { animation-delay: 0.26s; }
.bns-checklist > *:nth-child(8) { animation-delay: 0.3s; }
.bns-checklist > *:nth-child(9) { animation-delay: 0.34s; }
.bns-checklist > *:nth-child(10) { animation-delay: 0.38s; }

.bns-checklist__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(34, 197, 94, 0.32), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(37, 99, 235, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #14532d 48%, #166534 100%);
}

.bns-checklist__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-checklist__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
}

.bns-checklist__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-checklist__tagline {
    margin: 0 0 10px;
    color: #86efac;
    font-size: 1rem;
    font-weight: 750;
}

.bns-checklist__hero-sub {
    margin: 0 0 6px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-checklist__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-checklist__event {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.bns-checklist__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.1), #fff);
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.bns-checklist__event-row--accent {
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.12), #fff);
    border-color: rgba(253, 110, 1, 0.22);
}

.bns-checklist__event-row i {
    color: #16a34a;
    font-size: 1.05rem;
}

.bns-checklist__event-row--accent i {
    color: #fd6e01;
}

.bns-checklist__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-checklist__event-row strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-checklist__sessions {
    display: grid;
    gap: 12px;
}

.bns-checklist__session {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-checklist__session--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-checklist__session-label {
    grid-column: 1 / -1;
    display: inline-flex;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-checklist__session--blue .bns-checklist__session-label {
    background: #2563eb;
}

.bns-checklist__session .bns-checklist__event-row {
    background: #fff;
}

.bns-checklist__event-row--full {
    grid-column: 1 / -1;
}

.bns-checklist__session:not(.bns-checklist__session--blue) .bns-checklist__event-row i {
    color: #16a34a;
}

.bns-checklist__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-checklist__partner {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #f8fafc;
}

.bns-checklist__partner span {
    display: block;
    margin-bottom: 6px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-checklist__partner strong {
    display: block;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-checklist__brand {
    display: block;
    margin: 8px 0 10px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 800;
}

.bns-checklist__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-checklist__card--home {
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.08), #fff);
    border-color: rgba(34, 197, 94, 0.18);
}

.bns-checklist__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-checklist__card h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(34, 197, 94, 0.4);
}

.bns-checklist__venue-title {
    display: block;
    margin-bottom: 8px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.45;
}

.bns-checklist__venue-lines {
    margin: 0 0 12px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-checklist__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-checklist__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-checklist__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-checklist__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-checklist__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
    border: 1px solid rgba(34, 197, 94, 0.12);
}

.bns-checklist__box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-checklist__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-checklist__notes {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-checklist__note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.5;
}

.bns-checklist__help {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-checklist__help h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-checklist__help-grid {
    display: grid;
    gap: 8px;
}

.bns-checklist__help-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.bns-checklist__help-btn em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-checklist__help-btn--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
}

.bns-checklist__help-btn--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
}

.bns-checklist__help-btn--web {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.bns-checklist__rsvp {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.1), #fff);
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.bns-checklist__rsvp h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-checklist__rsvp > p {
    margin: 0 0 12px;
    color: var(--msg-muted);
    font-size: 0.92rem;
}

.bns-checklist__rsvp-btn {
    display: inline-block;
    margin-bottom: 10px;
    padding: 14px 22px;
    border-radius: 14px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    box-shadow: 0 12px 24px rgba(22, 163, 74, 0.28);
}

.bns-checklist__rsvp em {
    display: block;
    color: var(--msg-ink);
    font-style: normal;
    font-size: 0.9rem;
    font-weight: 650;
}

.bns-checklist__final {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 85% 15%, rgba(34, 197, 94, 0.14), transparent 42%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-checklist__final h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-checklist__final > strong {
    display: block;
    margin-bottom: 8px;
    color: var(--msg-navy);
    font-size: 1.05rem;
    line-height: 1.45;
}

.bns-checklist__final > p {
    margin: 0 0 6px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-checklist__final > em {
    display: inline-block;
    margin: 10px 0 12px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-style: normal;
    font-size: 0.88rem;
    font-weight: 800;
}

.bns-checklist__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-checklist__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-checklist__event,
    .bns-checklist__session,
    .bns-checklist__partners,
    .bns-checklist__grid {
        grid-template-columns: 1fr;
    }

    .bns-checklist__event-row--full {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-checklist > * {
        animation: none;
    }
}

/* ── Personal Invitation from Founder rich layout ── */
.bns-message-modal__sheet--founder {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-founder {
    display: grid;
    gap: 14px;
}

.bns-founder > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-founder > *:nth-child(1) { animation-delay: 0.02s; }
.bns-founder > *:nth-child(2) { animation-delay: 0.06s; }
.bns-founder > *:nth-child(3) { animation-delay: 0.1s; }
.bns-founder > *:nth-child(4) { animation-delay: 0.14s; }
.bns-founder > *:nth-child(5) { animation-delay: 0.18s; }
.bns-founder > *:nth-child(6) { animation-delay: 0.22s; }
.bns-founder > *:nth-child(7) { animation-delay: 0.26s; }
.bns-founder > *:nth-child(8) { animation-delay: 0.3s; }

.bns-founder__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(253, 110, 1, 0.28), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(37, 99, 235, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 52%, #7f1d1d 100%);
}

.bns-founder__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-founder__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
}

.bns-founder__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.2rem, 2.5vw, 1.55rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-founder__greeting {
    margin: 0 0 8px;
    color: #fdba74;
    font-size: 0.95rem;
    font-weight: 700;
}

.bns-founder__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.65;
}

.bns-founder__mission,
.bns-founder__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-founder__mission > p {
    margin: 0 0 14px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
    font-weight: 650;
}

.bns-founder__vision-title {
    display: block;
    margin-bottom: 10px;
    color: var(--msg-navy);
    font-size: 0.92rem;
}

.bns-founder__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-founder__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-founder__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-founder__item strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-founder__gujarati {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 85% 15%, rgba(253, 110, 1, 0.12), transparent 42%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), #fff);
    border: 1px solid rgba(253, 110, 1, 0.18);
}

.bns-founder__gujarati h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1.05rem;
    font-weight: 800;
}

.bns-founder__guj-line {
    margin: 0 0 6px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.55;
}

.bns-founder__guj-line--accent {
    color: var(--msg-navy);
    font-size: 1.05rem;
    font-weight: 800;
}

.bns-founder__journey {
    padding: 16px 18px;
    border-radius: 14px;
    text-align: center;
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff;
}

.bns-founder__journey p {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 750;
    line-height: 1.55;
}

.bns-founder__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-founder__card h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(253, 110, 1, 0.35);
}

.bns-founder__cert {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    margin-top: 12px;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(251, 191, 36, 0.16), #fff);
    border: 1px solid rgba(245, 158, 11, 0.25);
}

.bns-founder__cert strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-founder__event {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-founder__sessions {
    display: grid;
    gap: 12px;
}

.bns-founder__or {
    display: flex;
    justify-content: center;
    align-items: center;
}

.bns-founder__or span {
    display: inline-flex;
    min-width: 46px;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.bns-founder__session {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-founder__session--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-founder__session-label {
    grid-column: 1 / -1;
    display: inline-flex;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-founder__session--blue .bns-founder__session-label {
    background: #2563eb;
}

.bns-founder__session .bns-founder__event-row {
    background: #fff;
}

.bns-founder__event-row--full {
    grid-column: 1 / -1;
}

.bns-founder__session:not(.bns-founder__session--blue) .bns-founder__event-row i {
    color: #16a34a;
}

.bns-founder__session--blue .bns-founder__event-row i {
    color: #2563eb;
}

.bns-founder__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.08), #fff);
    border: 1px solid rgba(220, 38, 38, 0.16);
}

.bns-founder__event-row i {
    color: #dc2626;
    font-size: 1.05rem;
}

.bns-founder__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-founder__event-row strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-founder__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-founder__partner {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #f8fafc;
}

.bns-founder__partner span {
    display: block;
    margin-bottom: 6px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-founder__partner strong {
    display: block;
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-founder__choice {
    margin-top: 10px !important;
    color: var(--msg-navy) !important;
    font-weight: 700;
}

.bns-founder__mobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 211, 102, 0.12);
    color: #128c7e !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-founder__mobile:hover {
    background: #25d366;
    color: #fff !important;
}

.bns-founder__venue-title {
    display: block;
    margin-bottom: 8px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.45;
}

.bns-founder__venue-lines {
    margin: 0 0 12px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-founder__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-founder__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-founder__signoff {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(253, 110, 1, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-founder__signoff > p {
    margin: 0 0 6px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-founder__signoff > em {
    display: block;
    margin: 12px 0 8px;
    color: var(--msg-muted);
    font-style: italic;
    font-size: 0.9rem;
}

.bns-founder__signature {
    display: grid;
    gap: 2px;
    margin-bottom: 14px;
}

.bns-founder__signature strong {
    color: var(--msg-navy);
    font-size: 1.15rem;
    font-weight: 800;
}

.bns-founder__signature span {
    color: var(--msg-muted);
    font-size: 0.88rem;
    font-weight: 650;
}

.bns-founder__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-founder__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-founder__event,
    .bns-founder__session,
    .bns-founder__partners {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-founder > * {
        animation: none;
    }
}

/* ── Today Is The Day rich layout ── */
.bns-message-modal__sheet--today {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-today {
    display: grid;
    gap: 14px;
}

.bns-today > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-today > *:nth-child(1) { animation-delay: 0.02s; }
.bns-today > *:nth-child(2) { animation-delay: 0.06s; }
.bns-today > *:nth-child(3) { animation-delay: 0.1s; }
.bns-today > *:nth-child(4) { animation-delay: 0.14s; }
.bns-today > *:nth-child(5) { animation-delay: 0.18s; }
.bns-today > *:nth-child(6) { animation-delay: 0.22s; }
.bns-today > *:nth-child(7) { animation-delay: 0.26s; }
.bns-today > *:nth-child(8) { animation-delay: 0.3s; }
.bns-today > *:nth-child(9) { animation-delay: 0.34s; }
.bns-today > *:nth-child(10) { animation-delay: 0.38s; }
.bns-today > *:nth-child(11) { animation-delay: 0.42s; }

.bns-today__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(34, 197, 94, 0.32), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.28), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #14532d 45%, #166534 100%);
}

.bns-today__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-today__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
}

.bns-today__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-today__greeting {
    margin: 0 0 6px;
    color: #86efac;
    font-size: 1rem;
    font-weight: 750;
}

.bns-today__hook {
    margin: 0 0 10px;
    color: #fde68a;
    font-size: 0.98rem;
    font-weight: 750;
}

.bns-today__hero-sub {
    margin: 0 0 6px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-today__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-today__event {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.bns-today__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.1), #fff);
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.bns-today__event-row--accent {
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.12), #fff);
    border-color: rgba(253, 110, 1, 0.22);
}

.bns-today__event-row i {
    color: #16a34a;
    font-size: 1.05rem;
}

.bns-today__event-row--accent i {
    color: #fd6e01;
}

.bns-today__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-today__event-row strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-today__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-today__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-today__card h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(34, 197, 94, 0.4);
}

.bns-today__venue-title {
    display: block;
    margin-bottom: 8px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.45;
}

.bns-today__venue-lines {
    margin: 0 0 12px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-today__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-today__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-today__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-today__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-today__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-today__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-today__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-today__seats {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    margin-top: 12px;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff;
}

.bns-today__seats strong {
    color: #fff;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-today__notes {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-today__notes--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bns-today__note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.5;
}

.bns-today__network-note {
    margin: 12px 0 0;
    padding: 12px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.08);
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.5;
}

.bns-today__help {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-today__help h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-today__help-grid {
    display: grid;
    gap: 8px;
}

.bns-today__help-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.bns-today__help-btn em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-today__help-btn--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
}

.bns-today__help-btn--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
}

.bns-today__help-btn--web {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.bns-today__rsvp {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.22);
}

.bns-today__rsvp h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-today__rsvp > p {
    margin: 0 0 12px;
    color: var(--msg-muted);
    font-size: 0.92rem;
}

.bns-today__rsvp-btn {
    display: inline-block;
    margin-bottom: 10px;
    padding: 14px 22px;
    border-radius: 14px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    box-shadow: 0 12px 24px rgba(253, 110, 1, 0.28);
}

.bns-today__rsvp em {
    display: block;
    color: var(--msg-ink);
    font-style: normal;
    font-size: 0.9rem;
    font-weight: 650;
}

.bns-today__final {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 85% 15%, rgba(34, 197, 94, 0.14), transparent 42%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-today__final h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-today__final > strong {
    display: block;
    margin-bottom: 8px;
    color: var(--msg-navy);
    font-size: 1.05rem;
    line-height: 1.45;
}

.bns-today__final > p {
    margin: 0 0 6px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-today__tagline {
    color: #15803d !important;
    font-weight: 800 !important;
}

.bns-today__final > em {
    display: inline-block;
    margin: 10px 0 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-style: normal;
    font-size: 0.88rem;
    font-weight: 800;
}

.bns-today__closing {
    font-weight: 750 !important;
    color: var(--msg-navy) !important;
}

.bns-today__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}

.bns-today__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-today__event,
    .bns-today__grid,
    .bns-today__notes--2 {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-today > * {
        animation: none;
    }
}

/* ── Final Reminder rich layout ── */
.bns-message-modal__sheet--reminder {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-reminder {
    display: grid;
    gap: 14px;
}

.bns-reminder > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-reminder > *:nth-child(1) { animation-delay: 0.02s; }
.bns-reminder > *:nth-child(2) { animation-delay: 0.06s; }
.bns-reminder > *:nth-child(3) { animation-delay: 0.1s; }
.bns-reminder > *:nth-child(4) { animation-delay: 0.14s; }
.bns-reminder > *:nth-child(5) { animation-delay: 0.18s; }
.bns-reminder > *:nth-child(6) { animation-delay: 0.22s; }
.bns-reminder > *:nth-child(7) { animation-delay: 0.26s; }
.bns-reminder > *:nth-child(8) { animation-delay: 0.3s; }
.bns-reminder > *:nth-child(9) { animation-delay: 0.34s; }
.bns-reminder > *:nth-child(10) { animation-delay: 0.38s; }
.bns-reminder > *:nth-child(11) { animation-delay: 0.42s; }
.bns-reminder > *:nth-child(12) { animation-delay: 0.46s; }

.bns-reminder__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(220, 38, 38, 0.3), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.25), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #7f1d1d 48%, #9a3412 100%);
}

.bns-reminder__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f87171, #dc2626);
    box-shadow: 0 10px 22px rgba(220, 38, 38, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-reminder__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
}

.bns-reminder__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-reminder__greeting {
    margin: 0 0 8px;
    color: #fdba74;
    font-size: 1rem;
    font-weight: 750;
}

.bns-reminder__hero-sub {
    margin: 0 0 6px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-reminder__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-reminder__event {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.bns-reminder__sessions {
    display: grid;
    gap: 12px;
}

.bns-reminder__session {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-reminder__session--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-reminder__session-label {
    grid-column: 1 / -1;
    display: inline-flex;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-reminder__session--blue .bns-reminder__session-label {
    background: #2563eb;
}

.bns-reminder__session .bns-reminder__event-row {
    background: #fff;
}

.bns-reminder__event-row--full {
    grid-column: 1 / -1;
}

.bns-reminder__session:not(.bns-reminder__session--blue) .bns-reminder__event-row i {
    color: #16a34a;
}

.bns-reminder__session--blue .bns-reminder__event-row i {
    color: #2563eb;
}

.bns-reminder__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.08), #fff);
    border: 1px solid rgba(220, 38, 38, 0.16);
}

.bns-reminder__event-row--accent {
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.12), #fff);
    border-color: rgba(253, 110, 1, 0.22);
}

.bns-reminder__event-row i {
    color: #dc2626;
    font-size: 1.05rem;
}

.bns-reminder__event-row--accent i {
    color: #fd6e01;
}

.bns-reminder__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-reminder__event-row strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-reminder__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-reminder__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-reminder__card h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(220, 38, 38, 0.35);
}

.bns-reminder__venue-title {
    display: block;
    margin-bottom: 8px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.45;
}

.bns-reminder__venue-lines {
    margin: 0 0 12px;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-reminder__maps {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8 !important;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-reminder__maps:hover {
    background: #2563eb;
    color: #fff !important;
}

.bns-reminder__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-reminder__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-reminder__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-reminder__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-reminder__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-reminder__seats {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    margin-top: 12px;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff;
}

.bns-reminder__seats strong {
    color: #fff;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-reminder__notes {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-reminder__notes--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bns-reminder__note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.5;
}

.bns-reminder__help {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-reminder__help h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-reminder__help-grid {
    display: grid;
    gap: 8px;
}

.bns-reminder__help-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.bns-reminder__help-btn em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-reminder__help-btn--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
}

.bns-reminder__help-btn--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
}

.bns-reminder__help-btn--web {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.bns-reminder__assist {
    padding: 16px 18px;
    border-radius: 14px;
    text-align: center;
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.08), #fff);
    border: 1px solid rgba(220, 38, 38, 0.18);
}

.bns-reminder__assist h4 {
    margin: 0 0 8px;
    color: #b91c1c;
    font-size: 1rem;
    font-weight: 800;
}

.bns-reminder__assist p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-reminder__rsvp {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.22);
}

.bns-reminder__rsvp h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-reminder__rsvp > p {
    margin: 0 0 12px;
    color: var(--msg-muted);
    font-size: 0.92rem;
}

.bns-reminder__rsvp-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.bns-reminder__rsvp-btn {
    display: inline-block;
    padding: 12px 18px;
    border-radius: 14px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    box-shadow: 0 12px 24px rgba(253, 110, 1, 0.28);
}

.bns-reminder__rsvp-or {
    color: var(--msg-muted);
    font-size: 0.88rem;
    font-weight: 700;
}

.bns-reminder__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-reminder__partner {
    padding: 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-reminder__partner span {
    display: block;
    margin-bottom: 4px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-reminder__partner strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    line-height: 1.45;
}

.bns-reminder__final {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 85% 15%, rgba(220, 38, 38, 0.1), transparent 42%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-reminder__final h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-reminder__final > strong {
    display: block;
    margin-bottom: 8px;
    color: var(--msg-navy);
    font-size: 1.05rem;
    line-height: 1.45;
}

.bns-reminder__final > p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-reminder__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 12px;
}

.bns-reminder__actions span {
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(220, 38, 38, 0.1);
    color: #b91c1c;
    font-size: 0.82rem;
    font-weight: 800;
}

.bns-reminder__final > em {
    display: inline-block;
    margin: 4px 0 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-style: normal;
    font-size: 0.88rem;
    font-weight: 800;
}

.bns-reminder__closing {
    font-weight: 750 !important;
    color: var(--msg-navy) !important;
}

.bns-reminder__brand {
    display: block;
    margin: 10px 0 4px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-reminder__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}

.bns-reminder__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-reminder__event,
    .bns-reminder__session,
    .bns-reminder__grid,
    .bns-reminder__notes--2,
    .bns-reminder__partners {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-reminder > * {
        animation: none;
    }
}

/* ── Good Morning Welcome rich layout ── */
.bns-message-modal__sheet--welcome {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-welcome {
    display: grid;
    gap: 14px;
}

.bns-welcome > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-welcome > *:nth-child(1) { animation-delay: 0.02s; }
.bns-welcome > *:nth-child(2) { animation-delay: 0.06s; }
.bns-welcome > *:nth-child(3) { animation-delay: 0.1s; }
.bns-welcome > *:nth-child(4) { animation-delay: 0.14s; }
.bns-welcome > *:nth-child(5) { animation-delay: 0.18s; }
.bns-welcome > *:nth-child(6) { animation-delay: 0.22s; }
.bns-welcome > *:nth-child(7) { animation-delay: 0.26s; }
.bns-welcome > *:nth-child(8) { animation-delay: 0.3s; }
.bns-welcome > *:nth-child(9) { animation-delay: 0.34s; }

.bns-welcome__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(251, 191, 36, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(34, 197, 94, 0.25), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 45%, #b45309 100%);
}

.bns-welcome__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #78350f;
    box-shadow: 0 10px 22px rgba(245, 158, 11, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-welcome__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
    color: #fbbf24;
}

.bns-welcome__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-welcome__intro {
    margin: 0 0 10px;
    color: #fde68a;
    font-size: 0.98rem;
    font-weight: 750;
    line-height: 1.55;
}

.bns-welcome__hero-sub {
    margin: 0 0 12px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-welcome__journey {
    display: inline-block;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-welcome__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-welcome__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-welcome__card h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(245, 158, 11, 0.4);
}

.bns-welcome__notes {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-welcome__notes--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bns-welcome__note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.5;
}

.bns-welcome__callout {
    margin: 12px 0 0;
    padding: 12px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.08);
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.5;
}

.bns-welcome__photo {
    padding: 16px 18px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
    border: 1px solid rgba(37, 99, 235, 0.16);
}

.bns-welcome__photo h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-welcome__photo p {
    margin: 0 0 6px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-welcome__photo p:last-child {
    margin-bottom: 0;
}

.bns-welcome__help {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-welcome__help h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-welcome__help-grid {
    display: grid;
    gap: 8px;
}

.bns-welcome__help-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.bns-welcome__help-btn em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-welcome__help-btn--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
}

.bns-welcome__help-btn--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
}

.bns-welcome__help-btn--web {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.bns-welcome__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-welcome__partner {
    padding: 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-welcome__partner span {
    display: block;
    margin-bottom: 4px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-welcome__partner strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    line-height: 1.45;
}

.bns-welcome__thought {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 85% 15%, rgba(251, 191, 36, 0.18), transparent 42%),
        linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff;
}

.bns-welcome__thought-label {
    display: inline-block;
    margin-bottom: 10px;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(251, 191, 36, 0.95);
    color: #78350f;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-welcome__quote {
    display: block;
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.05rem, 2.2vw, 1.25rem);
    font-weight: 800;
    line-height: 1.4;
}

.bns-welcome__thought > p {
    margin: 0 0 12px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-welcome__thought-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-welcome__thought-actions span {
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 750;
}

.bns-welcome__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(251, 191, 36, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-welcome__final > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-welcome__closing {
    display: inline-block;
    margin-bottom: 12px;
    padding: 10px 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.92rem;
    font-weight: 800;
}

.bns-welcome__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-welcome__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-welcome__notes--2,
    .bns-welcome__partners {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-welcome > * {
        animation: none;
    }
}

/* ── Venue & GPS Reminder rich layout ── */
.bns-message-modal__sheet--venuegps {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-venuegps {
    display: grid;
    gap: 14px;
}

.bns-venuegps > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-venuegps > *:nth-child(1) { animation-delay: 0.02s; }
.bns-venuegps > *:nth-child(2) { animation-delay: 0.06s; }
.bns-venuegps > *:nth-child(3) { animation-delay: 0.1s; }
.bns-venuegps > *:nth-child(4) { animation-delay: 0.14s; }
.bns-venuegps > *:nth-child(5) { animation-delay: 0.18s; }
.bns-venuegps > *:nth-child(6) { animation-delay: 0.22s; }
.bns-venuegps > *:nth-child(7) { animation-delay: 0.26s; }
.bns-venuegps > *:nth-child(8) { animation-delay: 0.3s; }
.bns-venuegps > *:nth-child(9) { animation-delay: 0.34s; }
.bns-venuegps > *:nth-child(10) { animation-delay: 0.38s; }

.bns-venuegps__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(37, 99, 235, 0.32), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(220, 38, 38, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 48%, #1d4ed8 100%);
}

.bns-venuegps__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-venuegps__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
}

.bns-venuegps__hero h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-venuegps__greeting {
    margin: 0 0 8px;
    color: #93c5fd;
    font-size: 0.95rem;
    font-weight: 700;
}

.bns-venuegps__hero-sub {
    margin: 0 0 6px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-venuegps__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-venuegps__event {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.bns-venuegps__sessions {
    display: grid;
    gap: 12px;
}

.bns-venuegps__session {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-venuegps__session--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-venuegps__session-label {
    grid-column: 1 / -1;
    display: inline-flex;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-venuegps__session--blue .bns-venuegps__session-label {
    background: #2563eb;
}

.bns-venuegps__session .bns-venuegps__event-row {
    background: #fff;
}

.bns-venuegps__event-row--full {
    grid-column: 1 / -1;
}

.bns-venuegps__session:not(.bns-venuegps__session--blue) .bns-venuegps__event-row i {
    color: #16a34a;
}

.bns-venuegps__session--blue .bns-venuegps__event-row i {
    color: #2563eb;
}

.bns-venuegps__event-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
    border: 1px solid rgba(37, 99, 235, 0.16);
}

.bns-venuegps__event-row--accent {
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.12), #fff);
    border-color: rgba(253, 110, 1, 0.22);
}

.bns-venuegps__event-row i {
    color: #2563eb;
    font-size: 1.05rem;
}

.bns-venuegps__event-row--accent i {
    color: #fd6e01;
}

.bns-venuegps__event-row span {
    display: block;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-venuegps__event-row strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-venuegps__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-venuegps__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-venuegps__card h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(37, 99, 235, 0.35);
}

.bns-venuegps__venue-title {
    display: block;
    margin-bottom: 8px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    line-height: 1.45;
}

.bns-venuegps__venue-lines {
    margin: 0;
    padding-left: 18px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-venuegps__maps-card {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.1), #fff);
    border: 1px solid rgba(37, 99, 235, 0.2);
}

.bns-venuegps__maps-card h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-venuegps__maps-card > p {
    margin: 0 0 14px;
    color: var(--msg-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.bns-venuegps__maps {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 12px 18px;
    border-radius: 14px;
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: #fff !important;
    font-size: 0.92rem;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.28);
}

.bns-venuegps__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-venuegps__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-venuegps__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-venuegps__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-venuegps__report {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.2);
}

.bns-venuegps__report h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-venuegps__report-intro {
    margin: 0 0 10px !important;
    color: var(--msg-ink) !important;
    font-weight: 750 !important;
}

.bns-venuegps__report-time {
    display: inline-block;
    margin-bottom: 10px;
    padding: 10px 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    color: #fff;
    font-size: 0.92rem;
    font-weight: 800;
}

.bns-venuegps__report-times {
    display: grid;
    gap: 10px;
    margin-bottom: 12px;
}

.bns-venuegps__report-label {
    display: block;
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 800;
}

.bns-venuegps__report-chip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.08), #fff);
}

.bns-venuegps__report-chip--blue {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
}

.bns-venuegps__report-chip span {
    color: #16a34a;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.bns-venuegps__report-chip--blue span {
    color: #2563eb;
}

.bns-venuegps__report-chip strong {
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 800;
}

.bns-venuegps__report > p {
    margin: 0 0 12px;
    color: var(--msg-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.bns-venuegps__seats {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0a1d37, #1e3a5f);
    color: #fff;
    text-align: left;
}

.bns-venuegps__seats strong {
    color: #fff;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.bns-venuegps__options {
    padding: 16px 18px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-venuegps__options h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-venuegps__options p {
    margin: 0 0 6px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.5;
}

.bns-venuegps__options p:last-child {
    margin-bottom: 0;
}

.bns-venuegps__help {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-venuegps__help h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-venuegps__help-grid {
    display: grid;
    gap: 8px;
}

.bns-venuegps__help-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.bns-venuegps__help-btn em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-venuegps__help-btn--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
}

.bns-venuegps__help-btn--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
}

.bns-venuegps__help-btn--web {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.bns-venuegps__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-venuegps__partner {
    padding: 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-venuegps__partner span {
    display: block;
    margin-bottom: 4px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-venuegps__partner strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    line-height: 1.45;
}

.bns-venuegps__final {
    padding: 20px 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 85% 15%, rgba(37, 99, 235, 0.12), transparent 42%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-venuegps__final h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-venuegps__final .bns-venuegps__list {
    margin-bottom: 12px;
    text-align: left;
}

.bns-venuegps__final > em {
    display: inline-block;
    margin-bottom: 12px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-style: normal;
    font-size: 0.88rem;
    font-weight: 800;
}

.bns-venuegps__connect {
    padding: 16px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-venuegps__connect h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-venuegps__brand {
    display: block;
    margin: 8px 0 4px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-venuegps__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-venuegps__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-venuegps__event,
    .bns-venuegps__session,
    .bns-venuegps__partners {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-venuegps > * {
        animation: none;
    }
}

/* ── Welcome Registration Process rich layout ── */
.bns-message-modal__sheet--welcomereg {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-welcomereg {
    display: grid;
    gap: 14px;
}

.bns-welcomereg > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-welcomereg > *:nth-child(1) { animation-delay: 0.02s; }
.bns-welcomereg > *:nth-child(2) { animation-delay: 0.06s; }
.bns-welcomereg > *:nth-child(3) { animation-delay: 0.1s; }
.bns-welcomereg > *:nth-child(4) { animation-delay: 0.14s; }
.bns-welcomereg > *:nth-child(5) { animation-delay: 0.18s; }
.bns-welcomereg > *:nth-child(6) { animation-delay: 0.22s; }
.bns-welcomereg > *:nth-child(7) { animation-delay: 0.26s; }
.bns-welcomereg > *:nth-child(8) { animation-delay: 0.3s; }
.bns-welcomereg > *:nth-child(9) { animation-delay: 0.34s; }

.bns-welcomereg__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(34, 197, 94, 0.3), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(37, 99, 235, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #14532d 48%, #166534 100%);
}

.bns-welcomereg__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-welcomereg__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
}

.bns-welcomereg__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.2rem, 2.5vw, 1.55rem);
    font-weight: 800;
    line-height: 1.3;
}

.bns-welcomereg__intro {
    margin: 0 0 10px;
    color: #86efac;
    font-size: 0.98rem;
    font-weight: 750;
    line-height: 1.55;
}

.bns-welcomereg__hero-sub {
    margin: 0 0 12px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.6;
}

.bns-welcomereg__duration {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 0.88rem;
    font-weight: 800;
}

.bns-welcomereg__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.bns-welcomereg__card--attendance {
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.08), #fff);
    border-color: rgba(34, 197, 94, 0.18);
}

.bns-welcomereg__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-welcomereg__card h4 span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(34, 197, 94, 0.4);
}

.bns-welcomereg__card-intro {
    margin: 0 0 12px;
    color: var(--msg-muted);
    font-size: 0.9rem;
    font-weight: 650;
}

.bns-welcomereg__steps {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-welcomereg__step {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 12px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.06);
    border: 1px solid rgba(37, 99, 235, 0.12);
}

.bns-welcomereg__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    background: #1d4ed8;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
}

.bns-welcomereg__step strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-welcomereg__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-welcomereg__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-welcomereg__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-welcomereg__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-welcomereg__help-card {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.2);
}

.bns-welcomereg__help-card h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-welcomereg__help-card p {
    margin: 0 0 6px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-welcomereg__help-card strong {
    display: inline-block;
    margin: 4px 0 8px;
    color: #c2410c;
    font-size: 0.95rem;
}

.bns-welcomereg__notes {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-welcomereg__note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.5;
}

.bns-welcomereg__assist {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-welcomereg__assist h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-welcomereg__assist-grid {
    display: grid;
    gap: 8px;
}

.bns-welcomereg__assist-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.bns-welcomereg__assist-btn em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-welcomereg__assist-btn--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
}

.bns-welcomereg__assist-btn--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
}

.bns-welcomereg__assist-btn--web {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.bns-welcomereg__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-welcomereg__partner {
    padding: 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-welcomereg__partner span {
    display: block;
    margin-bottom: 4px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-welcomereg__partner strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    line-height: 1.45;
}

.bns-welcomereg__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(34, 197, 94, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-welcomereg__thanks {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-welcomereg__final > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-welcomereg__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-welcomereg__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-welcomereg__partners {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-welcomereg > * {
        animation: none;
    }
}

/* ── Attendance / seminar-day welcome ─────────────────────────── */

.bns-message-modal__sheet--attendance {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-attendance-msg {
    display: grid;
    gap: 14px;
}

.bns-attendance-msg > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-attendance-msg > *:nth-child(1) { animation-delay: 0.02s; }
.bns-attendance-msg > *:nth-child(2) { animation-delay: 0.06s; }
.bns-attendance-msg > *:nth-child(3) { animation-delay: 0.1s; }
.bns-attendance-msg > *:nth-child(4) { animation-delay: 0.14s; }
.bns-attendance-msg > *:nth-child(5) { animation-delay: 0.18s; }
.bns-attendance-msg > *:nth-child(6) { animation-delay: 0.22s; }

.bns-attendance-msg__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(253, 110, 1, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(37, 99, 235, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 48%, #0f2744 100%);
}

.bns-attendance-msg__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-attendance-msg__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #fdba74;
}

.bns-attendance-msg__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-attendance-msg__greeting {
    margin: 0 0 10px;
    color: #fdba74;
    font-size: 1rem;
    font-weight: 700;
}

.bns-attendance-msg__hero-sub {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-attendance-msg__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-attendance-msg__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-attendance-msg__card--primary {
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
    border-color: rgba(37, 99, 235, 0.2);
}

.bns-attendance-msg__card--admit {
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border-color: rgba(253, 110, 1, 0.22);
}

.bns-attendance-msg__card h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-attendance-msg__card p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-attendance-msg__note {
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8 !important;
    font-weight: 700;
}

.bns-attendance-msg__list-title {
    margin-bottom: 8px !important;
    font-weight: 700;
    color: var(--msg-navy) !important;
}

.bns-attendance-msg__list {
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-attendance-msg__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-attendance-msg__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-attendance-msg__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-attendance-msg__bot {
    display: grid;
    gap: 6px;
    text-align: center;
}

.bns-attendance-msg__bot > span {
    color: var(--msg-muted);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-attendance-msg__bot > strong {
    color: #128c7e;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.bns-attendance-msg__bot > em {
    display: block;
    margin: 4px 0 8px;
    font-style: normal;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.5;
}

.bns-attendance-msg__admit-open {
    font-weight: 700;
    color: var(--msg-navy) !important;
}

.bns-attendance-msg__seats {
    display: inline-block;
    margin: 0 0 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(220, 38, 38, 0.1);
    color: #b91c1c;
    font-size: 0.88rem;
}

.bns-attendance-msg__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 4px;
    padding: 13px 16px;
    border-radius: 14px;
    color: #fff !important;
    font-size: 0.95rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-attendance-msg__cta--attendance {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.28);
}

.bns-attendance-msg__cta--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
    box-shadow: 0 10px 22px rgba(18, 140, 126, 0.28);
}

.bns-attendance-msg__cta--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
    box-shadow: 0 10px 22px rgba(37, 211, 102, 0.28);
}

.bns-attendance-msg__cta--admit {
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.28);
}

.bns-attendance-msg__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(253, 110, 1, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-attendance-msg__final > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-attendance-msg__closing {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-attendance-msg__brand {
    display: block;
    margin: 10px 0 12px;
    font-style: normal;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-attendance-msg__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-attendance-msg__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (prefers-reduced-motion: reduce) {
    .bns-attendance-msg > * {
        animation: none;
    }
}

/* ── Seminar instructions ─────────────────────────────────────── */

.bns-message-modal__sheet--instructions {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-instructions {
    display: grid;
    gap: 14px;
}

.bns-instructions > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-instructions > *:nth-child(1) { animation-delay: 0.02s; }
.bns-instructions > *:nth-child(2) { animation-delay: 0.06s; }
.bns-instructions > *:nth-child(3) { animation-delay: 0.1s; }
.bns-instructions > *:nth-child(4) { animation-delay: 0.14s; }
.bns-instructions > *:nth-child(5) { animation-delay: 0.18s; }
.bns-instructions > *:nth-child(6) { animation-delay: 0.22s; }
.bns-instructions > *:nth-child(7) { animation-delay: 0.26s; }

.bns-instructions__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(59, 130, 246, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 52%, #0f2744 100%);
}

.bns-instructions__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-instructions__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #93c5fd;
}

.bns-instructions__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-instructions__greeting {
    margin: 0 0 10px;
    color: #93c5fd;
    font-size: 1rem;
    font-weight: 700;
}

.bns-instructions__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-instructions__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-instructions__section {
    padding: 16px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-instructions__section h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 0.95rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 8px;
}

.bns-instructions__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-instructions__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 9px 11px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.06);
    color: var(--msg-ink);
    font-size: 0.88rem;
    line-height: 1.5;
}

.bns-instructions__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.68rem;
    flex-shrink: 0;
}

.bns-instructions__item strong {
    color: var(--msg-navy);
    font-weight: 750;
}

.bns-instructions__help {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.2);
}

.bns-instructions__help h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-instructions__help p {
    margin: 0 0 6px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-instructions__help p:last-child {
    margin-bottom: 0;
}

.bns-instructions__admit {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.08), #fff);
    border: 1px solid rgba(253, 110, 1, 0.18);
}

.bns-instructions__admit h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-instructions__admit-intro {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.5;
}

.bns-instructions__admit-assist {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.9rem;
}

.bns-instructions__connect {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-instructions__connect h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-instructions__connect-grid {
    display: grid;
    gap: 8px;
}

.bns-instructions__connect-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.bns-instructions__connect-btn i {
    font-size: 1.25rem;
}

.bns-instructions__connect-btn em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-instructions__connect-btn strong {
    display: block;
    color: #fff !important;
    font-size: 0.95rem;
}

.bns-instructions__connect-btn small {
    display: block;
    margin-top: 2px;
    font-size: 0.78rem;
    opacity: 0.9;
}

.bns-instructions__connect-btn--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
}

.bns-instructions__connect-btn--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
}

.bns-instructions__connect-btn--web {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.bns-instructions__partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bns-instructions__partner {
    padding: 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-instructions__partner span {
    display: block;
    margin-bottom: 4px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bns-instructions__partner strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    line-height: 1.45;
}

.bns-instructions__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(59, 130, 246, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-instructions__thanks {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-instructions__final > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-instructions__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-instructions__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-instructions__grid,
    .bns-instructions__partners {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-instructions > * {
        animation: none;
    }
}

/* ── Admission counter open ───────────────────────────────────── */

.bns-message-modal__sheet--admitcounter {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-admitcounter {
    display: grid;
    gap: 14px;
}

.bns-admitcounter > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-admitcounter > *:nth-child(1) { animation-delay: 0.02s; }
.bns-admitcounter > *:nth-child(2) { animation-delay: 0.06s; }
.bns-admitcounter > *:nth-child(3) { animation-delay: 0.1s; }
.bns-admitcounter > *:nth-child(4) { animation-delay: 0.14s; }
.bns-admitcounter > *:nth-child(5) { animation-delay: 0.18s; }
.bns-admitcounter > *:nth-child(6) { animation-delay: 0.22s; }
.bns-admitcounter > *:nth-child(7) { animation-delay: 0.26s; }
.bns-admitcounter > *:nth-child(8) { animation-delay: 0.3s; }

.bns-admitcounter__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(253, 110, 1, 0.4), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(34, 197, 94, 0.2), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #7c2d12 48%, #9a3412 100%);
}

.bns-admitcounter__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-admitcounter__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #fdba74;
}

.bns-admitcounter__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-admitcounter__greeting {
    margin: 0 0 10px;
    color: #fdba74;
    font-size: 1rem;
    font-weight: 700;
}

.bns-admitcounter__hero-sub {
    margin: 0 0 12px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-admitcounter__open {
    display: inline-block;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-admitcounter__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-admitcounter__card--pay {
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.07), #fff);
    border-color: rgba(37, 99, 235, 0.18);
}

.bns-admitcounter__card h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-admitcounter__intro {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.92rem;
}

.bns-admitcounter__closing-line {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(253, 110, 1, 0.08);
    color: #c2410c;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.5;
}

.bns-admitcounter__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-admitcounter__list--pay {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bns-admitcounter__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-admitcounter__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-admitcounter__item strong,
.bns-admitcounter__item span {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-admitcounter__assist {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.2);
}

.bns-admitcounter__assist h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-admitcounter__assist p {
    margin: 0 0 6px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-admitcounter__assist p:last-child {
    margin-bottom: 0;
}

.bns-admitcounter__urgent {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(220, 38, 38, 0.08), #fff);
    border: 1px solid rgba(220, 38, 38, 0.18);
}

.bns-admitcounter__urgent h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-admitcounter__basis {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #b91c1c;
    color: #fff;
    font-size: 0.88rem;
}

.bns-admitcounter__urgent p {
    margin: 0 0 8px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-admitcounter__urgent-cta {
    font-weight: 750 !important;
    color: var(--msg-navy) !important;
}

.bns-admitcounter__connect {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-admitcounter__connect h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-admitcounter__connect-grid {
    display: grid;
    gap: 8px;
}

.bns-admitcounter__connect-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.bns-admitcounter__connect-btn i {
    font-size: 1.25rem;
}

.bns-admitcounter__connect-btn em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-admitcounter__connect-btn strong {
    display: block;
    color: #fff !important;
    font-size: 0.95rem;
}

.bns-admitcounter__connect-btn small {
    display: block;
    margin-top: 2px;
    font-size: 0.78rem;
    opacity: 0.9;
}

.bns-admitcounter__connect-btn--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
}

.bns-admitcounter__connect-btn--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
}

.bns-admitcounter__connect-btn--web {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.bns-admitcounter__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(253, 110, 1, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-admitcounter__thanks {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-admitcounter__final > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-admitcounter__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-admitcounter__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-admitcounter__list--pay {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-admitcounter > * {
        animation: none;
    }
}

/* ── Scholarship / fee concession ─────────────────────────────── */

.bns-message-modal__sheet--scholarship {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-scholarship {
    display: grid;
    gap: 14px;
}

.bns-scholarship > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-scholarship > *:nth-child(1) { animation-delay: 0.02s; }
.bns-scholarship > *:nth-child(2) { animation-delay: 0.06s; }
.bns-scholarship > *:nth-child(3) { animation-delay: 0.1s; }
.bns-scholarship > *:nth-child(4) { animation-delay: 0.14s; }
.bns-scholarship > *:nth-child(5) { animation-delay: 0.18s; }
.bns-scholarship > *:nth-child(6) { animation-delay: 0.22s; }

.bns-scholarship__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(234, 179, 8, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.25), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #713f12 48%, #92400e 100%);
}

.bns-scholarship__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eab308, #ca8a04);
    box-shadow: 0 10px 22px rgba(202, 138, 4, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-scholarship__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #fde68a;
}

.bns-scholarship__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-scholarship__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-scholarship__fees {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-scholarship__fees-title {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-scholarship__fee-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-scholarship__fee-card {
    display: grid;
    gap: 6px;
    padding: 16px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.04), #fff);
    border: 1px solid rgba(15, 23, 42, 0.1);
}

.bns-scholarship__fee-card--member {
    background: linear-gradient(180deg, rgba(234, 179, 8, 0.14), #fff);
    border-color: rgba(202, 138, 4, 0.28);
}

.bns-scholarship__fee-label {
    color: var(--msg-navy);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-scholarship__fee-card em {
    font-style: normal;
    color: var(--msg-muted);
    font-size: 0.85rem;
}

.bns-scholarship__fee-total-label {
    margin-top: 6px;
    color: var(--msg-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bns-scholarship__fee-total {
    color: var(--msg-navy);
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.2;
}

.bns-scholarship__fee-card--member .bns-scholarship__fee-total {
    color: #a16207;
}

.bns-scholarship__benefit {
    display: inline-block;
    margin-top: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 750;
}

.bns-scholarship__benefit b {
    color: #fff !important;
    font-weight: 800;
}

.bns-scholarship__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-scholarship__card--notes {
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.06), #fff);
    border-color: rgba(37, 99, 235, 0.16);
}

.bns-scholarship__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-scholarship__steps,
.bns-scholarship__notes {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.bns-scholarship__step,
.bns-scholarship__note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 12px;
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--msg-ink);
    font-size: 0.9rem;
    line-height: 1.55;
}

.bns-scholarship__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
}

.bns-scholarship__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-scholarship__assist {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.2);
}

.bns-scholarship__assist h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-scholarship__assist p {
    margin: 0 0 14px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-scholarship__pay {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 18px;
    border-radius: 14px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.28);
    color: #fff !important;
    font-size: 0.95rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-scholarship__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(234, 179, 8, 0.14), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-scholarship__thanks {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-scholarship__final > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-scholarship__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-scholarship__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-scholarship__fee-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-scholarship > * {
        animation: none;
    }
}

/* ── Useful links hub ─────────────────────────────────────────── */

.bns-message-modal__sheet--usefullinks {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-usefullinks {
    display: grid;
    gap: 14px;
}

.bns-usefullinks > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-usefullinks > *:nth-child(1) { animation-delay: 0.02s; }
.bns-usefullinks > *:nth-child(2) { animation-delay: 0.06s; }
.bns-usefullinks > *:nth-child(3) { animation-delay: 0.1s; }
.bns-usefullinks > *:nth-child(4) { animation-delay: 0.14s; }
.bns-usefullinks > *:nth-child(5) { animation-delay: 0.18s; }

.bns-usefullinks__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(59, 130, 246, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(37, 211, 102, 0.2), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 52%, #0f2744 100%);
}

.bns-usefullinks__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-usefullinks__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #93c5fd;
}

.bns-usefullinks__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-usefullinks__greeting {
    margin: 0 0 10px;
    color: #93c5fd;
    font-size: 1rem;
    font-weight: 700;
}

.bns-usefullinks__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-usefullinks__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bns-usefullinks__card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 16px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bns-usefullinks__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.1);
}

.bns-usefullinks__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: #fff;
    font-size: 1.05rem;
    flex-shrink: 0;
}

.bns-usefullinks__card--web .bns-usefullinks__icon { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
.bns-usefullinks__card--register .bns-usefullinks__icon { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.bns-usefullinks__card--admit .bns-usefullinks__icon { background: linear-gradient(135deg, #0ea5e9, #0369a1); }
.bns-usefullinks__card--pay .bns-usefullinks__icon { background: linear-gradient(135deg, #fd6e01, #ea580c); }
.bns-usefullinks__card--bot .bns-usefullinks__icon { background: linear-gradient(135deg, #25d366, #128c7e); }
.bns-usefullinks__card--channel .bns-usefullinks__icon { background: linear-gradient(135deg, #128c7e, #075e54); }

.bns-usefullinks__body {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.bns-usefullinks__body > strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-usefullinks__body > em {
    font-style: normal;
    color: var(--msg-ink);
    font-size: 0.84rem;
    line-height: 1.5;
}

.bns-usefullinks__body > small {
    color: #128c7e;
    font-size: 0.95rem;
    font-weight: 800;
}

.bns-usefullinks__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: #1d4ed8;
    font-size: 0.8rem;
    font-weight: 800;
}

.bns-usefullinks__card--pay .bns-usefullinks__cta { color: #ea580c; }
.bns-usefullinks__card--bot .bns-usefullinks__cta,
.bns-usefullinks__card--channel .bns-usefullinks__cta { color: #128c7e; }

.bns-usefullinks__social-wrap {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-usefullinks__social-wrap h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-usefullinks__social-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.bns-usefullinks__social {
    display: grid;
    gap: 6px;
    justify-items: center;
    padding: 12px 8px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 0.72rem;
    font-weight: 800;
    text-align: center;
}

.bns-usefullinks__social i {
    font-size: 1.1rem;
}

.bns-usefullinks__social--facebook { background: #1877f2; }
.bns-usefullinks__social--instagram { background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af); }
.bns-usefullinks__social--youtube { background: #ff0000; }
.bns-usefullinks__social--linkedin { background: #0a66c2; }
.bns-usefullinks__social--x { background: #111827; }

.bns-usefullinks__venue {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.07), #fff);
    border: 1px solid rgba(37, 99, 235, 0.16);
    text-align: center;
}

.bns-usefullinks__venue h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-usefullinks__venue-lines {
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
}

.bns-usefullinks__venue-lines strong {
    color: var(--msg-navy);
    font-size: 0.95rem;
}

.bns-usefullinks__venue-lines span {
    color: var(--msg-ink);
    font-size: 0.88rem;
    line-height: 1.45;
}

.bns-usefullinks__map {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.28);
    color: #fff !important;
    font-size: 0.92rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-usefullinks__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(59, 130, 246, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-usefullinks__final > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-usefullinks__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-usefullinks__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-usefullinks__grid {
        grid-template-columns: 1fr;
    }

    .bns-usefullinks__social-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-usefullinks > * {
        animation: none;
    }

    .bns-usefullinks__card:hover {
        transform: none;
    }
}

/* ── Seminar thank you (Stage 7) ──────────────────────────────── */

.bns-message-modal__sheet--semthanks {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-semthanks {
    display: grid;
    gap: 14px;
}

.bns-semthanks > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-semthanks > *:nth-child(1) { animation-delay: 0.02s; }
.bns-semthanks > *:nth-child(2) { animation-delay: 0.06s; }
.bns-semthanks > *:nth-child(3) { animation-delay: 0.1s; }
.bns-semthanks > *:nth-child(4) { animation-delay: 0.14s; }
.bns-semthanks > *:nth-child(5) { animation-delay: 0.18s; }
.bns-semthanks > *:nth-child(6) { animation-delay: 0.22s; }

.bns-semthanks__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(244, 114, 182, 0.3), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.25), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #4c1d95 48%, #6b21a8 100%);
}

.bns-semthanks__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f472b6, #db2777);
    box-shadow: 0 10px 22px rgba(219, 39, 119, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-semthanks__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #fbcfe8;
}

.bns-semthanks__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-semthanks__greeting {
    margin: 0 0 8px;
    color: #fbcfe8;
    font-size: 1rem;
    font-weight: 700;
}

.bns-semthanks__lead {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.02rem;
    font-weight: 750;
    line-height: 1.5;
}

.bns-semthanks__hero-sub {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-semthanks__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-semthanks__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-semthanks__card--next {
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.08), #fff);
    border-color: rgba(253, 110, 1, 0.18);
}

.bns-semthanks__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-semthanks__card p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-semthanks__list,
.bns-semthanks__next-list,
.bns-semthanks__gratitude-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-semthanks__item,
.bns-semthanks__next-item,
.bns-semthanks__gratitude-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-semthanks__next-item,
.bns-semthanks__gratitude-item {
    background: rgba(253, 110, 1, 0.07);
}

.bns-semthanks__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-semthanks__item strong,
.bns-semthanks__next-item strong,
.bns-semthanks__gratitude-item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
}

.bns-semthanks__connect {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-semthanks__connect h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-semthanks__connect-grid {
    display: grid;
    gap: 8px;
}

.bns-semthanks__connect-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.bns-semthanks__connect-btn i {
    font-size: 1.25rem;
}

.bns-semthanks__connect-btn em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-semthanks__connect-btn strong {
    display: block;
    color: #fff !important;
    font-size: 0.95rem;
}

.bns-semthanks__connect-btn small {
    display: block;
    margin-top: 2px;
    font-size: 0.78rem;
    opacity: 0.9;
}

.bns-semthanks__connect-btn--web {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.bns-semthanks__connect-btn--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
}

.bns-semthanks__connect-btn--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
}

.bns-semthanks__gratitude {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(244, 114, 182, 0.1), #fff);
    border: 1px solid rgba(219, 39, 119, 0.16);
}

.bns-semthanks__gratitude h4 {
    margin: 0 0 8px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-semthanks__gratitude-intro {
    margin: 0 0 12px;
    text-align: center;
    color: var(--msg-ink);
    font-size: 0.92rem;
}

.bns-semthanks__mission {
    margin: 12px 0 0;
    padding: 12px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--msg-ink);
    font-size: 0.9rem;
    line-height: 1.55;
    text-align: center;
}

.bns-semthanks__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(244, 114, 182, 0.14), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-semthanks__again {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-semthanks__final > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-semthanks__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-semthanks__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (prefers-reduced-motion: reduce) {
    .bns-semthanks > * {
        animation: none;
    }
}

/* ── Previous seminar photo gallery ───────────────────────────── */

.bns-message-modal__sheet--photogallery {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-photogallery {
    display: grid;
    gap: 14px;
}

.bns-photogallery > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-photogallery > *:nth-child(1) { animation-delay: 0.02s; }
.bns-photogallery > *:nth-child(2) { animation-delay: 0.06s; }
.bns-photogallery > *:nth-child(3) { animation-delay: 0.1s; }
.bns-photogallery > *:nth-child(4) { animation-delay: 0.14s; }

.bns-photogallery__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(244, 114, 182, 0.28), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(59, 130, 246, 0.25), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #312e81 48%, #1e1b4b 100%);
}

.bns-photogallery__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    box-shadow: 0 10px 22px rgba(124, 58, 237, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-photogallery__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #ddd6fe;
}

.bns-photogallery__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-photogallery__greeting {
    margin: 0 0 10px;
    color: #ddd6fe;
    font-size: 1rem;
    font-weight: 700;
}

.bns-photogallery__hero-sub {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-photogallery__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-photogallery__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    text-align: center;
}

.bns-photogallery__card--gallery {
    background: linear-gradient(180deg, rgba(124, 58, 237, 0.08), #fff);
    border-color: rgba(124, 58, 237, 0.18);
}

.bns-photogallery__card--reel {
    background: linear-gradient(180deg, rgba(225, 48, 108, 0.08), #fff);
    border-color: rgba(225, 48, 108, 0.18);
    text-align: left;
}

.bns-photogallery__media-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 10px;
    border-radius: 16px;
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    color: #fff;
    font-size: 1.25rem;
}

.bns-photogallery__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-photogallery__card p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-photogallery__request {
    font-weight: 700 !important;
    color: var(--msg-navy) !important;
}

.bns-photogallery__list {
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-photogallery__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(225, 48, 108, 0.07);
}

.bns-photogallery__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-photogallery__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-photogallery__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 16px;
    border-radius: 14px;
    color: #fff !important;
    font-size: 0.95rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-photogallery__cta--gallery {
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    box-shadow: 0 10px 22px rgba(124, 58, 237, 0.28);
}

.bns-photogallery__cta--reel {
    background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af);
    box-shadow: 0 10px 22px rgba(221, 42, 123, 0.28);
}

.bns-photogallery__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(168, 85, 247, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-photogallery__final > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-photogallery__thanks {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-photogallery__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-photogallery__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (prefers-reduced-motion: reduce) {
    .bns-photogallery > * {
        animation: none;
    }
}

/* ── Free introduction session video ──────────────────────────── */

.bns-message-modal__sheet--introsession {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-introsession {
    display: grid;
    gap: 14px;
}

.bns-introsession > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-introsession > *:nth-child(1) { animation-delay: 0.02s; }
.bns-introsession > *:nth-child(2) { animation-delay: 0.06s; }
.bns-introsession > *:nth-child(3) { animation-delay: 0.1s; }
.bns-introsession > *:nth-child(4) { animation-delay: 0.14s; }
.bns-introsession > *:nth-child(5) { animation-delay: 0.18s; }

.bns-introsession__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(239, 68, 68, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #7f1d1d 48%, #991b1b 100%);
}

.bns-introsession__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ef4444, #b91c1c);
    box-shadow: 0 10px 22px rgba(185, 28, 28, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-introsession__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.5rem;
    color: #fecaca;
}

.bns-introsession__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-introsession__greeting {
    margin: 0 0 10px;
    color: #fecaca;
    font-size: 1rem;
    font-weight: 700;
}

.bns-introsession__hero-sub {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-introsession__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-introsession__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-introsession__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-introsession__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-introsession__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-introsession__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-introsession__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-introsession__watch {
    padding: 22px 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.1), #fff);
    border: 1px solid rgba(239, 68, 68, 0.2);
}

.bns-introsession__watch-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 10px;
    border-radius: 16px;
    background: linear-gradient(135deg, #ef4444, #b91c1c);
    color: #fff;
    font-size: 1.25rem;
}

.bns-introsession__watch h4 {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1.05rem;
    font-weight: 800;
}

.bns-introsession__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 220px;
    padding: 14px 20px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ef4444, #b91c1c);
    box-shadow: 0 10px 22px rgba(185, 28, 28, 0.28);
    color: #fff !important;
    font-size: 0.98rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-introsession__note {
    padding: 16px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.2);
}

.bns-introsession__note strong {
    display: block;
    margin-bottom: 8px;
    color: #c2410c;
    font-size: 0.95rem;
    line-height: 1.5;
}

.bns-introsession__note p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.9rem;
    line-height: 1.55;
}

.bns-introsession__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(239, 68, 68, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-introsession__final > p {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.bns-introsession__thanks {
    display: inline-block;
    margin-bottom: 12px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
}

.bns-introsession__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-introsession__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (prefers-reduced-motion: reduce) {
    .bns-introsession > * {
        animation: none;
    }
}

/* ── Course syllabus message ──────────────────────────────────── */

.bns-message-modal__sheet--syllabus {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-syllabus-msg {
    display: grid;
    gap: 14px;
}

.bns-syllabus-msg > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-syllabus-msg > *:nth-child(1) { animation-delay: 0.02s; }
.bns-syllabus-msg > *:nth-child(2) { animation-delay: 0.06s; }
.bns-syllabus-msg > *:nth-child(3) { animation-delay: 0.1s; }
.bns-syllabus-msg > *:nth-child(4) { animation-delay: 0.14s; }

.bns-syllabus-msg__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(14, 165, 233, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #0c4a6e 48%, #075985 100%);
}

.bns-syllabus-msg__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0ea5e9, #0369a1);
    box-shadow: 0 10px 22px rgba(3, 105, 161, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-syllabus-msg__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #bae6fd;
}

.bns-syllabus-msg__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-syllabus-msg__question {
    margin: 0 0 10px;
    color: #bae6fd;
    font-size: 1.02rem;
    font-weight: 750;
}

.bns-syllabus-msg__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-syllabus-msg__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-syllabus-msg__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-syllabus-msg__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.bns-syllabus-msg__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(14, 165, 233, 0.07);
}

.bns-syllabus-msg__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-syllabus-msg__item strong {
    color: var(--msg-navy);
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-syllabus-msg__view {
    padding: 22px 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(14, 165, 233, 0.1), #fff);
    border: 1px solid rgba(14, 165, 233, 0.2);
}

.bns-syllabus-msg__view-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 10px;
    border-radius: 16px;
    background: linear-gradient(135deg, #0ea5e9, #0369a1);
    color: #fff;
    font-size: 1.25rem;
}

.bns-syllabus-msg__view h4 {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1.02rem;
    font-weight: 800;
}

.bns-syllabus-msg__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 220px;
    padding: 14px 20px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0ea5e9, #0369a1);
    box-shadow: 0 10px 22px rgba(3, 105, 161, 0.28);
    color: #fff !important;
    font-size: 0.98rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-syllabus-msg__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(14, 165, 233, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-syllabus-msg__punch {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 0.98rem;
    font-weight: 750;
    line-height: 1.6;
}

.bns-syllabus-msg__brand {
    display: block;
    margin: 0 0 12px;
    font-style: normal;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-syllabus-msg__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-syllabus-msg__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-syllabus-msg__list {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-syllabus-msg > * {
        animation: none;
    }
}

/* ── Admission reminder (Stage 8) ─────────────────────────────── */

.bns-message-modal__sheet--admitreminder {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-admitreminder {
    display: grid;
    gap: 14px;
}

.bns-admitreminder > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-admitreminder > *:nth-child(1) { animation-delay: 0.02s; }
.bns-admitreminder > *:nth-child(2) { animation-delay: 0.06s; }
.bns-admitreminder > *:nth-child(3) { animation-delay: 0.1s; }
.bns-admitreminder > *:nth-child(4) { animation-delay: 0.14s; }
.bns-admitreminder > *:nth-child(5) { animation-delay: 0.18s; }

.bns-admitreminder__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(253, 110, 1, 0.4), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(220, 38, 38, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #9a3412 48%, #c2410c 100%);
}

.bns-admitreminder__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-admitreminder__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #fdba74;
}

.bns-admitreminder__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-admitreminder__greeting {
    margin: 0 0 10px;
    color: #fdba74;
    font-size: 1rem;
    font-weight: 700;
}

.bns-admitreminder__hero-sub {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-admitreminder__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-admitreminder__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-admitreminder__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-admitreminder__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.bns-admitreminder__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-admitreminder__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-admitreminder__item strong {
    color: var(--msg-navy);
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-admitreminder__actions {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.2);
}

.bns-admitreminder__actions h4 {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1.05rem;
    font-weight: 800;
}

.bns-admitreminder__btns {
    display: grid;
    gap: 10px;
}

.bns-admitreminder__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 16px;
    border-radius: 14px;
    color: #fff !important;
    font-size: 0.95rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-admitreminder__btn--portal {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.28);
}

.bns-admitreminder__btn--pay {
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.28);
}

.bns-admitreminder__assist {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
    text-align: center;
}

.bns-admitreminder__assist h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-admitreminder__bot {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #25d366, #128c7e);
    color: #fff !important;
    text-decoration: none !important;
    text-align: left;
    font-weight: 800;
}

.bns-admitreminder__bot i {
    font-size: 1.35rem;
}

.bns-admitreminder__bot em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-admitreminder__bot strong {
    display: block;
    color: #fff !important;
    font-size: 1.1rem;
}

.bns-admitreminder__bot small {
    display: block;
    margin-top: 2px;
    font-size: 0.8rem;
    opacity: 0.9;
}

.bns-admitreminder__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(253, 110, 1, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-admitreminder__urgency {
    display: inline-block;
    margin-bottom: 12px;
    padding: 10px 14px;
    border-radius: 14px;
    background: #b91c1c;
    color: #fff;
    font-size: 0.9rem;
    line-height: 1.5;
}

.bns-admitreminder__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-admitreminder__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-admitreminder__list {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-admitreminder > * {
        animation: none;
    }
}

/* ── Pay now / admission payment ──────────────────────────────── */

.bns-message-modal__sheet--paynow {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-paynow {
    display: grid;
    gap: 14px;
}

.bns-paynow > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-paynow > *:nth-child(1) { animation-delay: 0.02s; }
.bns-paynow > *:nth-child(2) { animation-delay: 0.06s; }
.bns-paynow > *:nth-child(3) { animation-delay: 0.1s; }
.bns-paynow > *:nth-child(4) { animation-delay: 0.14s; }
.bns-paynow > *:nth-child(5) { animation-delay: 0.18s; }

.bns-paynow__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(34, 197, 94, 0.3), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.25), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #14532d 48%, #166534 100%);
}

.bns-paynow__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-paynow__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #bbf7d0;
}

.bns-paynow__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-paynow__greeting {
    margin: 0 0 10px;
    color: #bbf7d0;
    font-size: 1rem;
    font-weight: 700;
}

.bns-paynow__hero-sub {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-paynow__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-paynow__pay {
    padding: 22px 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.22);
}

.bns-paynow__pay-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 10px;
    border-radius: 16px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    color: #fff;
    font-size: 1.2rem;
}

.bns-paynow__pay h4 {
    margin: 0 0 14px;
    color: var(--msg-navy);
    font-size: 1.05rem;
    font-weight: 800;
}

.bns-paynow__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 220px;
    padding: 14px 20px;
    border-radius: 14px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.28);
    color: #fff !important;
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none !important;
}

.bns-paynow__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-paynow__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
    border: 1px solid rgba(34, 197, 94, 0.12);
}

.bns-paynow__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-paynow__item strong {
    color: var(--msg-navy);
    font-size: 0.92rem;
    font-weight: 750;
}

.bns-paynow__assist {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
    text-align: center;
}

.bns-paynow__assist h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-paynow__bot {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #25d366, #128c7e);
    color: #fff !important;
    text-decoration: none !important;
    text-align: left;
    font-weight: 800;
}

.bns-paynow__bot i {
    font-size: 1.35rem;
}

.bns-paynow__bot em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-paynow__bot strong {
    display: block;
    color: #fff !important;
    font-size: 1.1rem;
}

.bns-paynow__bot small {
    display: block;
    margin-top: 2px;
    font-size: 0.8rem;
    opacity: 0.9;
}

.bns-paynow__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(34, 197, 94, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-paynow__family {
    display: inline-block;
    margin-bottom: 12px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.88rem;
    line-height: 1.45;
}

.bns-paynow__urgency {
    display: inline-block;
    margin-bottom: 12px;
    padding: 10px 14px;
    border-radius: 14px;
    background: #b91c1c;
    color: #fff;
    font-size: 0.9rem;
    line-height: 1.5;
}

.bns-paynow__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-paynow__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (prefers-reduced-motion: reduce) {
    .bns-paynow > * {
        animation: none;
    }
}

/* ── Welcome to first batch ───────────────────────────────────── */

.bns-message-modal__sheet--firstbatch {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-firstbatch {
    display: grid;
    gap: 14px;
}

.bns-firstbatch > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-firstbatch > *:nth-child(1) { animation-delay: 0.02s; }
.bns-firstbatch > *:nth-child(2) { animation-delay: 0.06s; }
.bns-firstbatch > *:nth-child(3) { animation-delay: 0.1s; }
.bns-firstbatch > *:nth-child(4) { animation-delay: 0.14s; }

.bns-firstbatch__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(234, 179, 8, 0.4), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(253, 110, 1, 0.25), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #854d0e 48%, #a16207 100%);
}

.bns-firstbatch__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #eab308, #ca8a04);
    box-shadow: 0 10px 22px rgba(202, 138, 4, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-firstbatch__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #fde68a;
}

.bns-firstbatch__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.32rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-firstbatch__greeting {
    margin: 0 0 8px;
    color: #fde68a;
    font-size: 1rem;
    font-weight: 700;
}

.bns-firstbatch__congrats {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.02rem;
    font-weight: 750;
    line-height: 1.5;
}

.bns-firstbatch__hero-sub {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-firstbatch__hero-sub:last-child {
    margin-bottom: 0;
}

.bns-firstbatch__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-firstbatch__card h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-firstbatch__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-firstbatch__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(234, 179, 8, 0.08);
}

.bns-firstbatch__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-firstbatch__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-firstbatch__inspire {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.1), #fff);
    border: 1px solid rgba(253, 110, 1, 0.18);
}

.bns-firstbatch__inspire p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-firstbatch__inspire strong {
    display: block;
    color: var(--msg-navy);
    font-size: 0.95rem;
    line-height: 1.55;
}

.bns-firstbatch__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(234, 179, 8, 0.16), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-firstbatch__family {
    display: inline-block;
    margin-bottom: 12px;
    padding: 10px 16px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.95rem;
}

.bns-firstbatch__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-firstbatch__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (prefers-reduced-motion: reduce) {
    .bns-firstbatch > * {
        animation: none;
    }
}

/* ── FAQ message ──────────────────────────────────────────────── */

.bns-message-modal__sheet--faq {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-faq-msg {
    display: grid;
    gap: 14px;
}

.bns-faq-msg > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-faq-msg > *:nth-child(1) { animation-delay: 0.02s; }
.bns-faq-msg > *:nth-child(2) { animation-delay: 0.06s; }
.bns-faq-msg > *:nth-child(3) { animation-delay: 0.1s; }

.bns-faq-msg__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(59, 130, 246, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(14, 165, 233, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #1e3a5f 52%, #0f2744 100%);
}

.bns-faq-msg__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-faq-msg__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #93c5fd;
}

.bns-faq-msg__hero h3 {
    margin: 0;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-faq-msg__list {
    display: grid;
    gap: 10px;
}

.bns-faq-msg__item {
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-faq-msg__q {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    margin-bottom: 8px;
}

.bns-faq-msg__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 28px;
    border-radius: 8px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
}

.bns-faq-msg__q strong {
    color: var(--msg-navy);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.4;
}

.bns-faq-msg__a {
    margin: 0;
    padding-left: 42px;
    color: var(--msg-ink);
    font-size: 0.9rem;
    line-height: 1.55;
}

.bns-faq-msg__assist {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-faq-msg__assist h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-faq-msg__bot {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #25d366, #128c7e);
    color: #fff !important;
    text-decoration: none !important;
    text-align: left;
    font-weight: 800;
}

.bns-faq-msg__bot i {
    font-size: 1.35rem;
}

.bns-faq-msg__bot em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-faq-msg__bot strong {
    display: block;
    color: #fff !important;
    font-size: 1.1rem;
}

.bns-faq-msg__bot small {
    display: block;
    margin-top: 2px;
    font-size: 0.8rem;
    opacity: 0.9;
}

@media (max-width: 767px) {
    .bns-faq-msg__a {
        padding-left: 0;
        margin-top: 4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-faq-msg > * {
        animation: none;
    }
}

/* ── Welcome to BNS Family (post-admission) ────────────────────── */

.bns-message-modal__sheet--bnsfamily {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-bnsfamily {
    display: grid;
    gap: 14px;
}

.bns-bnsfamily > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-bnsfamily > *:nth-child(1) { animation-delay: 0.02s; }
.bns-bnsfamily > *:nth-child(2) { animation-delay: 0.06s; }
.bns-bnsfamily > *:nth-child(3) { animation-delay: 0.1s; }
.bns-bnsfamily > *:nth-child(4) { animation-delay: 0.14s; }
.bns-bnsfamily > *:nth-child(5) { animation-delay: 0.18s; }
.bns-bnsfamily > *:nth-child(6) { animation-delay: 0.22s; }
.bns-bnsfamily > *:nth-child(7) { animation-delay: 0.26s; }

.bns-bnsfamily__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(34, 197, 94, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(234, 179, 8, 0.25), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #14532d 48%, #166534 100%);
}

.bns-bnsfamily__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-bnsfamily__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #bbf7d0;
}

.bns-bnsfamily__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.32rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-bnsfamily__greeting {
    margin: 0 0 8px;
    color: #bbf7d0;
    font-size: 1rem;
    font-weight: 700;
}

.bns-bnsfamily__congrats {
    display: inline-block;
    margin-bottom: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 0.95rem;
}

.bns-bnsfamily__confirmed {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.02rem;
    font-weight: 750;
    line-height: 1.5;
}

.bns-bnsfamily__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-bnsfamily__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-bnsfamily__card--next {
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.06), #fff);
    border-color: rgba(37, 99, 235, 0.16);
}

.bns-bnsfamily__card h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-bnsfamily__intro {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.9rem;
}

.bns-bnsfamily__journey,
.bns-bnsfamily__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-bnsfamily__journey {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bns-bnsfamily__journey-item,
.bns-bnsfamily__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-bnsfamily__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-bnsfamily__journey-item strong,
.bns-bnsfamily__item strong,
.bns-bnsfamily__item span {
    color: var(--msg-navy);
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-bnsfamily__connect {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 140, 126, 0.08), #fff);
    border: 1px solid rgba(18, 140, 126, 0.18);
}

.bns-bnsfamily__connect h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.bns-bnsfamily__connect-grid {
    display: grid;
    gap: 8px;
}

.bns-bnsfamily__connect-btn {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.bns-bnsfamily__connect-btn i {
    font-size: 1.25rem;
}

.bns-bnsfamily__connect-btn em {
    display: block;
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
}

.bns-bnsfamily__connect-btn strong {
    display: block;
    color: #fff !important;
    font-size: 0.95rem;
}

.bns-bnsfamily__connect-btn small {
    display: block;
    margin-top: 2px;
    font-size: 0.78rem;
    opacity: 0.9;
}

.bns-bnsfamily__connect-btn--web {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.bns-bnsfamily__connect-btn--bot {
    background: linear-gradient(135deg, #25d366, #128c7e);
}

.bns-bnsfamily__connect-btn--channel {
    background: linear-gradient(135deg, #128c7e, #075e54);
}

.bns-bnsfamily__commit {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.1), #fff);
    border: 1px solid rgba(34, 197, 94, 0.18);
}

.bns-bnsfamily__commit h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-bnsfamily__commit p {
    margin: 0;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-bnsfamily__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(34, 197, 94, 0.14), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-bnsfamily__again {
    display: block;
    margin-bottom: 8px;
    font-style: normal;
    color: var(--msg-muted);
    font-size: 0.85rem;
    font-weight: 700;
}

.bns-bnsfamily__family {
    display: inline-block;
    margin-bottom: 12px;
    padding: 10px 16px;
    border-radius: 999px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.92rem;
    line-height: 1.45;
}

.bns-bnsfamily__final > p {
    margin: 0 0 8px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-bnsfamily__together {
    font-weight: 750 !important;
    color: var(--msg-navy) !important;
}

.bns-bnsfamily__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}

.bns-bnsfamily__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (max-width: 767px) {
    .bns-bnsfamily__journey {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bns-bnsfamily > * {
        animation: none;
    }
}

/* ── Founder welcome (post-admission) ─────────────────────────── */

.bns-message-modal__sheet--founderwelcome {
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.bns-founderwelcome {
    display: grid;
    gap: 14px;
}

.bns-founderwelcome > * {
    animation: bnsPromoIn 0.45s ease both;
}

.bns-founderwelcome > *:nth-child(1) { animation-delay: 0.02s; }
.bns-founderwelcome > *:nth-child(2) { animation-delay: 0.06s; }
.bns-founderwelcome > *:nth-child(3) { animation-delay: 0.1s; }
.bns-founderwelcome > *:nth-child(4) { animation-delay: 0.14s; }
.bns-founderwelcome > *:nth-child(5) { animation-delay: 0.18s; }
.bns-founderwelcome > *:nth-child(6) { animation-delay: 0.22s; }

.bns-founderwelcome__hero {
    padding: 26px 22px 22px;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(253, 110, 1, 0.35), transparent 42%),
        radial-gradient(circle at 12% 90%, rgba(234, 179, 8, 0.22), transparent 40%),
        linear-gradient(135deg, #0a1d37 0%, #7c2d12 48%, #9a3412 100%);
}

.bns-founderwelcome__hero-badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fd6e01, #ea580c);
    box-shadow: 0 10px 22px rgba(253, 110, 1, 0.3);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.bns-founderwelcome__hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.4rem;
    color: #fdba74;
}

.bns-founderwelcome__hero h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.35;
}

.bns-founderwelcome__greeting {
    margin: 0 0 10px;
    color: #fdba74;
    font-size: 1rem;
    font-weight: 700;
}

.bns-founderwelcome__lead {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.02rem;
    font-weight: 750;
    line-height: 1.55;
}

.bns-founderwelcome__hero-sub {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-founderwelcome__belief {
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(253, 110, 1, 0.08), #fff);
    border: 1px solid rgba(253, 110, 1, 0.16);
}

.bns-founderwelcome__belief p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.6;
}

.bns-founderwelcome__belief p:last-child {
    margin-bottom: 0;
    font-weight: 700;
    color: var(--msg-navy);
}

.bns-founderwelcome__card {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-founderwelcome__card h4 {
    margin: 0 0 10px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-founderwelcome__intro {
    margin: 0 0 12px;
    color: var(--msg-ink);
    font-size: 0.9rem;
    line-height: 1.55;
}

.bns-founderwelcome__list {
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.bns-founderwelcome__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.07);
}

.bns-founderwelcome__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
    font-size: 0.72rem;
    flex-shrink: 0;
}

.bns-founderwelcome__item strong {
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
}

.bns-founderwelcome__focus {
    margin: 0;
    padding: 12px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--msg-ink);
    font-size: 0.9rem;
    line-height: 1.55;
}

.bns-founderwelcome__success {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.08), #fff);
    border: 1px solid rgba(37, 99, 235, 0.16);
}

.bns-founderwelcome__success h4 {
    margin: 0 0 12px;
    color: var(--msg-navy);
    font-size: 1rem;
    font-weight: 800;
}

.bns-founderwelcome__success-line {
    margin: 0 0 4px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    font-weight: 700;
}

.bns-founderwelcome__result {
    margin: 10px 0 14px;
    color: var(--msg-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.bns-founderwelcome__success em {
    display: block;
    margin-bottom: 8px;
    font-style: normal;
    color: var(--msg-muted);
    font-size: 0.85rem;
    font-weight: 700;
}

.bns-founderwelcome__formula {
    display: inline-block;
    padding: 10px 16px;
    border-radius: 14px;
    background: #0a1d37;
    color: #fff;
    font-size: 0.92rem;
    line-height: 1.45;
}

.bns-founderwelcome__final {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(253, 110, 1, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(10, 29, 55, 0.04), rgba(10, 29, 55, 0.1));
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.bns-founderwelcome__again {
    display: block;
    margin-bottom: 8px;
    font-style: normal;
    color: var(--msg-muted);
    font-size: 0.85rem;
    font-weight: 700;
}

.bns-founderwelcome__final > p {
    margin: 0 0 10px;
    color: var(--msg-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.bns-founderwelcome__regards {
    display: block;
    margin: 14px 0 8px;
    color: var(--msg-navy);
    font-size: 0.9rem;
    font-weight: 700;
}

.bns-founderwelcome__signature {
    display: grid;
    gap: 2px;
    margin-bottom: 14px;
}

.bns-founderwelcome__signature strong {
    color: var(--msg-navy);
    font-size: 1.1rem;
}

.bns-founderwelcome__signature span {
    color: var(--msg-muted);
    font-size: 0.88rem;
    font-weight: 650;
}

.bns-founderwelcome__motto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.bns-founderwelcome__motto span {
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--msg-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

@media (prefers-reduced-motion: reduce) {
    .bns-founderwelcome > * {
        animation: none;
    }
}
