/* Global */
:root {
    --sidebar-width: 230px;
    --topbar-height: 58px;
    --brand-ink: #10233f;
    --brand-deep: #0f172a;
    --brand-sand: #fff7e8;
    --brand-warm: #ff8d57;
    --brand-mint: #9ae6cf;
    --surface-soft: rgba(255, 255, 255, 0.72);
    --shadow-xl: 0 24px 80px rgba(15, 23, 42, 0.18);
}

html {
    scroll-behavior: smooth;
}

body {
    background:
        radial-gradient(circle at top left, rgba(255, 164, 87, 0.18), transparent 32%),
        radial-gradient(circle at top right, rgba(42, 132, 255, 0.16), transparent 26%),
        linear-gradient(180deg, #fffdf8 0%, #f4f7fb 46%, #eef2f8 100%);
    color: var(--brand-deep);
    font-family: "Manrope", sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Space Grotesk", sans-serif;
}

/* Navbar */
.navbar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.app-navbar {
    background: rgba(8, 15, 32, 0.84) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 42px rgba(8, 15, 32, 0.14);
}

.app-navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    color: #fff !important;
    min-height: 64px;
}

.app-navbar-brand:hover {
    color: #fff !important;
}

.app-navbar-brand-mark {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0.45rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 247, 232, 0.94));
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.2);
}

.app-navbar-brand-mark img {
    width: 100%;
    display: block;
}

.app-navbar-brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.app-navbar-brand-name {
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.18rem;
    letter-spacing: -0.02em;
}

.app-navbar-brand-tag {
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.app-navbar-actions {
    flex-wrap: wrap;
}

.app-navbar-links {
    gap: 0.2rem;
}

.app-navbar-collapse {
    flex-grow: 0;
}

.app-navbar-toggler {
    border-color: rgba(255, 255, 255, 0.18);
    padding: 0.45rem 0.65rem;
    border-radius: 12px;
}

.app-navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 141, 87, 0.18);
}

.app-navbar .nav-link {
    color: rgba(255, 255, 255, 0.76) !important;
    border-radius: 12px;
    padding: 0.55rem 0.8rem !important;
    transition: background 0.2s ease, color 0.2s ease;
}

.app-navbar .nav-link:hover,
.app-navbar .nav-link:focus {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.08);
}

.app-navbar-user {
    color: rgba(255, 255, 255, 0.62);
}

.app-navbar-user-name {
    color: #fff;
}

.app-navbar-btn {
    min-height: 38px;
    border-radius: 12px;
    padding: 0.45rem 0.85rem;
    font-weight: 700;
    border: 1px solid transparent;
}

.app-navbar-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, #ff8d57 0%, #2563eb 100%);
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.18);
    border : 1px solid white;
}

.app-navbar-btn-primary:hover {
    color: #fff;
}

.app-navbar-btn-quote {
    color: #fff;
    background:
        linear-gradient(135deg, rgba(255, 141, 87, 0.18) 0%, rgba(37, 99, 235, 0.14) 100%);
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.16);
}

.app-navbar-btn-quote:hover {
    color: #fff;
    background:
        linear-gradient(135deg, rgba(255, 141, 87, 0.28) 0%, rgba(37, 99, 235, 0.22) 100%);
    border-color: rgba(255, 255, 255, 0.22);
    transform: translateY(-1px);
}

.app-navbar-quote-link {
    white-space: nowrap;
}

.app-navbar-btn-ghost {
    color: rgba(255, 255, 255, 0.88);
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.app-navbar-btn-ghost:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.16);
}

/* Audit top bar */
.audit-topbar {
    background: #1a1a2e;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    z-index: 100;
}

/* Audit sidebar */
.audit-sidebar {
    width: var(--sidebar-width);
    height: calc(100vh - 115px);
    overflow-y: auto;
    background: #fff;
    border-right: 1px solid #e5e7eb;
    scrollbar-width: thin;
}

.audit-sidebar::-webkit-scrollbar {
    width: 4px;
}

