/*
 * Labels Theme
 * Built on Web Awesome default theme with custom brand color
 * Brand Aqua: #2e98b6 (Pantone 632)
 */

@import url('../vendor/webawesome/styles/layers.css');
@import url('../vendor/webawesome/styles/color/palettes/default.css');

@layer wa-color-palette {
    :root {
        /* Custom cyan scale based on brand color #2e98b6 */
        --wa-color-cyan-95: #e8f6f9;
        --wa-color-cyan-90: #c9ebf2;
        --wa-color-cyan-80: #8ed4e3;
        --wa-color-cyan-70: #5cbdd3;
        --wa-color-cyan-60: #3aa8c3;
        --wa-color-cyan-50: #2e98b6;  /* Key brand color */
        --wa-color-cyan-40: #257a92;
        --wa-color-cyan-30: #1c5c6e;
        --wa-color-cyan-20: #133e4a;
        --wa-color-cyan-10: #0a2027;
        --wa-color-cyan-05: #051014;

        --wa-color-cyan: var(--wa-color-cyan-50);
        --wa-color-cyan-key: 50;

        /* Map brand to cyan */
        --wa-color-brand-95: var(--wa-color-cyan-95);
        --wa-color-brand-90: var(--wa-color-cyan-90);
        --wa-color-brand-80: var(--wa-color-cyan-80);
        --wa-color-brand-70: var(--wa-color-cyan-70);
        --wa-color-brand-60: var(--wa-color-cyan-60);
        --wa-color-brand-50: var(--wa-color-cyan-50);
        --wa-color-brand-40: var(--wa-color-cyan-40);
        --wa-color-brand-30: var(--wa-color-cyan-30);
        --wa-color-brand-20: var(--wa-color-cyan-20);
        --wa-color-brand-10: var(--wa-color-cyan-10);
        --wa-color-brand-05: var(--wa-color-cyan-05);

        --wa-color-brand: var(--wa-color-brand-50);
        --wa-color-brand-key: 50;
    }
}

