/**
 * AppliedMode Design System Tokens
 * Canonical brand variables: --am-*
 * Legacy aliases (--edulab-*, --color-*) map to AppliedMode for existing templates.
 */
:root {
    /* Brand palette */
    --am-navy: #131B2E;
    --am-blue: #2F6FED;
    --am-blue-hover: #2560D4;
    --am-blue-tint: #E7EFFE;
    --am-slate: #7A7F8A;
    --am-bg: #F7F7F5;

    /* Surfaces */
    --am-surface: #ffffff;
    --am-surface-elevated: #ffffff;
    --am-border: #E2E4E8;
    --am-border-strong: #C8CBD1;

    /* Text */
    --am-text-primary: var(--am-navy);
    --am-text-secondary: var(--am-slate);
    --am-text-muted: #9CA3AF;
    --am-text-on-dark: #F7F7F5;

    /* Semantic (unchanged by brand blue) */
    --am-success: #059669;
    --am-success-subtle: #ecfdf5;
    --am-warning: #d97706;
    --am-warning-subtle: #fffbeb;
    --am-danger: #dc2626;
    --am-danger-subtle: #fef2f2;
    --am-info: var(--am-blue);
    --am-info-subtle: var(--am-blue-tint);

    /* Controls */
    --am-focus-ring: var(--am-blue);
    --am-disabled: #9ca3af;
    --am-input-border: var(--am-border);

    /* Typography */
    --am-font-family: "Plus Jakarta Sans", "Inter", -apple-system, system-ui, sans-serif;
    --am-font-heading-weight: 700;
    --am-font-body-weight: 400;
    --am-letter-spacing-heading: -0.015em;

    /* Spacing scale */
    --am-space-1: 4px;
    --am-space-2: 8px;
    --am-space-3: 12px;
    --am-space-4: 16px;
    --am-space-5: 20px;
    --am-space-6: 24px;
    --am-space-7: 28px;
    --am-space-8: 32px;
    --am-space-10: 40px;
    --am-space-12: 48px;
    --am-space-16: 64px;

    /* Radius */
    --am-radius-sm: 6px;
    --am-radius-md: 10px;
    --am-radius-lg: 12px;
    --am-radius-xl: 16px;

    /* Shadows */
    --am-shadow-sm: 0 1px 2px rgba(19, 27, 46, 0.06);
    --am-shadow-md: 0 4px 12px rgba(19, 27, 46, 0.08);
    --am-shadow-lg: 0 12px 32px rgba(19, 27, 46, 0.12);

    /* Motion */
    --am-duration-fast: 120ms;
    --am-duration-normal: 180ms;
    --am-ease: cubic-bezier(0.4, 0, 0.2, 1);

    /* Control heights */
    --am-control-sm: 36px;
    --am-control-md: 42px;
    --am-control-lg: 48px;

    /* Content widths */
    --am-content-narrow: 720px;
    --am-content-standard: 1200px;

    /* Legacy aliases — existing templates & Tailwind frontend vars */
    --edulab-primary: var(--am-blue);
    --edulab-primary-hover: var(--am-blue-hover);
    --edulab-primary-subtle: var(--am-blue-tint);
    --edulab-accent: var(--am-blue);
    --edulab-page-bg: var(--am-bg);
    --edulab-surface: var(--am-surface);
    --edulab-surface-elevated: var(--am-surface-elevated);
    --edulab-border: var(--am-border);
    --edulab-border-strong: var(--am-border-strong);
    --edulab-text-primary: var(--am-text-primary);
    --edulab-text-secondary: var(--am-text-secondary);
    --edulab-text-muted: var(--am-text-muted);
    --edulab-success: var(--am-success);
    --edulab-success-subtle: var(--am-success-subtle);
    --edulab-warning: var(--am-warning);
    --edulab-warning-subtle: var(--am-warning-subtle);
    --edulab-danger: var(--am-danger);
    --edulab-danger-subtle: var(--am-danger-subtle);
    --edulab-info: var(--am-info);
    --edulab-info-subtle: var(--am-info-subtle);
    --edulab-focus-ring: var(--am-focus-ring);
    --edulab-disabled: var(--am-disabled);
    --edulab-input-border: var(--am-input-border);
    --edulab-font-family: var(--am-font-family);

    --color-primary: var(--am-blue);
    --color-primary-50: var(--am-blue-tint);
    --color-primary-100: var(--am-blue-tint);
    --color-primary-200: #D4E4FC;
    --color-primary-300: #7BA8F5;
    --color-primary-400: #5590F1;
    --color-primary-500: var(--am-blue);
    --color-primary-600: var(--am-blue-hover);
    --color-secondary: var(--am-navy);
    --color-heading: var(--am-navy);
    --color-section: var(--am-bg);
    --font-primary: var(--am-font-family);
    --font-secondary: var(--am-font-family);
}

.dark {
    --am-bg: #0D1219;
    --am-surface: #131B2E;
    --am-surface-elevated: #1A2438;
    --am-border: #2A3548;
    --am-border-strong: #3D4A5F;
    --am-text-primary: #F7F7F5;
    --am-text-secondary: #A8ADB8;
    --am-text-muted: #7A7F8A;

    --edulab-page-bg: var(--am-bg);
    --edulab-surface: var(--am-surface);
    --edulab-surface-elevated: var(--am-surface-elevated);
    --edulab-border: var(--am-border);
    --edulab-text-primary: var(--am-text-primary);
    --edulab-text-secondary: var(--am-text-secondary);
    --edulab-text-muted: var(--am-text-muted);
}

@media (prefers-reduced-motion: reduce) {
    :root {
        --am-duration-fast: 0ms;
        --am-duration-normal: 0ms;
    }
}