.audit-sidebar::-webkit-scrollbar-track {
    background: transparent;
}

.audit-sidebar::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 2px;
}

.sidebar-link {
    color: #374151;
    transition: background 0.15s, color 0.15s;
    font-size: 0.8rem;
}

.sidebar-link:hover {
    background: #f3f4f6;
    color: #111827;
}

.sidebar-link.active {
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 600;
}

/* Section cards */
.section-card {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}

.section-card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

.section-card .card-header {
    user-select: none;
    border-bottom: 1px solid #e5e7eb;
    padding: 0.9rem 1.2rem;
}

.section-chevron {
    transition: transform 0.2s;
    color: #9ca3af;
    font-size: 0.8rem;
}

/* Checklist items */
.checklist-item {
    transition: background 0.15s;
    border-bottom: 1px solid #f3f4f6;
}

.checklist-item:last-child {
    border-bottom: none;
}

.checklist-item:hover {
    background: #f9fafb;
}

.checklist-item.checked {
    background: #f0fdf4;
}

.checklist-item.checked .item-label {
    color: #16a34a;
    text-decoration: line-through;
    text-decoration-color: #86efac;
    opacity: 0.75;
}

.item-label {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #374151;
}

.subsection-title {
    background: #f8fafc;
}

/* Auto result badges */
.auto-result {
    margin-top: 3px;
}

.badge.bg-success-subtle {
    background-color: #dcfce7 !important;
}

.badge.bg-danger-subtle {
    background-color: #fee2e2 !important;
}

.badge.bg-warning-subtle {
    background-color: #fef9c3 !important;
}

/* Audit card */
.audit-card {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    transition: transform 0.15s, box-shadow 0.15s;
}

.audit-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
}

/* Help content */
.help-content {
    border-radius: 6px;
    font-size: 0.8rem;
}

/* Small button fix */
.btn-xs {
    padding: 0.1rem 0.4rem;
    font-size: 0.75rem;
    line-height: 1.4;
}

/* Progress bars */
.progress {
    border-radius: 10px;
    background: #e5e7eb;
}

.progress-bar {
    border-radius: 10px;
    transition: width 0.4s ease;
}

/* Section body animation */
.section-body {
    animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

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

/* Utility */
.min-w-0 {
    min-width: 0;
}

/* Footer */
.footer {
    margin-top: auto;
}

.app-footer {
    position: relative;
    margin-top: auto;
    padding: 1.2rem 0;
    background:
        linear-gradient(180deg, rgba(7, 17, 31, 0.98) 0%, rgba(11, 20, 38, 0.98) 100%) !important;
    color: rgba(255, 255, 255, 0.72) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.app-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.app-footer-brand {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.app-footer-brand-head {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
}

.app-footer-brand-mark {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.3rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 247, 232, 0.94));
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.18);
}

.app-footer-brand-mark img {
    width: 100%;
    height: 100%;
    display: block;
}

.app-footer-brand-name {
    color: #fff;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.app-footer-brand-copy,
.app-footer-meta {
    color: rgba(255, 255, 255, 0.64);
    font-size: 0.88rem;
    line-height: 1.55;
}

.app-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.app-footer-links a {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
}

.app-footer-links a:hover {
    color: #fff;
}

.app-footer-cta {
    max-width: 640px;
    margin-left: auto;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(115deg, rgba(7, 17, 31, 0.92) 0%, rgba(7, 17, 31, 0.76) 48%, rgba(7, 17, 31, 0.88) 100%),
        radial-gradient(circle at top right, rgba(255, 141, 87, 0.18), transparent 34%),
        var(--footer-cta-bg) center right / cover no-repeat;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
}

.app-footer-cta-content {
    position: relative;
    z-index: 1;
    min-width: 0;
    max-width: 420px;
}

.app-footer-cta-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.app-footer-cta-copy {
    margin: 0.85rem 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.95rem;
    line-height: 1.7;
}

.app-footer-cta-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    margin-top: 0.95rem;
}