@layer wa-theme {
    :where(:root),
    .wa-theme-labels,
    .wa-light,
    .wa-dark .wa-invert,
    .wa-light .wa-theme-labels,
    .wa-dark .wa-theme-labels.wa-invert,
    .wa-dark .wa-theme-labels .wa-invert {
        /* Light mode colors */
        color-scheme: light;
        color: var(--wa-color-text-normal);

        --wa-color-surface-raised: white;
        --wa-color-surface-default: white;
        --wa-color-surface-lowered: var(--wa-color-neutral-95);
        --wa-color-surface-border: var(--wa-color-neutral-90);

        --wa-color-text-normal: var(--wa-color-neutral-10);
        --wa-color-text-quiet: var(--wa-color-neutral-40);
        --wa-color-text-link: var(--wa-color-brand-40);

        --wa-color-overlay-modal: color-mix(in oklab, var(--wa-color-neutral-05) 50%, transparent);
        --wa-color-overlay-inline: color-mix(in oklab, var(--wa-color-neutral-80) 25%, transparent);

        --wa-color-shadow: color-mix(
            in oklab,
            var(--wa-color-neutral-05) calc(var(--wa-shadow-blur-scale) * 4% + 8%),
            transparent
        );

        --wa-color-focus: var(--wa-color-brand-60);

        --wa-color-mix-hover: black 10%;
        --wa-color-mix-active: black 20%;

        /* Brand semantic tokens */
        --wa-color-brand-fill-quiet: var(--wa-color-brand-95);
        --wa-color-brand-fill-normal: var(--wa-color-brand-90);
        --wa-color-brand-fill-loud: var(--wa-color-brand-50);
        --wa-color-brand-border-quiet: var(--wa-color-brand-90);
        --wa-color-brand-border-normal: var(--wa-color-brand-80);
        --wa-color-brand-border-loud: var(--wa-color-brand-60);
        --wa-color-brand-on-quiet: var(--wa-color-brand-40);
        --wa-color-brand-on-normal: var(--wa-color-brand-30);
        --wa-color-brand-on-loud: white;

        /* Success */
        --wa-color-success-fill-quiet: var(--wa-color-success-95);
        --wa-color-success-fill-normal: var(--wa-color-success-90);
        --wa-color-success-fill-loud: var(--wa-color-success-50);
        --wa-color-success-border-quiet: var(--wa-color-success-90);
        --wa-color-success-border-normal: var(--wa-color-success-80);
        --wa-color-success-border-loud: var(--wa-color-success-60);
        --wa-color-success-on-quiet: var(--wa-color-success-40);
        --wa-color-success-on-normal: var(--wa-color-success-30);
        --wa-color-success-on-loud: white;

        /* Warning */
        --wa-color-warning-fill-quiet: var(--wa-color-warning-95);
        --wa-color-warning-fill-normal: var(--wa-color-warning-90);
        --wa-color-warning-fill-loud: var(--wa-color-warning-50);
        --wa-color-warning-border-quiet: var(--wa-color-warning-90);
        --wa-color-warning-border-normal: var(--wa-color-warning-80);
        --wa-color-warning-border-loud: var(--wa-color-warning-60);
        --wa-color-warning-on-quiet: var(--wa-color-warning-40);
        --wa-color-warning-on-normal: var(--wa-color-warning-30);
        --wa-color-warning-on-loud: white;

        /* Danger */
        --wa-color-danger-fill-quiet: var(--wa-color-danger-95);
        --wa-color-danger-fill-normal: var(--wa-color-danger-90);
        --wa-color-danger-fill-loud: var(--wa-color-danger-50);
        --wa-color-danger-border-quiet: var(--wa-color-danger-90);
        --wa-color-danger-border-normal: var(--wa-color-danger-80);
        --wa-color-danger-border-loud: var(--wa-color-danger-60);
        --wa-color-danger-on-quiet: var(--wa-color-danger-40);
        --wa-color-danger-on-normal: var(--wa-color-danger-30);
        --wa-color-danger-on-loud: white;

        /* Neutral */
        --wa-color-neutral-fill-quiet: var(--wa-color-neutral-95);
        --wa-color-neutral-fill-normal: var(--wa-color-neutral-90);
        --wa-color-neutral-fill-loud: var(--wa-color-neutral-20);
        --wa-color-neutral-border-quiet: var(--wa-color-neutral-90);
        --wa-color-neutral-border-normal: var(--wa-color-neutral-80);
        --wa-color-neutral-border-loud: var(--wa-color-neutral-60);
        --wa-color-neutral-on-quiet: var(--wa-color-neutral-40);
        --wa-color-neutral-on-normal: var(--wa-color-neutral-30);
        --wa-color-neutral-on-loud: white;
    }

    .wa-dark,
    .wa-invert,
    .wa-dark .wa-theme-labels,
    .wa-light .wa-theme-labels.wa-invert,
    .wa-light .wa-theme-labels .wa-invert {
        /* Dark mode colors */
        color-scheme: dark;
        color: var(--wa-color-text-normal);

        --wa-color-surface-raised: var(--wa-color-neutral-10);
        --wa-color-surface-default: var(--wa-color-neutral-05);
        --wa-color-surface-lowered: color-mix(in oklab, var(--wa-color-surface-default), black 20%);
        --wa-color-surface-border: var(--wa-color-neutral-20);

        --wa-color-text-normal: var(--wa-color-neutral-95);
        --wa-color-text-quiet: var(--wa-color-neutral-60);
        --wa-color-text-link: var(--wa-color-brand-70);

        --wa-color-overlay-modal: color-mix(in oklab, black 60%, transparent);
        --wa-color-overlay-inline: color-mix(in oklab, var(--wa-color-neutral-50) 10%, transparent);

        --wa-color-shadow: color-mix(
            in oklab,
            var(--wa-color-surface-lowered) calc(var(--wa-shadow-blur-scale) * 32% + 40%),
            transparent
        );

        --wa-color-focus: var(--wa-color-brand-60);

        --wa-color-mix-hover: black 8%;
        --wa-color-mix-active: black 16%;

        /* Brand semantic tokens (dark) */
        --wa-color-brand-fill-quiet: var(--wa-color-brand-10);
        --wa-color-brand-fill-normal: var(--wa-color-brand-20);
        --wa-color-brand-fill-loud: var(--wa-color-brand-50);
        --wa-color-brand-border-quiet: var(--wa-color-brand-20);
        --wa-color-brand-border-normal: var(--wa-color-brand-30);
        --wa-color-brand-border-loud: var(--wa-color-brand-40);
        --wa-color-brand-on-quiet: var(--wa-color-brand-60);
        --wa-color-brand-on-normal: var(--wa-color-brand-70);
        --wa-color-brand-on-loud: white;

        /* Success (dark) */
        --wa-color-success-fill-quiet: var(--wa-color-success-10);
        --wa-color-success-fill-normal: var(--wa-color-success-20);
        --wa-color-success-fill-loud: var(--wa-color-success-50);
        --wa-color-success-border-quiet: var(--wa-color-success-20);
        --wa-color-success-border-normal: var(--wa-color-success-30);
        --wa-color-success-border-loud: var(--wa-color-success-40);
        --wa-color-success-on-quiet: var(--wa-color-success-60);
        --wa-color-success-on-normal: var(--wa-color-success-70);
        --wa-color-success-on-loud: white;

        /* Warning (dark) */
        --wa-color-warning-fill-quiet: var(--wa-color-warning-10);
        --wa-color-warning-fill-normal: var(--wa-color-warning-20);
        --wa-color-warning-fill-loud: var(--wa-color-warning-50);
        --wa-color-warning-border-quiet: var(--wa-color-warning-20);
        --wa-color-warning-border-normal: var(--wa-color-warning-30);
        --wa-color-warning-border-loud: var(--wa-color-warning-40);
        --wa-color-warning-on-quiet: var(--wa-color-warning-60);
        --wa-color-warning-on-normal: var(--wa-color-warning-70);
        --wa-color-warning-on-loud: white;

        /* Danger (dark) */
        --wa-color-danger-fill-quiet: var(--wa-color-danger-10);
        --wa-color-danger-fill-normal: var(--wa-color-danger-20);
        --wa-color-danger-fill-loud: var(--wa-color-danger-50);
        --wa-color-danger-border-quiet: var(--wa-color-danger-20);
        --wa-color-danger-border-normal: var(--wa-color-danger-30);
        --wa-color-danger-border-loud: var(--wa-color-danger-40);
        --wa-color-danger-on-quiet: var(--wa-color-danger-60);
        --wa-color-danger-on-normal: var(--wa-color-danger-70);
        --wa-color-danger-on-loud: white;

        /* Neutral (dark) */
        --wa-color-neutral-fill-quiet: var(--wa-color-neutral-10);
        --wa-color-neutral-fill-normal: var(--wa-color-neutral-20);
        --wa-color-neutral-fill-loud: var(--wa-color-neutral-90);
        --wa-color-neutral-border-quiet: var(--wa-color-neutral-20);
        --wa-color-neutral-border-normal: var(--wa-color-neutral-30);
        --wa-color-neutral-border-loud: var(--wa-color-neutral-40);
        --wa-color-neutral-on-quiet: var(--wa-color-neutral-60);
        --wa-color-neutral-on-normal: var(--wa-color-neutral-70);
        --wa-color-neutral-on-loud: var(--wa-color-neutral-05);
    }

    :where(:root),
    .wa-theme-labels,
    .wa-light,
    .wa-dark,
    .wa-invert {
        /* Typography */
        font-family: var(--wa-font-family-body);

        --wa-font-family-body: 'Inter', ui-sans-serif, system-ui, sans-serif;
        --wa-font-family-heading: 'Playfair Display', ui-serif, serif;
        --wa-font-family-code: ui-monospace, monospace;
        --wa-font-family-longform: ui-serif, serif;

        --wa-font-size-scale: 1;
        --wa-font-size-2xs: round(calc(var(--wa-font-size-xs) / 1.125), 1px);
        --wa-font-size-xs: round(calc(var(--wa-font-size-s) / 1.125), 1px);
        --wa-font-size-s: round(calc(var(--wa-font-size-m) / 1.125), 1px);
        --wa-font-size-m: calc(1rem * var(--wa-font-size-scale));
        --wa-font-size-l: round(calc(var(--wa-font-size-m) * 1.125 * 1.125), 1px);
        --wa-font-size-xl: round(calc(var(--wa-font-size-l) * 1.125 * 1.125), 1px);
        --wa-font-size-2xl: round(calc(var(--wa-font-size-xl) * 1.125 * 1.125), 1px);
        --wa-font-size-3xl: round(calc(var(--wa-font-size-2xl) * 1.125 * 1.125), 1px);
        --wa-font-size-4xl: round(calc(var(--wa-font-size-3xl) * 1.125 * 1.125), 1px);

        --wa-font-size-smaller: round(calc(1em / 1.125), 1px);
        --wa-font-size-larger: round(calc(1em * 1.125 * 1.125), 1px);

        --wa-font-weight-light: 300;
        --wa-font-weight-normal: 400;
        --wa-font-weight-semibold: 500;
        --wa-font-weight-bold: 600;

        --wa-font-weight-body: var(--wa-font-weight-normal);
        --wa-font-weight-heading: var(--wa-font-weight-bold);
        --wa-font-weight-code: var(--wa-font-weight-normal);
        --wa-font-weight-longform: var(--wa-font-weight-normal);
        --wa-font-weight-action: var(--wa-font-weight-semibold);

        --wa-line-height-condensed: 1.2;
        --wa-line-height-normal: 1.6;
        --wa-line-height-expanded: 2;

        --wa-link-decoration-default: underline color-mix(in oklab, currentColor 70%, transparent) dotted;
        --wa-link-decoration-hover: underline;

        /* Spacing */
        --wa-space-scale: 1;
        --wa-space-3xs: calc(var(--wa-space-scale) * 0.125rem);
        --wa-space-2xs: calc(var(--wa-space-scale) * 0.25rem);
        --wa-space-xs: calc(var(--wa-space-scale) * 0.5rem);
        --wa-space-s: calc(var(--wa-space-scale) * 0.75rem);
        --wa-space-m: calc(var(--wa-space-scale) * 1rem);
        --wa-space-l: calc(var(--wa-space-scale) * 1.5rem);
        --wa-space-xl: calc(var(--wa-space-scale) * 2rem);
        --wa-space-2xl: calc(var(--wa-space-scale) * 2.5rem);
        --wa-space-3xl: calc(var(--wa-space-scale) * 3rem);
        --wa-space-4xl: calc(var(--wa-space-scale) * 4rem);

        --wa-content-spacing: var(--wa-space-l);

        /* Borders */
        --wa-border-style: solid;

        --wa-border-width-scale: 1;
        --wa-border-width-s: calc(var(--wa-border-width-scale) * 0.0625rem);
        --wa-border-width-m: calc(var(--wa-border-width-scale) * 0.125rem);
        --wa-border-width-l: calc(var(--wa-border-width-scale) * 0.1875rem);

        /* Rounding */
        --wa-border-radius-scale: 1;
        --wa-border-radius-s: calc(var(--wa-border-radius-scale) * 0.1875rem);
        --wa-border-radius-m: calc(var(--wa-border-radius-scale) * 0.375rem);
        --wa-border-radius-l: calc(var(--wa-border-radius-scale) * 0.75rem);

        --wa-border-radius-pill: 9999px;
        --wa-border-radius-circle: 50%;
        --wa-border-radius-square: 0px;

        /* Focus */
        --wa-focus-ring-style: solid;
        --wa-focus-ring-width: 0.1875rem;
        --wa-focus-ring: var(--wa-focus-ring-style) var(--wa-focus-ring-width) var(--wa-color-focus);
        --wa-focus-ring-offset: 0.0625rem;

        /* Shadows */
        --wa-shadow-offset-x-scale: 0;
        --wa-shadow-offset-x-s: calc(var(--wa-shadow-offset-x-scale) * 0.125rem);
        --wa-shadow-offset-x-m: calc(var(--wa-shadow-offset-x-scale) * 0.25rem);
        --wa-shadow-offset-x-l: calc(var(--wa-shadow-offset-x-scale) * 0.5rem);

        --wa-shadow-offset-y-scale: 1;
        --wa-shadow-offset-y-s: calc(var(--wa-shadow-offset-y-scale) * 0.125rem);
        --wa-shadow-offset-y-m: calc(var(--wa-shadow-offset-y-scale) * 0.25rem);
        --wa-shadow-offset-y-l: calc(var(--wa-shadow-offset-y-scale) * 0.5rem);

        --wa-shadow-blur-scale: 1;
        --wa-shadow-blur-s: calc(var(--wa-shadow-blur-scale) * 0.125rem);
        --wa-shadow-blur-m: calc(var(--wa-shadow-blur-scale) * 0.25rem);
        --wa-shadow-blur-l: calc(var(--wa-shadow-blur-scale) * 0.5rem);

        --wa-shadow-spread-scale: -0.5;
        --wa-shadow-spread-s: calc(var(--wa-shadow-spread-scale) * 0.125rem);
        --wa-shadow-spread-m: calc(var(--wa-shadow-spread-scale) * 0.25rem);
        --wa-shadow-spread-l: calc(var(--wa-shadow-spread-scale) * 0.5rem);

        --wa-shadow-s: var(--wa-shadow-offset-x-s) var(--wa-shadow-offset-y-s) var(--wa-shadow-blur-s)
            var(--wa-shadow-spread-s) var(--wa-color-shadow);
        --wa-shadow-m: var(--wa-shadow-offset-x-m) var(--wa-shadow-offset-y-m) var(--wa-shadow-blur-m)
            var(--wa-shadow-spread-m) var(--wa-color-shadow);
        --wa-shadow-l: var(--wa-shadow-offset-x-l) var(--wa-shadow-offset-y-l) var(--wa-shadow-blur-l)
            var(--wa-shadow-spread-l) var(--wa-color-shadow);

        /* Transitions */
        --wa-transition-easing: ease;
        --wa-transition-slow: 300ms;
        --wa-transition-normal: 150ms;
        --wa-transition-fast: 75ms;

        /* Form Controls */
        --wa-form-control-background-color: var(--wa-color-surface-default);

        --wa-form-control-border-color: var(--wa-color-neutral-border-loud);
        --wa-form-control-border-style: var(--wa-border-style);
        --wa-form-control-border-width: var(--wa-border-width-s);
        --wa-form-control-border-radius: var(--wa-border-radius-m);

        --wa-form-control-activated-color: var(--wa-color-brand-fill-loud);

        --wa-form-control-label-color: var(--wa-color-text-normal);
        --wa-form-control-label-font-weight: var(--wa-font-weight-semibold);
        --wa-form-control-label-line-height: var(--wa-line-height-condensed);

        --wa-form-control-value-color: var(--wa-color-text-normal);
        --wa-form-control-value-font-weight: var(--wa-font-weight-body);
        --wa-form-control-value-line-height: var(--wa-line-height-condensed);

        --wa-form-control-hint-color: var(--wa-color-text-quiet);
        --wa-form-control-hint-font-weight: var(--wa-font-weight-body);
        --wa-form-control-hint-line-height: var(--wa-line-height-normal);

        --wa-form-control-placeholder-color: var(--wa-color-gray-50);

        --wa-form-control-required-content: '*';
        --wa-form-control-required-content-color: inherit;
        --wa-form-control-required-content-offset: 0.1em;

        --wa-form-control-padding-block: 0.75em;
        --wa-form-control-padding-inline: 1em;
        --wa-form-control-height: round(
            calc(2 * var(--wa-form-control-padding-block) + 1em * var(--wa-form-control-value-line-height)),
            1px
        );
        --wa-form-control-toggle-size: round(1.25em, 1px);

        /* Panels */
        --wa-panel-border-style: var(--wa-border-style);
        --wa-panel-border-width: var(--wa-border-width-s);
        --wa-panel-border-radius: var(--wa-border-radius-l);

        /* Tooltips */
        --wa-tooltip-arrow-size: 0.375rem;

        --wa-tooltip-background-color: var(--wa-color-text-normal);

        --wa-tooltip-border-color: var(--wa-tooltip-background-color);
        --wa-tooltip-border-style: var(--wa-border-style);
        --wa-tooltip-border-width: var(--wa-border-width-s);
        --wa-tooltip-border-radius: var(--wa-border-radius-s);

        --wa-tooltip-content-color: var(--wa-color-surface-default);
        --wa-tooltip-font-size: var(--wa-font-size-s);
        --wa-tooltip-line-height: var(--wa-line-height-normal);
    }
}

