/* ===========================================
   BASE STYLES (Replacing Squarespace defaults)
   =========================================== */
:root {
    --sw-z-base: 1;
    --sw-z-overlay: 50;
    --sw-z-header: 1000;
    --sw-z-modal: 9000;
    --sw-z-nav-mobile: 9999;
}

input,
textarea,
select,
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

/* Anchor scroll offset for fixed header (71px + breathing room) */
section[id], div[id] {
    scroll-margin-top: 80px;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--sw-font-heading);
    background: #000;
    color: var(--sw-text-inverse);
    line-height: 1.6;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

/* Typography Orphan & Widow Prevention */
h1, h2, h3, h4, h5, h6, .sw-headline, .sw-fa-headline, .sw-section-header h2 {
    text-wrap: balance;
}

p, .sw-subhead, .sw-fa-subhead, .sw-quote-callout p, .sw-bento-card p, .sw-data-card p, .sw-consulting-card p, .sw-pillar-content p, .sw-about-lead, .sw-feature-desc, .subhead {
    text-wrap: pretty;
}

/* ===========================================
   NAVIGATION (Static Site)
   =========================================== */
.sw-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--sw-z-header);
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(10px);
    padding: 1rem 2rem;
}

.sw-nav {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sw-logo {
    font-family: var(--sw-font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--sw-text-inverse);
}

.sw-nav-links {
    display: flex;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sw-nav-links a {
    font-family: var(--sw-font-heading);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--sw-text-inverse);
    transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.sw-nav-links a:hover {
    color: var(--sw-primary);
}

html,
body {
    overflow-x: hidden !important;
    width: 100%;
    height: auto !important;
}

/* ===========================================
   MAIN CONTENT AREA
   =========================================== */
.sw-main {
    padding-top: 80px;
    /* Account for fixed header */
    min-height: 100vh;
    min-height: 100dvh;
    /* iOS Safari FIX */
}

/* ===========================================
   FOOTER
   =========================================== */
.sw-footer {
    background: linear-gradient(135deg, #ff6a00 0%, #eb6e00 40%, #c85a00 100%);
    padding: 2rem;
    padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px));
    text-align: center;
}

.sw-footer-inner {
    max-width: 1500px;
    margin: 0 auto;
}

.sw-footer p {
    margin: 0;
    font-family: var(--sw-font-heading);
    font-size: 0.9rem;
    color: var(--sw-text-inverse);
}

/* Mobile footer alignment - match live site */
@media (max-width: 768px) {
    .sw-site-footer {
        text-align: left !important;
    }

    .sw-footer-content {
        flex-direction: column !important;
        text-align: left !important;
        align-items: flex-start !important;
        gap: 30px !important;
    }

    .sw-footer-tagline,
    .sw-footer-tagline p {
        text-align: left !important;
    }

    .sw-footer-right {
        align-items: flex-end !important;
        width: 100% !important;
    }

    .sw-footer-cta {
        align-self: flex-end !important;
    }

    .sw-footer-social {
        width: 100% !important;
        justify-content: flex-end !important;
    }

    .sw-footer-privacy {
        text-align: right !important;
    }
}

@media (max-width: 1024px) {
    .sw-nav-links {
        display: none;
        /* Will need mobile menu */
    }
}




/* ============================================================
   0. BRAND VARIABLES
   ============================================================ */
:root {
    --sw-primary: #ff6a00;
    --sw-secondary: #000;
    --sw-tertiary: #fff;
    --sw-bg-light: #ffffff;
    --sw-font-heading: 'Roboto Condensed', sans-serif;
    --sw-font-display: 'Oswald', sans-serif;
    --sw-font-body: 'Inter', sans-serif;
    --sw-text-main: #0f172a;
    --sw-text-inverse: #f8fafc;
}

/* ============================================================
   1. GLOBAL VARIABLES & BASICS
   ============================================================ */


/* Mobile overflow fix */
@media (max-width: 768px) {

    /* FORCE SAFE AREA PADDING GLOBALLY */
    .sw-block-container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    html,
    body,
    #siteWrapper,
    .site-wrapper,
    main,
    article {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }

    /* GLOBAL FIX: Unlock Grid Containers so full-width elements can breakout */
    .sqs-layout,
    .sqs-block,
    .sqs-col-12,
    .sqs-row,
    .Main {
        overflow: visible !important;
    }
}

html,
body {
    overscroll-behavior: auto;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* GLOBAL RESET */
*,
*::before,
*::after {
    box-sizing: border-box !important;
}

/* TYPOGRAPHY BASE RULES */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--sw-font-heading);
    color: var(--sw-text-main);
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

p {
    font-family: var(--sw-font-body);
    color: var(--sw-text-main);
    font-size: 1.1rem;
    line-height: 1.6;
    margin-top: 0;
    margin-bottom: 1.25rem;
}

/* ============================================================
   2. HERO GRADIENTS (BRINE 7.0 FIXED)
   ============================================================ */

/* 1. Set the Container to Handle Layers */
section.Intro.Intro--has-image,
.Banner,
.Index-page--has-image .Intro {
    position: relative !important;
    overflow: hidden !important;
    min-height: 180px;
    /* Prevent collapse during load */
}

/* 2. The Gradient Overlay (Top Layer) */
section.Intro.Intro--has-image::after,
.Banner::after,
.Index-page--has-image .Intro::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0.8) 15%, transparent 60%);
    opacity: 0.8;
}

/* 3. The Fog/Blur Overlay (Middle Layer) */
section.Intro.Intro--has-image::before,
.Banner::before,
.Index-page--has-image .Intro::before {
    content: "";
    position: absolute;
    top: -15%;
    left: 50%;
    transform: translateX(-50%);
    width: 120%;
    height: 130%;
    pointer-events: none;
    z-index: 1;
    background-image:
        radial-gradient(circle 950px at 15% -20%, rgba(0, 0, 0, 0.9) 20%, transparent 50%),
        radial-gradient(circle 870px at 85% -20%, rgba(0, 0, 0, 0.9) 20%, transparent 50%);
    filter: blur(60px);
    opacity: 0.7;
    will-change: transform, opacity;
    /* Hint to browser for GPU acceleration */
}

/* Homepage - taller header (near 16:9 aspect ratio) */
body.homepage section.Intro,
body.homepage .Banner,
body[class*="homepage"] section.Intro,
body[class*="collection-"] .Index-page:first-child .Intro {
    min-height: clamp(225px, 34vw, 525px) !important;
}

/* 4. FORCE CONTENT TO FRONT */
.Intro-content,
.Banner-content,
.sqs-layout {
    position: relative;
    z-index: 20 !important;
}

/* 5. FORCE IMAGE TO BACK */
.Intro-image,
.Banner-background {
    z-index: 0 !important;
}

/* ============================================================
   3. GALLERY HOVER EFFECTS (RESTORED)
   ============================================================ */
.sqs-gallery-block-grid {
    overflow: visible !important;
}

.sqs-gallery-block-grid .slide {
    background: transparent !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
}

.sqs-gallery-block-grid .slide:hover {
    transform: translateY(-10px);
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.35));
    z-index: 4;
}



/* FORCE HEADER HEIGHT STABILITY (Prevent Layout Shift) */
.Header,
.SiteHeader {
    min-height: 120px !important;
    /* Aggressive fix: Force root container to stay open */
}

.Header-inner {
    min-height: 120px !important;
    /* FIXED: Prevent collapse (was 0) */
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

#tagline-text {
    opacity: 0 !important;
    visibility: hidden !important;
    color: transparent !important;
    text-shadow: none !important;
}

/* ============================================================
   5. FOOTER STYLING
   ============================================================ */
footer,
.Footer,
.Footer-inner,
.Footer-blocks {
    background: linear-gradient(135deg, #ff6a00 0%, #eb6e00 40%, #c85a00 100%) !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    color: var(--sw-text-inverse) !important;
    text-align: left !important;
    border: none !important;
}

.Footer {
    min-height: auto !important;
    height: auto !important;
    position: relative !important;
    z-index: 5 !important;
    padding-top: 15px;
    padding-bottom: 0 !important;
}

.Footer-inner {
    padding-bottom: 35px !important;
}

.Footer-inner p {
    font-family: var(--sw-font-heading) !important;
    font-weight: 400 !important;
    letter-spacing: .02em !important;
    line-height: 1.2 !important;
    font-size: clamp(0.7rem, 1.8vw, 1rem) !important;
    color: var(--sw-text-inverse) !important;
}

.Footer-inner .sqs-svg-icon--wrapper svg path {
    fill: #fff !important;
}

/* ============================================================
   6. METRICS & TAGLINE TYPOGRAPHY
   ============================================================ */
.metrics-clean {
    max-width: var(--sw-max);
    padding: 0 var(--sw-gutter);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.metrics-clean p {
    display: flex;
    justify-content: center;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.3em;
    font-family: var(--sw-font-heading);
    font-weight: 700;
    font-size: clamp(26px, 3vw, 46px);
    line-height: 1.05;
    margin: 0.08em 0 !important;
    letter-spacing: .03em;
    text-align: center !important;
}

.metrics-clean .num {
    font-weight: 900;
    font-size: clamp(1.2em, 2.3vw, 1.6em);
    line-height: 1;
    display: inline-block;
    margin-right: 0.15em;
    font-variant-numeric: tabular-nums;
    text-align: center !important;
    margin: 0 auto !important;
    background: linear-gradient(90deg, #ff6a00, #ff9c33, #ff6a00);
    background-size: 300% 300%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: metricWave 5s ease-in-out infinite;
}

@keyframes metricWave {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@media (max-width: 767px) {
    .metrics-clean {
        margin: 0.4rem auto 0.1rem !important;
        padding: 0 !important;
    }

    .metrics-clean p {
        flex-direction: column;
        align-items: center;
        line-height: 1.15;
        margin: 0.2em 0 !important;
    }

    .metrics-clean .num {
        font-size: clamp(1.45em, 5.5vw, 2em);
    }
}

.typewriter-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 3;
    margin: 1em 0 1.2em !important;
}

.typewriter-container {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 95vw;
    padding-inline: var(--sw-gutter);
    text-align: center;
    overflow: visible;
}

.highlight-text {
    display: inline-block;
    margin: 0 auto;
    border-radius: clamp(6px, 0.6vw, 12px);
    background: linear-gradient(135deg, rgba(255, 106, 0, .9), rgba(255, 160, 0, .95));
    box-shadow: 0 4px 15px rgba(255, 106, 0, .25), 0 -4px 10px rgba(255, 160, 0, .20);
    color: var(--sw-text-main);
    font-family: var(--sw-font-heading);
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 1.1;
    text-align: center;
    font-size: clamp(1.8rem, 2.8vw + 0.5rem, 3.3rem);
    padding: 0.45em 1.4em;
    white-space: nowrap !important;
    overflow-wrap: normal;
    opacity: 0;
    visibility: hidden;
    transform: translateY(25px);
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.highlight-text.in-view {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (min-width: 900px) {
    .highlight-text {
        border-right: 2px solid #000;
    }

    .highlight-text.is-typing {
        animation: typing-mask 3s steps(50, end) .3s forwards, blink-caret .8s step-end infinite alternate;
    }

    @keyframes typing-mask {
        0% {
            clip-path: inset(0 100% 0 0);
        }

        100% {
            clip-path: inset(0 0 0 0);
        }
    }

    @keyframes blink-caret {
        50% {
            border-color: transparent;
        }
    }
}

@media (max-width: 899px) {
    .highlight-text {
        border-right: none !important;
        white-space: nowrap !important;
        max-width: 90vw !important;
        font-size: clamp(1.2rem, 5vw + 0.2rem, 2.6rem) !important;
    }
}

.sw-tagline {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.tagline-inline {
    margin-top: -1.5em !important;
}

/* ============================================================
   7. WHO WE SERVE (Headline Cycle)
   ============================================================ */
.who-we-serve-section {
    text-align: center;
    padding: 4em 1em;
    font-family: var(--sw-font-heading);
    background: #fff;
    overflow: hidden;
}

.who-we-serve-section h2 {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    color: var(--sw-text-main);
    margin-bottom: 1.4em;
    line-height: 1.2;
}

.cycle-container {
    position: relative;
    display: inline-block;
    min-height: 2.5em;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--sw-primary);
}

.cycle-container.animated {
    background: linear-gradient(90deg, #ff6a00, #ff9c33, #ff6a00);
    background-size: 400% 400%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientWave 6s ease-in-out infinite;
}

@keyframes gradientWave {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.cycle-container span {
    position: absolute;
    left: 0;
    right: 0;
    opacity: 0;
    transform: scale(.9);
    animation: fadeCycle 16s ease-in-out infinite;
}

.cycle-container span:nth-child(1) {
    animation-delay: 0s;
}

.cycle-container span:nth-child(2) {
    animation-delay: 2s;
}

.cycle-container span:nth-child(3) {
    animation-delay: 4s;
}

.cycle-container span:nth-child(4) {
    animation-delay: 6s;
}

.cycle-container span:nth-child(5) {
    animation-delay: 8s;
}

.cycle-container span:nth-child(6) {
    animation-delay: 10s;
}

.cycle-container span:nth-child(7) {
    animation-delay: 12s;
}

.cycle-container span:nth-child(8) {
    animation-delay: 14s;
}

@keyframes fadeCycle {

    0%,
    10% {
        opacity: 0;
        transform: scale(.9);
    }

    15%,
    25% {
        opacity: 1;
        transform: scale(1);
    }

    30%,
    100% {
        opacity: 0;
        transform: scale(.9);
    }
}

/* ============================================================
   8. SPECIFIC PAGES (Dark Mode & Link Gen)
   ============================================================ */
/* Soundwave Intelligence Engine */

/* Link Generator */

/* ============================================================
   9. MOBILE HERO HEADER
   ============================================================ */
@media (max-width: 600px) {
    section.Intro.Intro--has-image {
        min-height: 30vh;
    }

    .Mobile-leader {
        position: relative;
        z-index: 200;
    }

    .Mobile-bar,
    .Mobile-bar.Mobile-bar--top,
    .Mobile-bar-inner {
        position: absolute !important;
        top: 0;
        left: 0;
        right: 0;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
    }

    .Mobile-bar-inner {
        padding-top: 18px !important;
        padding-bottom: 8px !important;
    }
}

@media (max-width: 600px) {
    section.Intro.Intro--has-image {
        min-height: 30vh;
    }

    .Mobile-leader {
        position: relative;
        z-index: var(--sw-z-modal) !important;
    }

    .Mobile-bar,
    .Mobile-bar.Mobile-bar--top,
    .Mobile-bar-inner {
        position: absolute !important;
        top: 0;
        left: 0;
        right: 0;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        z-index: var(--sw-z-nav-mobile) !important;
    }

    .Mobile-bar-inner {
        padding-top: 18px !important;
        padding-bottom: 8px !important;
    }

    section.Intro.Intro--has-image::before,
    section.Intro.Intro--has-image::after {
        z-index: 10 !important;
    }
}

@media (max-width: 640px) {
    section.Intro.Intro--has-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: 50% 85% !important;
        transform: scale(1.22) !important;
        max-width: none !important;
    }

    section.Intro.Intro--has-image {
        overflow: hidden !important;
    }
}

@media (max-width: 760px) {

    section.Intro.Intro--has-image,
    .Intro-background,
    .Intro-image,
    .Intro-imageWrapper {
        background-size: cover !important;
        background-position: 50% 85% !important;
        background-repeat: no-repeat !important;
        overflow: hidden !important;
    }

    section.Intro.Intro--has-image img {
        width: 100% !important;
        height: 125% !important;
        object-fit: cover !important;
        object-position: 50% 80% !important;
        transform: scale(1.35) !important;
        max-width: none !important;
    }

    section.Intro.Intro--has-image .Intro-image,
    section.Intro.Intro--has-image .Intro-imageWrapper {
        transform: none !important;
    }
}

/* ============================================================
   SAFE FULL-BLEED RESTORATION (LINK GEN & ENGINE)
   ============================================================ */

/* Link Generator: Force Full Width (Live Site Only) */

/* Soundwave Engine: Force Layout Reset (Live Site Only) */

/* ============================================================
   FIX: SOUNDWAVE ENGINE - FORCE TRANSPARENT LAYERS
   ============================================================ */

/* Ensure the body background color sticks */

/* ======================================================
   SOUNDWAVE ABOUT PAGE (WIP) - RESTORED STYLES
   ====================================================== */

/* --- 1. TYPOGRAPHY & UTILITIES --- */
.sw-block-container {
    width: 100%;
    min-width: 0;
    /* Best practices: 1200px max-width with 60px side padding */
    max-width: 1200px;
    padding: 3rem 60px 0;
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
    font-family: var(--sw-font-body);
    color: var(--sw-text-main);
    line-height: 1.4;
    font-size: clamp(1.1rem, 2.5vw, 1.2rem);
}

@media (max-width: 768px) {
    .sw-block-container {
        padding: 2rem 1.5rem !important;
        /* Reduced mobile padding */
        min-width: 0 !important;
        width: 100% !important;
        overflow-x: hidden !important;
    }
}

.sw-block-container * {
    box-sizing: border-box;
}

.sw-section-heading {
    font-family: var(--sw-font-heading);
    font-size: 2rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--sw-text-main);
    letter-spacing: 0.06em;
    margin-top: 2rem;
    margin-bottom: 2rem;
    position: relative;
    display: inline-block;
}

.sw-section-heading::after {
    content: '';
    display: block;
    width: 100px;
    height: 3px;
    background: linear-gradient(90deg, #ff6a00, #ff9c33, #ff6a00);
    margin-top: 2px;
}

/* --- 2. BADGES (What Sets Us Apart) --- */
.sw-badge-grid {
    display: flex;
    flex-wrap: wrap;
    max-width: 900px;
    gap: 1rem;
    margin-top: 2rem;
}

.sw-highlight-badge {
    display: inline-flex;
    align-items: center;
    background: #f7f7f7;
    border: 1px solid #e0e0e0;
    padding: 0.8rem 1.2rem;
    border-radius: 8px;
    font-family: var(--sw-font-body);
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--sw-text-main);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
    transition: 0.3s;
}

.sw-highlight-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1), 0 0 10px rgba(247, 148, 29, 0.4);
    border-color: var(--sw-primary);
}

.sw-badge-icon {
    font-size: 1.2rem;
    margin-right: 10px;
}

/* ======================================================
   UPDATED SECTIONS (Paste below the Badges section)
   ====================================================== */

/* --- 3. CORE SERVICES PILLARS (Flexbox Fix for 5 items) --- */
.sw-verticals-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 2.5rem;
    width: 100%;
}

.sw-pillar-card {
    background: #080808;
    color: var(--sw-text-inverse);
    padding: 2.5rem 1rem !important;
    position: relative;
    overflow: hidden;
    transition: 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    flex-direction: column;
    justify-content: space-between !important;
    align-items: center;
    text-align: center;
    flex: 0 1 180px;
    min-width: 160px;
    height: 400px;
    border-radius: 25px;
    z-index: 1;
}

/* Medium screens: force 3 columns */
@media (max-width: 1100px) and (min-width: 601px) {
    .sw-verticals-wrapper {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        flex-wrap: unset !important;
    }

    .sw-pillar-card {
        flex: unset !important;
        min-width: unset !important;
        width: 100% !important;
        height: 380px !important;
    }
}

/* Boosted Grid Visibility on Hover */
.sw-pillar-card:hover .sw-grid-plane {
    /* CHANGED: Increased from 0.6 to 0.9 for high visibility */
    opacity: 0.9;
    /* CHANGED: Increased color alpha from 0.5 to 0.85 (Stronger Orange Lines) */
    background-image: linear-gradient(rgba(255, 95, 0, 1) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 95, 0, 0.85) 1px, transparent 1px);
    animation: swTechnoGridScroll 1s linear infinite;
}

/* 3D Grid & Glow Effects */
.sw-grid-engine {
    position: absolute;
    inset: 1px;
    border-radius: 24px;
    overflow: hidden;
    z-index: 1;
    background: #080808;
    perspective: 400px;
}

.sw-grid-plane {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background-image: linear-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 40px 40px;
    transform: rotateX(50deg);
    transform-origin: 50% 50%;
    opacity: 0.2;
    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), background-image 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}