.app-footer-cta-link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 46px;
    padding: 0.8rem 1rem;
    border-radius: 16px;
    background: linear-gradient(135deg, #ff8d57 0%, #2563eb 100%);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.app-footer-cta-link:hover {
    transform: translateY(-2px);
    color: #fff;
    box-shadow: 0 18px 36px rgba(37, 99, 235, 0.24);
}

/* Print */
@media print {
    .audit-topbar,
    .audit-sidebar,
    .navbar,
    .footer,
    .no-print,
    .note-editor,
    .help-content,
    .help-btn,
    .note-btn {
        display: none !important;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .checklist-item {
        padding: 0.6rem 0.8rem;
    }

    .audit-topbar .btn {
        font-size: 0.75rem;
        padding: 0.3rem 0.6rem;
    }
}

@media (max-width: 991.98px) {
    .app-navbar-brand {
        min-height: 58px;
    }

    .app-navbar-brand-mark {
        width: 52px;
        height: 52px;
        border-radius: 16px;
        padding: 0.38rem;
    }

    .app-navbar-brand-name {
        font-size: 1.08rem;
    }

    .app-navbar-brand-tag {
        font-size: 0.74rem;
    }

    .app-navbar-collapse {
        width: 100%;
        margin-top: 0.9rem;
    }

    .app-navbar-actions {
        width: 100%;
        align-items: stretch !important;
        flex-direction: column;
        gap: 0.9rem !important;
    }

    .app-navbar-links {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    .app-navbar .nav-link {
        width: auto;
        min-width: 44px;
        padding: 0.7rem 0.85rem !important;
        text-align: center;
    }

    .app-navbar-quote-link {
        width: 100%;
    }

    .app-navbar-user {
        text-align: left !important;
        padding-top: 0.2rem;
    }

    .app-footer-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .app-footer-cta {
        width: 100%;
        max-width: none;
        margin-left: 0;
    }

    .app-footer-cta-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .app-footer-cta-link {
        width: 100%;
        justify-content: center;
    }

    .audit-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .audit-mobile-section-nav {
        display: flex;
        gap: 0.5rem;
        overflow-x: auto;
        padding-bottom: 0.25rem;
        scrollbar-width: thin;
    }

    .audit-mobile-section-nav .btn {
        white-space: nowrap;
    }

    .audit-topbar-progress {
        width: 100%;
    }

    .audit-topbar-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .audit-topbar-actions .btn,
    .app-mobile-actions > * {
        flex: 1 1 180px;
    }

    .item-controls {
        width: 100%;
    }

    .item-controls .d-flex {
        justify-content: flex-start !important;
    }
}

/* Highlight on scroll */
.section-card:target {
    box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.3) !important;
}

/* Loading overlay */
.spinner-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.scroll-top-btn {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 54px;
    height: 54px;
    border: 0;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #ff8d57 0%, #2563eb 100%);
    color: #fff;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.22);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease, box-shadow 0.22s ease;
    z-index: 1040;
}

.scroll-top-btn:hover {
    box-shadow: 0 22px 40px rgba(15, 23, 42, 0.28);
}

.scroll-top-btn.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.audit-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.audit-summary-card {
    padding: 1rem 1.1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

.audit-summary-card strong {
    display: block;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.7rem;
    line-height: 1;
    color: #07111f;
}

.audit-summary-label {
    display: block;
    margin-bottom: 0.45rem;
    color: #64748b;
    font-size: 0.85rem;
    line-height: 1.5;
}

.audit-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.audit-filter-btn.active {
    background: #0f172a !important;
    border-color: #0f172a !important;
    color: #fff !important;
}

.item-state-indicator {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.item-state-badge {
    font-weight: 700;
}

.item-controls {
    width: 170px;
}

.item-status-select {
    font-weight: 600;
}

.app-page-header {
    gap: 1rem;
}

.app-mobile-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.app-mobile-actions > * {
    flex: 0 0 auto;
}

.audit-history-mobile-list,
.compare-mobile-list {
    display: none;
}

.audit-history-mobile-card,
.compare-mobile-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.audit-topbar-progress {
    width: 220px;
}

.audit-topbar-actions {
    gap: 0.75rem;
}

.audit-mobile-section-nav {
    display: none;
}

.checklist-item {
    position: relative;
}

.checklist-item.state-issue {
    background: rgba(254, 242, 242, 0.8);
}

.checklist-item.state-review,
.checklist-item.state-auto_warning {
    background: rgba(255, 251, 235, 0.82);
}

.checklist-item.state-ok,
.checklist-item.state-na,
.checklist-item.state-auto_pass {
    background: rgba(240, 253, 244, 0.7);
}

.checklist-item.state-auto_fail {
    background: rgba(254, 242, 242, 0.9);
}

/* Landing page */
.landing-body .navbar {
    background: rgba(8, 15, 32, 0.84) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 40px rgba(10, 15, 30, 0.12);
}

.landing-nav-container {
    min-height: 78px;
}

.landing-body .navbar-brand {
    letter-spacing: -0.02em;
}

.landing-page {
    position: relative;
    overflow: hidden;
}

.landing-page::before,
.landing-page::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.landing-page::before {
    width: 520px;
    height: 520px;
    top: -120px;
    right: -180px;
    background: radial-gradient(circle, rgba(255, 141, 87, 0.22), transparent 68%);
}

.landing-page::after {
    width: 620px;
    height: 620px;
    left: -220px;
    top: 360px;
    background: radial-gradient(circle, rgba(29, 78, 216, 0.16), transparent 70%);
}

.landing-hero-wrap {
    position: relative;
    padding-top: 1rem;
}

.landing-hero-grid {
    display: block;
}

.landing-hero-copy,
.landing-stage {
    position: relative;
    z-index: 1;
}

.landing-kicker,
.landing-section-kicker,
.landing-compare-badge,
.landing-mode-badge,
.landing-panel-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.landing-kicker,
.landing-section-kicker,
.landing-compare-badge,
.landing-mode-badge {
    background: rgba(16, 35, 63, 0.08);
    color: var(--brand-ink);
}

.landing-title {
    margin: 1rem 0 1.2rem;
    font-size: clamp(2.9rem, 6vw, 5.4rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
    color: #07111f;
}

.landing-lead {
    max-width: 58ch;
    margin-bottom: 1.6rem;
    color: #475569;
    font-size: 1.08rem;
    line-height: 1.85;
}

.landing-actions,
.landing-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.95rem;
}

.landing-btn-primary,
.landing-btn-secondary,
.landing-link-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    min-height: 56px;
    padding: 0.95rem 1.4rem;
    border-radius: 18px;
    text-decoration: none;
    font-weight: 800;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.landing-btn-primary:hover,
.landing-btn-secondary:hover,
.landing-link-btn:hover {
    transform: translateY(-2px);
}

.landing-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, #07111f 0%, #153d8f 100%);
    box-shadow: 0 18px 40px rgba(21, 61, 143, 0.22);
}

.landing-btn-primary:hover {
    color: #fff;
}

.landing-btn-secondary {
    color: #081223;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(8, 18, 35, 0.09);
    box-shadow: 0 14px 30px rgba(8, 18, 35, 0.08);
}

.landing-btn-secondary:hover {
    color: #081223;
}

.landing-link-btn {
    color: #475569;
    background: transparent;
}

.landing-hero-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
    margin-top: 1.5rem;
}

.landing-proof-item {
    padding: 1.15rem 1.1rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(8, 18, 35, 0.06);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

.landing-proof-item strong,
.landing-metric-value,
.landing-mini-stats strong {
    display: block;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.8rem;
    line-height: 1;
    color: #07111f;
}

.landing-proof-item span,
.landing-metric-label,
.landing-mini-stats span {
    display: block;
    margin-top: 0.4rem;
    color: #5a6a82;
    font-size: 0.92rem;
    line-height: 1.55;
}

.landing-hero-note,
.landing-inline-alert,
.landing-panel,
.landing-mode-card,
.landing-story-card,
.landing-truth-panel,
.landing-reason-card,
.landing-process-card,
.landing-compare-card,
.landing-cta-panel,
.landing-metric-card,
.landing-stage-shell {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.74);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.12);
}