/* ═══════════════════════════════════════════════════════════════
   Site Layout
   ═══════════════════════════════════════════════════════════════ */

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

/* ── wa-page ── */
wa-page {
    --menu-width: 0px;
    --main-width: 1fr;
    --aside-width: 0px;
}

wa-page::part(navigation-toggle) {
    display: none;
}

wa-page::part(header) {
    background:
        radial-gradient(ellipse 60% 100% at 10% 50%, color-mix(in oklab, var(--wa-color-brand-80) 12%, transparent), transparent 70%),
        radial-gradient(ellipse 50% 100% at 90% 50%, color-mix(in oklab, var(--wa-color-brand-90) 10%, transparent), transparent 70%),
        color-mix(in oklab, var(--wa-color-surface-default) 92%, transparent);
    backdrop-filter: blur(20px) saturate(1.2);
    -webkit-backdrop-filter: blur(20px) saturate(1.2);
    border-bottom: 1px solid color-mix(in oklab, var(--wa-color-surface-border) 60%, transparent);
}

wa-page::part(base),
wa-page::part(body),
wa-page::part(main-content) {
    background: transparent;
}

wa-page > main {
    padding: 0;
}

wa-page::part(footer) {
    padding: 0;
}

/* ── Header ── */
header[slot="header"] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: "logos nav account";
    align-items: center;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: var(--wa-space-s) var(--wa-space-xl);
    background-color: transparent;
}

