/* _content/DSE.BlazorWebsite/Pages/About.razor.rz.scp.css */
/* ========== 
   /about page (CSS isolation)
   ========== */

/* Ensure San Francisco everywhere on this page */
.about :where(*)[b-c4eiroriu1] {
    font-family: "SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont, "Segoe UI",Roboto,Inter,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
}

/* ===== Hero Section (matches Contact heading style) ===== */
.about-hero[b-c4eiroriu1] {
    text-align: center;
    max-width: 72ch;
    margin-inline: auto;
    padding-top: 10px; /* same top spacing as contact */
}

.about-title[b-c4eiroriu1] {
    margin: 0;
    font-size: clamp(28px, 3.2vw, 36px); /* same size as Contact page title */
    font-weight: 700; /* same boldness */
    color: var(--ink);
}

.about-intro[b-c4eiroriu1] {
    margin: 8px auto 0;
    font-size: 18px;
    line-height: 1.5;
    color: var(--ink);
    max-width: 72ch;
}

/* ===== Map Card ===== */
.about-card[b-c4eiroriu1] {
    position: relative;
    margin-top: 20px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #fff;
    padding: 0;
    box-shadow: var(--shadow-md);
    min-height: 520px;
    overflow: hidden;
}

.about-card--bg[b-c4eiroriu1] {
    background-image: var(--about-bg);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

/* ===== Overlay container ===== */
.about-map-overlays[b-c4eiroriu1] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

/* ===== Pins ===== */
.map-pin[b-c4eiroriu1] {
    --x: 50%;
    --y: 50%;
    position: absolute;
    left: var(--x);
    top: var(--y);
    transform: translate(-50%,-50%);
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 6px;
    background: transparent;
    border: 0;
    padding: 0;
    pointer-events: auto;
    cursor: default;
}

/* Dot (always visible) */
.map-pin__dot[b-c4eiroriu1] {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--accent-orange,#ff6a00);
    box-shadow: 0 0 0 4px rgba(255,106,0,.18), 0 6px 16px rgba(0,0,0,.2);
    transition: box-shadow .22s ease;
}

/* Label (animated reveal on hover/focus) */
.map-pin__label[b-c4eiroriu1] {
    background: rgba(0,0,0,.75);
    color: #fff;
    font-size: 14px;
    line-height: 1;
    padding: 6px 10px;
    border-radius: 8px;
    white-space: nowrap;
    box-shadow: 0 6px 16px rgba(0,0,0,.25);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(2px);
    opacity: 0;
    transform: translateX(-6px);
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
}

/* Show on hover and keyboard focus */
.map-pin:hover .map-pin__label[b-c4eiroriu1],
.map-pin:focus-visible .map-pin__label[b-c4eiroriu1] {
    opacity: 1;
    transform: translateY(0);
}

.map-pin:hover .map-pin__dot[b-c4eiroriu1],
.map-pin:focus-visible .map-pin__dot[b-c4eiroriu1] {
    box-shadow: 0 0 0 6px rgba(255,106,0,.25), 0 8px 20px rgba(0,0,0,.3);
}

/* Motion-safe */
@media (prefers-reduced-motion: reduce) {
    .map-pin__label[b-c4eiroriu1], .map-pin__dot[b-c4eiroriu1] {
        transition: none;
    }
}

/* Responsive */
@media (max-width:600px) {
    .about-intro[b-c4eiroriu1] {
        font-size: 17px;
    }

    .about-card[b-c4eiroriu1] {
        min-height: 420px;
    }

    .map-pin__label[b-c4eiroriu1] {
        font-size: 12px;
        padding: 4px 8px;
    }

    .map-pin__dot[b-c4eiroriu1] {
        width: 12px;
        height: 12px;
    }
}
/* _content/DSE.BlazorWebsite/Pages/Contact.razor.rz.scp.css */
/* ===== Contact page (light) ===== */
:root[b-4xw8hpterj] {
    --bg: #ffffff;
    --ink: #0b0f15;
    --muted: #667085;
    --border: #e7e7ea;
    --container: 1200px; /* same as portal */
    --shadow-md: 0 18px 40px rgba(0,0,0,.10);
}

/* San Francisco everywhere on this page */
.contact[b-4xw8hpterj], .contact *[b-4xw8hpterj] {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, "Noto Sans", system-ui, sans-serif !important;
    letter-spacing: -.01em;
}

/* ===== Section wrapper ===== */
.contact--wide[b-4xw8hpterj] {
    background: var(--bg);
    padding: clamp(20px, 4vw, 36px) 0; /* page breathing room */
    padding-top: 8px; /* pull section slightly higher */
}

/* ===== Page header (aligns to container axis) ===== */
.contact-page-header[b-4xw8hpterj] {
    max-width: var(--container);
    margin-inline: auto;
    padding: 0 24px 10px; /* same gutters as container/card */
    text-align: center;
    margin-top: 0px; /* gentle nudge up */
}

.contact-page-title[b-4xw8hpterj] {
    margin: 0;
    font-size: clamp(28px, 3.2vw, 36px);
    font-weight: 700;
    color: var(--ink);
}

/* ===== Shared container (site-wide) ===== */
.container[b-4xw8hpterj] {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: 0; /* keep identical to portal */
}

/* ===== Card base ===== */
.card[b-4xw8hpterj] {
    border-radius: 0;
    box-shadow: var(--shadow-md);
    border: 0;
}

    /* Prevent white bg overriding gradients on contact card */
    .card.contact-aside[b-4xw8hpterj] {
        background-color: transparent;
    }

/* ===== Blue gradient card ===== */
.contact-aside[b-4xw8hpterj] {
    color: #fff;
    /* Deep Grey → Teal-Blue */
    background-image: linear-gradient(180deg, #000000 0%, #0099cc 100%);
    text-align: center;
}

/* ===== Blue card: SAME AXIS & WIDTH AS HEADER/CONTAINER ===== */
.contact-aside--wide[b-4xw8hpterj] {
    max-width: var(--container); /* align width to container */
    margin-inline: auto; /* center horizontally */
    min-height: 400px;
    padding-inline: 24px; /* same gutters as header */
    padding-block: clamp(14px, 2.2vw, 22px);
    display: grid;
    place-items: center; /* center content on same center line */
    align-content: start;
    gap: 12px;
}

/* ===== Typography inside the blue card ===== */
.aside-title[b-4xw8hpterj] {
    margin: 4px 0 10px;
    font-size: 22px;
    font-weight: 700;
}

.contact-aside .aside-title[b-4xw8hpterj],
.contact-aside .aside-block[b-4xw8hpterj] {
    max-width: 720px;
    width: 100%;
    margin-inline: auto;
}

.aside-block[b-4xw8hpterj] {
    margin-top: 10px;
}

    .aside-block h3[b-4xw8hpterj] {
        margin: 0 0 6px;
        font-size: 14px;
        font-weight: 700;
        opacity: .95;
    }

    .aside-block p[b-4xw8hpterj] {
        margin: 0 0 6px;
        font-size: 14px;
        opacity: .95;
    }

.muted[b-4xw8hpterj] {
    opacity: .85;
}

/* ===== Social row ===== */
.social[b-4xw8hpterj] {
    display: flex;
    gap: 12px;
    margin-top: 6px;
    justify-content: center;
}

.ico[b-4xw8hpterj] {
    width: 18px;
    height: 18px;
    color: #fff;
    opacity: .95;
}

.contact-aside a[b-4xw8hpterj] {
    color: #fff;
    text-decoration: underline;
}

/* ===== Small screens ===== */
@media (max-width: 640px) {
    .contact-aside--wide[b-4xw8hpterj] {
        min-height: 420px;
    }
}
/* _content/DSE.BlazorWebsite/Pages/Index.razor.rz.scp.css */
:root[b-h7dy3dwhvb] {
    --bg: #fff;
    --ink: #0b0f15;
    --muted: #667085;
    --border: #e7e7ea;
    --container: 1200px;
    --shadow-sm: 0 1px 0 rgba(0,0,0,.08),0 0 0 .5px rgba(0,0,0,.06) inset;
    --radius: 16px;
    --hero-start: #f8f9fb;
    --hero-end: #eef2f7;
}

.home :where(*)[b-h7dy3dwhvb] {
    font-family: -apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",system-ui,sans-serif;
    letter-spacing: -.01em;
}

.container[b-h7dy3dwhvb] {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: 24px;
}

/* HERO */
.hero[b-h7dy3dwhvb] {
    padding-block: clamp(22px,6vw,64px);
    background: linear-gradient(180deg, var(--hero-start) 0%, var(--hero-end) 100%);
}

.hero--tight[b-h7dy3dwhvb] {
    padding-block: clamp(18px,5vw,52px);
}

.title[b-h7dy3dwhvb] {
    margin: 8px 0 0;
    font-weight: 800;
    font-size: clamp(32px,6vw,56px);
    line-height: 1.04;
    letter-spacing: -.02em;
}

.intro[b-h7dy3dwhvb] {
    margin-top: 12px;
    color: var(--muted);
    font-size: 18px;
    max-width: 70ch;
}

/* FULL-BLEED BANNER */
.banner[b-h7dy3dwhvb] {
    position: relative;
    background-image: var(--src);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: clamp(260px,40vw,520px);
    display: grid;
    align-content: center;
}

.banner--bleed[b-h7dy3dwhvb] {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    margin-block: 0;
    box-shadow: var(--shadow-sm);
}

.banner--tight[b-h7dy3dwhvb] {
    min-height: clamp(220px,34vw,460px);
}

.banner__overlay[b-h7dy3dwhvb] {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(2,6,12,.12) 0%, rgba(2,6,12,.24) 100%);
}

.banner__content[b-h7dy3dwhvb] {
    position: relative;
    padding-block: clamp(14px,5vw,32px);
    display: grid;
    gap: 6px;
}

.banner__title[b-h7dy3dwhvb] {
    margin: 0;
    color: #fff;
    font-weight: 800;
    font-size: clamp(22px,4vw,34px);
    letter-spacing: -.02em;
}

.banner__copy[b-h7dy3dwhvb] {
    margin: 0;
    color: #f1f5fb;
}

/* _content/DSE.BlazorWebsite/Pages/Portal.razor.rz.scp.css */
/* ========== 
   /portal page (CSS isolation)
   ========== */

.portal[b-bfv1gl9inm] {
    padding-top: 10px;
}

.portal-hero[b-bfv1gl9inm] {
    text-align: center;
}

.portal-title[b-bfv1gl9inm] {
    margin: 0;
}

.portal-tagline[b-bfv1gl9inm] {
    margin-top: 10px;
}

/* ---- Card with background image that never crops ---- */
.portal-card[b-bfv1gl9inm] {
    position: relative;
    margin-top: 12px; /* slightly tighter now that CTA sits above */
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 0;
    background: #000; /* shows only where the image doesn't fill */
    color: #fff;
    padding: 0;
    box-shadow: 0 10px 30px rgba(0,0,0,.35);
    min-height: 520px; /* adjust height if needed */
    overflow: hidden; /* ensures rounded corners clip the bg */
}

/* Use the CSS var for the image */
.portal-card--bg[b-bfv1gl9inm] {
    background-image: var(--portal-bg);
    background-size: 946px; /* keeps entire image visible; no cropping */
    background-position: center center;
    background-repeat: no-repeat; /* no tiling */
    background-origin: border-box; /* respect border radius edge */
    background-clip: border-box; /* keep inside rounded corners */
}

/* ===== CTA (usable inside or outside card) ===== */
.portal-cta-row[b-bfv1gl9inm] {
    position: static; /* outside the card now */
    z-index: auto;
    margin-top: 16px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

/* Standalone CTA under the heading, above the card */
.portal-cta-row--standalone[b-bfv1gl9inm] {
    margin-top: 15px;
    margin-bottom: 20px; /* space before the card */
}

/* Pill button */
.portal-cta[b-bfv1gl9inm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 9999px;
    text-decoration: none;
    font-weight: 650;
    letter-spacing: .2px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    color: #fff;
    transition: transform .15s, box-shadow .15s, background .15s, color .15s, border-color .15s;
}

    .portal-cta:hover[b-bfv1gl9inm] {
        transform: translateY(-1px);
        box-shadow: 0 10px 30px rgba(0,0,0,.5);
    }

/* Primary orange pill */
.portal-cta--primary[b-bfv1gl9inm] {
    background: var(--accent-orange, #ff6a00);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 6px 18px rgba(255,106,0,.25);
}

    .portal-cta--primary:hover[b-bfv1gl9inm] {
        transform: translateY(-1px);
        box-shadow: 0 12px 32px rgba(255,106,0,.35);
    }

/* Responsive tweaks */
@media (max-width: 900px) {
    .portal[b-bfv1gl9inm] {
        padding-top: 100px;
    }
}

@media (max-width: 600px) {
    .portal-cta[b-bfv1gl9inm] {
        width: 100%;
    }
}

/* Optional: ensure San Francisco on this page if not set globally */
.portal :where(h1, p, a, button)[b-bfv1gl9inm] {
    font-family: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Ubuntu, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}
/* _content/DSE.BlazorWebsite/Pages/Products.razor.rz.scp.css */
:root[b-n9x47cv4lu] {
    --container: 1200px;
    --ink: #0b0f15;
    --muted: #667085;
    --tint-1: 210 100% 97%;
    --tint-2: 180 60% 96%;
    --tint-3: 42 100% 96%;
    --tint-4: 260 70% 96%;
    --ai-accent: #67e8f9;
    --ai-accent-2: #a78bfa;
}

/* Font everywhere */
.products[b-n9x47cv4lu], .products *[b-n9x47cv4lu] {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, "Noto Sans", system-ui, sans-serif !important;
    letter-spacing: -.01em;
}

/* ===== PRODUCTS HEADER ===== */
.section[b-n9x47cv4lu] {
    padding-top: 15px; /* matches Contact page */
    padding-bottom: clamp(28px, 5vw, 56px);
}

.products-header[b-n9x47cv4lu] {
    max-width: var(--container);
    margin-inline: auto;
    padding: 0 24px 10px;
    text-align: center;
    margin-top: -6px;
}

    .products-header h1[b-n9x47cv4lu] {
        margin: 0;
        font-size: clamp(28px, 3.2vw, 36px);
        font-weight: 700;
        color: var(--ink);
    }

    .products-header .lead[b-n9x47cv4lu] {
        color: var(--muted);
        font-size: clamp(16px, 1.8vw, 18px);
        margin-top: 8px;
    }

/* ===== GRID ===== */
.container[b-n9x47cv4lu] {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: 24px;
}

.products-grid[b-n9x47cv4lu] {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(16px, 2vw, 24px);
}

@media (min-width: 860px) {
    .products-grid[b-n9x47cv4lu] {
        grid-template-columns: 1fr 1fr;
    }
}

/* ===== CARD BASE ===== */
.product-card[b-n9x47cv4lu] {
    position: relative;
    aspect-ratio: 16 / 10;
    background: #f7f9fc;
    background-image: var(--bg-url);
    background-size: cover;
    background-position: center;
    border: 1px solid rgba(0,0,0,.06);
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
    transition: box-shadow .25s ease, filter .25s ease;
}

    /* Light readability wash (disabled per-card where needed) */
    .product-card[b-n9x47cv4lu]::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(255,255,255,.5) 0%, rgba(255,255,255,.25) 60%, rgba(255,255,255,.08) 100%), var(--tint);
        mix-blend-mode: lighten;
        z-index: 0;
    }

/* Tints */
.product-card--1[b-n9x47cv4lu] {
    --tint: hsl(var(--tint-1));
}

.product-card--2[b-n9x47cv4lu] {
    --tint: hsl(var(--tint-2));
}

.product-card--3[b-n9x47cv4lu] {
    --tint: hsl(var(--tint-3));
}

.product-card--4[b-n9x47cv4lu] {
    --tint: hsl(var(--tint-4));
}

/* ===== TEXT ===== */
.product-overlay[b-n9x47cv4lu] {
    position: absolute;
    inset: 0;
    display: grid;
    align-content: end;
    padding: clamp(18px, 3vw, 28px);
    z-index: 1;
    color: #0b0f15;
    text-shadow: 0 1px 3px rgba(255,255,255,.7), 0 2px 10px rgba(255,255,255,.5);
}

.product-title[b-n9x47cv4lu] {
    margin: 0;
    font-size: clamp(18px, 2.2vw, 22px);
    font-weight: 800;
    letter-spacing: -.02em;
}

.product-sub[b-n9x47cv4lu] {
    margin: 4px 0 0;
    font-size: clamp(14px, 1.6vw, 16px);
    color: color-mix(in srgb, var(--ink) 80%, white 20%);
}

.product-bullets[b-n9x47cv4lu] {
    margin: 10px 0 0;
    padding-left: 18px;
    font-size: clamp(13px, 1.5vw, 15px);
    color: color-mix(in srgb, var(--ink) 85%, white 15%);
}

    .product-bullets li[b-n9x47cv4lu] {
        margin: 2px 0;
    }

/* ===== HOVER EFFECT ===== */
.product-card:hover[b-n9x47cv4lu] {
    box-shadow: 0 0 0 1px rgba(103,232,249,.5), 0 0 18px rgba(103,232,249,.2), 0 26px 60px rgba(0,0,0,.14);
    filter: saturate(1.05) contrast(1.03);
}

/* Neon edge sweep */
.product-card[b-n9x47cv4lu]::after {
    content: "";
    position: absolute;
    inset: -2px;
    background: conic-gradient(from var(--sweep, 0deg), transparent 0 20%, rgba(103,232,249,.8) 22%, transparent 25% 45%, rgba(167,139,250,.8) 47%, transparent 50% 70%, rgba(103,232,249,.8) 72%, transparent 75% 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    padding: 2px;
    border-radius: 2px;
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
}

.product-card:hover[b-n9x47cv4lu]::after {
    opacity: .9;
    animation: sweep-b-n9x47cv4lu 2.6s linear infinite;
}

@keyframes sweep-b-n9x47cv4lu {
    to {
        --sweep: 360deg;
    }
}

/* ===== INLINE DOSER IMAGE OFFSET ===== */
.product-card--2[b-n9x47cv4lu] {
    background-position: center calc(50% - 30px);
}

/* ========================================================= */
/* ============ PORTAL AI — particles + glow pulse ========== */
/* ========================================================= */
.product-card--ai[b-n9x47cv4lu] {
    grid-column: 1 / -1;
    aspect-ratio: 32 / 9;
    background-color: #111317;
    /* full-width hue + logo (final layer) */
    background-image: linear-gradient(90deg, rgba(32,58,96,.65) 0%, rgba(54,36,104,.65) 100%), radial-gradient(80% 120% at 25% 50%, rgba(103,232,249,.38), transparent 70%), radial-gradient(80% 120% at 75% 50%, rgba(167,139,250,.38), transparent 70%), var(--bg-url);
    background-repeat: no-repeat;
    background-position: center, 25% 50%, 75% 50%, 50% 52%;
    background-size: cover, 140% 140%, 140% 140%, 28%; /* logo smaller */
    background-blend-mode: overlay, screen, screen, normal;
    color: #fff;
    overflow: hidden;
}

    /* === Randomly drifting particle layers === */
    .product-card--ai[b-n9x47cv4lu]::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        opacity: .25;
        mix-blend-mode: screen;
        background: radial-gradient(rgba(103,232,249,.9) 1px, transparent 2px) 0 0/ 88px 88px, radial-gradient(rgba(167,139,250,.9) 1px, transparent 2px) 44px 44px/ 120px 120px, radial-gradient(rgba(103,232,249,.8) 1px, transparent 2px) 22px 88px/ 160px 160px, radial-gradient(rgba(167,139,250,.7) 1px, transparent 2px) 66px 22px/ 200px 200px;
        animation: drift1-b-n9x47cv4lu 90s linear infinite, drift2-b-n9x47cv4lu 120s linear infinite reverse, drift3-b-n9x47cv4lu 80s linear infinite alternate;
    }

    /* === Breathing glow pulse with gentle hue shift === */
    .product-card--ai[b-n9x47cv4lu]::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2; /* above particles, below text */
        pointer-events: none;
        background: radial-gradient(65% 85% at 30% 50%, rgba(103,232,249,.30), transparent 70%), radial-gradient(65% 85% at 70% 50%, rgba(167,139,250,.30), transparent 70%);
        mix-blend-mode: screen;
        opacity: .42;
        filter: hue-rotate(0deg) saturate(1.02);
        animation: portalBreath-b-n9x47cv4lu 7.6s ease-in-out infinite, portalHue-b-n9x47cv4lu 21.8s linear infinite;
    }

    /* === Text layer === */
    .product-card--ai .product-overlay[b-n9x47cv4lu] {
        position: relative;
        z-index: 4;
        color: #fff;
        text-shadow: 0 2px 10px rgba(0,0,0,.5);
    }

    .product-card--ai .product-title[b-n9x47cv4lu],
    .product-card--ai .product-sub[b-n9x47cv4lu],
    .product-card--ai .product-bullets li[b-n9x47cv4lu] {
        color: #fff;
    }

    .product-card--ai .product-title[b-n9x47cv4lu] {
        text-shadow: 0 0 14px rgba(103,232,249,.35), 0 0 24px rgba(167,139,250,.25);
    }

    /* === Hover response === */
    .product-card--ai:hover[b-n9x47cv4lu]::after {
        animation-duration: 6.2s, 19.4s; /* breath, hue */
        opacity: .5;
    }