.landing-hero-note {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 1rem;
    margin-top: 1.3rem;
    padding: 1.2rem;
    border-radius: 26px;
}

.landing-note-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.18), rgba(37, 99, 235, 0.18));
    color: #0f3c93;
    font-size: 1.35rem;
}

.landing-hero-note p {
    margin-top: 0.3rem;
    color: #55657d;
    line-height: 1.7;
}

.landing-inline-alert {
    margin-top: 1.1rem;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    border-color: rgba(250, 173, 20, 0.22);
    background: rgba(255, 248, 226, 0.84);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.landing-overview-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr 0.85fr;
    gap: 1rem;
    margin-top: 2rem;
}

.landing-panel,
.landing-overview-card,
.landing-mode-card {
    border-radius: 26px;
    padding: 1.3rem;
}

.landing-overview-card-large {
    background:
        radial-gradient(circle at top right, rgba(255, 141, 87, 0.16), transparent 32%),
        rgba(255, 255, 255, 0.78);
}

.landing-panel-primary {
    background:
        radial-gradient(circle at top right, rgba(255, 141, 87, 0.16), transparent 32%),
        rgba(255, 255, 255, 0.78);
}

.landing-panel-secondary {
    background:
        radial-gradient(circle at bottom left, rgba(29, 78, 216, 0.12), transparent 36%),
        rgba(255, 255, 255, 0.78);
}