/* Legacy solid buttons — white text on filled backgrounds (light mode) */
.btn.btn-primary-solid,
.btn.btn-secondary-solid,
.btn.btn-danger-solid,
.btn.btn-warning-solid,
.btn.btn-success-solid,
.btn.btn-info-solid,
.btn.btn-disable-solid,
.btn.btn-extra-solid,
.btn-icon.btn-primary-icon-solid,
.btn-icon.btn-secondary-icon-solid,
.btn-icon.btn-danger-icon-solid,
.btn-icon.btn-warning-icon-solid,
.btn-icon.btn-success-icon-solid,
.btn-icon.btn-info-icon-solid,
.btn-icon.btn-extra-icon-solid,
.b-solid.btn-primary-solid,
.b-solid.btn-secondary-solid,
.b-solid.btn-secondary-icon-solid {
    color: var(--am-text-on-dark) !important;
}

.btn.btn-primary-solid:hover,
.btn.btn-secondary-solid:hover,
.btn.btn-danger-solid:hover,
.btn.btn-warning-solid:hover,
.btn.btn-success-solid:hover,
.btn.btn-info-solid:hover,
.btn.btn-disable-solid:hover,
.btn.btn-extra-solid:hover,
.btn-icon.btn-primary-icon-solid:hover,
.btn-icon.btn-secondary-icon-solid:hover,
.b-solid.btn-primary-solid:hover,
.b-solid.btn-secondary-solid:hover,
.b-solid.btn-secondary-icon-solid:hover {
    color: var(--am-text-on-dark) !important;
}

.btn.btn-secondary-solid:hover,
.btn-icon.btn-secondary-icon-solid:hover,
.b-solid.btn-secondary-solid:hover,
.b-solid.btn-secondary-icon-solid:hover {
    background-color: var(--am-blue) !important;
    border-color: var(--am-blue) !important;
}

/* Marketing inner pages — no breadcrumbs */
.am-page-hero {
    background: var(--am-bg);
    border-bottom: 1px solid var(--am-border);
    margin-bottom: var(--am-space-8);
}

.am-page-hero__inner {
    padding: var(--am-space-10) 0 var(--am-space-8);
    max-width: var(--am-content-standard);
}

.am-page-hero__title {
    margin: 0;
    font-family: var(--am-font-family);
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    font-weight: 700;
    letter-spacing: var(--am-letter-spacing-heading);
    line-height: 1.15;
    color: var(--am-text-primary);
}

.am-page-hero__desc {
    margin: var(--am-space-3) 0 0;
    max-width: 36rem;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--am-text-secondary);
}

.am-catalog-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--am-space-4);
    margin-bottom: var(--am-space-6);
    padding-bottom: var(--am-space-4);
    border-bottom: 1px solid var(--am-border);
}

.am-catalog-toolbar__meta {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--am-text-primary);
}

.am-catalog-toolbar__meta span {
    color: var(--am-blue);
    font-variant-numeric: tabular-nums;
}

/* Contact page */
.am-contact-page .am-page-hero__inner {
    max-width: 40rem;
}

.am-contact-page {
    background: var(--am-bg);
}

.am-contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--am-space-4);
    margin-bottom: var(--am-space-10);
}

@media (min-width: 640px) {
    .am-contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .am-contact-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.am-contact-card {
    display: flex;
    flex-direction: column;
    gap: var(--am-space-2);
    padding: var(--am-space-5);
    background: var(--am-surface);
    border: 1px solid var(--am-border);
    border-radius: var(--am-radius-lg);
    text-decoration: none;
    color: inherit;
    transition: border-color var(--am-duration-fast) var(--am-ease),
        box-shadow var(--am-duration-fast) var(--am-ease);
}

a.am-contact-card:hover {
    border-color: var(--am-blue);
    box-shadow: var(--am-shadow-sm);
}

.am-contact-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--am-radius-md);
    background: var(--am-blue-tint);
    color: var(--am-blue);
    font-size: 1.125rem;
}

.am-contact-card__label {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--am-text-secondary);
    margin-top: var(--am-space-1);
}

.am-contact-card__value {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--am-text-primary);
    line-height: 1.45;
}

.am-contact-card__value--secondary {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--am-text-secondary);
}

.am-contact-card__value--wrap {
    white-space: normal;
    font-weight: 500;
}

.am-contact-form-panel {
    max-width: 42rem;
    margin: 0 auto;
    padding: var(--am-space-8);
    background: var(--am-surface);
    border: 1px solid var(--am-border);
    border-radius: var(--am-radius-xl);
    box-shadow: var(--am-shadow-sm);
}

.am-contact-form-panel__header {
    margin-bottom: var(--am-space-6);
}

.am-contact-form-panel__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--am-text-primary);
    letter-spacing: var(--am-letter-spacing-heading);
}

.am-contact-form-panel__desc {
    margin: var(--am-space-2) 0 0;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--am-text-secondary);
}

.am-contact-label {
    display: block;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--am-text-primary);
    line-height: 1.35;
}

.am-contact-form .form-input,
.am-contact-form .am-contact-input {
    border-radius: var(--am-radius-md) !important;
    border-color: var(--am-border);
    background: var(--am-surface);
    height: 2.75rem;
}

.am-contact-form textarea.form-input {
    height: auto;
    min-height: 8.75rem;
}

.am-contact-form .form-input:focus {
    border-color: var(--am-blue);
    outline: none;
    box-shadow: 0 0 0 3px rgba(47, 111, 237, 0.12);
}

.am-contact-form .am-contact-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237a7f8a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.85rem center;
    padding-right: 2.5rem;
}

.am-contact-form .am-phone-field .am-contact-label,
.am-contact-form .am-phone-field .form-label {
    display: block;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--am-text-primary);
    line-height: 1.35;
}

.am-contact-form .am-phone-field {
    display: flex;
    flex-direction: column;
    gap: var(--am-space-3);
    margin: 0;
}

.am-contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--am-space-2);
    height: 2.75rem;
    padding: 0 var(--am-space-6);
    font-size: 0.9375rem;
    font-weight: 600;
    color: #fff;
    background: var(--am-navy);
    border: none;
    border-radius: var(--am-radius-md);
    cursor: pointer;
    transition: background-color var(--am-duration-fast) var(--am-ease);
}

.am-contact-submit:hover {
    background: var(--am-blue);
}