header[slot="header"].has-collab-logo {
    grid-template-columns: auto 1fr auto;
}

wa-page[view='mobile'] header[slot="header"],
wa-page[view='mobile'] header[slot="header"].has-collab-logo {
    grid-template-columns: 1fr;
    grid-template-areas:
        "account"
        "logos"
        "nav";
    padding: 0;
    max-width: none;
}

wa-page[view='mobile']::part(header) {
    padding: 0;
}

/* Reset native.css image constraints — we handle images ourselves */
img, svg, picture, video {
    max-width: revert;
    height: revert;
    border-radius: revert;
}

/* Logo area */
.header-logos {
    grid-area: logos;
    display: flex;
    align-items: center;
    gap: var(--wa-space-s);
}

wa-page[view='mobile'] .header-logos {
    justify-self: center;
    padding: var(--wa-space-xs) var(--wa-space-m);
}
wa-page[view='mobile'] .site-logo-img {
    height: 32px;
}
.site-logo {
    text-decoration: none;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    transition: opacity 0.15s ease;
}
.site-logo:hover { opacity: 0.7; }
.site-logo-img {
    height: 28px;
    width: auto;
    user-select: none;
}
.site-logo-mark {
    display: none;
}
wa-page[view='mobile'] .has-collab-logo .site-logo-full {
    display: none;
}
wa-page[view='mobile'] .has-collab-logo .site-logo-mark {
    display: block;
    height: 38px;
}
.logo-collab-x {
    font-size: var(--wa-font-size-l);
    color: var(--wa-color-text-quiet);
    font-weight: 300;
    line-height: 1;
}
.collab-logo-btn {
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: opacity 0.15s ease;
}
.collab-logo-btn:hover { opacity: 0.7; }
.collab-logo-img {
    height: 38px;
    width: auto;
    max-width: 160px;
    object-fit: contain;
    user-select: none;
}