.landing-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.9rem;
}

.landing-panel-badge {
    background: rgba(14, 165, 233, 0.12);
    color: #0c4a6e;
}

.landing-panel h2,
.landing-panel h3,
.landing-mode-card h3,
.landing-story-card h3,
.landing-reason-card h3,
.landing-process-card h3,
.landing-compare-card h3,
.landing-truth-panel h3 {
    color: #07111f;
    margin: 0 0 0.7rem;
    line-height: 1.15;
}

.landing-panel h2 {
    font-size: 1.75rem;
}

.landing-panel h3,
.landing-mode-card h3,
.landing-story-card h3,
.landing-reason-card h3,
.landing-process-card h3,
.landing-compare-card h3,
.landing-truth-panel h3 {
    font-size: 1.35rem;
}

.landing-feature-list,
.landing-compare-list,
.landing-truth-list {
    margin: 0;
    padding-left: 1.1rem;
}

.landing-feature-list li,
.landing-compare-list li,
.landing-truth-list li,
.landing-panel p,
.landing-mode-card p,
.landing-story-card p,
.landing-reason-card p,
.landing-process-card p,
.landing-section-copy {
    color: #55657d;
    line-height: 1.72;
}

.landing-feature-list li,
.landing-compare-list li,
.landing-truth-list li {
    margin-bottom: 0.5rem;
}

.landing-progress-card {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 20px;
    background: rgba(7, 17, 31, 0.05);
}

.landing-progress-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
    color: #334155;
    font-weight: 700;
}

.landing-progress-bar {
    height: 10px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.22);
    overflow: hidden;
}

.landing-progress-fill {
    display: block;
    width: 62%;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff8d57 0%, #2563eb 100%);
}

.landing-progress-card small {
    display: block;
    margin-top: 0.65rem;
    color: #64748b;
}

.landing-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.landing-mode-stack {
    display: grid;
    gap: 0.85rem;
}

.landing-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    background: rgba(16, 35, 63, 0.08);
    color: #17315d;
    font-size: 0.82rem;
    font-weight: 700;
}

.landing-mode-card {
    min-height: 0;
}