/* Request demonstration page */
.am-demo-page {
    background: var(--am-bg);
}

.am-demo-page .am-page-hero__inner {
    max-width: 42rem;
}

.am-demo-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--am-space-8);
    align-items: start;
}

@media (min-width: 1024px) {
    .am-demo-layout {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        gap: var(--am-space-10);
    }
}

.am-demo-intro {
    padding: var(--am-space-2) 0;
}

.am-demo-intro__eyebrow {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--am-blue);
}

.am-demo-intro__title {
    margin: var(--am-space-4) 0 0;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: var(--am-letter-spacing-heading);
    color: var(--am-text-primary);
}

.am-demo-intro__text {
    margin: var(--am-space-4) 0 0;
    font-size: 0.96875rem;
    line-height: 1.65;
    color: var(--am-text-secondary);
    max-width: 34rem;
}

.am-demo-intro__list {
    margin: var(--am-space-8) 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: var(--am-space-5);
}

.am-demo-intro__list li {
    display: flex;
    gap: var(--am-space-4);
    align-items: flex-start;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--am-text-primary);
}

.am-demo-intro__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--am-radius-md);
    background: var(--am-blue-tint);
    color: var(--am-blue);
    flex-shrink: 0;
}

.am-demo-intro__note {
    margin: var(--am-space-8) 0 0;
    font-size: 0.875rem;
    color: var(--am-text-secondary);
}

.am-demo-intro__link {
    font-weight: 600;
    color: var(--am-blue);
    text-decoration: none;
}

.am-demo-intro__link:hover {
    text-decoration: underline;
}

.am-demo-form-panel {
    padding: var(--am-space-8);
    background: var(--am-surface);
    border: 1px solid var(--am-border);
    border-radius: var(--am-radius-xl);
    box-shadow: var(--am-shadow-sm);
}

.am-demo-form-panel__header {
    margin-bottom: var(--am-space-6);
}

.am-demo-form-panel__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--am-text-primary);
}

.am-demo-form-panel__desc {
    margin: var(--am-space-2) 0 0;
    font-size: 0.875rem;
    color: var(--am-text-secondary);
}

.am-demo-label {
    display: block;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--am-text-primary);
    line-height: 1.35;
}

.am-demo-form .form-input,
.am-demo-form .am-demo-input {
    border-radius: var(--am-radius-md) !important;
    border-color: var(--am-border);
    background: var(--am-surface);
    min-height: 2.75rem;
}

.am-demo-form .am-demo-textarea {
    min-height: 6.5rem;
    height: auto;
    resize: vertical;
}

.am-demo-form .am-demo-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237a7f8a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.85rem center;
    padding-right: 2.5rem;
}

.am-demo-form .form-input:focus {
    border-color: var(--am-blue);
    outline: none;
    box-shadow: 0 0 0 3px rgba(47, 111, 237, 0.12);
}

.am-demo-form .am-phone-field .am-demo-label,
.am-demo-form .am-phone-field .form-label {
    display: block;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--am-text-primary);
    line-height: 1.35;
}

.am-demo-form .am-phone-field {
    display: flex;
    flex-direction: column;
    gap: var(--am-space-3);
    margin: 0;
}

/* Shared public form rhythm (contact + request demo) */
.am-contact-form .am-form-grid,
.am-demo-form .am-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: var(--am-space-8);
    column-gap: var(--am-space-5);
}

@media (min-width: 640px) {
    .am-contact-form .am-form-grid,
    .am-demo-form .am-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: var(--am-space-6);
    }
}

.am-contact-form .am-form-field,
.am-demo-form .am-form-field {
    display: flex;
    flex-direction: column;
    gap: var(--am-space-3);
    min-width: 0;
}

.am-contact-form .am-form-field--full,
.am-demo-form .am-form-field--full {
    grid-column: 1 / -1;
}

.am-contact-form .am-form-field .error-text:empty,
.am-demo-form .am-form-field .error-text:empty {
    display: none;
}

.am-contact-form .am-form-field .error-text:not(:empty),
.am-demo-form .am-form-field .error-text:not(:empty) {
    margin-top: calc(var(--am-space-1) * -1);
    font-size: 0.8125rem;
    line-height: 1.4;
}

/* Keep stacked CTAs on public contact/demo forms only — do not bleed into Institution Workspace. */
.am-contact-form .am-form-actions,
.am-demo-form .am-form-actions {
    display: flex;
    flex-direction: column;
    gap: var(--am-space-4);
    margin-top: var(--am-space-4);
    padding-top: var(--am-space-8);
}

@media (max-width: 639px) {
    .am-contact-form-panel,
    .am-demo-form-panel {
        padding: var(--am-space-6) var(--am-space-5);
    }

    .am-contact-form .am-form-grid,
    .am-demo-form .am-form-grid {
        row-gap: var(--am-space-8);
    }

    .am-contact-form .am-form-actions,
    .am-demo-form .am-form-actions {
        margin-top: var(--am-space-6);
        padding-top: var(--am-space-10);
    }
}

.am-demo-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--am-space-2);
    width: 100%;
    min-height: 2.875rem;
    padding: 0 var(--am-space-6);
    font-size: 0.9375rem;
    font-weight: 600;
    color: #fff;
    background: var(--am-navy);
    border: none;
    border-radius: var(--am-radius-md);
    cursor: pointer;
    transition: background-color var(--am-duration-fast) var(--am-ease);
}

.am-demo-submit:hover {
    background: var(--am-blue);
}

.am-demo-form-footnote {
    margin: 0;
    text-align: center;
    font-size: 0.8125rem;
    color: var(--am-text-secondary);
}

/* About page */
.am-about-page {
    background: var(--am-bg);
}

.am-about-page .am-page-hero {
    margin-bottom: var(--am-space-6);
}

.am-about-page .am-page-hero__inner {
    max-width: 42rem;
}

.am-about-layout {
    max-width: 44rem;
    margin: 0 auto;
}