/* === Animations === */
@keyframes drift1-b-n9x47cv4lu {
    0% {
        background-position: 0 0, 44px 44px, 22px 88px, 66px 22px;
    }

    100% {
        background-position: 1000px 800px, -1000px 600px, 800px -600px, -600px -800px;
    }
}

@keyframes drift2-b-n9x47cv4lu {
    0% {
        background-position: 0 0, 0 0, 0 0, 0 0;
    }

    100% {
        background-position: -800px 600px, 800px -600px, -400px 400px, 400px -400px;
    }
}

@keyframes drift3-b-n9x47cv4lu {
    0% {
        background-position: 0 0, 0 0, 0 0, 0 0;
    }

    100% {
        background-position: 600px -400px, -600px 800px, 400px -200px, -200px 600px;
    }
}

@keyframes portalBreath-b-n9x47cv4lu {
    0%,100% {
        opacity: .28;
        transform: scale(1);
    }

    50% {
        opacity: .58;
        transform: scale(1.02);
    }
}

@keyframes portalHue-b-n9x47cv4lu {
    0% {
        filter: hue-rotate(0deg) saturate(1.02);
    }

    23% {
        filter: hue-rotate(10deg) saturate(1.06);
    }

    47% {
        filter: hue-rotate(-6deg) saturate(1.00);
    }

    71% {
        filter: hue-rotate(14deg) saturate(1.05);
    }

    100% {
        filter: hue-rotate(0deg) saturate(1.02);
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .product-card--ai[b-n9x47cv4lu]::before,
    .product-card--ai[b-n9x47cv4lu]::after {
        animation: none;
        opacity: .36;
        transform: none;
    }
}

.product-card--4[b-n9x47cv4lu] {
    background-size: 65%; /* reduce image size — try 70–90% for tuning */
    background-repeat: no-repeat;
    background-position: center; /* ensures it stays centered */
}

.product-card--2[b-n9x47cv4lu] {
    background-size: contain;
    background-position:  calc(50% + 30px) calc(50% -80px); /* move right & keep upward offset */
}
/* _content/DSE.BlazorWebsite/Shared/MainLayout.razor.rz.scp.css */
:root[b-xk6dg2s6wa] {
    --bg: #fff;
    --ink: #0b0f15;
    --muted: #667085;
    --border: #e7e7ea;
    --accent-orange: #ff6a00;
    --accent-green: #17a36b;
    --container: 1200px;
    --shadow-sm: 0 1px 2px rgba(0,0,0,.06);
    --shadow-md: 0 10px 30px rgba(0,0,0,.08);
}

:root[b-xk6dg2s6wa], html[b-xk6dg2s6wa], body[b-xk6dg2s6wa] {
    font-family: "SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont, "Segoe UI",Roboto,Inter,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
}

*[b-xk6dg2s6wa] {
    box-sizing: border-box;
}

body[b-xk6dg2s6wa] {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
}

.container[b-xk6dg2s6wa] {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: 24px;
}

/* ===== Translucent black header (64px) ===== */
.topbar[b-xk6dg2s6wa] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 64px;
    z-index: 1000;
    background: rgba(0,0,0,.72);
    border-bottom: 1px solid rgba(255,255,255,.08);
    -webkit-backdrop-filter: saturate(180%) blur(10px);
    backdrop-filter: saturate(180%) blur(10px);
    box-shadow: none;
}