/* ── Org Switcher Popover ── */
wa-popover[for="collab-logo-btn"] {
    --arrow-size: 0.5rem;
}
wa-popover[for="collab-logo-btn"]::part(body) {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--wa-color-surface-border);
}

/* ── Org Switcher ── */
.org-switcher-current {
    padding: var(--wa-space-xs) 0;
}
.org-switcher-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    gap: var(--wa-space-s);
    padding: var(--wa-space-xs) var(--wa-space-s);
    border-radius: var(--wa-border-radius-m);
    text-decoration: none;
    color: var(--wa-color-text-normal);
    font-size: var(--wa-font-size-s);
    border: none;
    background: none;
    width: 100%;
    cursor: pointer;
    font-family: inherit;
    transition: background-color 0.15s ease;
}
.org-switcher-item:hover {
    background: var(--wa-color-brand-fill-quiet);
}
.org-switcher-logo {
    height: 24px;
    width: auto;
    max-width: 80px;
    object-fit: contain;
}

/* ── Pill Nav (Fly.io style) ── */
.nav-pill {
    grid-area: nav;
    display: flex;
    align-items: center;
    gap: var(--wa-space-3xs);
    padding: var(--wa-space-3xs);
    border: 1px solid var(--wa-color-surface-border);
    border-radius: var(--wa-border-radius-pill);
    background: color-mix(in oklab, var(--wa-color-surface-default) 50%, transparent);
    justify-self: center;
}