.am-about-sheet {
    padding: var(--am-space-8);
    background: var(--am-surface);
    border: 1px solid var(--am-border);
    border-radius: var(--am-radius-lg);
    box-shadow: var(--am-shadow-sm);
}

@media (min-width: 768px) {
    .am-about-sheet {
        padding: var(--am-space-10);
    }
}

.am-about-sheet__head {
    margin-bottom: var(--am-space-8);
    padding-bottom: var(--am-space-6);
    border-bottom: 1px solid var(--am-border);
}

.am-about-sheet__eyebrow {
    margin: 0 0 var(--am-space-3);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--am-blue);
}

.am-about-sheet__title {
    margin: 0;
    font-size: clamp(1.375rem, 2.5vw, 1.625rem);
    font-weight: 700;
    letter-spacing: var(--am-letter-spacing-heading);
    line-height: 1.35;
    color: var(--am-text-primary);
}

.am-about-prose {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--am-text-secondary);
}

.am-about-prose > :first-child {
    margin-top: 0;
}

.am-about-prose > :last-child {
    margin-bottom: 0;
}

.am-about-prose h2,
.am-about-prose h3,
.am-about-prose h4 {
    margin: var(--am-space-8) 0 var(--am-space-3);
    color: var(--am-text-primary);
    font-weight: 700;
    letter-spacing: var(--am-letter-spacing-heading);
    line-height: 1.3;
}

.am-about-prose h3:first-child {
    margin-top: 0;
}

.am-about-prose h3 {
    font-size: 1.0625rem;
}

.am-about-prose p {
    margin: 0 0 var(--am-space-5);
}

.am-about-prose ul,
.am-about-prose ol {
    margin: 0 0 var(--am-space-6);
    padding-left: 1.375rem;
}

.am-about-prose li {
    margin: 0 0 var(--am-space-2);
}

.am-about-prose li::marker {
    color: var(--am-blue);
}

.am-about-prose a {
    color: var(--am-blue);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.am-about-prose a:hover {
    color: var(--am-navy);
}

.am-about-prose strong {
    color: var(--am-text-primary);
    font-weight: 600;
}

.am-about-empty {
    margin: 0;
    padding: var(--am-space-8);
    text-align: center;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--am-text-secondary);
    background: var(--am-surface);
    border: 1px dashed var(--am-border);
    border-radius: var(--am-radius-md);
}

/* Policy pages */
.am-policy-page {
    scroll-behavior: smooth;
}

.am-policy-page .am-page-hero__inner {
    max-width: 48rem;
}

.am-policy-layout {
    display: grid;
    gap: var(--am-space-8);
    align-items: start;
}

@media (min-width: 1024px) {
    .am-policy-layout {
        grid-template-columns: 16rem minmax(0, 1fr);
        gap: var(--am-space-10);
    }
}

.am-policy-sidebar {
    display: none;
}

@media (min-width: 1024px) {
    .am-policy-sidebar {
        display: block;
        position: sticky;
        top: 6rem;
    }
}

.am-policy-toc {
    padding: var(--am-space-5);
    background: var(--am-surface);
    border: 1px solid var(--am-border);
    border-radius: var(--am-radius-md);
}

.am-policy-toc__label {
    margin: 0 0 var(--am-space-4);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--am-blue);
}

.am-policy-toc__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.am-policy-toc__item {
    margin: 0 0 var(--am-space-2);
}

.am-policy-toc__item--level-3 {
    padding-left: var(--am-space-4);
}

.am-policy-toc__link {
    display: block;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--am-text-secondary);
    text-decoration: none;
    transition: color 0.15s ease;
}

.am-policy-toc__link:hover {
    color: var(--am-blue);
}

.am-policy-sheet {
    max-width: 44rem;
    padding: var(--am-space-8);
    background: var(--am-surface);
    border: 1px solid var(--am-border);
    border-radius: var(--am-radius-lg);
    box-shadow: var(--am-shadow-sm);
}

@media (min-width: 768px) {
    .am-policy-sheet {
        padding: var(--am-space-10);
    }
}

.am-policy-sheet__head {
    margin-bottom: var(--am-space-8);
    padding-bottom: var(--am-space-6);
    border-bottom: 1px solid var(--am-border);
}

.am-policy-sheet__eyebrow {
    margin: 0 0 var(--am-space-3);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--am-blue);
}

.am-policy-sheet__title {
    margin: 0;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    letter-spacing: var(--am-letter-spacing-heading);
    line-height: 1.25;
    color: var(--am-text-primary);
}

.am-policy-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--am-space-3) var(--am-space-5);
    margin-top: var(--am-space-4);
    font-size: 0.8125rem;
    color: var(--am-text-secondary);
}

.am-policy-meta__item:not(:last-child)::after {
    content: "·";
    margin-left: var(--am-space-5);
    color: var(--am-border);
}

.am-policy-prose {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--am-text-secondary);
}

.am-policy-prose > :first-child {
    margin-top: 0;
}

.am-policy-prose > :last-child {
    margin-bottom: 0;
}

.am-policy-prose h2,
.am-policy-prose h3,
.am-policy-prose h4 {
    margin: var(--am-space-8) 0 var(--am-space-3);
    scroll-margin-top: 6rem;
    color: var(--am-text-primary);
    font-weight: 700;
    letter-spacing: var(--am-letter-spacing-heading);
    line-height: 1.3;
}

.am-policy-prose h2 {
    font-size: 1.25rem;
    padding-top: var(--am-space-2);
    border-top: 1px solid var(--am-border);
}

.am-policy-prose h2:first-child {
    border-top: 0;
    padding-top: 0;
}

.am-policy-prose h3 {
    font-size: 1.0625rem;
}

.am-policy-prose p {
    margin: 0 0 var(--am-space-5);
}

.am-policy-prose ul,
.am-policy-prose ol {
    margin: 0 0 var(--am-space-6);
    padding-left: 1.375rem;
}

.am-policy-prose li {
    margin: 0 0 var(--am-space-2);
}

.am-policy-prose li::marker {
    color: var(--am-blue);
}