.topbar-row[b-xk6dg2s6wa] {
    height: 64px;
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: flex-start; /* Nav fills the row */
    padding-left: 20px;
    padding-right: 24px;
}

/* Content offset below fixed header */
.site-main[b-xk6dg2s6wa] {
    padding-top: 72px; /* 64 + 8 breathing */
    min-height: calc(100vh - 72px);
}

/* ===== Footer: SF Pro + uniform grey text ===== */
.site-footer[b-xk6dg2s6wa],
.site-footer *[b-xk6dg2s6wa] {
    font-family: "SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont, "Segoe UI",Roboto,Inter,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif !important;
    color: #7a7f87 !important; /* medium grey for all footer text */
}

    .site-footer a:hover[b-xk6dg2s6wa] {
        color: #9aa1aa !important;
    }

/* Force single-line layout: © on left, links on right */
.footer-row[b-xk6dg2s6wa] {
    display: flex;
    align-items: center;
    justify-content: space-between; /* left + right */
    padding: 16px 0;
}

    .footer-row p[b-xk6dg2s6wa] {
        margin: 0;
    }

.footer-nav[b-xk6dg2s6wa] {
    display: flex;
    gap: 20px; /* spacing between links */
}



/* Error UI */
#blazor-error-ui[b-xk6dg2s6wa] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0,0,0,.2);
    display: none;
    left: 0;
    padding: .6rem 1.25rem .7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-xk6dg2s6wa] {
        cursor: pointer;
        position: absolute;
        right: .75rem;
        top: .5rem;
    }