wa-page[view='mobile'] .nav-pill {
    justify-self: center;
    padding: var(--wa-space-3xs);
    margin-bottom: var(--wa-space-xs);
}

wa-page[view='mobile'] .nav-pill wa-dropdown::part(menu) {
    min-width: 70vw;
}
.nav-link {
    text-decoration: none;
    color: var(--wa-color-text-normal);
    font-weight: 500;
    font-size: var(--wa-font-size-s);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: var(--wa-space-xs) var(--wa-space-m);
    border-radius: var(--wa-border-radius-pill);
    transition: color 0.15s ease, background-color 0.15s ease;
    display: flex;
    align-items: center;
    gap: var(--wa-space-2xs);
    white-space: nowrap;
    border: none;
    background: none;
    font-family: inherit;
    cursor: pointer;
}
.nav-link:hover {
    background: var(--wa-color-brand-fill-quiet);
    color: var(--wa-color-brand-on-normal);
}
.nav-caret {
    font-size: 0.6em;
    opacity: 0.4;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
wa-dropdown[open] .nav-caret {
    transform: rotate(180deg);
    opacity: 0.7;
}

/* ── Nav Mega Menu ── */
.nav-pill wa-dropdown::part(menu) {
    min-width: 220px;
    padding: var(--wa-space-s);
    border-radius: var(--wa-border-radius-l);
}
.nav-mega {
    display: flex;
    flex-direction: column;
    gap: var(--wa-space-3xs);
}
.nav-mega a {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--wa-space-xs) var(--wa-space-m);
    border-radius: var(--wa-border-radius-m);
    text-decoration: none;
    color: var(--wa-color-text-normal);
    transition: background 0.15s ease;
}
.nav-mega a:hover {
    background: var(--wa-color-brand-fill-quiet);
}
.nav-mega a strong {
    font-weight: 600;
    font-size: var(--wa-font-size-s);
}
.nav-mega a span {
    font-size: var(--wa-font-size-xs);
    color: var(--wa-color-text-quiet);
}