.am-policy-prose a {
    color: var(--am-blue);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.am-policy-prose a:hover {
    color: var(--am-navy);
}

.am-policy-prose strong {
    color: var(--am-text-primary);
    font-weight: 600;
}

.am-footer-policy-link {
    font-size: inherit;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.am-footer-policy-link:hover {
    text-decoration: underline;
}

footer .footer-widget-one {
    position: relative;
    z-index: 1;
}

footer .footer-widget-one a {
    pointer-events: auto;
}

footer .footer-widget-one > ul + ul {
    margin-top: var(--am-space-4);
}

html:has(.am-policy-page) {
    scroll-padding-top: 5.5rem;
}

@media print {
    .am-policy-sidebar {
        display: none;
    }

    .am-policy-sheet {
        box-shadow: none;
        border: 0;
        padding: 0;
        max-width: none;
    }

    .am-policy-prose a {
        color: inherit;
        text-decoration: none;
    }

    .am-policy-prose a::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
    }
}

/* -------------------------------------------------------------------------- */
/* News                                                                       */
/* -------------------------------------------------------------------------- */

.am-news-page {
    color: var(--am-text-primary);
}

.am-news-page__head {
    max-width: 42rem;
    margin-bottom: var(--am-space-10);
}

.am-news-page__eyebrow {
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--am-blue);
    margin: 0 0 var(--am-space-3);
}

.am-news-page__title {
    font-size: clamp(1.875rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin: 0 0 var(--am-space-4);
    color: var(--am-navy);
}

.am-news-page__lead {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--am-text-secondary);
    margin: 0;
}

.am-news-toolbar {
    display: flex;
    flex-direction: column;
    gap: var(--am-space-5);
    margin-bottom: var(--am-space-10);
    padding-bottom: var(--am-space-6);
    border-bottom: 1px solid var(--am-border);
}

@media (min-width: 768px) {
    .am-news-toolbar {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

.am-news-filter {
    display: flex;
    flex-wrap: wrap;
    gap: var(--am-space-2);
}

.am-news-filter__chip {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0.875rem;
    border-radius: 999px;
    border: 1px solid var(--am-border);
    background: #fff;
    color: var(--am-text-secondary);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.am-news-filter__chip:hover {
    border-color: var(--am-blue);
    color: var(--am-navy);
}

.am-news-filter__chip--active {
    background: var(--am-navy);
    border-color: var(--am-navy);
    color: #fff;
}

.am-news-filter__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.35rem;
    margin-left: 0.35rem;
    border-radius: 999px;
    background: rgb(255 255 255 / 20%);
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1;
}

.am-news-filter__chip--active .am-news-filter__count {
    background: rgb(255 255 255 / 22%);
}

.am-news-filter__chip:not(.am-news-filter__chip--active) .am-news-filter__count {
    background: color-mix(in srgb, var(--am-blue) 12%, #fff);
    color: var(--am-navy);
}

.am-news-search {
    position: relative;
    width: 100%;
    max-width: 18rem;
}

.am-news-search__icon {
    position: absolute;
    left: 0.875rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--am-text-muted);
    pointer-events: none;
}

.am-news-search__input {
    width: 100%;
    height: 2.75rem;
    padding: 0 0.875rem 0 2.5rem;
    border: 1px solid var(--am-border);
    border-radius: 0.75rem;
    background: #fff;
    color: var(--am-text-primary);
    font-size: 0.9375rem;
}

.am-news-search__input:focus {
    outline: 2px solid color-mix(in srgb, var(--am-blue) 35%, transparent);
    border-color: var(--am-blue);
}

.am-news-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--am-space-5);
}

@media (min-width: 640px) {
    .am-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .am-news-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--am-space-5);
    }
}

.am-news-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid var(--am-border);
    border-radius: 0.875rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgb(15 23 42 / 4%);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.am-news-card:hover {
    box-shadow: 0 8px 20px rgb(15 23 42 / 6%);
    transform: translateY(-1px);
}

.am-news-card__media {
    display: block;
    aspect-ratio: 2 / 1;
    max-height: 7.5rem;
    background: color-mix(in srgb, var(--am-blue) 8%, #fff);
}

.am-news-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.am-news-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: var(--am-blue);
    font-size: 1.35rem;
    opacity: 0.65;
}

.am-news-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: var(--am-space-4);
}

.am-news-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--am-space-2);
    margin-bottom: var(--am-space-2);
    font-size: 0.75rem;
}

.am-news-card__category {
    display: inline-flex;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--am-blue) 12%, #fff);
    color: var(--am-navy);
    font-weight: 600;
    font-size: 0.6875rem;
}

.am-news-card__date {
    color: var(--am-text-muted);
}

.am-news-card__title {
    font-size: 1.0625rem;
    line-height: 1.35;
    font-weight: 700;
    margin: 0 0 var(--am-space-2);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.am-news-card__title a {
    color: var(--am-navy);
    text-decoration: none;
}

.am-news-card__title a:hover {
    color: var(--am-blue);
}

.am-news-card__excerpt {
    margin: 0 0 var(--am-space-3);
    color: var(--am-text-secondary);
    line-height: 1.55;
    font-size: 0.8125rem;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.am-news-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--am-blue);
    font-weight: 600;
    font-size: 0.8125rem;
    text-decoration: none;
}

.am-news-card__link:hover {
    color: var(--am-navy);
}

.am-news-empty {
    text-align: center;
    padding: var(--am-space-16) var(--am-space-6);
    border: 1px dashed var(--am-border);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--am-blue) 4%, #fff);
}

.am-news-empty__icon {
    font-size: 2rem;
    color: var(--am-blue);
    margin-bottom: var(--am-space-4);
}

.am-news-empty__title {
    font-size: 1.25rem;
    margin: 0 0 var(--am-space-2);
    color: var(--am-navy);
}

.am-news-empty__text {
    margin: 0 0 var(--am-space-5);
    color: var(--am-text-secondary);
}

.am-news-empty__action {
    display: inline-flex;
    color: var(--am-blue);
    font-weight: 600;
    text-decoration: none;
}