.landing-mode-card-strong {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.84) 0%, rgba(233, 242, 255, 0.92) 100%);
    border-color: rgba(37, 99, 235, 0.18);
}

.landing-mini-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
}

.landing-mini-stats > div {
    padding: 1rem 0.85rem;
    border-radius: 20px;
    background: rgba(7, 17, 31, 0.04);
}

.landing-metric-band {
    padding: 0 0 1.5rem;
}

.landing-metric-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.landing-metric-card {
    padding: 1.35rem;
    border-radius: 26px;
}

.landing-section {
    position: relative;
    z-index: 1;
    padding: 2.2rem 0 1.7rem;
}

.landing-section-soft {
    padding-top: 2.6rem;
    padding-bottom: 2.5rem;
}

.landing-section-intro {
    max-width: 780px;
    margin-bottom: 2rem;
}

.landing-section-title {
    margin: 0.9rem 0 0.85rem;
    font-size: clamp(2.1rem, 3vw, 3.25rem);
    line-height: 1.04;
    letter-spacing: -0.04em;
    color: #07111f;
}

.landing-story-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.landing-story-card {
    padding: 1.5rem;
    border-radius: 28px;
}

.landing-story-card-large {
    grid-column: span 3;
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 1.1rem;
    align-items: start;
}

.landing-story-card-large h3,
.landing-story-card-large p {
    grid-column: 2;
}

.landing-story-index {
    width: 76px;
    height: 76px;
    border-radius: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(255, 141, 87, 0.2), rgba(37, 99, 235, 0.16));
    color: #0f172a;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
}

.landing-truth-panel {
    margin-top: 1rem;
    padding: 1.5rem;
    border-radius: 28px;
    display: grid;
    grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
    gap: 1.4rem;
    align-items: start;
}

.landing-benefit-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 1.4rem;
    align-items: start;
}

.landing-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.landing-reason-card,
.landing-process-card,
.landing-compare-card {
    padding: 1.45rem;
    border-radius: 26px;
}

.landing-timeline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.landing-process-card {
    position: relative;
    overflow: hidden;
}

.landing-process-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 1rem;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(255, 141, 87, 0.18), rgba(42, 132, 255, 0.18));
    color: #0f172a;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
}

.landing-compare-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.landing-compare-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.9rem;
}

.landing-compare-top > i {
    font-size: 1.9rem;
    color: var(--brand-warm);
}

.landing-compare-card-featured {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(236, 243, 255, 0.96) 100%);
    border-color: rgba(37, 99, 235, 0.18);
}

.landing-cta-panel {
    border-radius: 32px;
    padding: 2rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.4rem;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.landing-cta-panel::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -90px;
    width: 260px;
    height: 260px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 141, 87, 0.18), transparent 68%);
    pointer-events: none;
}

.legal-page::before {
    width: 460px;
    height: 460px;
    top: -80px;
    right: -140px;
}

.legal-page::after {
    width: 560px;
    height: 560px;
    left: -180px;
    top: 420px;
}

.legal-hero {
    position: relative;
}

.legal-hero-shell,
.legal-card,
.legal-mode-card,
.legal-rights-card,
.legal-summary-card {
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.12);
}

.legal-hero-shell {
    padding: 2rem;
    border-radius: 32px;
}

.legal-title {
    max-width: 12ch;
}

.legal-lead {
    max-width: 68ch;
}

.legal-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.8rem;
}

.legal-summary-card {
    padding: 1.35rem;
    border-radius: 24px;
}

.legal-summary-label {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(16, 35, 63, 0.08);
    color: #17315d;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.legal-summary-card strong {
    display: block;
    margin-top: 0.9rem;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.35rem;
    line-height: 1.15;
    color: #07111f;
}

.legal-summary-card p,
.legal-card p,
.legal-mode-card p,
.legal-rights-copy p {
    margin: 0.85rem 0 0;
    color: #55657d;
    line-height: 1.75;
}

.legal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.legal-card {
    padding: 1.5rem;
    border-radius: 28px;
}