/* ── Header Account Bar ── */
.header-account-bar {
    grid-area: account;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: var(--wa-space-xs);
}

wa-page[view='mobile'] .header-account-bar {
    justify-self: stretch;
    justify-content: flex-end;
    height: 32px;
    padding: 0 var(--wa-space-m);
    background: #5A5959;
    --wa-color-text-normal: var(--wa-color-neutral-90);
    --wa-color-text-quiet: var(--wa-color-neutral-60);
    --wa-color-text-link: var(--wa-color-brand-70);
    --wa-color-neutral-on-quiet: var(--wa-color-neutral-80);
}

.mobile-cta {
    display: flex;
    align-items: center;
    gap: var(--wa-space-s);
    font-size: var(--wa-font-size-xs);
}
.mobile-cta a {
    text-decoration: none;
    color: var(--wa-color-neutral-70);
    font-weight: 500;
}
.mobile-cta wa-button {
    font-size: var(--wa-font-size-2xs);
}

/* Fly.io-style CTA pill */
.header-cta-pill {
    display: flex;
    align-items: center;
    gap: var(--wa-space-3xs);
    padding: var(--wa-space-3xs);
    border: 1px solid var(--wa-color-surface-border);
    border-radius: var(--wa-border-radius-pill);
    background: color-mix(in oklab, var(--wa-color-surface-default) 50%, transparent);
}
.header-cta-pill wa-button::part(base) {
    border-radius: var(--wa-border-radius-pill);
}
.header-cta-link {
    text-decoration: none;
    color: var(--wa-color-text-normal);
    font-weight: 500;
    font-size: var(--wa-font-size-s);
    padding: var(--wa-space-xs) var(--wa-space-m);
    border-radius: var(--wa-border-radius-pill);
    transition: color 0.15s ease, background-color 0.15s ease;
}
.header-cta-link:hover {
    background: var(--wa-color-brand-fill-quiet);
    color: var(--wa-color-brand-fill-loud);
}