.am-news-pagination {
    margin-top: var(--am-space-10);
}

.am-news-article__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--am-space-10);
}

@media (min-width: 1024px) {
    .am-news-article__layout {
        grid-template-columns: minmax(0, 1fr) 18rem;
        gap: var(--am-space-12);
        align-items: start;
    }
}

.am-news-article__head {
    margin-bottom: var(--am-space-8);
    max-width: 46rem;
}

.am-news-article__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--am-space-4);
    margin-bottom: var(--am-space-4);
    font-size: 0.875rem;
    color: var(--am-text-muted);
}

.am-news-article__category {
    display: inline-flex;
    padding: 0.3rem 0.75rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--am-blue) 12%, #fff);
    color: var(--am-navy);
    font-weight: 600;
    text-decoration: none;
}

.am-news-article__title {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--am-navy);
    margin: 0;
}

.am-news-article__hero {
    margin-bottom: var(--am-space-8);
    border-radius: 1rem;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.am-news-article__hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.am-news-prose {
    max-width: 46rem;
    color: var(--am-text-primary);
    font-size: 1.0625rem;
    line-height: 1.75;
}

.am-news-prose > :first-child {
    margin-top: 0;
}

.am-news-prose h2,
.am-news-prose h3 {
    color: var(--am-navy);
    font-weight: 700;
    line-height: 1.3;
    margin: var(--am-space-8) 0 var(--am-space-4);
}

.am-news-prose h2 {
    font-size: 1.5rem;
}

.am-news-prose h3 {
    font-size: 1.125rem;
}

.am-news-prose p {
    margin: 0 0 var(--am-space-5);
    color: var(--am-text-secondary);
}

.am-news-prose ul {
    margin: 0 0 var(--am-space-6);
    padding-left: 1.25rem;
}

.am-news-prose li {
    margin-bottom: var(--am-space-2);
    color: var(--am-text-secondary);
}

.am-news-prose a {
    color: var(--am-blue);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.am-news-article__footer {
    margin-top: var(--am-space-10);
    padding-top: var(--am-space-6);
    border-top: 1px solid var(--am-border);
}

.am-news-article__back {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    color: var(--am-navy);
    font-weight: 600;
    text-decoration: none;
}

.am-news-article__back:hover {
    color: var(--am-blue);
}

.am-news-aside {
    padding: var(--am-space-6);
    border: 1px solid var(--am-border);
    border-radius: 1rem;
    background: #fff;
}

.am-news-aside + .am-news-aside {
    margin-top: var(--am-space-5);
}

.am-news-aside__title {
    font-size: 0.9375rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--am-text-muted);
    margin: 0 0 var(--am-space-4);
}

.am-news-aside__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.am-news-aside__list li + li {
    margin-top: var(--am-space-3);
}

.am-news-aside__link {
    display: block;
    text-decoration: none;
    padding: var(--am-space-3);
    border-radius: 0.75rem;
    transition: background 0.2s ease;
}

.am-news-aside__link:hover {
    background: color-mix(in srgb, var(--am-blue) 6%, #fff);
}

.am-news-aside__link-title {
    display: block;
    color: var(--am-navy);
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 0.25rem;
}

.am-news-aside__link-date {
    display: block;
    font-size: 0.8125rem;
    color: var(--am-text-muted);
}

.am-news-aside--categories .am-news-filter {
    flex-direction: column;
    align-items: stretch;
}

.am-news-aside--categories .am-news-filter__chip {
    justify-content: center;
}

html:has(.am-news-page),
html:has(.am-news-article) {
    scroll-padding-top: 5.5rem;
}

/* -------------------------------------------------------------------------- */
/* Help center                                                                */
/* -------------------------------------------------------------------------- */

.am-help-page {
    color: var(--am-text-primary);
    padding-top: var(--am-space-8);
}

.am-help-hero {
    text-align: center;
    max-width: 40rem;
    margin: 0 auto var(--am-space-12);
    padding-top: 0;
}

.am-help-hero--compact {
    text-align: left;
    max-width: none;
    margin-bottom: var(--am-space-8);
    padding-top: 0;
}

.am-help-hero__eyebrow {
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--am-blue);
    margin: 0 0 var(--am-space-3);
}

.am-help-hero__title {
    font-size: clamp(1.875rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin: 0 0 var(--am-space-4);
    color: var(--am-navy);
}

.am-help-hero__lead {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--am-text-secondary);
    margin: 0 0 var(--am-space-8);
}

.am-help-hero__search {
    max-width: 36rem;
    margin: 0 auto;
}

.am-help-hero--compact .am-help-hero__search {
    margin: var(--am-space-5) 0 0;
    max-width: 28rem;
}

.am-help-hero__signin {
    margin: var(--am-space-5) 0 0;
    font-size: 0.9375rem;
    color: var(--am-text-secondary);
}

.am-help-hero__signin-link {
    display: inline-flex;
    align-items: center;
    margin-left: 0.5rem;
    padding: 0.375rem 0.875rem;
    border-radius: 999px;
    background: var(--am-navy);
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

.am-help-hero__signin-link:hover {
    opacity: 0.92;
    color: #fff;
}

.am-help-search {
    position: relative;
    width: 100%;
}

.am-help-toolbar .am-help-search {
    min-width: 0;
}

@media (min-width: 768px) {
    .am-help-toolbar .am-help-search {
        flex: 0 1 22rem;
        margin-left: auto;
    }
}

.am-help-search__field {
    position: relative;
}

.am-help-search__icon {
    position: absolute;
    left: 1.125rem;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    color: var(--am-text-muted);
    pointer-events: none;
}

.am-help-search__icon i {
    font-size: 1.125rem;
    line-height: 1;
}

.am-help-search__input {
    display: block;
    width: 100%;
    min-height: 3rem;
    padding: 0.75rem 1.125rem 0.75rem 3rem;
    border: 1px solid var(--am-border);
    border-radius: 999px;
    background: #fff;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--am-text-primary);
    box-shadow: 0 1px 2px color-mix(in srgb, var(--am-navy) 4%, transparent);
}

.am-help-search__input:focus {
    outline: none;
    border-color: var(--am-blue);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--am-blue) 15%, transparent);
}

