/* Shared site styles — CSP-safe (no inline <style>) */
:root {
    --sas-orange: #F94C30;
    --sas-orange-dk: #D93B20;
    --sas-orange-lt: #FF6D54;
    --sas-purple: #34005F;
    --sas-purple-lt: #5A2D8A;
    --bg: #FFFBF7;
    --bg-warm: #FFF8F2;
    --bg-cream: #FEF5EC;
    --surface: #FFFFFF;
    --text: #1A1210;
    --text-2: #574F46;
    --text-3: #9A918A;
    --sh-sm: 0 2px 8px rgba(52,0,95,.05);
    --sh-md: 0 8px 24px rgba(52,0,95,.08), 0 2px 8px rgba(52,0,95,.04);
    --sh-lg: 0 20px 50px rgba(52,0,95,.1), 0 6px 16px rgba(52,0,95,.05);
    --sh-ora: 0 10px 32px rgba(249,76,48,.22);
    --sh-pur: 0 10px 32px rgba(52,0,95,.2);
    --sas-nav-h: 76px;
    --sas-page-hero-min: 468px; /* Offerings (Audio) visible band below nav */
}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
button, input, select, textarea { font: inherit; }
body { font-family: 'Trebuchet MS', 'Gill Sans MT', 'Gill Sans', Arial, Helvetica, sans-serif; color: var(--text); background: var(--bg); }
body::before {
    content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .45;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");
}
body > *:not(script) { position: relative; z-index: 1; }
h1, h2, h3, h4, h5, h6 { font-family: 'Trebuchet MS', 'Gill Sans MT', 'Gill Sans', Arial, Helvetica, sans-serif; font-weight: 700; }

/* ===== NAV ===== */
.nav-blend {
    background: transparent;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    transition: background .45s ease, border-color .45s ease, box-shadow .45s ease;
}
.nav-blend.scrolled {
    background: rgba(255,251,247,.94);
    border-bottom-color: rgba(52,0,95,.05);
    box-shadow: 0 1px 3px rgba(52,0,95,.04), 0 4px 24px rgba(52,0,95,.06);
    backdrop-filter: blur(20px) saturate(1.6);
    -webkit-backdrop-filter: blur(20px) saturate(1.6);
}
nav .nav-link-item { font-family: 'Trebuchet MS', sans-serif !important; font-weight: 600 !important; font-size: .87rem !important; letter-spacing: .01em !important; }
.nav-blend .nav-link-item { color: rgba(255,255,255,.82); transition: color .2s; }
.nav-blend .nav-link-item:hover { color: #fff; }
.nav-blend.scrolled .nav-link-item { color: var(--text-2); }
.nav-blend.scrolled .nav-link-item:hover { color: var(--sas-orange); }
.nav-blend .nav-logo-img { filter: brightness(0) invert(1); transition: filter .45s ease; }
.nav-blend.scrolled .nav-logo-img { filter: none; }
.nav-blend .mobile-trigger { color: #fff; transition: color .4s; }
.nav-blend.scrolled .mobile-trigger { color: var(--text); }

.nav-solid {
    background: rgba(255,251,247,.94);
    border-bottom: 1px solid rgba(52,0,95,.05);
    box-shadow: 0 1px 3px rgba(52,0,95,.04), 0 4px 24px rgba(52,0,95,.06);
    backdrop-filter: blur(20px) saturate(1.6);
    -webkit-backdrop-filter: blur(20px) saturate(1.6);
}
.nav-solid .nav-link-item { color: var(--text-2); transition: color .2s; }
.nav-solid .nav-link-item:hover { color: var(--sas-orange); }
.nav-solid .mobile-trigger { color: var(--text); }

.nav-link-item [data-lucide="chevron-down"] { transition: transform .25s ease; }
[data-dropdown]:hover .nav-link-item [data-lucide="chevron-down"],
[data-mega]:hover .nav-link-item [data-lucide="chevron-down"] { transform: rotate(180deg); }

.nav-dropdown, .mega-dropdown {
    display: block; opacity: 0; visibility: hidden; pointer-events: none;
    transform: translateY(6px);
    transform-origin: top center;
    transition: opacity .25s cubic-bezier(.16,1,.3,1), transform .25s cubic-bezier(.16,1,.3,1), visibility 0s .25s;
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 16px;
    box-shadow:
        0 0 0 1px rgba(0,0,0,.02),
        0 2px 4px rgba(0,0,0,.02),
        0 8px 16px rgba(0,0,0,.04),
        0 24px 48px rgba(0,0,0,.08);
}
.nav-dropdown.active, .mega-dropdown.active {
    opacity: 1; visibility: visible; pointer-events: auto;
    transform: translateY(0);
    transition: opacity .3s cubic-bezier(.16,1,.3,1), transform .3s cubic-bezier(.16,1,.3,1), visibility 0s 0s;
}
.nav-dropdown::before, .mega-dropdown::before,
.nav-dropdown::after, .mega-dropdown::after { display: none; }
.mega-dropdown.mega-w { width: 500px; }
.nav-dropdown.dd-w { width: 280px; }

.dd-link { transition: background .15s ease; }
.dd-link:hover { background: rgba(0,0,0,.03); }
.mega-dropdown .dd-link { border-radius: .5rem; transition: background .15s ease, color .15s ease; }
.mega-dropdown .dd-link:hover { background: rgba(0,0,0,.03); color: var(--sas-orange) !important; }
.mega-dropdown .dd-link:hover [data-lucide] { color: var(--sas-orange) !important; }

.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

.mobile-menu { transform: translateX(100%); transition: transform 0.3s ease; }
.mobile-menu.open { transform: translateX(0); }
[data-mobile-accordion] button [data-lucide].is-open { transform: rotate(180deg); }

.back-to-top { opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.back-to-top.visible { opacity: 1; pointer-events: auto; }

.glow-line {
    background: linear-gradient(90deg, transparent, var(--sas-orange), #FF8C6A, var(--sas-purple), transparent);
    height: 1px;
}

footer.sas-site-footer {
    background: var(--sas-purple);
    color: rgba(255, 255, 255, 0.8);
    position: relative; overflow: hidden;
}
footer.sas-site-footer::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--sas-orange), #FF8C6A, var(--sas-orange), transparent);
    z-index: 2;
}
footer.sas-site-footer::after {
    content: ''; position: absolute; bottom: -40px; right: -40px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(249, 76, 48, 0.08) 0%, transparent 70%);
    border-radius: 50%; pointer-events: none;
}
footer.sas-site-footer .glow-line { display: none; }
footer.sas-site-footer h2 { color: #fff !important; }
footer.sas-site-footer h3 { color: var(--sas-orange-lt) !important; }
footer.sas-site-footer .footer-col-link { color: rgba(255, 255, 255, 0.65) !important; }
footer.sas-site-footer .footer-col-link:hover { color: var(--sas-orange-lt) !important; }
footer.sas-site-footer .footer-address,
footer.sas-site-footer .footer-address span,
footer.sas-site-footer .footer-address p { color: rgba(255, 255, 255, 0.5) !important; }
footer.sas-site-footer .footer-address strong { color: rgba(255, 255, 255, 0.7) !important; }
footer.sas-site-footer .footer-subtle { color: rgba(255, 255, 255, 0.4) !important; }
footer.sas-site-footer .footer-legal,
footer.sas-site-footer .footer-legal a { color: rgba(255, 255, 255, 0.35) !important; }
footer.sas-site-footer .footer-legal a:hover { color: var(--sas-orange-lt) !important; }
footer.sas-site-footer .sas-footer-logo { height: 36px; width: auto; filter: brightness(0) invert(1); }
footer.sas-site-footer input[type="email"] {
    background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); color: #fff;
}
footer.sas-site-footer input[type="email"]::placeholder { color: rgba(255, 255, 255, 0.25); }
footer.sas-site-footer .sas-soc a {
    width: 36px; height: 36px; border-radius: 9px;
    background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.6) !important;
}
footer.sas-site-footer .sas-soc a:hover {
    background: var(--sas-orange) !important; border-color: var(--sas-orange) !important; color: #fff !important;
}

