/* ============================================================
   Skillfull MAIN site front page  (sfm-*)
   Master/apex directory: aurora hero · proof · how-it-works · close.
   Full-bleed, content-driven, no sales fluff.
   ============================================================ */

.sfm-front { --sfm-accent:#6d5cf6; --sfm-ink:#0b1020; color:#0b1020; background:#f7f8fc; }
.sfm-front *,.sfm-front *::before,.sfm-front *::after { box-sizing:border-box; }
.sfm-front:not(:has(.sfm-hero)) { padding-top:var(--sf-navbar-height,4rem); }
.sfm-wrap { max-width:1180px; margin:0 auto; padding:0 24px; }

.sfm-preview { position:relative; z-index:6; display:flex; align-items:center; gap:10px;
    max-width:1180px; margin:0 auto; padding:calc(var(--sf-navbar-height,4rem) + 12px) 24px 0; font-size:13px; color:#475569; }
.sfm-preview-back { margin-left:auto; color:#4f46e5; font-weight:700; text-decoration:none; }

/* ---------- HERO (aurora) ---------- */
.sfm-hero { position:relative; overflow:hidden; color:#fff; isolation:isolate;
    padding-top:var(--sf-navbar-height,4rem);
    background:linear-gradient(168deg,#080b1e 0%, #0f1338 46%, #1a1268 100%); }
.sfm-hero-img { position:absolute; inset:0; z-index:0; object-fit:cover; width:100%; height:100%; opacity:.18; mix-blend-mode:luminosity; }
.sfm-aurora { position:absolute; border-radius:50%; filter:blur(72px); z-index:0; pointer-events:none; mix-blend-mode:screen; will-change:transform; }
.sfm-aurora-a { width:640px; height:640px; top:-200px; right:-120px; opacity:.55;
    background:radial-gradient(circle,#6d5cf6 0%, transparent 70%); animation:sfm-drift-a 24s ease-in-out infinite alternate; }
.sfm-aurora-b { width:540px; height:540px; bottom:-240px; left:-120px; opacity:.5;
    background:radial-gradient(circle,#a23df0 0%, transparent 70%); animation:sfm-drift-b 28s ease-in-out infinite alternate; }
.sfm-aurora-c { width:480px; height:480px; top:24%; left:40%; opacity:.38;
    background:radial-gradient(circle,#2f6bff 0%, transparent 70%); animation:sfm-drift-a 32s ease-in-out infinite alternate-reverse; }
@keyframes sfm-drift-a { from { transform:translate(0,0) scale(1); } to { transform:translate(-64px,42px) scale(1.14); } }
@keyframes sfm-drift-b { from { transform:translate(0,0) scale(1); } to { transform:translate(54px,-34px) scale(1.1); } }
@media (prefers-reduced-motion: reduce) { .sfm-aurora { animation:none !important; } }
.sfm-hero-grain { position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.45;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52'%3E%3Cpath d='M52 0H0v52' fill='none' stroke='%23ffffff' stroke-opacity='.045'/%3E%3C/svg%3E"); }

.sfm-hero-in { position:relative; z-index:2; max-width:1180px; margin:0 auto; padding:34px 24px 38px; }
.sfm-hero-copy { max-width:660px; }

.sfm-badge { display:inline-flex; align-items:center; gap:10px; text-decoration:none; margin-bottom:16px;
    padding:7px 14px 7px 8px; border-radius:999px; font-size:13px; font-weight:600; color:#dfe3ff;
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15); backdrop-filter:blur(10px);
    transition:background .15s, transform .15s, border-color .15s; }
.sfm-badge:hover { background:rgba(255,255,255,.12); color:#fff; transform:translateY(-1px); border-color:rgba(255,255,255,.28); }
.sfm-badge-seal { width:24px; height:24px; border-radius:50%; background:#fff; padding:3px; object-fit:contain; }
.sfm-badge i { font-size:11px; opacity:.6; transition:transform .15s; }
.sfm-badge:hover i { transform:translateX(3px); opacity:1; }

.sfm-eyebrow { display:block; margin:0 0 12px; font-size:12px; font-weight:700; letter-spacing:.16em;
    text-transform:uppercase; color:#a9b2e8; }
.sfm-hero h1 { margin:0 0 14px; font-size:clamp(30px,3.8vw,46px); line-height:1.05; letter-spacing:-.03em;
    font-weight:800; text-shadow:0 4px 40px rgba(4,8,30,.45); }
.sfm-lede { margin:0; font-size:clamp(15px,1.3vw,17.5px); line-height:1.55; color:#c7cdf0; max-width:58ch; }

.sfm-cta-row { display:flex; flex-wrap:wrap; gap:13px; margin-top:22px; }
.sfm-btn { display:inline-flex; align-items:center; gap:9px; font-size:15px; font-weight:700; text-decoration:none;
    padding:14px 24px; border-radius:13px; transition:transform .14s, box-shadow .14s, background .14s; white-space:nowrap; }
.sfm-btn-pri { background:linear-gradient(180deg,#fff,#edefff); color:#1a1466; box-shadow:0 12px 32px rgba(109,92,246,.4); }
.sfm-btn-pri:hover { transform:translateY(-2px); box-shadow:0 18px 44px rgba(109,92,246,.55); color:#1a1466; }
.sfm-btn-pri i { transition:transform .15s; }
.sfm-btn-pri:hover i { transform:translateY(2px); }
.sfm-btn-ghost { background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.22); }
.sfm-btn-ghost:hover { background:rgba(255,255,255,.16); color:#fff; transform:translateY(-2px); }

.sfm-hl { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:26px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); }
.sfm-hl-item { display:flex; align-items:center; gap:11px; max-width:270px; }
.sfm-hl-ic { flex:0 0 auto; width:36px; height:36px; border-radius:11px; display:grid; place-items:center;
    background:rgba(141,135,255,.16); color:#c7d0ff; font-size:15px; }
.sfm-hl-tx b { display:block; font-size:13.5px; font-weight:700; color:#fff; line-height:1.2; }
.sfm-hl-tx span { font-size:12.5px; color:#9aa3d4; }
.sfm-hero-foot { margin-top:24px; font-size:12.5px; color:#828dc4; }

/* ---------- ORG DIRECTORY ---------- */
.sfm-dir { padding:72px 0 80px; background:
    radial-gradient(900px 380px at 100% 0, rgba(109,92,246,.06) 0, transparent 60%), #f7f8fc; }
.sfm-dir-head { max-width:680px; margin:0 0 32px; }
.sfm-dir-head h2 { margin:0 0 10px; font-size:clamp(26px,3vw,38px); letter-spacing:-.025em; font-weight:800; color:#0b1020; }
.sfm-dir-head p { margin:0; font-size:16px; line-height:1.55; color:#5a6480; }

/* Featured organization — a branded LIGHT panel (not a banner) */
.sfm-panel { position:relative; display:grid; grid-template-columns:1fr auto; gap:26px; align-items:center;
    background:#fff; border:1px solid #e6e9f2; border-radius:22px; padding:30px 34px 30px 40px; overflow:hidden;
    box-shadow:0 12px 34px rgba(15,23,42,.07); margin-bottom:42px; --o-from:#0a2e63; --o-to:#1b66bd; --o-accent:#1b66bd; }
.sfm-panel-bar { position:absolute; left:0; top:0; bottom:0; width:7px; background:linear-gradient(180deg,var(--o-from),var(--o-to)); }
.sfm-panel-id { display:flex; gap:20px; align-items:flex-start; min-width:0; }
.sfm-panel-seal { flex:0 0 auto; width:86px; height:86px; border-radius:20px; background:#f3f6fc; border:1px solid #e6e9f2;
    display:grid; place-items:center; padding:13px; }
.sfm-panel-seal img { max-width:100%; max-height:100%; object-fit:contain; }
.sfm-panel-seal .sfm-mono { font-size:26px; font-weight:900; color:var(--o-to); letter-spacing:-.04em; }
.sfm-panel-head { min-width:0; }
.sfm-panel-eyebrow { display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:800;
    letter-spacing:.09em; text-transform:uppercase; color:var(--o-accent); margin-bottom:7px; }
.sfm-panel-head h3 { margin:0 0 7px; font-size:clamp(22px,2.4vw,30px); letter-spacing:-.02em; font-weight:800; color:#0b1020; }
.sfm-panel-blurb { margin:0 0 12px; font-size:15px; line-height:1.55; color:#56607c; max-width:62ch; }
.sfm-panel-chips { display:flex; flex-wrap:wrap; gap:7px; }
.sfm-tag { font-size:11.5px; font-weight:700; padding:5px 11px; border-radius:999px; background:#eef1f8; color:#475069; }
.sfm-panel-aside { display:flex; flex-direction:column; align-items:flex-end; gap:16px; flex:0 0 auto; }
.sfm-panel-stats { display:flex; gap:22px; }
.sfm-panel-stats div { text-align:center; }
.sfm-panel-stats b { display:block; font-size:26px; font-weight:800; color:#0b1020; line-height:1; letter-spacing:-.02em; }
.sfm-panel-stats span { font-size:11.5px; color:#7a86a0; font-weight:600; }
.sfm-panel-cta { display:inline-flex; align-items:center; gap:9px; white-space:nowrap; font-size:15px; font-weight:800;
    text-decoration:none; padding:13px 22px; border-radius:13px; color:#fff;
    background:linear-gradient(180deg,var(--o-accent),color-mix(in srgb,var(--o-accent) 75%, #000));
    box-shadow:0 10px 24px color-mix(in srgb,var(--o-accent) 38%, transparent); transition:transform .14s, box-shadow .14s; }
.sfm-panel-cta:hover { transform:translateY(-2px); color:#fff; box-shadow:0 16px 32px color-mix(in srgb,var(--o-accent) 48%, transparent); }

/* Content rows — real listings on the front page */
.sfm-row-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 18px; }
.sfm-row-head-mt { margin-top:48px; }
.sfm-row-head h3 { margin:0; font-size:19px; font-weight:800; letter-spacing:-.01em; color:#0b1020; display:inline-flex; align-items:center; gap:10px; }
.sfm-row-head h3 i { color:var(--sfm-accent); font-size:16px; }
.sfm-row-see { font-size:13.5px; font-weight:700; color:#4f46e5; text-decoration:none; white-space:nowrap; display:inline-flex; align-items:center; gap:7px; }
.sfm-row-see:hover { color:#4338ca; }

/* Upcoming live sessions */
.sfm-ev-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.sfm-ev { position:relative; display:flex; align-items:flex-start; gap:16px; background:#fff; border:1px solid #e6e9f2;
    border-radius:16px; padding:18px 44px 18px 20px; text-decoration:none; color:#0b1020;
    box-shadow:0 2px 6px rgba(15,23,42,.04); transition:transform .15s, box-shadow .15s, border-color .15s; }
.sfm-ev:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(15,23,42,.12); border-color:#d6dbec; color:#0b1020; }
.sfm-ev-date { flex:0 0 auto; width:54px; text-align:center; border-radius:12px; padding:9px 0; background:linear-gradient(180deg,#eef1fb,#e3e8f7); }
.sfm-ev-date .m { display:block; font-size:11px; font-weight:800; letter-spacing:.08em; color:#6366f1; }
.sfm-ev-date .d { display:block; font-size:22px; font-weight:900; letter-spacing:-.02em; color:#0b1020; line-height:1.05; }
.sfm-ev-body { min-width:0; flex:1; display:flex; flex-direction:column; gap:7px; }
.sfm-ev-title { font-size:15px; font-weight:800; letter-spacing:-.01em; line-height:1.3; color:#0b1020;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sfm-ev-meta { display:flex; flex-wrap:wrap; gap:4px 12px; font-size:12.5px; color:#64748b; font-weight:600; }
.sfm-ev-meta i { color:#94a3b8; margin-right:3px; }
.sfm-ev-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:1px; }
.sfm-ev-go { position:absolute; top:18px; right:18px; color:#cbd2e6; font-size:13px; transition:transform .15s, color .15s; }
.sfm-ev:hover .sfm-ev-go { color:#6366f1; transform:translateX(3px); }

/* Org grid (additional orgs) */
.sfm-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sfm-org { position:relative; display:flex; flex-direction:column; gap:12px; background:#fff;
    border:1px solid #e6e9f2; border-radius:18px; padding:22px; text-decoration:none; color:#0b1020;
    box-shadow:0 2px 6px rgba(15,23,42,.04); transition:transform .15s, box-shadow .15s, border-color .15s; }
.sfm-org:hover { transform:translateY(-4px); box-shadow:0 20px 44px rgba(15,23,42,.12); border-color:#d6dbec; color:#0b1020; }
.sfm-org-top { display:flex; align-items:center; gap:13px; }
.sfm-org-seal { width:52px; height:52px; border-radius:13px; flex:0 0 auto; display:grid; place-items:center; background:#f1f3fb; padding:8px; }
.sfm-org-seal img { max-width:100%; max-height:100%; object-fit:contain; }
.sfm-org-seal .sfm-mono { font-size:18px; font-weight:900; color:#4f46e5; letter-spacing:-.03em; }
.sfm-org-name { font-size:16.5px; font-weight:800; letter-spacing:-.01em; line-height:1.15; }
.sfm-org-eyebrow { font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#6366f1; }
.sfm-org-blurb { font-size:13.5px; line-height:1.5; color:#5a6480; margin:0; flex:1; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sfm-org-foot { display:flex; align-items:center; gap:14px; font-size:12.5px; color:#64748b; font-weight:600; border-top:1px solid #eef0f6; padding-top:12px; }
.sfm-org-foot .go { margin-left:auto; color:#4f46e5; font-weight:800; }

/* ---------- HOW IT WORKS (steps) ---------- */
.sfm-steps { background:#fff; padding:76px 0; border-top:1px solid #eef0f6; }
.sfm-steps-head { max-width:640px; margin:0 auto 46px; text-align:center; }
.sfm-steps-eyebrow { display:block; margin:0 0 12px; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--sfm-accent); }
.sfm-steps-head h2 { margin:0 0 12px; font-size:clamp(26px,3vw,40px); letter-spacing:-.025em; font-weight:800; color:#0b1020; }
.sfm-steps-head p { margin:0; font-size:16px; line-height:1.55; color:#5a6480; }
.sfm-steps-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sfm-step { position:relative; background:#f8f9fc; border:1px solid #eef0f6; border-radius:20px; padding:32px 28px 28px; overflow:hidden; }
.sfm-step-num { position:absolute; top:14px; right:22px; font-size:64px; font-weight:900; line-height:1; letter-spacing:-.04em; color:#0b1020; opacity:.05; }
.sfm-step-ic { display:grid; place-items:center; width:50px; height:50px; border-radius:14px; margin-bottom:18px;
    background:linear-gradient(140deg,#6d5cf6,#a23df0); color:#fff; font-size:19px; box-shadow:0 10px 22px rgba(109,92,246,.32); }
.sfm-step h3 { margin:0 0 8px; font-size:18px; font-weight:800; letter-spacing:-.01em; color:#0b1020; }
.sfm-step p { margin:0; font-size:14.5px; line-height:1.55; color:#5a6480; }

/* ---------- CLOSER ---------- */
.sfm-closer { padding:8px 0 84px; background:#f7f8fc; }
.sfm-closer-card { position:relative; overflow:hidden; isolation:isolate; border-radius:28px; color:#fff; text-align:center;
    background:linear-gradient(150deg,#0f1338 0%, #1a1268 100%); box-shadow:0 30px 70px rgba(13,16,52,.28); }
.sfm-closer-in { position:relative; z-index:2; max-width:640px; margin:0 auto; padding:66px 28px; }
.sfm-closer-eyebrow { display:block; margin:0 0 14px; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#a9b2e8; }
.sfm-closer-card h2 { margin:0 0 14px; font-size:clamp(26px,3.2vw,42px); letter-spacing:-.03em; font-weight:800; line-height:1.05; }
.sfm-closer-card p { margin:0 auto 30px; font-size:17px; line-height:1.6; color:#c7cdf0; max-width:50ch; }
.sfm-closer .sfm-cta-row { justify-content:center; margin-top:0; }

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px) {
    .sfm-grid, .sfm-steps-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
    .sfm-panel { grid-template-columns:1fr; gap:20px; padding:26px 24px 26px 28px; }
    .sfm-panel-aside { align-items:flex-start; }
    .sfm-aurora { filter:blur(56px); }
}
@media (max-width:620px) {
    .sfm-grid, .sfm-steps-grid, .sfm-ev-grid { grid-template-columns:1fr; }
    .sfm-panel-id { flex-direction:column; }
    .sfm-hero-in { padding:42px 22px 50px; }
    .sfm-cta-row .sfm-btn { width:100%; justify-content:center; }
    .sfm-panel-stats { gap:18px; }
}

/* ---------- DARK MODE ---------- */
[data-bs-theme="dark"] .sfm-front { color:#e7eaf3; background:#0a0e1a; }
[data-bs-theme="dark"] .sfm-dir {
    background:radial-gradient(900px 380px at 100% 0, rgba(109,92,246,.10) 0, transparent 60%), #0a0e1a; }
[data-bs-theme="dark"] .sfm-dir-head h2,
[data-bs-theme="dark"] .sfm-panel-head h3,
[data-bs-theme="dark"] .sfm-row-head h3,
[data-bs-theme="dark"] .sfm-org-name,
[data-bs-theme="dark"] .sfm-ev-title,
[data-bs-theme="dark"] .sfm-panel-stats b,
[data-bs-theme="dark"] .sfm-ev-date .d { color:#eef1f8; }
[data-bs-theme="dark"] .sfm-dir-head p,
[data-bs-theme="dark"] .sfm-panel-blurb,
[data-bs-theme="dark"] .sfm-org-blurb,
[data-bs-theme="dark"] .sfm-ev-meta { color:#9aa4bd; }
[data-bs-theme="dark"] .sfm-panel-stats span { color:#828ca6; }

[data-bs-theme="dark"] .sfm-panel,
[data-bs-theme="dark"] .sfm-org,
[data-bs-theme="dark"] .sfm-ev {
    background:#131a2b; border-color:rgba(255,255,255,.09); box-shadow:0 12px 34px rgba(0,0,0,.34); }
[data-bs-theme="dark"] .sfm-org:hover,
[data-bs-theme="dark"] .sfm-ev:hover { border-color:rgba(255,255,255,.18); color:#e7eaf3; }
[data-bs-theme="dark"] .sfm-panel-seal { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.08); }
[data-bs-theme="dark"] .sfm-org-seal { background:rgba(255,255,255,.06); }
[data-bs-theme="dark"] .sfm-tag { background:rgba(255,255,255,.09); color:#c3cbe0; }
[data-bs-theme="dark"] .sfm-ev-date { background:rgba(255,255,255,.07); }
[data-bs-theme="dark"] .sfm-org-foot { border-color:rgba(255,255,255,.08); color:#9aa4bd; }
[data-bs-theme="dark"] .sfm-ev-go { color:#586079; }
[data-bs-theme="dark"] .sfm-org, [data-bs-theme="dark"] .sfm-org:hover { color:#e7eaf3; }
[data-bs-theme="dark"] .sfm-steps { background:#0d1322; border-top-color:rgba(255,255,255,.07); }
[data-bs-theme="dark"] .sfm-steps-head h2 { color:#eef1f8; }
[data-bs-theme="dark"] .sfm-steps-head p { color:#9aa4bd; }
[data-bs-theme="dark"] .sfm-step { background:#131a2b; border-color:rgba(255,255,255,.08); }
[data-bs-theme="dark"] .sfm-step h3 { color:#eef1f8; }
[data-bs-theme="dark"] .sfm-step p { color:#9aa4bd; }
[data-bs-theme="dark"] .sfm-step-num { color:#fff; opacity:.06; }
[data-bs-theme="dark"] .sfm-closer { background:#0a0e1a; }

/* ===================================================================
   StreamClass directory (AU) — master-field grid, profession tiles,
   webinar showcase + detail modal, group landing, footer.
   ALL classes here are AU-scoped (sfm-mv / sfm-prof / sfm-fw / sfm-grp /
   sfm-foot) — the shared sf-dcat / sfm-hero / sf-dcl styles are untouched,
   so USA pages are unaffected. Everything sits inside .sfm-wrap.
   =================================================================== */

/* ---------- MASTER-FIELD GRID (navigation: compact, aurora-tinted, top-accent — distinct from content cards) ---------- */
.sfm-mv { padding:56px 0 16px; background:radial-gradient(900px 360px at 0 0, rgba(162,61,240,.06) 0, transparent 60%), #f7f8fc; }
.sfm-mv-head { max-width:660px; margin:0 0 24px; }
.sfm-mv-title { margin:0 0 8px; font-size:clamp(22px,2.4vw,30px); font-weight:800; letter-spacing:-.025em; color:#0b1020; }
.sfm-mv-sub { margin:0; font-size:15.5px; line-height:1.55; color:#56607c; }
.sfm-mv-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.sfm-mv-tile { position:relative; display:flex; flex-direction:column; gap:7px; text-decoration:none; color:#0b1020;
    background:linear-gradient(165deg,#fbfaff,#f3f1fd); border:1px solid rgba(109,92,246,.16); border-radius:16px;
    padding:17px 16px 14px; overflow:hidden; transition:transform .14s, box-shadow .14s, border-color .14s; }
.sfm-mv-tile::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#6d5cf6,#a23df0); }
.sfm-mv-tile:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(109,92,246,.16); border-color:rgba(109,92,246,.42); color:#0b1020; }
.sfm-mv-tile:focus-visible { outline:3px solid #6d5cf6; outline-offset:2px; }
.sfm-mv-ico { width:40px; height:40px; border-radius:11px; display:grid; place-items:center; color:#fff; font-size:17px;
    background:linear-gradient(135deg,#6d5cf6,#a23df0); box-shadow:0 6px 14px rgba(109,92,246,.26); }
.sfm-mv-name { font-size:16px; font-weight:750; letter-spacing:-.01em; }
.sfm-mv-list { font-size:11.5px; line-height:1.45; color:#7b8499;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sfm-mv-meta { font-size:12px; font-weight:600; color:#5d6781; margin-top:2px; }
.sfm-mv-up { color:#1c7a48; }
.sfm-mv-go { position:absolute; top:17px; right:15px; color:#b9b3ea; font-size:13px; transition:transform .14s,color .14s; }
.sfm-mv-tile:hover .sfm-mv-go { color:#6d5cf6; transform:translateX(3px); }
.sfm-mv-empty { border:2px dashed rgba(109,92,246,.16); border-radius:16px; padding:30px 24px; text-align:center;
    color:#7b8499; background:rgba(109,92,246,.02); }

/* ---------- PROFESSION TILES (group drill-down — aurora-styled, AU-only; replaces unstyled sf-dcat) ---------- */
.sfm-prof-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(186px,1fr)); gap:14px; }
.sfm-prof-tile { position:relative; display:flex; flex-direction:column; gap:8px; text-decoration:none; color:#0b1020;
    background:#fff; border:1px solid rgba(109,92,246,.16); border-radius:16px; padding:18px 16px 15px;
    transition:transform .14s, box-shadow .14s, border-color .14s; }
.sfm-prof-tile:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(109,92,246,.15); border-color:rgba(109,92,246,.42); color:#0b1020; }
.sfm-prof-tile:focus-visible { outline:3px solid #6d5cf6; outline-offset:2px; }
.sfm-prof-ico { width:40px; height:40px; border-radius:11px; display:grid; place-items:center; color:#fff; font-size:17px;
    background:linear-gradient(135deg,#6d5cf6,#a23df0); box-shadow:0 6px 14px rgba(109,92,246,.24); }
.sfm-prof-name { font-size:15px; font-weight:700; letter-spacing:-.01em; }
.sfm-prof-meta { font-size:12px; font-weight:600; color:#5d6781; margin-top:1px; }
.sfm-prof-meta .sfm-mv-up { font-weight:650; }
.sfm-prof-empty { color:#7b8499; padding:24px 0; }

/* ---------- WEBINAR SHOWCASE (content cards — kept prominent; clear breathing room above) ---------- */
.sfm-fw { padding:44px 0 72px; background:#f7f8fc; border-top:1px solid rgba(109,92,246,.07); }
.sfm-fw-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:0 0 24px; }
.sfm-fw-title { margin:0 0 6px; font-size:clamp(22px,2.4vw,30px); font-weight:800; letter-spacing:-.025em; color:#0b1020; }
.sfm-fw-sub { margin:0; font-size:15px; color:#56607c; }
.sfm-fw-all { flex:0 0 auto; font-size:13.5px; font-weight:650; color:#6d5cf6; text-decoration:none; white-space:nowrap; }
.sfm-fw-all:hover { color:#a23df0; }
.sfm-fw-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.sfm-fw-card { display:flex; gap:15px; background:#fff; border:1px solid #e6e9f2; border-radius:16px; padding:18px;
    text-decoration:none; color:inherit; transition:transform .15s, box-shadow .15s, border-color .15s; }
.sfm-fw-card:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(20,24,55,.10); border-color:rgba(109,92,246,.42); color:inherit; text-decoration:none; }
.sfm-fw-card:focus-visible { outline:3px solid #6d5cf6; outline-offset:2px; }
.sfm-fw-cal { flex:0 0 auto; width:54px; text-align:center; border-radius:12px; padding:10px 6px; height:fit-content;
    background:linear-gradient(180deg,#efe9ff,#e6ecfb); }
.sfm-fw-cal .m { display:block; font-size:11px; font-weight:700; color:#6d5cf6; letter-spacing:.04em; }
.sfm-fw-cal .d { display:block; font-size:21px; font-weight:800; line-height:1; color:#0b1020; }
.sfm-fw-body { min-width:0; flex:1; }
.sfm-fw-name { margin:0 0 5px; font-size:15px; font-weight:700; line-height:1.3; color:#0b1020;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sfm-fw-org { font-size:12.5px; color:#64708b; display:flex; align-items:center; gap:6px; margin-bottom:9px; }
.sfm-fw-tags { display:flex; flex-wrap:wrap; gap:6px; }
.sfm-fw-tag { font-size:11px; font-weight:600; padding:3px 9px; border-radius:999px; background:#f1f3fb; color:#4d5773;
    display:inline-flex; align-items:center; gap:5px; }
.sfm-fw-tag.is-online { background:#eaf2ff; color:#1f5fb0; }
.sfm-fw-tag.is-credit { background:#eafaf1; color:#1c7a48; }
.sfm-fw-open { flex:0 0 auto; align-self:center; font-size:13px; font-weight:650; color:#6d5cf6; text-decoration:none;
    padding:8px 13px; border:1px solid rgba(109,92,246,.28); border-radius:10px; transition:background .14s,color .14s,border-color .14s; white-space:nowrap; }
.sfm-fw-card:hover .sfm-fw-open { background:#6d5cf6; color:#fff; border-color:#6d5cf6; }
.sfm-fw-empty { border:2px dashed rgba(109,92,246,.16); border-radius:16px; padding:40px 28px; text-align:center;
    background:rgba(109,92,246,.02); display:flex; flex-direction:column; align-items:center; gap:10px; color:#56607c; }
.sfm-fw-empty i { font-size:26px; color:#6d5cf6; opacity:.6; }

/* ---------- GROUP LANDING (drill-down header) ---------- */
.sfm-grp-top { position:relative; overflow:hidden; color:#fff;
    background:linear-gradient(120deg,#0f1330 0,#1a1268 46%,#2a1854 100%); padding-top:var(--sf-navbar-height,4rem); }
.sfm-grp-top::before { content:""; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(600px 320px at 100% 0, rgba(162,61,240,.18) 0, transparent 60%); }
.sfm-grp-top .sfm-wrap { position:relative; padding-top:26px; padding-bottom:32px; }
.sfm-grp-back { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:#c7cdf0;
    text-decoration:none; margin-bottom:18px; }
.sfm-grp-back:hover { color:#fff; }
.sfm-grp-head { display:flex; align-items:center; gap:18px; }
.sfm-grp-ico { width:58px; height:58px; flex:0 0 auto; border-radius:16px; display:grid; place-items:center; font-size:25px; color:#fff;
    background:linear-gradient(135deg,#6d5cf6,#a23df0); box-shadow:0 10px 24px rgba(109,92,246,.4); }
.sfm-grp-title { margin:0; font-size:clamp(26px,3.2vw,38px); font-weight:800; letter-spacing:-.03em; }
.sfm-grp-meta { margin:5px 0 0; font-size:14px; color:#c7cdf0; }
.sfm-grp-blurb { margin:8px 0 0; font-size:14.5px; line-height:1.55; color:#aab2dd; max-width:60ch; }
.sfm-grp-body { padding:40px 0 64px; background:#f7f8fc; }
.sfm-grp-h2 { margin:0 0 22px; font-size:clamp(20px,2.2vw,26px); font-weight:800; letter-spacing:-.02em; color:#0b1020; }
[data-bs-theme="dark"] .sfm-grp-h2 { color:#eef1f8; }
.sfm-pager { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:36px; }
.sfm-pager-btn { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:650; color:#6d5cf6;
    text-decoration:none; padding:10px 18px; border:1px solid rgba(109,92,246,.28); border-radius:10px; transition:background .14s,color .14s,border-color .14s; }
.sfm-pager-btn:hover { background:#6d5cf6; color:#fff; border-color:#6d5cf6; }
.sfm-pager-now { font-size:13.5px; font-weight:600; color:#5d6781; }
[data-bs-theme="dark"] .sfm-pager-now { color:#9aa4bd; }
[data-bs-theme="dark"] .sfm-pager-btn { border-color:rgba(140,120,255,.35); }

/* ---------- FOOTER (AU directory) ---------- */
.sfm-foot { background:#0b1020; color:#9aa4bd; padding:34px 0 38px; }
.sfm-foot-in { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.sfm-foot-brand { display:flex; align-items:center; gap:9px; font-size:15px; font-weight:700; color:#eef1f8; }
.sfm-foot-mark { width:26px; height:26px; border-radius:8px; display:grid; place-items:center; font-size:13px; color:#fff;
    background:linear-gradient(135deg,#6d5cf6,#a23df0); }
.sfm-foot-tag { font-size:12.5px; color:#7b86a6; max-width:46ch; margin:6px 0 0; }
.sfm-foot-links { display:flex; flex-wrap:wrap; gap:18px; font-size:13px; }
.sfm-foot-links a { color:#aab2dd; text-decoration:none; }
.sfm-foot-links a:hover { color:#fff; }
.sfm-foot-copy { margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.08); font-size:12px; color:#6b7591; }

/* ---------- RESPONSIVE (redesign) ---------- */
@media (max-width:1024px) {
    .sfm-mv-grid { grid-template-columns:repeat(3,1fr); }
    .sfm-fw-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
    .sfm-mv-grid { grid-template-columns:repeat(2,1fr); }
    .sfm-grp-head { flex-direction:column; align-items:flex-start; gap:12px; }
    .sfm-grp-ico { width:48px; height:48px; font-size:21px; }
    .sfm-grp-title { font-size:25px; }
}
@media (max-width:560px) {
    .sfm-mv-grid, .sfm-fw-grid, .sfm-prof-grid { grid-template-columns:1fr; }
    .sfm-fw-card { flex-direction:column; }
    .sfm-fw-body { display:flex; flex-direction:column; gap:9px; }
    .sfm-fw-open { align-self:flex-start; }
    .sfm-foot-in { flex-direction:column; align-items:flex-start; }
}

/* ---------- DARK MODE (redesign) ---------- */
[data-bs-theme="dark"] .sfm-mv { background:radial-gradient(900px 360px at 0 0, rgba(162,61,240,.10) 0, transparent 60%), #0a0e1a; }
[data-bs-theme="dark"] .sfm-mv-title, [data-bs-theme="dark"] .sfm-fw-title { color:#eef1f8; }
[data-bs-theme="dark"] .sfm-mv-sub, [data-bs-theme="dark"] .sfm-fw-sub { color:#9aa4bd; }
[data-bs-theme="dark"] .sfm-mv-tile { background:linear-gradient(165deg, rgba(109,92,246,.14), rgba(162,61,240,.08)); border-color:rgba(140,120,255,.26); color:#e7eaf3; }
[data-bs-theme="dark"] .sfm-mv-tile:hover { border-color:rgba(140,120,255,.55); color:#e7eaf3; box-shadow:0 10px 24px rgba(109,92,246,.22); }
[data-bs-theme="dark"] .sfm-mv-list, [data-bs-theme="dark"] .sfm-mv-meta, [data-bs-theme="dark"] .sfm-prof-meta { color:#9aa4bd; }
[data-bs-theme="dark"] .sfm-mv-up, [data-bs-theme="dark"] .sfm-fw-tag.is-credit { color:#7fe0a8; }
[data-bs-theme="dark"] .sfm-prof-tile, [data-bs-theme="dark"] .sfm-fw-card { background:#131a2b; border-color:rgba(255,255,255,.09); color:#e7eaf3; }
[data-bs-theme="dark"] .sfm-prof-tile:hover, [data-bs-theme="dark"] .sfm-fw-card:hover { border-color:rgba(140,120,255,.45); color:#e7eaf3; }
[data-bs-theme="dark"] .sfm-prof-name { color:#f1f3f8; }
[data-bs-theme="dark"] .sfm-fw-tag { background:rgba(255,255,255,.12); color:#e0e4f0; }
[data-bs-theme="dark"] .sfm-fw-tag.is-credit { background:rgba(34,160,90,.2); }
[data-bs-theme="dark"] .sfm-fw-tag.is-online { background:rgba(60,130,230,.2); color:#9cc4ff; }
[data-bs-theme="dark"] .sfm-fw { background:#0a0e1a; border-top-color:rgba(140,120,255,.10); }
[data-bs-theme="dark"] .sfm-grp-body { background:#0a0e1a; }
[data-bs-theme="dark"] .sfm-fw-name, [data-bs-theme="dark"] .sfm-fw-cal .d { color:#eef1f8; }
[data-bs-theme="dark"] .sfm-fw-org { color:#9aa4bd; }
[data-bs-theme="dark"] .sfm-fw-open { border-color:rgba(140,120,255,.35); }
[data-bs-theme="dark"] .sfm-mv-empty, [data-bs-theme="dark"] .sfm-fw-empty { border-color:rgba(255,255,255,.10); background:rgba(255,255,255,.02); }
[data-bs-theme="dark"] .sfm-foot { background:#070a12; }