.am-help-search__suggestions {
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 0;
    right: 0;
    z-index: 40;
    margin: 0;
    padding: 0.375rem 0;
    list-style: none;
    background: #fff;
    border: 1px solid var(--am-border);
    border-radius: var(--am-radius-lg);
    box-shadow: var(--am-shadow-lg);
    max-height: 18rem;
    overflow-y: auto;
}

.am-help-search__suggestions[hidden] {
    display: none;
}

.am-help-search__suggestion {
    display: block;
    padding: 0.75rem 1.125rem;
    text-decoration: none;
    color: var(--am-text-primary);
    transition: background-color var(--am-duration-fast) var(--am-ease);
}

.am-help-search__suggestion:hover,
.am-help-search__suggestion.is-active {
    background: color-mix(in srgb, var(--am-blue) 8%, #fff);
}

.am-help-search__suggestion-title {
    display: block;
    font-weight: 600;
    line-height: 1.4;
    color: var(--am-navy);
}

.am-help-search__suggestion-meta {
    display: block;
    margin-top: 0.125rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--am-blue);
}

.am-help-search__suggestion-summary {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--am-text-secondary);
}

.am-help-toolbar {
    display: flex;
    flex-direction: column;
    gap: var(--am-space-4);
    margin-bottom: var(--am-space-8);
}

.am-help-toolbar--compact {
    margin-bottom: var(--am-space-6);
}

@media (min-width: 768px) {
    .am-help-toolbar {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .am-help-toolbar--compact {
        flex-wrap: wrap;
    }
}

.am-help-toolbar__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--am-navy);
    margin: 0;
}

.am-help-audience {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--am-space-3);
}

.am-help-audience__label {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--am-text-secondary);
}

.am-help-audience__chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--am-space-2);
}

.am-help-audience__chip {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0.875rem;
    border-radius: 999px;
    border: 1px solid var(--am-border);
    background: #fff;
    color: var(--am-text-secondary);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.am-help-audience__chip:hover,
.am-help-audience__chip.is-active {
    border-color: var(--am-blue);
    color: var(--am-navy);
    background: color-mix(in srgb, var(--am-blue) 6%, #fff);
}

.am-help-topic-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--am-space-4);
    margin-bottom: var(--am-space-12);
}

@media (min-width: 640px) {
    .am-help-topic-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .am-help-topic-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--am-space-5);
    }
}

.am-help-topic-card {
    border: 1px solid var(--am-border);
    border-radius: 1rem;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.am-help-topic-card:hover {
    border-color: color-mix(in srgb, var(--am-blue) 35%, var(--am-border));
    box-shadow: 0 8px 24px color-mix(in srgb, var(--am-navy) 6%, transparent);
}

.am-help-topic-card__link {
    display: flex;
    gap: var(--am-space-4);
    padding: var(--am-space-5);
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.am-help-topic-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--am-blue) 8%, #fff);
    color: var(--am-navy);
    font-size: 1.25rem;
    flex-shrink: 0;
}

.am-help-topic-card__title {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--am-navy);
    margin: 0 0 0.375rem;
}

.am-help-topic-card__desc {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--am-text-secondary);
    margin: 0 0 0.75rem;
}

.am-help-topic-card__meta {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--am-blue);
}

.am-help-popular {
    padding: var(--am-space-8) 0;
    margin-bottom: var(--am-space-10);
    border-top: 1px solid var(--am-border);
    border-bottom: 1px solid var(--am-border);
}

.am-help-popular__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--am-navy);
    margin: 0 0 var(--am-space-5);
}

.am-help-popular__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--am-border);
    border-radius: 0.75rem;
    overflow: hidden;
    background: #fff;
}

@media (min-width: 768px) {
    .am-help-popular__list {
        grid-template-columns: repeat(2, 1fr);
    }
}

.am-help-popular__list li {
    border-bottom: 1px solid var(--am-border);
}

@media (min-width: 768px) {
    .am-help-popular__list li:nth-child(odd) {
        border-right: 1px solid var(--am-border);
    }
}

.am-help-popular__link {
    display: block;
    padding: 1rem 1.125rem;
    color: var(--am-navy);
    font-weight: 500;
    text-decoration: none;
    transition: background 0.2s ease;
}

.am-help-popular__link:hover {
    background: color-mix(in srgb, var(--am-blue) 5%, #fff);
}

.am-help-escalation {
    margin-top: var(--am-space-10);
}

.am-help-escalation__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--am-navy);
    margin: 0 0 var(--am-space-5);
}

.am-help-escalation__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--am-space-4);
}

@media (min-width: 640px) {
    .am-help-escalation__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.am-help-escalation__card {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding: var(--am-space-5);
    border: 1px solid var(--am-border);
    border-radius: 0.875rem;
    background: color-mix(in srgb, var(--am-navy) 2%, #fff);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.am-help-escalation__card:hover {
    border-color: color-mix(in srgb, var(--am-blue) 35%, var(--am-border));
    background: #fff;
}

.am-help-escalation__icon {
    font-size: 1.25rem;
    color: var(--am-blue);
}

.am-help-escalation__card-title {
    font-weight: 700;
    color: var(--am-navy);
}

.am-help-escalation__card-text {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--am-text-secondary);
}

.am-help-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: var(--am-space-6);
    font-size: 0.875rem;
}

.am-help-breadcrumb__link {
    color: var(--am-blue);
    text-decoration: none;
}

.am-help-breadcrumb__link:hover {
    text-decoration: underline;
}

.am-help-breadcrumb__sep {
    color: var(--am-text-muted);
}

.am-help-breadcrumb__current {
    color: var(--am-text-secondary);
}

.am-help-topic-head {
    display: flex;
    gap: var(--am-space-4);
    align-items: flex-start;
    margin-bottom: var(--am-space-8);
}