/* Utilities (unchanged) */
.section[b-xk6dg2s6wa] {
    padding: 80px 0;
}

.h1[b-xk6dg2s6wa] {
    font-size: clamp(36px,6vw,56px);
    line-height: 1.05;
    font-weight: 750;
    letter-spacing: -.5px;
}

.h2[b-xk6dg2s6wa] {
    font-size: clamp(28px,4.5vw,40px);
    line-height: 1.1;
    font-weight: 720;
}

.lead[b-xk6dg2s6wa] {
    font-size: 18px;
    color: var(--muted);
    max-width: 72ch;
}

.grid[b-xk6dg2s6wa] {
    display: grid;
    gap: 24px;
}

    .grid.cols-2[b-xk6dg2s6wa] {
        grid-template-columns: repeat(2,1fr);
    }

    .grid.cols-3[b-xk6dg2s6wa] {
        grid-template-columns: repeat(3,1fr);
    }

@media (max-width:900px) {
    .grid.cols-2[b-xk6dg2s6wa], .grid.cols-3[b-xk6dg2s6wa] {
        grid-template-columns: 1fr;
    }
}

.card[b-xk6dg2s6wa] {
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #fff;
    padding: 24px;
    box-shadow: var(--shadow-sm);
}

.button[b-xk6dg2s6wa] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: 999px;
    border: 1px solid var(--border);
    text-decoration: none;
    color: var(--ink);
    box-shadow: var(--shadow-sm);
    transition: transform .15s, box-shadow .15s, background .15s;
}

    .button:hover[b-xk6dg2s6wa] {
        transform: translateY(-1px);
        box-shadow: var(--shadow-md);
    }

    .button.primary[b-xk6dg2s6wa] {
        background: var(--accent-orange);
        color: #fff;
        border-color: transparent;
    }

    .button.secondary[b-xk6dg2s6wa] {
        background: #f6fefb;
        color: var(--ink);
        border-color: #d8f5ea;
    }