.sw-grid-vignette {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: radial-gradient(circle at center, transparent 30%, #080808 95%);
    pointer-events: none;
}

.sw-scanlines {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.5));
    background-size: 100% 4px;
    opacity: 0;
    transition: opacity 0.4s;
}

.sw-pillar-card:hover .sw-grid-plane {
    opacity: 0.6;
    background-image: linear-gradient(rgba(255, 95, 0, 0.5) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 95, 0, 0.5) 1px, transparent 1px);
    animation: swTechnoGridScroll 1s linear infinite;
}

@keyframes swTechnoGridScroll {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 0 40px;
    }
}

.sw-pillar-glow {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    border-radius: 25px;
    opacity: 0;
    transition: opacity 0.4s;
    padding: 2px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}

.sw-pillar-glow::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: conic-gradient(from 0deg, transparent 0%, #ff6a00 10%, #ff8c33 20%, transparent 30%, #ff6a00 40%, #ff8c33 50%, transparent 60%, #ff6a00 70%, #ff8c33 80%, transparent 90%, transparent 100%);
    animation: swRotateSimple 4s linear infinite;
}

.sw-pillar-card:hover .sw-pillar-glow {
    opacity: 1;
}

@keyframes swRotateSimple {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.sw-pillar-icon {
    width: 60px;
    height: 60px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.5;
    margin-bottom: 2rem;
    transition: 0.4s;
    opacity: 0.8;
    position: relative;
    z-index: 5;
    margin-top: auto !important;
}

.sw-pillar-card:hover .sw-pillar-icon {
    stroke: var(--sw-primary);
    transform: scale(1.2);
    opacity: 1;
    filter: drop-shadow(0 0 10px #ff6a00);
}

.sw-pillar-title {
    font-family: var(--sw-font-heading);
    font-size: 1.15rem !important;
    /* Reduced from 1.45rem for long titles */
    color: var(--sw-text-inverse);
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1.2 !important;
    margin-bottom: 1.5rem !important;
    position: relative;
    z-index: 5;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.8);
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
}

.sw-deck-btn {
    display: inline-block;
    background: #000;
    color: rgba(255, 255, 255, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 0.8rem 1.5rem;
    font-family: var(--sw-font-heading);
    font-size: 0.9rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-decoration: none;
    border-radius: 6px;
    z-index: 10;
    position: relative;
    transition: all 0.4s;
    overflow: hidden;
    white-space: nowrap;
    margin-bottom: auto !important;
}

.sw-pillar-card:hover .sw-deck-btn {
    color: var(--sw-primary);
    border-color: var(--sw-primary);
    background: #000;
    box-shadow: 0 0 15px rgba(255, 95, 0, 0.2);
}

.sw-deck-btn:hover {
    background: var(--sw-primary) !important;
    color: var(--sw-text-main) !important;
    border-color: var(--sw-primary) !important;
    box-shadow: 0 0 30px rgba(255, 95, 0, 0.6) !important;
}

/* --- 4. HIGHLIGHT BOX --- */
.sw-highlight-box {
    max-width: 900px;
    justify-content: center;
    margin: 1rem auto 5rem;
    background: #f9f9f9;
    border-radius: 8px;
    padding: 3rem;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);
    text-align: left;
    position: relative;
    padding-left: 3.5rem;
}

.sw-highlight-box::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: linear-gradient(90deg, #ff6a00, #ff9c33, #ff6a00);
    background-size: 200% 200%;
    animation: swShimmerVertical 3s linear infinite;
    border-radius: 8px 0 0 8px;
}

.sw-highlight-title {
    font-family: var(--sw-font-heading);
    font-size: 1.4rem;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 1rem;
    display: block;
}

@keyframes swShimmerVertical {
    0% {
        background-position: 50% 0%;
    }

    50% {
        background-position: 50% 100%;
    }

    100% {
        background-position: 50% 0%;
    }
}

/* Intro text styling for About page */
.sw-intro-grid {
    margin-bottom: 1.5rem;
}

/* About Hero Row - Text Left, Carousel Right */
.sw-about-hero-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-bottom: 0.5rem;
    align-items: start;
}

.sw-about-text-col {
    display: flex;
    flex-direction: column;
}

.sw-about-carousel-col {
    position: relative;
}

/* About Carousel */
.sw-about-carousel {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 4/5;
    background: #0a0a0a;
}

.sw-about-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.8s;
}

.sw-about-slide.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.sw-about-slide-image {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.sw-about-slide-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sw-about-slide-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 55%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.55) 45%, transparent 100%);
    z-index: 1;
    pointer-events: none;
}

.sw-about-slide-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.1) 25%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0.95) 100%);
    z-index: 1;
    pointer-events: none;
}

.sw-about-slide-stat {
    position: absolute;
    top: 2rem;
    left: 2rem;
    z-index: 2;
    text-align: left;
}

.sw-about-slide-stat .sw-stat-number,
.sw-cs-slide-stat .sw-stat-number,
.sw-stat-shimmer {
    text-shadow: none !important;
}

.sw-about-slide-stat .sw-stat-number {
    display: block;
    font-family: var(--sw-font-heading);
    font-size: clamp(3rem, 8vw, 5rem);
    font-weight: 900;
    color: var(--sw-primary);
    line-height: 1;
    margin-bottom: 0.5rem;
    text-shadow: none !important;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 1)) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.8));
}