.am-help-topic-head__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 0.875rem;
    background: color-mix(in srgb, var(--am-blue) 8%, #fff);
    color: var(--am-navy);
    font-size: 1.375rem;
    flex-shrink: 0;
}

.am-help-topic-head__title {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: var(--am-navy);
    margin: 0 0 0.5rem;
}

.am-help-topic-head__desc {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--am-text-secondary);
    margin: 0;
}

.am-help-guide-list {
    list-style: none;
    margin: 0 0 var(--am-space-10);
    padding: 0;
    border: 1px solid var(--am-border);
    border-radius: 0.875rem;
    overflow: hidden;
    background: #fff;
}

.am-help-guide-list__item + .am-help-guide-list__item {
    border-top: 1px solid var(--am-border);
}

.am-help-guide-list__link {
    display: block;
    padding: 1.125rem 1.25rem;
    text-decoration: none;
    transition: background 0.2s ease;
}

.am-help-guide-list__link:hover {
    background: color-mix(in srgb, var(--am-blue) 5%, #fff);
}

.am-help-guide-list__topic {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--am-blue);
    margin-bottom: 0.25rem;
}

.am-help-guide-list__title {
    display: block;
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--am-navy);
    margin-bottom: 0.25rem;
}

.am-help-guide-list__summary {
    display: block;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--am-text-secondary);
}

.am-help-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--am-space-8);
}

@media (min-width: 1024px) {
    .am-help-layout {
        grid-template-columns: 16rem minmax(0, 1fr);
        align-items: start;
    }
}

.am-help-sidebar {
    position: sticky;
    top: 5.5rem;
}

.am-help-toc__label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--am-text-muted);
    margin: 0 0 var(--am-space-3);
}

.am-help-toc__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.am-help-toc__item {
    margin: 0;
}

.am-help-toc__item--level-3 {
    padding-left: 0.875rem;
}

.am-help-toc__link {
    display: block;
    padding: 0.375rem 0;
    font-size: 0.875rem;
    color: var(--am-text-secondary);
    text-decoration: none;
}

.am-help-toc__link:hover {
    color: var(--am-blue);
}

.am-help-sheet {
    border: 1px solid var(--am-border);
    border-radius: 1rem;
    background: #fff;
    padding: var(--am-space-8);
}

.am-help-sheet__eyebrow {
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--am-blue);
    margin: 0 0 var(--am-space-3);
}

.am-help-sheet__title {
    font-size: clamp(1.625rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--am-navy);
    margin: 0 0 var(--am-space-3);
}

.am-help-sheet__summary {
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--am-text-secondary);
    margin: 0 0 var(--am-space-4);
}

.am-help-sheet__meta {
    font-size: 0.8125rem;
    color: var(--am-text-muted);
    margin: 0;
}

.am-help-prose {
    margin-top: var(--am-space-8);
    font-size: 1rem;
    line-height: 1.75;
    color: var(--am-text-primary);
}

.am-help-prose h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--am-navy);
    margin: 2rem 0 0.75rem;
}

.am-help-prose h2:first-child {
    margin-top: 0;
}

.am-help-prose h3 {
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--am-navy);
    margin: 1.5rem 0 0.5rem;
}

.am-help-prose p,
.am-help-prose ul,
.am-help-prose ol {
    margin: 0 0 1rem;
}

.am-help-prose ul,
.am-help-prose ol {
    padding-left: 1.25rem;
}

.am-help-prose li + li {
    margin-top: 0.375rem;
}

.am-help-sheet__footer {
    margin-top: var(--am-space-10);
    padding-top: var(--am-space-6);
    border-top: 1px solid var(--am-border);
}

.am-help-sheet__footer-label {
    font-weight: 600;
    color: var(--am-navy);
    margin: 0 0 var(--am-space-3);
}

.am-help-sheet__footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--am-space-4);
}

.am-help-sheet__footer-link {
    color: var(--am-blue);
    font-weight: 600;
    text-decoration: none;
}

.am-help-sheet__footer-link:hover {
    text-decoration: underline;
}

.am-help-empty {
    text-align: center;
    padding: var(--am-space-12) var(--am-space-4);
}

.am-help-empty__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--am-navy);
    margin: 0 0 var(--am-space-3);
}

.am-help-empty__text {
    color: var(--am-text-secondary);
    margin: 0 0 var(--am-space-5);
}

.am-help-empty__action {
    display: inline-flex;
    color: var(--am-blue);
    font-weight: 600;
    text-decoration: none;
}

.am-help-search-meta {
    font-size: 0.9375rem;
    color: var(--am-text-secondary);
    margin: 0 0 var(--am-space-5);
}

.am-help-pagination {
    margin-top: var(--am-space-8);
}

html:has(.am-help-page) {
    scroll-padding-top: 5.5rem;
}

/* Public site header — signed-in profile control */
.am-nav-profile-link {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    height: 2.75rem;
    padding: 0.125rem 1rem 0.125rem 0.125rem;
    border-radius: 9999px;
    background: var(--am-navy);
    color: var(--am-text-on-dark);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background-color var(--am-duration-fast) var(--am-ease),
        color var(--am-duration-fast) var(--am-ease);
    flex-shrink: 0;
}

.am-nav-profile-link:hover,
.am-nav-profile-link:focus-visible {
    background: var(--am-blue);
    color: var(--am-text-on-dark);
}

.am-nav-profile-label {
    display: none;
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (min-width: 768px) {
    .am-nav-profile-label {
        display: block;
    }
}

.am-nav-profile-avatar {
    width: 2rem !important;
    height: 2rem !important;
    font-size: 0.6875rem !important;
    background: rgba(255, 255, 255, 0.15) !important;
    color: var(--am-text-on-dark) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}

.am-nav-profile-link .am-nav-profile-avatar[class*="ring-"] {
    --tw-ring-color: rgba(255, 255, 255, 0.2);
}

.am-nav-profile-link--mobile {
    width: 100%;
    justify-content: center;
    padding-left: 0.75rem;
    padding-right: 1rem;
}

.am-nav-profile-link--mobile .am-nav-profile-label {
    display: block;
    max-width: none;
}