.badge[b-xk6dg2s6wa] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border: 1px solid #ffe3d0;
    background: #fff6ef;
    color: #9a3e00;
    font-size: 12px;
}

/* Safety override (ensures white SF links if any global CSS wins specificity) */
.topbar-row[b-xk6dg2s6wa] (.nav-links a),
.topbar-row[b-xk6dg2s6wa] (.nav-links a:link),
.topbar-row[b-xk6dg2s6wa] (.nav-links a:visited),
.topbar-row[b-xk6dg2s6wa] (.nav-links a:hover),
.topbar-row[b-xk6dg2s6wa] (.nav-links a:active) {
    color: #fff !important;
    text-decoration: none !important;
    font-family: "SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont, "Segoe UI",Roboto,Inter,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif !important;
}
/* _content/DSE.BlazorWebsite/Shared/NavMenu.razor.rz.scp.css */
/* === NavMenu.razor.css === */

/* Root nav inside header */
.topnav[b-rcgsrd42jz] {
    display: flex;
    align-items: center;
    justify-content: center; /* centers the whole link group */
    height: 64px; /* match header height */
    padding: 0;
    flex: 1 1 auto; /* fill space to the right (within .topbar-row) */
}

/* Centered, tighter group (logo counts as an item) */
.nav-links[b-rcgsrd42jz] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 48px; /* adjust 28–40px to taste */
    max-width: 700px; /* keeps the group compact */
    margin: 0 auto;
    font-family: "SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont, "Segoe UI",Roboto,Inter,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Logo inside the link row */