.legal-card-featured {
    background:
        radial-gradient(circle at top right, rgba(255, 141, 87, 0.16), transparent 32%),
        rgba(255, 255, 255, 0.82);
}

.legal-card h2,
.legal-mode-card h2,
.legal-rights-copy h2 {
    margin: 0.9rem 0 0;
    color: #07111f;
    font-size: 1.55rem;
    line-height: 1.12;
}

.legal-list {
    margin: 1rem 0 0;
    padding-left: 1.1rem;
}

.legal-list li {
    margin-bottom: 0.65rem;
    color: #55657d;
    line-height: 1.72;
}

.legal-mode-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.legal-mode-card {
    padding: 1.6rem;
    border-radius: 28px;
}

.legal-mode-card-featured {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(236, 243, 255, 0.96) 100%);
    border-color: rgba(37, 99, 235, 0.18);
}

.legal-rights-card {
    padding: 1.8rem;
    border-radius: 32px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.4rem;
    align-items: center;
}

.legal-rights-actions {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

@media (max-width: 1199.98px) {
    .landing-benefit-layout {
        grid-template-columns: 1fr;
    }

    .landing-title {
        max-width: 13ch;
    }
}

@media (max-width: 991.98px) {
    .landing-overview-grid,
    .landing-truth-panel,
    .landing-compare-grid,
    .landing-metric-strip,
    .landing-timeline,
    .legal-summary-grid,
    .legal-grid,
    .legal-mode-grid,
    .legal-rights-card {
        grid-template-columns: 1fr;
    }

    .landing-story-grid,
    .landing-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .landing-story-card-large {
        grid-column: span 2;
    }

    .landing-title {
        font-size: clamp(2.6rem, 9vw, 4.2rem);
    }

    .landing-cta-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .scroll-top-btn {
        display: none !important;
    }

    .app-page-header {
        flex-direction: column;
        align-items: stretch !important;
    }

    .app-page-header > *:last-child,
    .app-page-header .btn,
    .app-mobile-actions .btn,
    .app-mobile-actions button {
        width: 100%;
    }

    .audit-summary-grid {
        grid-template-columns: 1fr;
    }

    .checklist-item > .d-flex {
        flex-direction: column;
    }

    .item-state-indicator {
        width: 38px;
        height: 38px;
    }

    .audit-history-desktop-table,
    .compare-desktop-table {
        display: none;
    }

    .audit-history-mobile-list,
    .compare-mobile-list {
        display: grid;
        gap: 0.85rem;
    }

    .landing-nav-container {
        min-height: auto;
    }

    .landing-hero-meta,
    .landing-mini-stats,
    .landing-story-grid,
    .landing-benefit-grid {
        grid-template-columns: 1fr;
    }

    .landing-actions,
    .landing-cta-actions {
        flex-direction: column;
    }

    .landing-btn-primary,
    .landing-btn-secondary,
    .landing-link-btn {
        width: 100%;
    }

    .landing-hero-note {
        grid-template-columns: 1fr;
    }

    .landing-story-card-large {
        grid-column: auto;
        grid-template-columns: 1fr;
    }

    .landing-story-card-large h3,
    .landing-story-card-large p {
        grid-column: auto;
    }

    .landing-stage-shell,
    .landing-overview-card,
    .landing-proof-item,
    .landing-panel,
    .landing-mode-card,
    .landing-story-card,
    .landing-truth-panel,
    .landing-reason-card,
    .landing-process-card,
    .landing-compare-card,
    .landing-cta-panel,
    .landing-metric-card,
    .legal-hero-shell,
    .legal-summary-card,
    .legal-card,
    .legal-mode-card,
    .legal-rights-card {
        border-radius: 22px;
    }

    .landing-cta-panel,
    .landing-story-card,
    .landing-process-card,
    .legal-hero-shell,
    .legal-card,
    .legal-mode-card,
    .legal-rights-card {
        padding: 1rem;
    }

    .legal-rights-actions {
        width: 100%;
    }
}