/* Global High-Contrast Shimmer & Carousel Stat Accents */
.sw-stat-shimmer {
    background: linear-gradient(90deg, #ea580c 0%, #f97316 25%, #fb923c 50%, #f97316 75%, #ea580c 100%);
    background-size: 200% auto !important;
    animation: sw-shimmer-h 4s linear infinite !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    text-shadow: none !important;
    display: block;
}

/* High-Contrast Carousel Accent Gradients (Vibrant on Dark Stage/Crowd Photos) */
.sw-accent-gold .sw-stat-number {
    background: linear-gradient(90deg, #f59e0b 0%, #fbbf24 25%, #fef3c7 50%, #fbbf24 75%, #f59e0b 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    text-shadow: none !important;
}

.sw-accent-purple .sw-stat-number {
    background: linear-gradient(90deg, #a855f7 0%, #c084fc 25%, #f3e8ff 50%, #c084fc 75%, #a855f7 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    text-shadow: none !important;
}

.sw-accent-blue .sw-stat-number {
    background: linear-gradient(90deg, #0ea5e9 0%, #38bdf8 25%, #e0f2fe 50%, #38bdf8 75%, #0ea5e9 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    text-shadow: none !important;
}

.sw-accent-green .sw-stat-number {
    background: linear-gradient(90deg, #10b981 0%, #34d399 25%, #d1fae5 50%, #34d399 75%, #10b981 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    text-shadow: none !important;
}

.sw-accent-emerald .sw-stat-number {
    background: linear-gradient(90deg, #10b981 0%, #34d399 25%, #a7f3d0 50%, #34d399 75%, #10b981 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    text-shadow: none !important;
}

.sw-accent-red .sw-stat-number {
    background: linear-gradient(90deg, #ef4444 0%, #f87171 25%, #fee2e2 50%, #f87171 75%, #ef4444 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    text-shadow: none !important;
}

.sw-about-slide-stat .sw-stat-label,
.sw-cs-slide-stat .sw-stat-label,
.sw-about-carousel .sw-stat-label,
.sw-cs-carousel .sw-stat-label,
.sw-slide-stat .sw-stat-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    color: #ffffff !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.95), 0 1px 3px rgba(0, 0, 0, 0.95);
}

.sw-about-slide-stat .sw-slide-kicker {
    display: block;
    font-size: 0.85rem;
    color: var(--sw-primary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

/* Bottom kicker positioning */
.sw-about-slide-kicker-top {
    position: absolute;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 2;
    display: inline-block !important;
    width: fit-content !important;
    font-family: var(--sw-font-heading);
    font-size: clamp(0.75rem, 1.2vw, 1rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #ffffff !important;
    padding: 0.35rem 0.85rem;
    background: rgba(0, 0, 0, 0.65) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9);
}

/* Mobile: stack columns */
@media (max-width: 768px) {
    .sw-about-hero-row {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .sw-about-carousel {
        aspect-ratio: 4/3;
    }
}

/* Keep old two-col for backward compat */
.sw-intro-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-bottom: 2rem;
    align-items: stretch;
}

.sw-intro-col {
    display: flex;
    flex-direction: column;
    height: 100%;
    flex-grow: 1;
}

.sw-intro-text {
    max-width: 100%;
}

.sw-intro-text p {
    font-size: 1.05rem;
    line-height: 1.5;
    color: var(--sw-text-main);
    margin-bottom: 0.5rem;
}

.sw-intro-text p:last-child {
    margin-bottom: 0.5rem;
}

.sw-intro-text strong {
    color: var(--sw-text-main);
    font-weight: 600;
}

/* Stat blocks */
.sw-stat-block {
    margin-top: auto;
    padding: 1.5rem;
    padding-top: 2rem;
    background: #080808;
    border-radius: 16px;
    text-align: center;
}

.sw-big-stat {
    font-family: var(--sw-font-heading);
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 900;
    color: var(--sw-primary);
    line-height: 1;
    margin-bottom: 0.25rem;
}

.sw-stat-desc {
    font-size: 0.9rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Stat carousel cycling */
.sw-stat-carousel {
    position: relative;
    min-height: 80px;
}

.sw-stat-slide {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.sw-stat-slide.active {
    position: relative;
    opacity: 1;
    transform: translateY(0);
}

/* Mobile: stack columns */
@media (max-width: 768px) {
    .sw-intro-two-col {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* --- 5. CAPABILITIES & TECH CARDS --- */
.sw-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 1fr;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.sw-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 25px;
    padding: 2rem;
    transition: 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
    height: 100%;
}

.sw-card:hover {
    border-color: var(--sw-primary);
    box-shadow: 0 20px 60px -10px rgba(247, 148, 29, 0.2);
    transform: translateY(-5px);
}

.sw-card h3 {
    font-family: var(--sw-font-display);
    font-size: 1.4rem;
    margin-bottom: 0.8rem;
    color: var(--sw-text-main);
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.1;
}

.sw-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    color: var(--sw-text-main);
    font-size: 1rem;
    line-height: 1.3;
}

.sw-card li {
    margin-bottom: 0.25rem;
    padding-left: 1.2rem;
    position: relative;
}

.sw-card li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 5px;
    height: 5px;
    background: var(--sw-primary);
    border-radius: 50%;
}

/* Sub-bullets for nested lists */
.sw-sub-bullets {
    list-style: none;
    padding-left: 0.5rem;
    margin-top: 0.15rem;
    margin-bottom: 0.15rem;
}

.sw-sub-bullets li {
    margin-bottom: 0.15rem;
    color: var(--sw-text-main);
    font-size: 1rem;
    padding-left: 1.2rem;
    position: relative;
}

.sw-sub-bullets li::before {
    position: absolute;
    left: 0;
    top: 0.5em;
    width: 5px;
    height: 5px;
    background: var(--sw-primary);
}

/* Card title link styling */
.sw-card-title-link,
.sw-card-title-link:link,
.sw-card-title-link:visited,
.sw-card-title-link:hover,
.sw-card-title-link:active,
.sw-card h3 a {
    color: var(--sw-primary) !important;
    text-decoration: none !important;
    border-bottom: none !important;
    transition: opacity 0.2s;
}

.sw-card-title-link:hover,
.sw-card h3 a:hover {
    opacity: 0.8;
    text-decoration: none !important;
    border-bottom: none !important;
}

.sw-card.tech-card {
    background: #111;
    border-color: var(--sw-text-main);
    color: var(--sw-text-inverse);
}

.sw-card.tech-card h3 {
    color: var(--sw-text-inverse);
}

.sw-card.tech-card ul {
    color: #bbb;
}

.sw-tech-highlight {
    color: var(--sw-primary) !important;
    font-weight: 700;
    font-size: 1.1rem;
    margin-top: 0.5rem;
}

.sw-tech-desc {
    font-size: 0.9em;
    margin-bottom: 1.5rem !important;
    color: #888;
    border-left: 2px solid #333;
    padding-left: 1rem !important;
}

.sw-card.tech-card li.sw-tech-highlight::before,
.sw-card.tech-card li.sw-tech-desc::before {
    display: none;
}

/* --- 6. THE PROCESS --- */
.sw-process-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 0rem;
    margin-bottom: 4rem;
    border-top: 1px solid #e5e5e5;
}

.sw-process-row {
    display: grid;
    grid-template-columns: 100px 1fr 2fr;
    gap: 2rem;
    padding: 3rem 0;
    border-bottom: 1px solid #e5e5e5;
    align-items: flex-start;
    transition: 0.3s;
}

.sw-process-row:hover {
    background: #fafafa;
    padding-left: 1rem;
}

.sw-step-num {
    font-family: var(--sw-font-heading);
    font-size: 3rem;
    font-weight: 900;
    color: #e0e0e0;
    line-height: 1;
    transition: 0.3s;
}

.sw-process-row:hover .sw-step-num {
    background: linear-gradient(90deg, #ff6a00, #ff9c33, #ff6a00);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: swShimmer 3s linear infinite;
}

.sw-step-title {
    font-family: var(--sw-font-heading);
    font-size: 1.5rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--sw-text-main);
}

.sw-icon-container {
    width: 60px;
    height: 60px;
    margin-bottom: 1rem;
}

.sw-svg-icon {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #333;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke 0.3s;
}

/* Process Hover Effects */
.sw-process-row:hover .sw-svg-icon,
.sw-process-row:hover .sw-svg-icon path {
    stroke: var(--sw-primary) !important;
    filter: drop-shadow(0 0 5px rgba(255, 106, 0, 0.5));
}

.sw-anim-graph-line {
    stroke-dasharray: 100;
    stroke-dashoffset: 0;
    stroke: #333;
}

.sw-process-row:hover .sw-anim-graph-line {
    animation: swDrawGraph 2s ease-in-out infinite;
    stroke: var(--sw-primary) !important;
}

.sw-anim-cursor {
    opacity: 1;
    stroke: #333;
}

.sw-process-row:hover .sw-anim-cursor {
    animation: swBlink 0.8s step-end infinite;
    stroke: var(--sw-primary) !important;
}

.sw-anim-bar {
    transform-origin: bottom;
    transform: scaleY(0.6);
    fill: #333;
    stroke: none !important;
}

.sw-process-row:hover .sw-anim-bar {
    animation: swGrowBar 0.6s ease-in-out infinite alternate;
    fill: var(--sw-primary) !important;
    stroke: none !important;
}

@keyframes swBlink {
    50% {
        opacity: 0;
    }
}

@keyframes swDrawGraph {
    0% {
        stroke-dashoffset: 100;
    }

    50% {
        stroke-dashoffset: 0;
    }

    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes swGrowBar {
    0% {
        transform: scaleY(0.6);
    }

    100% {
        transform: scaleY(1);
    }
}

/* --- 7. TERMINAL CTA --- */
.sw-terminal-cta {
    background: #080808;
    border: 1px solid #333;
    border-radius: 12px;
    padding: 0;
    margin-bottom: 4rem;
    position: relative;
    overflow: hidden;
    /* CHANGED: Multi-layered shadow for deeper lift */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5), 0 50px 100px rgba(0, 0, 0, 0.3);
    text-align: center;
    font-family: 'Space Mono', monospace;
}

.sw-terminal-cta::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
    background-size: 100% 2px, 3px 100%;
    pointer-events: none;
    z-index: 20;
    border-radius: 12px;
}

.sw-term-header {
    background: #1a1a1a;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #333;
    position: relative;
    z-index: 6;
}

.sw-term-dots {
    display: flex;
    gap: 8px;
}

.sw-term-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.sw-term-dot.r {
    background: #ff5f56;
}

.sw-term-dot.y {
    background: #ffbd2e;
}

.sw-term-dot.g {
    background: #27c93f;
}

.sw-term-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #666;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 120px); /* Leave room for dots */
}

/* FIXED TERMINAL BODY: Ensures text is background and button is foreground */
.sw-term-body {
    padding: 4rem 2rem;
    position: relative;
    z-index: 6;
    overflow: hidden;
    height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Terminal Typewriter - with CRT glow effect and top fade */
#sw-terminal-typewriter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 2.9rem 2rem 1.5rem 2.8rem;
    color: rgba(16, 185, 129, 0.35);
    font-size: 0.85rem;
    font-family: 'Roboto Mono', monospace;
    text-align: left;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    /* CRT glow effect */
    text-shadow:
        0 0 3px rgba(16, 185, 129, 0.3),
        0 0 8px rgba(16, 185, 129, 0.2);
    /* Fade out at top */
    mask-image: linear-gradient(to bottom, transparent 0%, black 30%, black 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 30%, black 100%);
    /* Subtle CRT barrel curve */
    transform: perspective(800px) rotateX(2deg);
    transform-origin: center bottom;
}

.sw-term-line {
    white-space: nowrap;
    overflow: visible;
}

.sw-type-cursor {
    display: inline-block;
    width: 10px;
    height: 1em;
    background: #10b981;
    margin-left: 2px;
    vertical-align: text-bottom;
    animation: swBlink 1s step-end infinite;
    box-shadow: 0 0 12px #10b981;
    position: relative;
    z-index: 100;
}

.sw-cta-glitch-text {
    font-family: var(--sw-font-heading);
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    font-weight: 900;
    color: var(--sw-text-inverse);
    text-transform: uppercase;
    margin-bottom: 2.5rem;
    position: relative;
    z-index: 21;
    text-shadow: 2px 0 #111;
    letter-spacing: 0.05em;
    line-height: 1.1;
}

.sw-btn-terminal {
    display: inline-block;
    background: #080808;
    color: var(--sw-primary);
    padding: 1rem 3rem;
    border: 2px solid #ff6a00;
    font-family: var(--sw-font-heading);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    z-index: 21;
    border-radius: 15px;
    box-shadow: 0 0 15px rgba(247, 148, 29, 0.2);
}

.sw-btn-terminal:hover {
    background: var(--sw-primary);
    color: var(--sw-text-main);
    box-shadow: 0 0 30px rgba(247, 148, 29, 0.6);
}

.sw-btn-terminal::before {
    content: "";
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    border-radius: 15px;
    border: 2px solid transparent;
    z-index: -1;
    pointer-events: none;
    opacity: 0;
}

.sw-btn-terminal.sw-spark-active::before {
    animation: swElectricSpark 0.1s linear infinite;
}

@keyframes swElectricSpark {
    0% {
        opacity: 1;
        transform: scale(1.02) skewX(2deg);
        border-color: var(--sw-text-inverse);
    }

    50% {
        opacity: 0.8;
        transform: scale(1.05) skewY(-2deg);
        border-color: var(--sw-orange);
        box-shadow: 0 0 30px rgba(247, 148, 29, 0.6);
    }

    100% {
        opacity: 1;
        transform: scale(1.02) skewX(-2deg);
        border-color: var(--sw-text-inverse);
    }
}

/* --- 8. PADDING FIX FOR TEXT --- */
.sw-intro-text-pad {
    padding-top: 2rem;
}

/* ============================================================
   9. MOBILE RESPONSIVE FIX (RESTORES NUMBERS & LAYOUT)
   ============================================================ */
@media (max-width: 900px) {

    /* 1. RESET THE GRID: 2 Columns (Number | Content) */
    .sw-process-row {
        display: grid !important;
        /* 50px for the number, 1fr for the rest */
        grid-template-columns: 50px 1fr !important;
        grid-template-rows: auto auto;
        gap: 0.5rem 1.5rem !important;
        text-align: left !important;
        padding: 2rem 0 !important;
        align-items: start !important;
        justify-items: start !important;
    }

    /* 2. RESTORE NUMBER (Left Column, Spans Down) */
    .sw-step-num {
        display: block !important;
        grid-column: 1;
        grid-row: 1 / span 2;
        /* Sits tall next to title AND desc */
        font-size: 2.2rem !important;
        /* Visible but proportionate */
        line-height: 1;
        margin-top: 5px;
        /* Slight visual alignment fix */
    }

    /* 3. ICON & TITLE (Top Right) */
    .sw-step-content {
        grid-column: 2;
        grid-row: 1;
        display: flex;
        flex-direction: column;
        align-items: flex-start !important;
        /* Force left align */
        width: 100%;
    }

    /* 4. DESCRIPTION (Bottom Right) */
    .sw-step-desc {
        grid-column: 2;
        grid-row: 2;
        margin-top: 0.5rem;
        font-size: 1rem !important;
        line-height: 1.5;
    }

    /* 5. RESIZE ELEMENTS FOR MOBILE */
    .sw-icon-container {
        width: 45px !important;
        height: 45px !important;
        margin-bottom: 0.8rem !important;
    }

    .sw-step-title {
        font-size: 1.3rem !important;
    }

    /* Mobile Grid for Services */
    .sw-services-grid {
        grid-template-columns: 1fr;
    }

    /* 6. KILL HOVER STICKINESS (Removes the grey box on tap) */
    .sw-process-row:hover {
        background: transparent !important;
        padding-left: 0 !important;
    }

    /* Keep your other mobile tweaks below here */
    .sw-highlight-box {
        padding: 2rem 1rem;
    }

    .sw-highlight-box::before {
        left: 0;
    }

    .sw-term-body {
        padding: 3rem 1rem;
    }

    .sw-btn-terminal {
        padding: 0.875rem 1.25rem;
        width: 100%;
        max-width: 320px;
        white-space: normal;
        line-height: 1.4;
        box-sizing: border-box;
        text-align: center;
        word-break: break-word;
    }

    /* Fix terminal text cutoff on mobile */
    #sw-terminal-typewriter {
        font-size: 0.65rem;
        padding: 2rem 1rem 1rem 1rem;
        box-sizing: border-box;
        max-width: 100%;
        transform: none;
    }

    .sw-cta-glitch-text {
        font-size: 1.35rem;
        padding: 0 0.5rem;
        text-align: center;
        box-sizing: border-box;
    }

    .sw-term-line {
        white-space: pre-wrap;
        word-break: break-all;
    }
}

/* ======================================================
   FINAL LAYOUT POLISH (Add to bottom of CSS)
   ====================================================== */

/* Ensure the paragraph specifically pushes content down */
.sw-header-group p {
    margin-bottom: 3.5rem !important;
    display: block;
}

/* 2. FORCE PILLARS TO 5-IN-A-ROW */
/* Lowers the minimum width so they can squeeze onto one line */
@media (min-width: 1300px) {
    .sw-verticals-wrapper {
        flex-wrap: nowrap !important;
        /* Force single line on wide screens */
    }

    .sw-pillar-card {
        /* Allow them to shrink to fit 5 across */
        flex: 1 1 auto !important;
        min-width: 0 !important;
        width: 100% !important;
    }
}

/* 3. PROCESS ICON ANIMATION FIX */
/* Ensures the stroke changes color on hover */
.sw-process-row:hover .sw-svg-icon,
.sw-process-row:hover .sw-svg-icon path,
.sw-process-row:hover .sw-svg-icon polyline,
.sw-process-row:hover .sw-svg-icon line,
.sw-process-row:hover .sw-svg-icon circle,
.sw-process-row:hover .sw-svg-icon rect {
    stroke: var(--sw-primary) !important;
    transition: stroke 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ======================================================
   FINAL TWEAK: FIX CARD TITLE WRAPPING & BUTTON ALIGNMENT
   ====================================================== */

/* 1. Give the text more side room by reducing card padding */
.sw-pillar-card {
    padding: 2.5rem 1rem !important;
}

/* 2. Slightly reduce font size to ensure long titles fit on 2 lines */
.sw-pillar-title {
    font-size: 1.45rem !important;
    line-height: 1.1 !important;
    margin-bottom: 1.5rem !important;
    /* Adjust spacing to button */
}

/* Optional: Force the buttons to align at the bottom if titles vary */
.sw-pillar-card {
    justify-content: space-between !important;
}

.sw-pillar-icon {
    margin-top: auto !important;
}

/* Ensure buttons are at the bottom */
    /* Reuses your existing animation for inline text */
    .sw-text-gradient {
        background: linear-gradient(90deg, #ff6a00, #ff9c33, #ff6a00);
        background-size: 300% 300%;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        color: var(--sw-primary);
        font-weight: 800;
        /* This "gradientWave" is already defined in your "Who We Serve" section */
        animation: gradientWave 6s ease-in-out infinite;
    }

    /* ============================================================
   GLOBAL SITE BACKGROUND (CLEAN GREY - NO DOTS)
   ============================================================ */

    /* 1. Apply the Flat Grey Background */
    body {
        background-color: var(--sw-bg-light) !important;
        /* Premium cool grey */
        background-image: none !important;
        /* Ensures no dots/patterns load */
    }

    /* 2. Force Squarespace's white containers to be transparent 
   so the grey shows through everywhere */
    .Site,
    .Site-inner,
    .Content-outer,
    .Main {
        background-color: transparent !important;
    }

    /* 3. Fix the "Who We Serve" section transparency */
    .who-we-serve-section {
        background-color: transparent !important;
    }

    /* ============================================================
   FIX: RESTORE LIFT EFFECT TO CORE SERVICES ONLY
   (Targets only the black pillar cards)
   ============================================================ */
    .sw-pillar-card:hover {
        /* Moves the card up 10px */
        transform: translateY(-10px) !important;

        /* Adds a shadow so it looks like it's floating off the new grey background */
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;

        /* Ensures it sits on top of everything else while lifting */
        z-index: 50 !important;
    }

    /* =========================================
   FIX: REMOVE WHITE BAR AT BOTTOM (MOBILE)
   ========================================= */
    .Mobile-bar.Mobile-bar--bottom {
        display: none !important;
        height: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    /* Optional: Ensure footer covers iPhone 'Home Swipe' area */
    @media only screen and (max-width: 600px) {
        .Footer {
            padding-bottom: env(safe-area-inset-bottom) !important;
        }
    }

    /* =========================================
   FIX: MOBILE MENU OVERLAP (UPDATED)
   ========================================= */

    /* 1. Push the menu items WAY down */
    .Mobile-overlay-menu {
        /* Increased from 80px to 140px to clear the orange box */
        padding-top: 140px !important;

        /* Ensure content stays within the screen width */
        box-sizing: border-box !important;
        width: 100% !important;

        /* Optional: If text is sticking too far left, add some breathing room */
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* 2. Ensure the Close Button/Header stays pinned on top */
    .Mobile-overlay-header {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 100002 !important;
        /* Higher than the menu content */
        background: transparent !important;
        /* Or #fff if you prefer */
    }

    /* 3. Global Overlay Z-Index Fix */
    .Mobile-overlay {
        z-index: 999999 !important;
        overflow-y: scroll !important;
        /* Ensures you can scroll if the menu is tall */
    }

    /* =========================================
   FIX: 'X' BUTTON (STRICT STATE CONTROL)
   ========================================= */

    /* 1. DEFAULT STATE: HIDE IT COMPLETELY */
    /* This ensures no orange box appears on the normal site */
    .Mobile-overlay-close {
        display: none !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* 2. ACTIVE STATE: ONLY SHOW WHEN MENU IS OPEN */
    body.is-mobile-overlay-active .Mobile-overlay-close {
        /* Reveal it */
        display: flex !important;
        opacity: 1 !important;
        pointer-events: auto !important;

        /* Positioning (Top Right, safe from scrollbar) */
        position: fixed !important;
        top: 25px !important;
        right: 25px !important;
        left: auto !important;
        z-index: 2147483647 !important;

        /* Styling: Orange Box */
        background-color: var(--sw-primary) !important;
        width: 44px !important;
        height: 44px !important;

        /* Clean up any old icon junk */
        color: transparent !important;
    }

    /* 3. DRAW THE 'X' (CSS Only - No SVGs) */
    /* Line 1 */
    body.is-mobile-overlay-active .Mobile-overlay-close::before {
        content: '';
        position: absolute;
        width: 24px;
        height: 3px;
        background-color: var(--sw-text-inverse) !important;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(45deg);
    }

    /* Line 2 */
    body.is-mobile-overlay-active .Mobile-overlay-close::after {
        content: '';
        position: absolute;
        width: 24px;
        height: 3px;
        background-color: var(--sw-text-inverse) !important;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    /* 4. Double check to hide original SVG */
    body.is-mobile-overlay-active .Mobile-overlay-close svg,
    body.is-mobile-overlay-active .Mobile-overlay-close-icon {
        display: none !important;
    }

    /* ============================================================
   SERVICES PAGE - Light Glass Cards (Festival Analytics Style)
   ============================================================ */

    /* Container for all service modules - 2 column grid on desktop */
    .sw-services-modules {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin-bottom: 3rem;
    }

    /* Single column on mobile */
    @media (max-width: 900px) {
        .sw-services-modules {
            grid-template-columns: 1fr;
        }
    }

    /* Individual Service Module Card - Light Theme */
    .sw-service-module {
        background: rgba(255, 255, 255, 0.9);
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        overflow: hidden;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        position: relative;
        box-shadow: 0 5px 25px -5px rgba(0, 0, 0, 0.08);
    }

    .sw-service-module:hover {
        border-color: var(--sw-primary);
        box-shadow: 0 15px 40px -10px rgba(255, 106, 0, 0.15);
        transform: translateY(-4px);
    }

    .sw-module-inner {
        padding: 1.8rem;
        position: relative;
        z-index: 2;
    }

    /* Module Header */
    .sw-module-header {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 1rem;
    }

    .sw-module-metric {
        font-family: var(--sw-font-heading);
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        padding: 0.4rem 0.8rem;
        border-radius: 6px;
        background: linear-gradient(135deg, #ff6a00, #ff9c33);
        color: var(--sw-text-inverse);
    }

    /* Module Icon */
    .sw-module-icon {
        width: 40px;
        height: 40px;
        margin-bottom: 0.8rem;
    }

    .sw-module-icon svg {
        width: 100%;
        height: 100%;
        stroke: #64748b;
        transition: all 0.3s;
    }

    .sw-service-module:hover .sw-module-icon svg {
        stroke: var(--sw-primary);
    }

    /* Module Title & Subtitle */
    .sw-module-title {
        font-family: var(--sw-font-heading);
        font-size: 1.4rem;
        font-weight: 800;
        text-transform: uppercase;
        color: #0f172a;
        margin-bottom: 0.2rem;
        letter-spacing: 0.02em;
    }

    .sw-module-subtitle {
        font-family: var(--sw-font-heading);
        font-size: 0.85rem;
        font-weight: 500;
        color: var(--sw-text-main);
        text-transform: uppercase;
        letter-spacing: 0.08em;
        margin-bottom: 1rem;
    }

    /* Module Body */
    .sw-module-body {
        color: var(--sw-text-main);
        line-height: 1.6;
    }

    .sw-module-desc {
        font-size: 0.95rem;
        margin-bottom: 1rem;
    }

    .sw-module-desc strong {
        color: #0f172a;
    }

    /* Feature Items */
    .sw-module-features {
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
        margin-bottom: 1rem;
    }

    .sw-feature-item {
        display: flex;
        gap: 0.8rem;
        align-items: flex-start;
        padding: 0.8rem;
        background: #f8fafc;
        border-radius: 10px;
        border-left: 3px solid #e2e8f0;
        transition: all 0.3s;
    }

    .sw-feature-item:hover {
        border-left-color: var(--sw-primary);
        background: rgba(255, 106, 0, 0.04);
    }

    .sw-feature-icon {
        font-size: 1.1rem;
        flex-shrink: 0;
    }

    .sw-feature-content {
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
    }

    .sw-feature-title {
        font-family: var(--sw-font-heading);
        font-size: 0.9rem;
        font-weight: 700;
        color: #0f172a;
        text-transform: uppercase;
        letter-spacing: 0.02em;
    }

    .sw-feature-text {
        font-size: 0.85rem;
        color: var(--sw-text-main);
        line-height: 1.4;
    }

    /* Case Study Badges */
    .sw-case-study-inline {
        background: rgba(255, 106, 0, 0.06);
        border: 1px solid rgba(255, 106, 0, 0.15);
        border-radius: 8px;
        padding: 0.8rem 1rem;
        margin-bottom: 1rem;
    }

    .sw-case-label {
        font-family: var(--sw-font-heading);
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--sw-primary);
        display: block;
        margin-bottom: 0.2rem;
    }

    .sw-case-stat {
        font-size: 0.85rem;
        color: var(--sw-text-main);
    }

    .sw-case-study-badge {
        display: flex;
        align-items: center;
        gap: 1rem;
        background: linear-gradient(135deg, rgba(255, 106, 0, 0.08), rgba(255, 150, 0, 0.04));
        border: 1px solid rgba(255, 106, 0, 0.2);
        border-radius: 10px;
        padding: 1rem;
        margin-bottom: 1rem;
    }

    .sw-case-stat-large {
        font-family: var(--sw-font-heading);
        font-size: 2rem;
        font-weight: 900;
        color: var(--sw-primary);
        line-height: 1;
    }

    .sw-case-context {
        display: flex;
        flex-direction: column;
        gap: 0.1rem;
    }

    .sw-case-metric {
        font-family: var(--sw-font-heading);
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: #0f172a;
    }

    .sw-case-artist {
        font-size: 0.8rem;
        color: var(--sw-text-main);
    }

    /* Module CTA Button */
    .sw-module-cta {
        display: inline-block;
        background: linear-gradient(135deg, #ff6a00, #ff9c33);
        color: var(--sw-text-inverse);
        padding: 0.8rem 1.5rem;
        border: none;
        font-family: var(--sw-font-heading);
        font-weight: 700;
        font-size: 0.8rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        text-decoration: none;
        border-radius: 10px;
        transition: all 0.3s;
        margin-top: 0.5rem;
    }

    .sw-module-cta:hover {
        background: linear-gradient(135deg, #e55a00, #ff6a00);
        box-shadow: 0 8px 20px rgba(255, 106, 0, 0.3);
        transform: translateY(-2px);
    }

    /* Mobile Responsive */
    @media (max-width: 768px) {
        .sw-module-inner {
            padding: 1.5rem;
        }

        .sw-module-title {
            font-size: 1.25rem;
        }

        .sw-case-study-badge {
            flex-direction: column;
            align-items: flex-start;
            gap: 0.6rem;
        }

        .sw-case-stat-large {
            font-size: 1.8rem;
        }

        .sw-module-cta {
            width: 100%;
            text-align: center;
        }
    }

    /* ============================================================
   SERVICES PAGE - Hero & Carousel Styles
   ============================================================ */

    /* New 2-Column Hero Structure */
    .sw-hero-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 4rem;
        margin-bottom: 3rem;
    }

    /* Services page - reduce container padding but keep breathing room */
    .sw-block-container.sw-services-page {
        padding-top: 1.5rem;
        overflow-x: hidden;
    }

    /* About page - consistent section spacing */
    .sw-block-container.sw-about-page {
        padding-top: 1rem;
        padding-bottom: 0;
    }

    /* First About block should have more top padding (below hero) */
    .sw-block-container.sw-about-page:first-of-type {
        padding-top: 3rem;
    }

    .sw-services-header {
        flex: 1;
        /* 1/3 width */
        min-width: 300px;
    }

    /* Gradient Bar Accent */
    .sw-header-accent {
        display: flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 1.5rem;
    }

    .sw-gradient-bar {
        width: 5px !important;
        min-width: 5px !important;
        min-height: 2.5rem !important;
        height: 100%;
        background: linear-gradient(180deg, #ff6a00, #ff9c33, #ff6a00);
        background-size: 100% 200%;
        border-radius: 2px !important;
        flex-shrink: 0 !important;
        display: block !important;
    }

    /* Shimmer animation for gradient bars */
    .sw-gradient-bar.sw-shimmer {
        animation: shimmer-vertical 2s ease-in-out infinite;
    }

    @keyframes shimmer-vertical {

        0%,
        100% {
            background-position: 0% 0%;
        }

        50% {
            background-position: 0% 100%;
        }
    }

    /* Color variants for different sections */
    .sw-bar-orange {
        background: linear-gradient(180deg, #ff6a00, #ff9c33, #ff6a00) !important;
        background-size: 100% 200% !important;
    }

    .sw-bar-blue {
        background: linear-gradient(180deg, #3b82f6, #60a5fa, #3b82f6) !important;
        background-size: 100% 200% !important;
    }

    .sw-bar-green {
        background: linear-gradient(180deg, #10b981, #34d399, #10b981) !important;
        background-size: 100% 200% !important;
    }

    .sw-bar-purple {
        background: linear-gradient(180deg, #8b5cf6, #a78bfa, #8b5cf6) !important;
        background-size: 100% 200% !important;
    }

    .sw-bar-cyan {
        background: linear-gradient(180deg, #06b6d4, #22d3ee, #06b6d4) !important;
        background-size: 100% 200% !important;
    }

    .sw-section-label {
        font-family: var(--sw-font-heading);
        font-size: clamp(2rem, 4vw, 3rem);
        font-weight: 900;
        letter-spacing: 0.04em;
        color: var(--sw-text-main);
        text-transform: uppercase;
        line-height: 1;
    }

    /* Section Label Row (like Festival Analytics section titles) */
    .sw-section-label-row {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        margin-bottom: 1rem;
    }

    /* Hero Intro Paragraphs - sized up to fill space */
    .sw-hero-intro {
        font-size: 1.15rem;
        line-height: 1.7;
        color: var(--sw-text-main);
        margin-bottom: 1.25rem;
    }

    .sw-body-secondary {
        font-size: 0.95rem;
        color: var(--sw-text-main);
        margin-top: 1rem;
    }

    /* Large Hero Intro - fills vertical space alongside carousel */
    .sw-hero-intro-large {
        font-size: clamp(1.5rem, 2.8vw, 2.2rem);
        line-height: 1.5;
        color: var(--sw-text-main);
        font-weight: 500;
        margin-bottom: 0;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    @media (max-width: 900px) {
        .sw-hero-intro-large {
            font-size: clamp(1.2rem, 4vw, 1.6rem);
            padding: 1rem 0;
        }
    }

    /* Slide Link Styling */
    .sw-slide-link {
        display: block;
        text-decoration: none;
        color: inherit;
        width: 100%;
        height: 100%;
    }

    /* Image Anchoring Modifiers */
    .sw-slide-image img[data-anchor="center"] {
        object-position: center center;
    }

    .sw-slide-image img[data-anchor="left"] {
        object-position: left center;
    }

    .sw-slide-image img[data-anchor="right"] {
        object-position: right center;
    }

    .sw-services-carousel {
        width: 100%;
        position: relative;
        background: #080808;
        border-radius: 20px;
        overflow: hidden;
        height: clamp(320px, 35vw, 480px);
        min-width: 320px;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    }

    @media (max-width: 900px) {
        .sw-hero-row {
            flex-direction: column;
            align-items: flex-start;
            gap: 2rem;
        }

        .sw-services-carousel {
            width: 100%;
            height: 380px;
        }
    }

    .sw-carousel-track {
        position: relative;
        width: 100%;
        height: 100%;
    }

    .sw-carousel-slide {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.5s;
    }

    .sw-carousel-slide.active {
        position: relative;
        opacity: 1;
        visibility: visible;
    }

    .sw-slide-content {
        padding: 1.2rem 2.5rem 8rem 2.5rem;
        color: var(--sw-text-inverse);
        position: relative;
        z-index: 2;
        max-width: 65%;
        /* Allowed text to spill over more */
    }

    /* Slide Image */
    .sw-slide-image {
        position: absolute;
        top: 0;
        right: 0;
        width: 95%;
        height: 100%;
        z-index: 1;
    }

    .sw-slide-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center right;
        /* Anchor image to right */
        opacity: 0.9;
    }

    .sw-slide-image::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(115deg, #080808 0%, #080808 25%, transparent 65%);
        z-index: 2;
    }

    .sw-slide-kicker {
        display: inline-block;
        font-family: var(--sw-font-display);
        font-size: clamp(0.75rem, 1.2vw, 1.5rem);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--sw-primary);
        margin-bottom: 0.5rem;
        padding: 0.3rem 0.8rem;
        background: rgba(255, 106, 0, 0.15);
        border-radius: 4px;
    }

    .sw-slide-title {
        font-family: var(--sw-font-heading);
        font-size: clamp(1.8rem, 3vw, 3.6rem);
        /* Slightly smaller for narrower box */
        font-weight: 800;
        text-transform: uppercase;
        margin-bottom: 0.5rem;
        line-height: 1.1;
        color: var(--sw-text-inverse) !important;
    }

    .sw-slide-desc {
        font-size: clamp(1rem, 1.5vw, 2rem);
        color: #d4d4d4;
        max-width: 600px;
        line-height: 1.5;
        margin-bottom: 0.8rem;
    }

    .sw-slide-stat {
        display: flex;
        flex-direction: column;
        /* Stack vertically */
        align-items: flex-start;
        /* Left align */
        gap: 0;
    }

    .sw-stat-number {
        font-family: var(--sw-font-heading);
        font-size: clamp(2.5rem, 4vw, 5rem);
        font-weight: 900;
        color: var(--sw-primary);
        line-height: 1;
    }

    .sw-stat-label {
        font-size: clamp(0.9rem, 1.2vw, 1.8rem);
        color: #d4d4d4;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        padding-left: 2px;
        /* Optical alignment */
    }

    /* Carousel Controls */
    .sw-carousel-controls {
        position: absolute;
        /* Absolute positioning relative to container */
        bottom: 1.2rem;
        /* Moved further down */
        left: 2.5rem;
        /* Align with left padding */
        display: flex;
        align-items: center;
        gap: 1rem;
        z-index: 10;
        width: auto;
        margin-top: 0;
        justify-content: flex-start;
    }

    .sw-carousel-btn {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: 1px solid rgba(255, 255, 255, 0.2);
        background: rgba(255, 255, 255, 0.05);
        color: var(--sw-text-inverse);
        font-size: 1.2rem;
        cursor: pointer;
        transition: all 0.2s;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .sw-carousel-btn:hover {
        background: var(--sw-primary);
        border-color: var(--sw-primary);
    }

    .sw-carousel-dots {
        display: flex;
        gap: 0.5rem;
    }

    .sw-carousel-dots .sw-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.3);
        border: none;
        cursor: pointer;
        transition: all 0.2s;
        padding: 0;
    }

    .sw-carousel-dots .sw-dot.active {
        background: var(--sw-primary);
        transform: scale(1.2);
    }

    /* Primary Button */
    .sw-btn-primary {
        display: inline-block;
        background: linear-gradient(135deg, #ff6a00, #ff9c33);
        color: var(--sw-text-inverse);
        padding: 1rem 2.5rem;
        font-family: var(--sw-font-heading);
        font-weight: 700;
        font-size: 1rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        text-decoration: none;
        border-radius: 12px;
        transition: all 0.3s;
        box-shadow: 0 8px 25px rgba(255, 106, 0, 0.25);
    }

    .sw-btn-primary:hover {
        background: linear-gradient(135deg, #e55a00, #ff6a00);
        box-shadow: 0 12px 35px rgba(255, 106, 0, 0.35);
        transform: translateY(-2px);
    }

    /* Mobile Carousel */
    @media (max-width: 768px) {
        .sw-services-carousel {
            height: 380px;
        }

        .sw-slide-content {
            padding: 1.5rem 1.5rem 7rem 1.5rem;
            max-width: 100%;
        }

        .sw-slide-image {
            width: 100%;
            height: 100%;
            opacity: 0.4;
            /* Dim to keep text readable */
        }

        .sw-slide-image::before {
            background: linear-gradient(180deg, #080808 0%, transparent 40%, transparent 60%, #080808 100%);
        }

        .sw-slide-title {
            font-size: 1.5rem;
        }

        .sw-stat-number {
            font-size: 2rem;
        }

        .sw-carousel-controls {
            bottom: 1rem;
            right: 1rem;
        }
    }

    /* Mobile Stacking Layout for Service Cards */
    @media (max-width: 600px) {

        /* Single column stacking for pillar cards */
        .sw-verticals-wrapper {
            display: flex !important;
            flex-direction: column !important;
            flex-wrap: nowrap !important;
            overflow-x: visible !important;
            gap: 1rem;
            padding: 0 !important;
            max-width: 100%;
            box-sizing: border-box;
        }

        .sw-pillar-card {
            flex: none !important;
            min-width: 100% !important;
            width: 100% !important;
            height: 320px !important;
            opacity: 1 !important;
            transform: none !important;
        }

        .sw-pillar-card .sw-grid-engine {
            transform-style: preserve-3d;
        }

        /* All cards fully visible */
        .sw-pillar-card .sw-grid-plane {
            opacity: 0.3;
        }

        /* Ensure cards show hover effects on tap */
        .sw-pillar-card:active .sw-grid-plane,
        .sw-pillar-card:focus-within .sw-grid-plane {
            opacity: 0.9;
            background-image: linear-gradient(rgba(255, 95, 0, 1) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 95, 0, 0.85) 1px, transparent 1px);
            animation: swTechnoGridScroll 1s linear infinite;
            transform: rotateX(50deg);
        }

        /* Legacy class support */
        .sw-pillar-card.sw-mobile-active {
            opacity: 1 !important;
            transform: scale(1) !important;
        }

        /* Force hover effects on active mobile card */
        .sw-pillar-card.sw-mobile-active .sw-grid-plane {
            opacity: 0.9 !important;
            background-image: linear-gradient(rgba(255, 95, 0, 1) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 95, 0, 0.85) 1px, transparent 1px) !important;
            animation: swTechnoGridScroll 1s linear infinite !important;
            transform: rotateX(50deg) !important;
        }

        .sw-pillar-card.sw-mobile-active .sw-pillar-glow {
            opacity: 1;
        }
    }

    /* ============================================================
   11. TERMINAL BUTTON STYLES (Standardized)
   ============================================================ */
    .sw-btn-terminal {
        display: inline-block;
        padding: 16px 40px;
        background: #000;
        border: 2px solid #ef4444;
        color: #ef4444;
        font-family: var(--sw-font-heading);
        font-size: 1.1rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        text-decoration: none;
        border-radius: 8px;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        position: relative;
        overflow: visible;
        box-shadow: 0 0 15px rgba(217, 119, 6, 0.2);
    }

    .sw-btn-terminal:hover {
        background: #ef4444;
        color: var(--sw-text-main);
        box-shadow: 0 0 30px rgba(217, 119, 6, 0.6);
    }

    .sw-btn-terminal.sw-spark-active::before {
        content: "";
        position: absolute;
        top: -2px;
        left: -2px;
        right: -2px;
        bottom: -2px;
        z-index: 25;
        border-radius: 8px;
        pointer-events: none;
        animation: swElectricSparkRed 0.1s linear infinite;
    }

    @keyframes swElectricSparkRed {
        0% {
            opacity: 1;
            transform: scale(1.02) skewX(2deg);
            border: 2px solid #fff;
        }

        50% {
            opacity: 1;
            transform: scale(1.05) skewY(-2deg);
            border: 2px solid #ffffff;
            box-shadow: 0 0 30px rgba(255, 255, 255, 0.8), 0 0 10px #ef4444;
        }
    }

    /* ============================================================
   11. NAVIGATION DROPDOWN FIX (Brine 7.0)
   ============================================================ */

    /* 
   - Prevents the 'Services' dropdown from being cut off on the right.
   - Fixes the 'jump' caused by horizontal layout shifts when opening the menu.
*/

    /* Disable clicking on Analytics folder parent link - dropdown only */
    .Header-nav-item--folder>a[href*="analytics"],
    .Header-nav-item--folder>a[href="/analytics"] {
        pointer-events: none !important;
        cursor: default !important;
    }

    /* Mobile: Also disable Analytics folder parent link */
    .Mobile-overlay-nav-item--folder>a[href*="analytics"],
    .Mobile-overlay-nav-item--folder>a[href="/analytics"] {
        pointer-events: none !important;
        cursor: default !important;
    }

    /* 1. Stop horizontal overflow jump */
    html,
    body {
        overflow-x: hidden !important;
        position: relative;
        width: 100%;
    }

    /* 2. Fix Dropdown Cutoff & Alignment */
    .Header-nav-folder {
        /* FIXED: Reverted forced right-alignment to prevent 'ghost hover' on adjacent links */
        /* left: auto !important; */
        /* right: 0 !important; */
        /* transform: none !important; */

        min-width: 250px !important;
        /* Slightly constrained width */
        max-width: 340px !important;
        padding: 10px 0 !important;
        /* Reduced padding to tighten hit area */
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
        text-align: left !important;
    }

    /* 3. Wrap long text to prevent width bloating */
    .Header-nav-folder-item {
        white-space: normal !important;
        /* Allows multi-line if text is huge */
        word-wrap: break-word !important;
        line-height: 1.4 !important;
        padding: 12px 25px !important;
        display: block !important;
        text-align: left !important;
    }

    /* Mobile folder fix for consistency */
    .Mobile-overlay-folder-item {
        padding-right: 20px !important;
    }

    /* 4. Indent Logo from left edge & Fix Height Instability */
    .Header-branding {
        margin-left: 25px !important;
        min-height: 80px !important;
        /* Forces container to stay open */
        display: flex !important;
        align-items: center !important;
    }

    .Header-branding a {
        min-height: 80px !important;
        display: block !important;
    }

    .Header-branding img {
        min-height: 80px !important;
        /* Matches container to ensure stability */
        width: auto !important;
        /* Preserves aspect ratio */
    }

    /* ============================================================
   CASE STUDY COMPONENTS (Shared across all case study pages)
   ============================================================ */

    /* --- Animations --- */
    @keyframes sw-shimmer-h {
        0% {
            background-position: 200% 50%;
        }

        100% {
            background-position: 0% 50%;
        }
    }

    @keyframes sw-shimmer-v {
        0% {
            background-position: 50% 0%;
        }

        50% {
            background-position: 50% 100%;
        }

        100% {
            background-position: 50% 200%;
        }
    }

    @keyframes sw-shimmer-diagonal {
        0% {
            background-position: 0% 0%;
        }

        50% {
            background-position: 100% 100%;
        }

        100% {
            background-position: 0% 0%;
        }
    }

    @keyframes sw-blink {

        0%,
        100% {
            opacity: 1;
        }

        50% {
            opacity: 0.3;
        }
    }

    /* --- Case Study Page Wrapper --- */
    .sw-case-study-page {
        --sw-border: #e2e8f0;
        --sw-light-bg: #f8fafc;
        background: #fff;
        color: var(--sw-text-main);
        font-family: var(--sw-font-body);
    }

    /* --- Hero Section (layout only, colors per-page) --- */
    .sw-case-hero {
        padding: 4rem 2rem;
        text-align: center;
        position: relative;
        overflow: hidden;
    }

    .sw-case-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Cpath d='M20 20h20v20H20V20zm0-20h20v20H20V0zM0 20h20v20H0V20zM0 0h20v20H0V0z'/%3E%3C/g%3E%3C/svg%3E");
        z-index: 0;
    }

    .sw-case-hero-content {
        position: relative;
        z-index: 1;
        max-width: 1000px;
        margin: 0 auto;
    }

    .sw-case-badge {
        display: inline-block;
        background: linear-gradient(90deg, #ea580c, #f97316, #ea580c);
        background-size: 200% auto;
        color: var(--sw-text-inverse) !important;
        opacity: 1 !important;
        font-family: var(--sw-font-heading);
        font-size: 0.75rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        padding: 6px 14px;
        border-radius: 4px;
        margin-bottom: 1.5rem;
        animation: sw-shimmer-h 3s linear infinite;
        box-shadow: 0 2px 10px rgba(234, 88, 12, 0.2);
        text-shadow: 0 1px 2px rgba(0,0,0,0.1);
        -webkit-font-smoothing: antialiased;
    }

    .sw-case-hero h1 {
        font-family: var(--sw-font-heading);
        font-size: clamp(2.2rem, 5vw, 3.5rem);
        font-weight: 800;
        color: var(--sw-text-inverse);
        margin: 1.5rem 0 0;
        line-height: 1.15;
        text-shadow: 0 4px 15px rgba(0,0,0,0.3);
    }

    .sw-case-hero .sw-subtitle {
        font-family: var(--sw-font-body);
        font-size: 1.15rem;
        color: #f1f5f9;
        margin: 0;
        line-height: 1.6;
        text-shadow: none;
    }

    /* --- Stats Bar --- */
    .sw-stats-bar {
        background: #f8fafc;
        border-top: 1px solid var(--sw-border);
        border-bottom: 1px solid var(--sw-border);
        padding: 3rem 1.5rem;
        position: relative;
        overflow: hidden;
    }

    .sw-stats-bar::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.8) 0%, transparent 70%);
        pointer-events: none;
    }

    .sw-stats-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 2rem;
        max-width: 1000px;
        margin: 0 auto;
        text-align: center;
        position: relative;
        z-index: 1;
    }

    .sw-stat-number {
        font-family: var(--sw-font-heading);
        font-size: 2.8rem;
        font-weight: 800;
        margin-bottom: 0.5rem;
        display: block;
    }

    /* Polish: Shimmering stats */
    .sw-text-shimmer-accent {
        background: linear-gradient(90deg, var(--sw-accent-dark, #000), var(--sw-accent, #333), var(--sw-accent-dark, #000));
        background-size: 200% auto;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        animation: sw-shimmer-h 3s linear infinite;
    }

    .sw-stats-bar .sw-stat-label,
    .sw-stats-grid .sw-stat-label {
        font-family: var(--sw-font-body);
        font-size: 0.85rem;
        color: var(--sw-text-main);
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    @media (max-width: 768px) {
        .sw-stats-grid {
            grid-template-columns: repeat(2, 1fr) !important;
            gap: 1rem !important;
        }

        .sw-stat-number {
            font-size: 1.8rem !important;
        }

        .sw-stats-bar .sw-stat-label,
        .sw-stats-grid .sw-stat-label {
            font-size: 0.75rem;
        }
    }

    /* --- Section Headers --- */
    .sw-section-header {
        display: flex;
        flex-direction: column;
        align-items: flex-start; /* Changed from stretch to prevent weird padding behavior */
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .sw-gradient-bar {
        flex-shrink: 0;
        width: 4px;
        min-height: 0 !important;
        height: auto !important;
        align-self: stretch !important;
        background-size: 100% 200%;
        animation: sw-shimmer-v 3s linear infinite;
        border-radius: 2px;
    }

    .sw-section-kicker {
        display: inline-block;
        font-family: var(--sw-font-display);
        font-size: 0.8rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--sw-text-inverse) !important;
        opacity: 1 !important;
        background-size: 200% auto;
        animation: sw-shimmer-h 3s linear infinite;
        padding: 0.4rem 1rem;
        border-radius: 4px;
        margin-bottom: 12px;
        text-shadow: 0 1px 2px rgba(0,0,0,0.1);
        -webkit-font-smoothing: antialiased;
    }

    .sw-section-headline {
        font-family: var(--sw-font-heading);
        font-size: clamp(1.8rem, 4vw, 2.5rem);
        font-weight: 800;
        text-transform: uppercase;
        color: var(--sw-text-main);
        margin: 0;
        letter-spacing: 0.02em;
        line-height: 1;
    }

    .sw-section-subhead {
        font-family: var(--sw-font-heading);
        font-size: 1.3rem;
        font-weight: 800;
        color: var(--sw-text-main);
        margin: -10px 0 0 !important;
        line-height: 1.1;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    /* --- Content Sections --- */
    .sw-content-section {
        padding: 1.5rem 0;
    }

    .sw-content-section.sw-alt-bg {
        background: var(--sw-light-bg);
    }

    .sw-block-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 60px;
    }

    @media (max-width: 1024px) {
        .sw-block-container {
            padding: 0 3rem;
        }
    }

    @media (max-width: 768px) {
        .sw-block-container {
            padding: 0 1.5rem;
        }
    }

    .sw-content-text {
        font-family: var(--sw-font-body);
        font-size: 1.05rem;
        color: var(--sw-text-main);
        line-height: 1.8;
    }

    .sw-content-text p {
        margin: 0 0 1.5rem;
    }

    /* --- Callout Box --- */
    .sw-callout-box {
        border-left: 4px solid #0ea5e9;
        padding: 1.5rem 2rem;
        border-radius: 0 12px 12px 0;
        margin: 1.5rem 0;
    }

    .sw-cs-hero-row .sw-callout-box {
        overflow: hidden;
        clear: right;
    }

    .sw-callout-box p {
        font-family: var(--sw-font-body);
        font-size: 1.05rem;
        color: #bae6fd;
        margin: 0;
        line-height: 1.7;
    }

    .sw-callout-box strong {
        color: #fde047;
    }

    /* --- Card Grids --- */
    .sw-approach-grid,
    .sw-insight-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .sw-result-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
        margin-bottom: 2rem;
    }

    @media (max-width: 768px) {

        .sw-approach-grid,
        .sw-insight-grid {
            grid-template-columns: 1fr;
        }

        .sw-result-grid {
            grid-template-columns: 1fr;
        }
    }

    .sw-approach-card,
    .sw-result-card,
    .sw-insight-card {
        background: #fff;
        border: 1px solid var(--sw-border);
        border-radius: 12px;
        padding: 1.75rem;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .sw-approach-card:hover,
    .sw-result-card:hover,
    .sw-insight-card:hover {
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    }

    .sw-approach-card .sw-card-number {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        color: var(--sw-text-inverse);
        font-family: var(--sw-font-heading);
        font-size: 0.9rem;
        font-weight: 700;
        border-radius: 8px;
        margin-bottom: 1rem;
        background-size: 300% 300%;
        animation: sw-shimmer-diagonal 4s ease-in-out infinite;
    }

    .sw-approach-card h4,
    .sw-result-card h4,
    .sw-insight-card h4 {
        font-family: var(--sw-font-heading);
        font-size: 1.1rem;
        font-weight: 700;
        color: var(--sw-text-main);
        margin: 0 0 0.75rem;
    }

    .sw-approach-card p,
    .sw-result-card p,
    .sw-insight-card p {
        font-family: var(--sw-font-body);
        font-size: 0.95rem;
        color: var(--sw-text-main);
        margin: 0;
        line-height: 1.6;
    }

    /* --- Insight Callout --- */
    .sw-insight-callout {
        border-radius: 16px;
        padding: 2.5rem;
        margin: 2rem 0;
    }

    .sw-insight-callout h3 {
        font-family: var(--sw-font-heading);
        font-size: 1rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        margin: 0 0 1rem;
    }

    .sw-insight-callout p {
        font-family: var(--sw-font-body);
        font-size: 1.1rem;
        color: #bae6fd;
        line-height: 1.7;
        margin: 0;
    }

    /* --- Terminal CTA --- */
    .sw-terminal-cta {
        background: #0a0a0a;
        border-radius: 16px;
        overflow: hidden;
        margin: 2rem 0;
    }

    .sw-term-header {
        background: #1a1a1a;
        padding: 12px 16px;
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .sw-term-dots {
        display: flex;
        gap: 6px;
    }

    .sw-term-dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
    }

    .sw-term-dot.r {
        background: #ff5f56;
    }

    .sw-term-dot.y {
        background: #ffbd2e;
    }

    .sw-term-dot.g {
        background: #27ca40;
    }

    .sw-term-title {
        font-family: 'Roboto Mono', monospace;
        font-size: 0.75rem;
        color: var(--sw-text-main);
        letter-spacing: 0.1em;
    }

    .sw-term-body {
        position: relative;
        padding: 2rem;
        min-height: 320px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        overflow: hidden;
    }

    /* Duplicate removed - using definition at line ~1680 instead */

    .sw-status-blink {
        position: relative;
        z-index: 10;
        display: block;
        font-family: 'Roboto Mono', monospace;
        font-size: 0.8rem;
        color: #10b981;
        margin-bottom: 1rem;
        animation: sw-blink 1.5s ease-in-out infinite;
    }

    .sw-cta-glitch-text {
        position: relative;
        z-index: 10;
        font-family: var(--sw-font-heading);
        font-size: clamp(1.5rem, 3vw, 2rem);
        font-weight: 800;
        color: var(--sw-text-inverse);
        text-transform: uppercase;
        margin-bottom: 1.5rem;
        max-width: 600px;
        animation: sw-terminal-flicker 10s infinite;
    }

    @keyframes sw-terminal-flicker {
        0% { opacity: 1; }
        98% { opacity: 1; }
        99% { opacity: 0.8; }
        100% { opacity: 1; }
    }

    .sw-btn-terminal {
        position: relative;
        z-index: 10;
        display: inline-block;
        padding: 16px 40px;
        background: #0a0a0a;
        border: 2px solid;
        font-family: var(--sw-font-heading);
        font-size: 1.1rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        text-decoration: none;
        border-radius: 8px;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        width: fit-content;
    }

    .sw-btn-terminal:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    }

    /* Polish: Enhanced Cards */
    .sw-insight-card, .sw-approach-card, .sw-result-card {
        background: #ffffff;
        border: 1px solid var(--sw-border);
        padding: 2.5rem;
        border-radius: 12px;
        transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        position: relative;
        overflow: hidden;
    }

    .sw-insight-card:hover, .sw-approach-card:hover, .sw-result-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 40px rgba(0,0,0,0.08);
        border-color: var(--sw-accent, #333);
    }

    .sw-insight-card::after, .sw-approach-card::after, .sw-result-card::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background: var(--sw-acc-grad, #333);
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .sw-insight-card:hover::after, .sw-approach-card:hover::after, .sw-result-card:hover::after {
        opacity: 1;
    }

    /* Related/Learn More Section */
    .sw-related-section {
        text-align: center;
        padding: 2rem 1.5rem;
        background: #fff;
    }

    .sw-related-section p {
        font-family: var(--sw-font-body);
        font-size: 1.05rem;
        color: var(--sw-text-main);
        margin: 0;
    }

    .sw-related-section a {
        font-weight: 700;
        text-decoration: none;
        background-size: 200% auto;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        animation: sw-shimmer-h 3s linear infinite;
        transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .sw-link-tour {
        background: linear-gradient(90deg, #ea580c, #f97316, #ea580c);
    }

    .sw-link-festivals {
        background: linear-gradient(90deg, #7c3aed, #8b5cf6, #a78bfa, #8b5cf6, #7c3aed);
    }

    /* --- Fade Up Animation --- */
    .sw-fade-up {
        opacity: 0;
        transform: translateY(20px);
        animation: swFadeUp 0.6s ease forwards;
    }

    @keyframes swFadeUp {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* --- Carousel Component (structure only) --- */
    @media (max-width: 768px) {
        .sw-cs-carousel-col {
            display: none !important;
        }
    }

    @media (min-width: 769px) {
        .sw-cs-carousel-col {
            float: right;
            width: 280px;
            margin: 0 0 1.5rem 2rem;
            shape-outside: margin-box;
        }

        .sw-cs-carousel {
            position: relative;
            width: 100%;
            border-radius: 16px;
            overflow: hidden;
            aspect-ratio: 9 / 16;
            background: #0a0a0a;
        }

        .sw-cs-slide {
            position: absolute;
            inset: 0;
            opacity: 0;
            transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .sw-cs-slide.active {
            opacity: 1;
        }

        .sw-cs-slide-image {
            position: absolute;
            inset: 0;
            overflow: hidden;
        }

        .sw-cs-slide-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .sw-cs-slide-image::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 35%;
            background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, transparent 100%);
            z-index: 1;
            pointer-events: none;
        }

        .sw-cs-slide-image::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 35%;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, transparent 100%);
            z-index: 1;
            pointer-events: none;
        }

        .sw-cs-slide-stat {
            position: absolute;
            top: 1rem;
            left: 1rem;
            z-index: 2;
            text-align: left;
        }

        .sw-cs-slide-stat .sw-stat-number {
            display: block;
            font-family: var(--sw-font-heading);
            font-size: clamp(2.5rem, 6vw, 3.8rem);
            font-weight: 900;
            line-height: 1;
            margin-bottom: 0.25rem;
        }

        .sw-cs-slide-stat .sw-stat-label {
            display: block;
            font-size: 0.75rem;
            color: #ffffff !important;
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

        .sw-cs-slide-kicker {
            position: absolute;
            bottom: 1rem;
            right: 1rem;
            z-index: 2;
            display: inline-block;
            width: fit-content;
            font-family: var(--sw-font-display);
            font-size: 0.75rem;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--sw-text-inverse);
            padding: 8px 16px;
            border-radius: 4px;
            background-size: 200% auto;
            animation: sw-shimmer-h 4s linear infinite;
        }

        .sw-cs-hero-row::after {
            content: "";
            display: table;
            clear: both;
        }

        /* GUI Corner Elements */
        .sw-gui-corner {
            position: absolute;
            width: 20px;
            height: 20px;
            z-index: 10;
            pointer-events: none;
            border: 1.2px solid #fff;
            opacity: 0.8;
        }

        .sw-gui-corner-tr {
            top: 8px;
            right: 8px;
            border-bottom: none !important;
            border-left: none !important;
            border-top-right-radius: 12px;
        }

        .sw-gui-corner-bl {
            bottom: 8px;
            left: 8px;
            border-top: none !important;
            border-right: none !important;
            border-bottom-left-radius: 12px;
        }
    }

    /* ===========================================
   TOUCH DEVICE HOVER OVERRIDES (Phase 7 fix)
   Prevents sticky hover states on iOS/Android
   =========================================== */
    @media (hover: none),
    (pointer: coarse) {

        /* Reset Pillar Cards */
        .sw-pillar-card:hover {
            box-shadow: none !important;
            border-color: rgba(255, 255, 255, 0.1) !important;
            transform: none !important;
        }

        .sw-pillar-card:hover .sw-pillar-glow {
            background: none !important;
        }

        .sw-pillar-card:hover .sw-pillar-glow::before {
            background: none !important;
        }

        .sw-pillar-card:hover .sw-grid-plane {
            background-image: none !important;
        }

        .sw-pillar-card:hover .sw-pillar-icon {
            stroke: #fff !important;
            filter: none !important;
        }

        .sw-pillar-card:hover .sw-pillar-title {
            color: var(--sw-text-inverse) !important;
        }

        .sw-pillar-card:hover .sw-deck-btn {
            border-color: rgba(255, 255, 255, 0.2) !important;
            color: var(--sw-text-inverse) !important;
            box-shadow: none !important;
            background: transparent !important;
        }

        .sw-deck-btn:hover {
            background: transparent !important;
            color: inherit !important;
            border-color: inherit !important;
            box-shadow: none !important;
        }

        /* Reset Process Rows */
        .sw-process-row:hover {
            transform: none !important;
            background: transparent !important;
        }

        .sw-process-row:hover .sw-step-num {
            color: #d1d5db !important;
            transform: none !important;
            text-shadow: none !important;
        }

        /* Reset Terminal Buttons */
        .sw-btn-terminal:hover {
            background: transparent !important;
            color: inherit !important;
            box-shadow: none !important;
            text-shadow: none !important;
        }

        .sw-about-page .sw-btn-terminal:hover {
            background: transparent !important;
            color: inherit !important;
            box-shadow: none !important;
        }

        /* Reset General Structural Cards */
        .sw-card:hover {
            transform: none !important;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
        }

        .sw-highlight-badge:hover {
            transform: translateY(-50%) !important;
            box-shadow: none !important;
        }
    }

    /* ===========================================
   FESTIVAL ANALYTICS INLINE STYLE ABSTRACTIONS
   =========================================== */
    .sw-fa-fix-1 {
        display: block !important;
    }

    .sw-fa-fix-2 {
        float: right;
        width: 50%;
        max-width: 500px;
        margin-left: 30px;
        margin-bottom: 20px;
        margin-top: 10px;
        text-align: center;
        clear: right;
    }

    .sw-fa-fix-3 {
        display: block;
        text-decoration: none;
        cursor: pointer;
    }

    .sw-fa-fix-4 {
        position: relative;
        margin-bottom: 20px;
    }

    .sw-fa-fix-5 {
        width: 100%;
        height: auto;
        display: block;
        position: relative;
        z-index: 2;
        pointer-events: none;
    }

    .sw-fa-fix-6 {
        margin-top: 0px;
    }

    .sw-fa-fix-7 {
        animation: sw-btn-float 3s ease-in-out infinite;
    }

    .sw-fa-fix-8 {
        color: var(--sw-text-inverse) !important;
        width: fit-content;
    }

    .sw-fa-fix-9 {
        margin-bottom: 20px;
    }

    .sw-fa-fix-10 {
        margin-bottom: 20px;
        margin-top: 24px;
    }

    .sw-fa-fix-11 {
        margin-bottom: 12px;
    }

    .sw-fa-fix-12 {
        clear: both;
        width: 100%;
        margin-top: 40px;
        text-align: center;
    }

    .sw-fa-fix-13 {
        margin-bottom: 30px;
    }

    .sw-fa-fix-14 {
        padding: 0 20px 0;
        text-align: center;
        border-top: none;
        background: transparent;
        max-width: 100%;
    }

    .sw-fa-fix-15 {
        font-family: var(--sw-font-heading);
        font-size: 14px !important;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--sw-text-main);
        margin-bottom: 2px;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 16px;
        flex-wrap: wrap;
    }

    .sw-fa-fix-16 {
        flex: 1;
        height: 1px;
        background: var(--sw-border-subtle);
        min-width: 30px;
    }

    .sw-fa-fix-17 {
        text-align: center;
    }

    .sw-fa-fix-18 {
        white-space: nowrap;
    }

    .sw-fa-fix-19 {
        font-family: var(--sw-font-heading);
        font-size: 14px !important;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--sw-text-main);
        margin-bottom: 2px;
        font-weight: 700;
        text-align: center;
        display: none;
    }

    .sw-fa-fix-20 {
        margin-top: 8px;
        margin-bottom: 16px;
        font-size: 13px;
        color: var(--sw-text-muted);
        text-align: center;
        letter-spacing: 0.02em;
        font-weight: 600;
    }

    .sw-fa-fix-21 {
        margin-top: 0;
        margin-bottom: -40px;
        font-size: 10px;
        color: var(--sw-text-muted);
        opacity: 0.8;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
        line-height: 1.4;
        text-align: center;
    }

    .sw-fa-fix-22 {
        clear: both;
    }

    .sw-fa-fix-23 {
        align-items: stretch !important;
        margin-bottom: 40px;
    }

    .sw-fa-fix-23 .sw-split-visual {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
    }

    .sw-fa-fix-24 {
        color: white !important;
        padding: 6px 14px;
        display: inline-block;
        border-radius: 4px;
    }

    .sw-fa-fix-25 {
        margin-bottom: 5px !important;
    }

    .sw-fa-fix-26 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        line-height: 1.5;
    }

    .sw-fa-fix-27 {
        max-width: 100%;
        margin: 0;
        overflow: hidden;
        border-radius: 16px;
        aspect-ratio: 16/9;
    }

    .sw-fa-fix-28 {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .sw-fa-fix-29 {
        margin-top: 40px;
    }

    .sw-fa-fix-30 {
        flex: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        border-radius: 20px;
        overflow: hidden;
        height: 100% !important;
        min-height: 0 !important;
    }

    .sw-fa-fix-31 {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: 25% center;
        display: block;
    }

    .sw-fa-fix-32 {
        border-right: none !important;
        border-left: 4px solid var(--sw-orange) !important;
        text-align: left !important;
        padding-right: 0 !important;
        padding-left: 20px !important;
    }

    .sw-fa-fix-33 {
        background: var(--sw-orange) !important;
        color: white !important;
        padding: 6px 14px;
        display: inline-block;
        border-radius: 4px;
    }

    .sw-fa-fix-34 {
        margin-right: auto;
        margin-left: 0;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        text-align: left !important;
    }

    .sw-fa-fix-35 {
        margin-top: 12px;
        margin-right: auto;
        margin-left: 0;
        text-align: left !important;
        line-height: 1.5;
    }

    .sw-fa-fix-35:last-child {
        margin-bottom: 0 !important;
    }

    .sw-fa-fix-36 {
        max-width: 1000px;
        margin: 0 auto;
        margin-bottom: -40px;
    }

    .sw-fa-fix-37 {
        text-align: center;
        padding: 24px;
    }

    .sw-fa-fix-38 {
        height: 180px;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        margin-bottom: 12px;
    }

    .sw-fa-fix-39 {
        display: block;
        width: 175px;
        height: auto;
        mix-blend-mode: multiply;
    }

    .sw-fa-fix-40 {
        margin: 0 0 24px;
        font-family: 'Oswald', sans-serif;
        color: var(--sw-text-main);
        font-size: 22px !important;
        line-height: 1.15 !important;
        white-space: nowrap;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    .sw-fa-fix-41 {
        margin: 0;
        font-size: 14px;
        color: var(--sw-text-muted);
        line-height: 1.5;
        text-align: left;
    }

    .sw-fa-fix-42 {
        display: block;
        width: 170px;
        height: auto;
        mix-blend-mode: multiply;
    }

    .sw-fa-fix-43 {
        display: block;
        width: 165px;
        height: auto;
        mix-blend-mode: multiply;
    }

    .sw-fa-fix-44 {
        color: white !important;
        padding: 6px 14px;
        display: inline-block;
        border-radius: 4px;
        margin-right: auto;
    }

    .sw-fa-fix-45 {
        max-width: 1000px;
        margin-top: 0 !important;
    }

    .sw-fa-fix-46 {
        align-items: stretch;
        margin-top: 40px;
    }

    .sw-fa-fix-47 {
        display: flex;
    }

    .sw-fa-fix-48 {
        padding: 28px;
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .sw-fa-fix-49 {
        font-size: 14px;
        margin-bottom: 16px;
    }

    .sw-fa-fix-50 {
        margin-top: 12px;
    }

    .sw-fa-fix-51 {
        flex: 1;
        margin: 0;
        border-radius: 20px;
        overflow: hidden;
    }

    .sw-fa-fix-52 {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .sw-fa-fix-53 {
        text-align: left !important;
        padding-left: 20px !important;
        padding-right: 0 !important;
    }

    .sw-fa-fix-54 {
        text-align: left;
        margin-left: 0;
        margin-right: auto;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        line-height: 1.5;
    }

    .sw-fa-fix-55 {
        text-align: left;
        margin-left: 0;
        margin-right: auto;
        margin-top: 16px !important;
        max-width: 1100px;
        line-height: 1.5;
    }

    .sw-fa-fix-56 {
        aspect-ratio: auto;
        height: auto;
        max-height: none;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 0;
        background: #fff;
        border-radius: 12px;
        overflow: hidden;
    }

    .sw-fa-fix-57 {
        background: #141414;
        padding: 12px 20px;
        border-bottom: 1px solid #334155;
        display: flex;
        gap: 8px;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
    }

    .sw-fa-fix-58 {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: #ef4444;
    }

    .sw-fa-fix-59 {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: #eab308;
    }

    .sw-fa-fix-60 {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: #22c55e;
    }

    .sw-fa-fix-61 {
        margin-left: auto;
        font-size: 11px;
        color: #cbd5e1;
        font-family: 'Roboto Condensed', sans-serif;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .sw-fa-fix-62 {
        width: 8px;
        height: 8px;
        background-color: #ef4444;
        border-radius: 50%;
        box-shadow: none;
    }

    .sw-fa-fix-63 {
        position: absolute;
        inset: 0;
        background: #f8fafc;
        cursor: pointer;
        z-index: 10;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .sw-fa-fix-64 {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center bottom;
        position: absolute;
        top: 0;
        left: 0;
        transition: filter 0.3s ease;
    }

    .sw-fa-fix-65 {
        position: relative;
        z-index: 2;
    }

    .sw-fa-fix-66 {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.2);
        transition: background 0.3s ease;
    }

    .sw-fa-fix-67 {
        color: white !important;
        animation-delay: 0s;
    }

    .sw-fa-fix-68 {
        color: white !important;
        animation-delay: 0.3s;
    }

    .sw-fa-fix-69 {
        color: white !important;
        animation-delay: 0.6s;
    }

    .sw-fa-fix-70 {
        display: inline-block;
        color: white !important;
        padding: 6px 14px;
        border-radius: 4px;
    }

    .sw-fa-fix-71 {
        max-width: 1100px;
        margin: 0 auto;
    }

    .sw-fa-fix-72 {
        text-align: left;
        padding: 32px;
        border-left: none !important;
    }

    .sw-fa-fix-73 {
        color: white !important;
    }

    .sw-fa-fix-74 {
        font-family: 'Oswald', sans-serif;
        font-size: 32px;
        line-height: 1.1;
        margin: 0 0 8px;
    }

    .sw-fa-fix-75 {
        font-family: 'Oswald', sans-serif;
        color: var(--sw-text-main);
        font-size: 24px !important;
        white-space: normal;
        text-transform: uppercase;
        line-height: 1.2;
        letter-spacing: -0.5px;
        margin: 0 0 16px;
    }

    .sw-fa-fix-76 {
        font-size: 15px;
        color: var(--sw-text-muted);
        line-height: 1.6;
        margin: 0;
    }

    .sw-fa-fix-77 {
        color: white !important;
        display: inline-block;
        margin-bottom: 15px;
    }

    .sw-fa-fix-78 {
        font-family: 'Oswald', sans-serif;
        font-size: 26px;
        line-height: 1.1;
        margin: 0 0 12px;
        display: block;
    }

    .sw-fa-fix-79 {
        font-size: 16px;
        color: var(--sw-text-body);
        line-height: 1.6;
        margin: 0;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }

    .sw-fa-fix-80 {
        text-align: center;
        max-width: 800px;
        margin: 0 auto;
        border-left: none !important;
        position: relative;
    }

    .sw-fa-fix-81 {
        margin-bottom: 24px;
        color: white !important;
        padding: 6px 14px;
        display: inline-block;
        border-radius: 4px;
        font-size: 11px;
        letter-spacing: 0.15em;
        text-transform: uppercase;
    }

    .sw-fa-fix-82 {
        font-size: 17px;
        color: var(--sw-text-body);
        line-height: 1.7;
        margin-bottom: 24px;
    }

    .sw-fa-fix-83 {
        font-size: 17px;
        color: var(--sw-text-body);
        line-height: 1.7;
        margin-bottom: 20px;
    }

    .sw-fa-fix-84 {
        font-size: 22px;
        color: var(--sw-orange);
        font-weight: 600;
        margin-bottom: 32px;
    }

    .sw-fa-fix-85 {
        padding-bottom: 60px;
    }

    .sw-fa-fix-86 {
        color: white !important;
        padding: 6px 14px;
        display: inline-block;
        border-radius: 4px;
        font-size: 11px;
        letter-spacing: 0.15em;
        text-transform: uppercase;
    }

    .sw-fa-fix-87 {
        margin: 0 auto;
        margin-top: 0 !important;
    }

    .sw-fa-fix-88 {
        display: none;
    }

    .sw-fa-fix-89 {
        display: none;
    }

    .sw-fa-fix-90 {
        background: #141414;
        padding: 12px 20px;
        border-bottom: 1px solid #334155;
        display: flex;
        gap: 8px;
        align-items: center;
        flex-shrink: 0;
    }

    .sw-fa-fix-91 {
        flex: 1;
        width: 100%;
        position: relative;
        overflow: hidden;
        background: #141414;
    }

    .sw-fa-fix-92 {
        border: 0;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
    }

    /* ===========================================
   ADA HEADING NORMALIZATION PRESENTATION CLASSES
   =========================================== */
    .sw-h2-presentation {
        font-size: clamp(2rem, 4vw, 3rem);
        font-weight: 700;
        line-height: 1.1;
        margin-bottom: 0.5em;
        font-family: 'Oswald', sans-serif;
    }

    .sw-h3-presentation {
        font-size: clamp(1.5rem, 3vw, 2.25rem);
        font-weight: 700;
        line-height: 1.2;
        margin-bottom: 0.5em;
        font-family: 'Oswald', sans-serif;
    }

    .sw-h4-presentation {
        font-size: clamp(1.1rem, 1.5vw, 1.5rem);
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 0.5em;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    /* ==========================================
       UNIVERSAL COMPAT BAR (POLISHED GLOWING CARD)
       ========================================== */
    @keyframes shimmer {
      0% {
        background-position: 0% 50%;
      }
      100% {
        background-position: 200% 50%;
      }
    }

    .text-shimmer-rainbow {
      background: linear-gradient(90deg, #ef5350, #f48fb1, #7e57c2, #2196f3, #26c6da, #43a047, #ff6f00, #ff5722);
      background-size: 200% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: shimmer 4s linear infinite;
    }

    .compat-bar-inline {
      text-align: center;
      margin: 18px auto 14px;
      font-family: 'Roboto Condensed', sans-serif !important;
      color: #ffffff !important;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%), #0d0f14;
      backdrop-filter: blur(16px) saturate(180%);
      -webkit-backdrop-filter: blur(16px) saturate(180%);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 10px 30px rgba(0, 0, 0, 0.4);
      border-radius: 12px;
      padding: 10px 24px;
      display: inline-block;
      position: relative;
      border: 1px solid transparent;
      line-height: 1.3;
      box-sizing: border-box;
    }

    .compat-bar-inline::before {
      content: '';
      position: absolute;
      inset: -1px;
      border-radius: 13px;
      padding: 1px;
      background: linear-gradient(90deg, #ef5350, #f48fb1, #7e57c2, #2196f3, #26c6da, #43a047, #ff6f00, #ff5722, #ef5350);
      background-size: 300% 100%;
      animation: shimmer 4s linear infinite;
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      opacity: 0.85;
      pointer-events: none;
    }

    .compat-bar-inline .compat-title-row {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      flex-wrap: wrap;
    }

    .compat-bar-inline .compat-heading {
      display: inline-block;
      color: #ffffff !important;
      font-size: 0.82rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }

    .compat-bar-inline .text-shimmer-rainbow {
      font-size: 0.88rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      background: linear-gradient(90deg, #ef5350, #f48fb1, #7e57c2, #2196f3, #26c6da, #43a047, #ff6f00, #ff5722);
      background-size: 200% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: shimmer 4s linear infinite;
      display: inline-block;
    }

    .compat-bar-inline .compat-platforms {
      text-transform: none;
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
      font-size: 0.88rem;
      font-weight: 600;
      color: #ffffff !important;
      letter-spacing: 0.02em;
      margin-top: 4px;
      margin-bottom: 0;
      opacity: 0.95;
    }
/* Hide Careers Link Globally */
a[href="/careers"] { display: none !important; }

/* ==========================================================================
   POLISHED CASE STUDY PREVIEW CARDS (High-Contrast Tech-Editorial)
   ========================================================================== */
.sw-case-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0 3.5rem;
}

@media (max-width: 991px) {
    .sw-case-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* Default light-theme card — scoped to vertical landing pages only.
   Dark-themed pages (e.g. /case-studies) define their own card styles inline. */
.sw-festival-page .sw-case-card,
.sw-tour-page .sw-case-card,
.sw-promoter-page .sw-case-card,
.sw-dsm-page .sw-case-card,
.sw-music-page .sw-case-card,
.sw-ecommerce-page .sw-case-card {
    background: radial-gradient(circle at top right, rgba(255, 106, 0, 0.05) 0%, transparent 65%), #ffffff !important;
    border: 1.5px solid #fed7aa !important;
    border-radius: 16px !important;
    padding: 1.75rem 1.75rem 1.5rem !important;
    position: relative;
    overflow: hidden !important;
    box-shadow: 0 10px 25px -5px rgba(255, 106, 0, 0.06), 0 4px 10px -2px rgba(15, 23, 42, 0.03) !important;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
}

/* Unstyled base for .sw-case-card — layout-only defaults for all pages */
.sw-case-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
}

.sw-case-card:hover {
    transform: translateY(-4px);
}

.sw-festival-page .sw-case-card:hover,
.sw-tour-page .sw-case-card:hover,
.sw-promoter-page .sw-case-card:hover,
.sw-dsm-page .sw-case-card:hover,
.sw-music-page .sw-case-card:hover,
.sw-ecommerce-page .sw-case-card:hover {
    box-shadow: 0 20px 35px -8px rgba(15, 23, 42, 0.12), 0 6px 16px -4px rgba(15, 23, 42, 0.06) !important;
}

/* Page Vertical Thematic Card Backgrounds & Borders */
.sw-festival-page .sw-case-card {
    background: radial-gradient(circle at top right, rgba(234, 88, 12, 0.06) 0%, transparent 65%), #ffffff !important;
    border-color: #fed7aa !important;
    box-shadow: 0 10px 25px -5px rgba(234, 88, 12, 0.08), 0 4px 10px -2px rgba(15, 23, 42, 0.03) !important;
}

.sw-tour-page .sw-case-card {
    background: radial-gradient(circle at top right, rgba(5, 150, 105, 0.06) 0%, transparent 65%), #ffffff !important;
    border-color: #a7f3d0 !important;
    box-shadow: 0 10px 25px -5px rgba(5, 150, 105, 0.08), 0 4px 10px -2px rgba(15, 23, 42, 0.03) !important;
}

.sw-promoter-page .sw-case-card {
    background: radial-gradient(circle at top right, rgba(2, 132, 199, 0.06) 0%, transparent 65%), #ffffff !important;
    border-color: #bae6fd !important;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.08), 0 4px 10px -2px rgba(15, 23, 42, 0.03) !important;
}

.sw-dsm-page .sw-case-card {
    background: radial-gradient(circle at top right, rgba(124, 58, 237, 0.06) 0%, transparent 65%), #ffffff !important;
    border-color: #ddd6fe !important;
    box-shadow: 0 10px 25px -5px rgba(124, 58, 237, 0.08), 0 4px 10px -2px rgba(15, 23, 42, 0.03) !important;
}

.sw-music-page .sw-case-card {
    background: radial-gradient(circle at top right, rgba(217, 119, 6, 0.06) 0%, transparent 65%), #ffffff !important;
    border-color: #fde68a !important;
    box-shadow: 0 10px 25px -5px rgba(217, 119, 6, 0.08), 0 4px 10px -2px rgba(15, 23, 42, 0.03) !important;
}

.sw-ecommerce-page .sw-case-card {
    background: radial-gradient(circle at top right, rgba(239, 68, 68, 0.05) 0%, transparent 65%), #ffffff !important;
    border-color: #fecaca !important;
    box-shadow: 0 10px 25px -5px rgba(239, 68, 68, 0.08), 0 4px 10px -2px rgba(15, 23, 42, 0.03) !important;
}

/* 4px Top Accent Bar — light-themed vertical pages only */
.sw-festival-page .sw-case-card::before,
.sw-tour-page .sw-case-card::before,
.sw-promoter-page .sw-case-card::before,
.sw-dsm-page .sw-case-card::before,
.sw-music-page .sw-case-card::before,
.sw-ecommerce-page .sw-case-card::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    width: auto !important;
    background: linear-gradient(90deg, #ff6a00, #ff944d) !important;
    animation: none !important;
}

.sw-festival-page .sw-case-card::before {
    background: linear-gradient(90deg, #ea580c, #f97316) !important;
}

.sw-tour-page .sw-case-card::before {
    background: linear-gradient(90deg, #059669, #10b981) !important;
}

.sw-promoter-page .sw-case-card::before {
    background: linear-gradient(90deg, #0284c7, #38bdf8) !important;
}

.sw-dsm-page .sw-case-card::before {
    background: linear-gradient(90deg, #7c3aed, #a78bfa) !important;
}

.sw-music-page .sw-case-card::before {
    background: linear-gradient(90deg, #d97706, #f59e0b) !important;
}

.sw-ecommerce-page .sw-case-card::before {
    background: linear-gradient(90deg, #dc2626, #ef4444) !important;
}

/* Icon Wrap — layout defaults (all pages) */
.sw-case-icon-wrap {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    transition: transform 0.2s ease;
}

/* Icon Wrap — light-theme colors (vertical pages only) */
.sw-festival-page .sw-case-icon-wrap,
.sw-tour-page .sw-case-icon-wrap,
.sw-promoter-page .sw-case-icon-wrap,
.sw-dsm-page .sw-case-icon-wrap,
.sw-music-page .sw-case-icon-wrap,
.sw-ecommerce-page .sw-case-icon-wrap {
    background: #fff7ed !important;
    border: 1.5px solid #fdba74 !important;
    color: #ea580c !important;
}

.sw-case-card:hover .sw-case-icon-wrap {
    transform: scale(1.05);
}

.sw-tour-page .sw-case-icon-wrap {
    background: #ecfdf5 !important;
    border-color: #6ee7b7 !important;
    color: #059669 !important;
}

.sw-promoter-page .sw-case-icon-wrap {
    background: #f0f9ff !important;
    border-color: #7dd3fc !important;
    color: #0284c7 !important;
}

.sw-dsm-page .sw-case-icon-wrap {
    background: #f5f3ff !important;
    border-color: #ddd6fe !important;
    color: #7c3aed !important;
}

.sw-music-page .sw-case-icon-wrap {
    background: #fef3c7 !important;
    border-color: #fde68a !important;
    color: #d97706 !important;
}

.sw-ecommerce-page .sw-case-icon-wrap {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #ef4444 !important;
}

.sw-case-icon-wrap svg {
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor !important;
    stroke-width: 2;
    fill: none !important;
}

/* Category Pill Badge — layout defaults (all pages) */
.sw-case-label {
    display: inline-flex;
    align-items: center;
    font-family: 'Roboto Condensed', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    margin-bottom: 0.85rem;
    align-self: flex-start;
}

/* Category Pill Badge — light-theme colors (vertical pages only) */
.sw-festival-page .sw-case-label,
.sw-tour-page .sw-case-label,
.sw-promoter-page .sw-case-label,
.sw-dsm-page .sw-case-label,
.sw-music-page .sw-case-label,
.sw-ecommerce-page .sw-case-label {
    color: #c2410c !important;
    background: #fff7ed !important;
    border: 1.5px solid #fdba74 !important;
}

.sw-tour-page .sw-case-label {
    color: #047857 !important;
    background: #ecfdf5 !important;
    border-color: #6ee7b7 !important;
}

.sw-promoter-page .sw-case-label {
    color: #0369a1 !important;
    background: #f0f9ff !important;
    border-color: #7dd3fc !important;
}

.sw-dsm-page .sw-case-label {
    color: #6d28d9 !important;
    background: #f5f3ff !important;
    border-color: #ddd6fe !important;
}

.sw-music-page .sw-case-label {
    color: #b45309 !important;
    background: #fef3c7 !important;
    border-color: #fde68a !important;
}

.sw-ecommerce-page .sw-case-label {
    color: #dc2626 !important;
    background: #fef2f2 !important;
    border-color: #fecaca !important;
}

/* Card Title — layout defaults (all pages) */
.sw-case-card h3,
.sw-case-card h4,
.sw-case-card .sw-h4-presentation {
    font-family: 'Roboto Condensed', sans-serif !important;
    font-size: 1.22rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.01em !important;
    margin: 0 0 0.85rem !important;
    line-height: 1.25 !important;
    min-height: 3.15rem !important;
    display: flex !important;
    align-items: flex-start !important;
    text-wrap: pretty;
}

/* Card text colors — light-theme vertical pages only */
.sw-festival-page .sw-case-card h3,
.sw-festival-page .sw-case-card h4,
.sw-festival-page .sw-case-card .sw-h4-presentation,
.sw-tour-page .sw-case-card h3,
.sw-tour-page .sw-case-card h4,
.sw-tour-page .sw-case-card .sw-h4-presentation,
.sw-promoter-page .sw-case-card h3,
.sw-promoter-page .sw-case-card h4,
.sw-promoter-page .sw-case-card .sw-h4-presentation,
.sw-dsm-page .sw-case-card h3,
.sw-dsm-page .sw-case-card h4,
.sw-dsm-page .sw-case-card .sw-h4-presentation,
.sw-music-page .sw-case-card h3,
.sw-music-page .sw-case-card h4,
.sw-music-page .sw-case-card .sw-h4-presentation,
.sw-ecommerce-page .sw-case-card h3,
.sw-ecommerce-page .sw-case-card h4,
.sw-ecommerce-page .sw-case-card .sw-h4-presentation {
    color: #0f172a !important;
}

.sw-case-card p {
    line-height: 1.55 !important;
    margin: 0 0 0.65rem !important;
    font-size: 0.88rem !important;
    text-wrap: pretty;
}

.sw-festival-page .sw-case-card p,
.sw-tour-page .sw-case-card p,
.sw-promoter-page .sw-case-card p,
.sw-dsm-page .sw-case-card p,
.sw-music-page .sw-case-card p,
.sw-ecommerce-page .sw-case-card p {
    color: #475569 !important;
}

.sw-case-card strong {
    font-weight: 700 !important;
}

.sw-festival-page .sw-case-card strong,
.sw-tour-page .sw-case-card strong,
.sw-promoter-page .sw-case-card strong,
.sw-dsm-page .sw-case-card strong,
.sw-music-page .sw-case-card strong,
.sw-ecommerce-page .sw-case-card strong {
    color: #0f172a !important;
}

/* High-Contrast Dark Telemetry Metric Readout - Pixel-Perfect Uniform Height */
.sw-case-result {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 52px !important;
    height: 52px !important;
    box-sizing: border-box !important;
    padding: 0 10px !important;
    background: linear-gradient(135deg, #090d14 0%, #1e293b 100%) !important;
    border: 1px solid #334155 !important;
    border-radius: 10px !important;
    font-family: 'Roboto Condensed', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-top: auto !important;
    margin-bottom: 1.15rem !important;
    text-align: center !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.25) !important;
    color: #ffaa66 !important;
}

.sw-festival-page .sw-case-result {
    color: #ffaa66 !important;
}

.sw-tour-page .sw-case-result {
    color: #6ee7b7 !important;
}

.sw-promoter-page .sw-case-result {
    color: #7dd3fc !important;
}

.sw-dsm-page .sw-case-result {
    color: #e9d5ff !important;
}

.sw-music-page .sw-case-result {
    color: #fde68a !important;
}

.sw-ecommerce-page .sw-case-result {
    color: #fca5a5 !important;
}

.sw-case-result::before {
    content: '' !important;
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #ff6a00 !important;
    box-shadow: 0 0 8px #ff6a00 !important;
    flex-shrink: 0 !important;
}

.sw-tour-page .sw-case-result::before {
    background: #10b981 !important;
    box-shadow: 0 0 8px #10b981 !important;
}

.sw-promoter-page .sw-case-result::before {
    background: #0ea5e9 !important;
    box-shadow: 0 0 8px #0ea5e9 !important;
}

.sw-dsm-page .sw-case-result::before {
    background: #a78bfa !important;
    box-shadow: 0 0 8px #a78bfa !important;
}

.sw-music-page .sw-case-result::before {
    background: #f59e0b !important;
    box-shadow: 0 0 8px #f59e0b !important;
}

.sw-ecommerce-page .sw-case-result::before {
    background: #ef4444 !important;
    box-shadow: 0 0 8px #ef4444 !important;
}

/* Vibrant Action CTA */
.sw-case-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: 'Roboto Condensed', sans-serif !important;
    font-size: 0.84rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #ea580c !important;
    text-decoration: none !important;
    transition: color 0.15s ease, transform 0.15s ease;
}

.sw-tour-page .sw-case-link {
    color: #059669 !important;
}

.sw-promoter-page .sw-case-link {
    color: #0284c7 !important;
}

.sw-dsm-page .sw-case-link {
    color: #7c3aed !important;
}

.sw-music-page .sw-case-link {
    color: #d97706 !important;
}

.sw-ecommerce-page .sw-case-link {
    color: #dc2626 !important;
}

.sw-case-link:hover {
    text-decoration: none !important;
    transform: translateX(4px);
    opacity: 0.85;
}

/* =============================================================================
   MOBILE PERFORMANCE & LAYOUT OPTIMIZATIONS
   ============================================================================= */
pre, code {
    -webkit-overflow-scrolling: touch;
}

pre {
    max-width: 100%;
    overflow-x: auto;
}

@media (max-width: 768px) {
    /* Clear fixed hamburger button on mobile section headers */
    .sw-fa-header,
    
    .sw-section-label-row {
        padding-right: 50px;
    }
    
    /* Ensure floating back-to-top clears iOS home bar */
    .sw-back-to-top,
    #sw-back-to-top,
    .back-to-top {
        bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
        right: calc(16px + env(safe-area-inset-right, 0px)) !important;
    }
}

/* =============================================================================
   RECAPTCHA BADGE DISPLAY
   ============================================================================= */
.grecaptcha-badge {
    visibility: hidden !important;
}





/* ===========================================
   SOUNDWAVE ORANGE SHIMMER EFFECT
   =========================================== */
.sw-orange-shimmer {
    background: linear-gradient(
        90deg,
        #ea580c 0%,
        #f97316 20%,
        #ffedd5 45%,
        #ffffff 50%,
        #ffedd5 55%,
        #f97316 80%,
        #ea580c 100%
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: shimmer 3.5s linear infinite;
}

/* =============================================================================
   STANDARDIZED HERO SPACING & TYPOGRAPHY SYSTEM
   ============================================================================= */

/* 1. Unified Kicker Pill */
.hero-feature-pills,
.sw-hero-feature-pills {
  display: flex;
  justify-content: center;
  margin: 0 auto 10px;
}

.hero-pill,
.sw-hero-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 20px;
  border-radius: 20px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
  color: #cbd5e1;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.hero-pill::before,
.sw-hero-pill::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ff6000;
  box-shadow: 0 0 10px #ff6000;
}

/* 2. Unified Hero Display Title */
.sw-hero-title {
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: clamp(2.2rem, 4.4vw, 3.8rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  margin-top: 0;
  margin-bottom: 18px;
  line-height: 1.02;
  word-break: keep-all;
  hyphens: none !important;
}

.sw-hero-title .h1-line-1,
.sw-hero-title .h1-line-2,
.sw-hero-title .h1-line-3 {
  display: block;
}

.sw-hero-title .h1-line-1 {
  font-size: 0.82em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}

.sw-hero-title .h1-line-2 {
  font-size: 1.0em;
  line-height: 1.05;
}

/* 3. Unified Subhead */
.sw-hero-subhead {
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: clamp(1.0rem, 1.8vw, 1.25rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.75);
  max-width: 760px;
  margin: 0 auto 24px auto;
  font-weight: 400;
}

/* 4. Unified Hero CTAs */
.sw-hero-ctas {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-bottom: 36px;
}

/* =============================================================================
   MOBILE TERMINAL BUTTON ENHANCEMENT
   ============================================================================= */
@media (max-width: 768px) {
  .sw-btn-terminal {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    padding: 0.875rem 1rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.05em !important;
    white-space: normal !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #chatbotCta {
    min-height: 44px;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* =============================================================================
   DEFENSIVE MOBILE VIEWPORT & OVERFLOW GUARDRAILS
   ============================================================================= */

/* Prevent accidental horizontal document expansion while preserving sticky positioning */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip !important;
}

/* Ensure code blocks, matrix tables, and embedded previews scroll internally */
pre,
.matrix-container,
.table-responsive {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Defensive aspect ratio enforcement for hero imagery on mobile */
@media (max-width: 768px) {
  .hero-carousel-viewport {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
  }

  .hero-carousel-slide img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }
}