/* ── Delivery Banner ── */
.delivery-banner {
    background: linear-gradient(90deg, var(--wa-color-brand-40), var(--wa-color-brand-50), var(--wa-color-brand-40));
    background-size: 200% 100%;
    animation: bannerShimmer 8s ease infinite;
    color: var(--wa-color-brand-on-loud);
    text-align: center;
    padding: var(--wa-space-xs) var(--wa-space-l);
    font-size: var(--wa-font-size-s);
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--wa-space-s);
}

/* ── Footer ── */
footer[slot="footer"] {
    display: block;
    background-color: var(--wa-color-neutral-10);
    color: var(--wa-color-neutral-90);
    padding: var(--wa-space-4xl) var(--wa-space-xl) var(--wa-space-xl);
}
.footer-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr;
    gap: var(--wa-space-3xl);
}
@media (max-width: 768px) {
    .footer-grid { grid-template-columns: 1fr; gap: var(--wa-space-xl); }
}
.footer-logo-img {
    height: 32px;
    width: auto;
    display: block;
    margin-bottom: var(--wa-space-xs);
    user-select: none;
}
.footer-tagline {
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: var(--wa-font-size-2xs);
    color: var(--wa-color-neutral-50);
    margin-bottom: var(--wa-space-m);
}
.footer-blurb {
    color: var(--wa-color-neutral-50);
    font-size: var(--wa-font-size-s);
    line-height: 1.7;
    max-width: 320px;
}
.footer-phone {
    font-family: var(--wa-font-family-heading);
    font-size: var(--wa-font-size-2xl);
    font-weight: 700;
    margin-bottom: var(--wa-space-s);
}
.footer-hours {
    color: var(--wa-color-neutral-50);
    font-size: var(--wa-font-size-s);
    line-height: 1.8;
}
.footer-links-heading {
    display: block;
    font-weight: 700;
    font-size: var(--wa-font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--wa-color-neutral-50);
    margin-bottom: var(--wa-space-s);
}
.footer-links {
    display: flex;
    flex-direction: column;
    gap: var(--wa-space-s);
}
.footer-links a {
    color: var(--wa-color-neutral-70);
    text-decoration: none;
    font-size: var(--wa-font-size-s);
    transition: color 0.15s ease;
}
.footer-links a:hover { color: white; }

.footer-bottom {
    max-width: 1200px;
    margin: var(--wa-space-3xl) auto 0;
    padding-top: var(--wa-space-l);
    border-top: 1px solid var(--wa-color-neutral-20);
    color: var(--wa-color-neutral-40);
    font-size: var(--wa-font-size-xs);
}