.brand.brand--nav[b-rcgsrd42jz] {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

    .brand.brand--nav .brand-logo[b-rcgsrd42jz] {
        height: 36px;
        width: auto;
        display: block;
    }

/* Force white text, remove underline — CORRECT deep syntax (space, not function) */
.nav-links[b-rcgsrd42jz]  a,
.nav-links[b-rcgsrd42jz]  a:link,
.nav-links[b-rcgsrd42jz]  a:visited,
.nav-links[b-rcgsrd42jz]  a:hover,
.nav-links[b-rcgsrd42jz]  a:active {
    color: #fff !important;
    text-decoration: none !important;
}

.nav-links[b-rcgsrd42jz]  a {
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    padding: 8px 2px; /* tight vertical rhythm */
    transition: opacity .15s, transform .12s;
}

    .nav-links[b-rcgsrd42jz]  a:hover {
        opacity: .9;
    }

    .nav-links[b-rcgsrd42jz]  a:active {
        transform: translateY(1px);
    }

    .nav-links[b-rcgsrd42jz]  a.active,
    .nav-links[b-rcgsrd42jz]  a[aria-current="page"] {
        color: #fff !important;
        font-weight: 600;
    }

/* Burger (mobile) */
.nav-toggle[b-rcgsrd42jz] {
    display: none;
}

.nav-burger[b-rcgsrd42jz] {
    display: none;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.12);
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: transparent;
}

    .nav-burger span[b-rcgsrd42jz] {
        display: block;
        width: 18px;
        height: 2px;
        background: #fff;
        margin: 4px 0;
        border-radius: 2px;
    }

/* Dropdown on <=900px */
@media (max-width:900px) {
    .nav-burger[b-rcgsrd42jz] {
        display: flex;
    }

    .nav-links[b-rcgsrd42jz] {
        position: absolute;
        top: 64px;
        right: 0;
        background: rgba(0,0,0,.92);
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 16px;
        box-shadow: 0 10px 30px rgba(0,0,0,.25);
        display: none;
        flex-direction: column;
        padding: 12px;
        min-width: 220px;
        gap: 8px;
        max-width: none;
        margin: 0;
    }

    .nav-toggle:checked ~ .nav-burger[b-rcgsrd42jz] {
        background: rgba(255,255,255,.04);
    }

    .nav-toggle:checked ~ .nav-links[b-rcgsrd42jz] {
        display: flex;
    }
}