/* Inner-page hero — lock to Offerings (Audio) visible band below the nav */
.page-hero {
    background: linear-gradient(135deg, #34005F 0%, #250047 40%, #1a0033 100%);
    position: relative; overflow: hidden;
    min-height: var(--sas-page-hero-min);
}
/* Nav offset on the section itself — keep the visible purple band at 468px */
.page-hero.pt-\[76px\] {
    min-height: calc(var(--sas-page-hero-min) + var(--sas-nav-h));
}
.page-hero::after {
    content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(to right, transparent, rgba(249, 76, 48, 0.3), transparent);
}

/* Editorial heroes (Offerings, About, Contact, listings) share the same content-band height */
section.bg-sas-purple-solid > .max-w-7xl {
    min-height: var(--sas-page-hero-min);
    box-sizing: border-box;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
    html { scroll-behavior: auto; }
}

/* ===== Utility classes replacing inline style="" ===== */
.bg-sas-purple-solid { background: #34005F; }
.bg-sas-purple-grad { background: linear-gradient(160deg, #34005F 0%, #1a0033 100%); }
.bg-warm-cream-grad { background: linear-gradient(180deg, #FFFBF7 0%, #FFF8F2 100%); }
.bg-dot-grid {
    background: radial-gradient(circle, rgba(255,255,255,.02) 1px, transparent 1px);
    background-size: 24px 24px;
}
.bg-dot-grid-hero {
    background: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 28px 28px;
}
.bg-multi-mic-glow {
    background-image:
        radial-gradient(circle at 20% 20%, rgba(249,76,48,0.9) 0, transparent 45%),
        radial-gradient(circle at 80% 60%, rgba(255,255,255,0.25) 0, transparent 40%);
}
.shadow-toc-bar {
    box-shadow: 0 1px 3px rgba(52,0,95,.03), 0 4px 16px rgba(52,0,95,.04);
}
.ratio-16x9 { padding-top: 56.25%; }
.mt-0 { margin-top: 0; }
.text-error { color: red; }
.btn-purple-solid { background-color: #4a21d5; border-color: #4a21d5; }

.delay-60 { transition-delay: 60ms; }
.delay-80 { transition-delay: 80ms; }
.delay-90 { transition-delay: 90ms; }
.delay-100 { transition-delay: 100ms; }
.delay-120 { transition-delay: 120ms; }
.delay-160 { transition-delay: 160ms; }
.delay-180 { transition-delay: 180ms; }
.delay-200 { transition-delay: 200ms; }
.delay-240 { transition-delay: 240ms; }
.delay-300 { transition-delay: 300ms; }
.delay-360 { transition-delay: 360ms; }
