* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #9ca3af; }
body.dark-mode ::-webkit-scrollbar-thumb { background: #30363d; }
body.dark-mode ::-webkit-scrollbar-thumb:hover { background: #484f58; }

::selection { background: rgba(0,0,204,0.12); color: inherit; }
body.dark-mode ::selection { background: rgba(100,100,255,0.2); }

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', 'Segoe UI', Roboto, sans-serif;
    background: #ffffff;
    color: #1d1d1f;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: -0.016em;
    font-size: 17px;
    line-height: 1.47059;
    font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    letter-spacing: -0.022em;
    color: #1d1d1f;
    line-height: 1.1;
}

h1 { font-size: 2.5rem; font-weight: 700; letter-spacing: -0.028em; }
h2 { font-size: 1.75rem; font-weight: 600; letter-spacing: -0.024em; }
h3 { font-size: 1.25rem; font-weight: 600; letter-spacing: -0.02em; }

p {
    color: #424245;
    line-height: 1.52947;
    font-weight: 400;
}

a {
    color: #0066cc;
    text-decoration: none;
    transition: color 0.2s;
}

a:hover {
    color: #0000cc;
}

.btn {
    font-family: inherit;
    font-size: 0.88rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    border-radius: 8px;
    transition: all 0.2s ease;
}

input, select, textarea, button {
    font-family: inherit;
    letter-spacing: -0.016em;
}

nav {
    background: rgba(255,255,255,0.88);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    position: sticky;
    top: 0;
    z-index: 9000;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    isolation: isolate;
}

.nav-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 44px;
}

.nav-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.nav-brand-name {
    font-size: 0.85rem;
    font-weight: 700;
    color: #1d1d1f;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.dark-mode .nav-brand-name {
    color: #f5f5f7;
}

.nav-logo {
    height: 40px;
    width: auto;
    object-fit: contain;
}

.nav-center {
    display: flex;
    align-items: center;
    gap: 0;
    justify-content: center;
    flex: 1;
}

.nav-center a {
    color: #0000cc !important;
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 12px 10px;
    white-space: nowrap;
    transition: color 0.2s ease;
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
}

.nav-center a:hover {
    opacity: 1;
    color: #0000aa !important;
}

.nav-divider {
    width: 1px;
    height: 14px;
    background: rgba(255,255,255,0.2);
    margin: 0 6px;
    display: inline-block;
    vertical-align: middle;
}

.nav-dropdown-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.nav-dropdown-trigger {
    cursor: default;
}

.nav-dropdown-trigger::after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    margin-left: 4px;
    margin-bottom: 2px;
    opacity: 0.5;
    transition: transform 0.2s;
}

.nav-dropdown-wrap:hover .nav-dropdown-trigger::after {
    transform: rotate(-135deg);
    margin-bottom: -2px;
}

.nav-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.1);
    padding: 6px 0;
    min-width: 160px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(4px);
    transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
    z-index: 300;
}

.nav-dropdown-wrap:hover .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.nav-dropdown-menu a {
    display: block;
    padding: 8px 20px;
    color: #1d1d1f;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 400;
    white-space: nowrap;
    transition: background 0.15s;
}

.nav-dropdown-menu a:hover {
    background: #f0f4ff;
    color: #0000cc;
}
.nav-dropdown-divider {
    height: 1px;
    background: #e8eaff;
    margin: 4px 12px;
}
.nav-dropdown-cta {
    color: #0000cc !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    padding: 8px 20px 10px !important;
}
.nav-dropdown-cta:hover {
    background: #f0f4ff;
    color: #0000cc !important;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.nav-icon-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #1d1d1f;
    opacity: 0.72;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
    border-radius: 50%;
}

.nav-icon-btn:hover {
    opacity: 1;
}

.nav-auth-link {
    color: #1d1d1f;
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 400;
    white-space: nowrap;
    opacity: 0.88;
    transition: opacity 0.2s;
}

.nav-auth-link:hover {
    opacity: 1;
    color: #0000cc;
}

.nav-get-started {
    background: #0000cc !important;
    color: #fff !important;
    border-radius: 16px !important;
    padding: 5px 14px !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    opacity: 1 !important;
    transition: all 0.2s ease;
}

.nav-get-started:hover {
    background: #0000aa !important;
    color: #fff !important;
}

.nav-user-link {
    color: #1d1d1f;
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    opacity: 0.88;
    transition: opacity 0.2s;
}

.nav-user-link:hover {
    opacity: 1;
    color: #0000cc;
}

.nav-search {
    position: relative;
    display: flex;
    align-items: center;
}

.nav-search-expand {
    position: absolute;
    top: 36px;
    right: 0;
    z-index: 201;
}

.nav-search-expand input {
    padding: 8px 14px;
    border: 1px solid #d2d2d7;
    border-radius: 8px;
    font-size: 0.8rem;
    width: 240px;
    outline: none;
    background: white;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    transition: border-color 0.2s;
}

.nav-search-expand input:focus {
    border-color: #0000cc;
}

.search-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #d2d2d7;
    border-radius: 8px;
    max-height: 300px;
    overflow-y: auto;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    z-index: 200;
}

.search-result-item {
    padding: 10px 14px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.15s;
}

.search-result-item:hover {
    background: #f0f4ff;
}

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

.search-result-type {
    font-size: 0.65rem;
    text-transform: uppercase;
    color: #0000cc;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.nav-badge {
    background: #e00;
    color: white;
    font-size: 0.6rem;
    padding: 1px 5px;
    border-radius: 10px;
    font-weight: 700;
    vertical-align: super;
}

.nav-user-menu {
    position: relative;
    display: inline-block;
}

.user-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.12);
    min-width: 180px;
    z-index: 200;
    padding: 4px 0;
}

.user-dropdown a {
    display: block;
    padding: 8px 16px;
    color: #1d1d1f;
    text-decoration: none;
    font-size: 0.8rem;
    margin: 0;
    transition: background 0.15s;
}

.user-dropdown a:hover {
    background: #f0f4ff;
    color: #0000cc;
}

.user-dropdown a:last-child {
    border-bottom: none;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 25px 20px;
}

.page {
    display: none;
}

.page.active {
    display: block;
}

.page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
    flex-wrap: wrap;
    gap: 10px;
}

.page-header h2 {
    color: #0a0a2e;
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: -0.3px;
}

.welcome-text {
    font-size: 0.95rem;
    color: #666;
}

.page-splash {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #0000cc;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.6s ease, visibility 0.6s ease;
    animation: splashAutoHide 0s 3s forwards;
}
@keyframes splashAutoHide {
    to { opacity: 0; visibility: hidden; pointer-events: none; }
}
noscript + .page-splash, .page-splash:target { display: none; }
.page-splash.splash-done {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.splash-inner {
    text-align: center;
    position: relative;
}
.splash-logo {
    width: 80px;
    height: 80px;
    border-radius: 20px;
    position: relative;
    z-index: 2;
    animation: splashPulse 1.2s ease infinite;
}
.splash-logo-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;
    height: 100px;
    margin: -60px 0 0 -50px;
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    animation: splashRing 1.2s ease infinite;
}
.splash-bar {
    width: 120px;
    height: 3px;
    background: rgba(255,255,255,0.15);
    border-radius: 3px;
    margin: 24px auto 0;
    overflow: hidden;
}
.splash-bar-fill {
    width: 0;
    height: 100%;
    background: white;
    border-radius: 3px;
    animation: splashFill 1.4s ease forwards;
}
@keyframes splashPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}
@keyframes splashRing {
    0% { transform: scale(0.8); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: scale(1.4); opacity: 0; }
}
@keyframes splashFill {
    0% { width: 0; }
    100% { width: 100%; }
}

.hero.hero-cinematic {
    position: relative;
    text-align: center;
    padding: 100px 24px 80px;
    background: linear-gradient(135deg, #000088 0%, #0000cc 30%, #1a0dbb 60%, #0a0a9e 100%);
    border-radius: 24px;
    color: white;
    margin-bottom: 48px;
    overflow: hidden;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}
.hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.35;
    z-index: 1;
    pointer-events: none;
}
.hero-blob-1 {
    width: 400px;
    height: 400px;
    background: #4f46e5;
    top: -100px;
    right: -80px;
    animation: blobFloat1 8s ease-in-out infinite;
}
.hero-blob-2 {
    width: 300px;
    height: 300px;
    background: #7c3aed;
    bottom: -60px;
    left: -40px;
    animation: blobFloat2 10s ease-in-out infinite;
}
.hero-blob-3 {
    width: 200px;
    height: 200px;
    background: #06b6d4;
    top: 40%;
    left: 50%;
    animation: blobFloat3 12s ease-in-out infinite;
}
@keyframes blobFloat1 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(-40px, 30px) scale(1.1); }
    66% { transform: translate(20px, -20px) scale(0.95); }
}
@keyframes blobFloat2 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(30px, -40px) scale(1.05); }
    66% { transform: translate(-20px, 20px) scale(1.1); }
}
@keyframes blobFloat3 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(-30px, 30px) scale(1.15); }
}
.hero-content {
    position: relative;
    z-index: 2;
    max-width: 700px;
    margin: 0 auto;
}
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.2);
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    margin-bottom: 28px;
    color: rgba(255,255,255,0.9);
    animation: heroFadeUp 0.8s ease 0.3s both;
}
.hero-badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #34d399;
    animation: dotPulse 2s ease infinite;
    box-shadow: 0 0 6px #34d399;
}
@keyframes dotPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(0.8); }
}
.hero-title-animated {
    margin-bottom: 16px;
    animation: heroFadeUp 0.8s ease 0.5s both;
}
.hero-line {
    display: block;
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: -0.5px;
    line-height: 1.15;
}
.hero-gradient-text {
    font-size: 2.4rem;
    background: linear-gradient(135deg, #fff 0%, #c7d2fe 40%, #a5b4fc 70%, #fff 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: gradientShift 4s linear infinite;
}
@keyframes gradientShift {
    0% { background-position: 0% center; }
    100% { background-position: 200% center; }
}
.hero p, .hero .hero-tagline {
    font-size: 1.1rem;
    color: rgba(255,255,255,0.9);
    max-width: 560px;
    margin: 0 auto 36px;
    line-height: 1.7;
    font-style: italic;
    letter-spacing: 0.2px;
    animation: heroFadeUp 0.8s ease 0.7s both;
}
.hero-tagline-caps {
    font-size: clamp(0.6rem, 1.35vw, 1rem) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: clamp(1px, 0.15vw, 2px) !important;
    color: #fff !important;
    margin-bottom: 36px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    max-width: none !important;
    width: 100% !important;
    text-align: center !important;
}
.hero-buttons {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    animation: heroFadeUp 0.6s ease 0.5s both;
}
@keyframes heroFadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}
.btn-hero {
    position: relative;
    padding: 16px 40px;
    font-size: 1.02rem;
    background: white;
    color: #0000cc;
    border-radius: 50px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 700;
    letter-spacing: -0.2px;
    overflow: hidden;
}
.btn-hero:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 12px 32px rgba(0,0,0,0.2);
}
.btn-shimmer {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(0,0,204,0.08), transparent);
    animation: shimmer 3s ease infinite;
}
@keyframes shimmer {
    0% { left: -100%; }
    100% { left: 100%; }
}
.btn-hero-verify {
    padding: 15px 30px;
    font-size: 1rem;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
    color: white;
    border: 1.5px solid rgba(255,255,255,0.4);
    border-radius: 50px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 600;
}
.btn-hero-verify:hover {
    background: rgba(255,255,255,0.2);
    border-color: rgba(255,255,255,0.7);
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 24px rgba(255,255,255,0.15);
}
.btn-magnetic {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.15s ease;
}
.hero-social-proof {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 36px;
    animation: heroFadeUp 0.8s ease 1.1s both;
}
.hero-social-proof span {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.55);
    font-weight: 500;
}
.hero-avatars {
    display: flex;
}
.hero-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: white;
    font-size: 0.7rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(0,0,100,0.5);
    margin-left: -8px;
}
.hero-avatar:first-child { margin-left: 0; }

.hero-floating-cards {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
}
.hero-float-card {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(12px);
    padding: 12px 18px;
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    animation: floatCard 6s ease-in-out infinite;
}
.hero-float-card strong {
    display: block;
    font-size: 0.8rem;
    color: #1a1a2e;
    font-weight: 700;
}
.hero-float-card small {
    font-size: 0.7rem;
    color: #6b7280;
}
.hero-float-1 {
    top: 18%;
    left: 5%;
    animation-delay: 0s;
}
.hero-float-2 {
    bottom: 22%;
    right: 4%;
    animation-delay: -2s;
}
.hero-float-3 {
    top: 55%;
    left: 3%;
    animation-delay: -4s;
}
@keyframes floatCard {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-12px); }
}

[data-reveal] {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
[data-reveal].revealed {
    opacity: 1;
    transform: translateY(0);
}
[data-reveal] .feature-card,
[data-reveal] .why-card,
[data-reveal] .hiw-step,
[data-reveal] .trust-stat,
[data-reveal] .trust-badge,
[data-reveal] .faq-item {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
[data-reveal].revealed .feature-card,
[data-reveal].revealed .why-card,
[data-reveal].revealed .hiw-step,
[data-reveal].revealed .trust-stat,
[data-reveal].revealed .trust-badge,
[data-reveal].revealed .faq-item {
    opacity: 1;
    transform: translateY(0);
}
[data-reveal].revealed .feature-card:nth-child(1),
[data-reveal].revealed .why-card:nth-child(1),
[data-reveal].revealed .faq-item:nth-child(1) { transition-delay: 0.1s; }
[data-reveal].revealed .feature-card:nth-child(2),
[data-reveal].revealed .why-card:nth-child(2),
[data-reveal].revealed .faq-item:nth-child(2) { transition-delay: 0.2s; }
[data-reveal].revealed .feature-card:nth-child(3),
[data-reveal].revealed .why-card:nth-child(3),
[data-reveal].revealed .faq-item:nth-child(3) { transition-delay: 0.3s; }
[data-reveal].revealed .why-card:nth-child(4),
[data-reveal].revealed .faq-item:nth-child(4) { transition-delay: 0.4s; }
[data-reveal].revealed .hiw-step:nth-of-type(1) { transition-delay: 0.1s; }
[data-reveal].revealed .hiw-step:nth-of-type(2) { transition-delay: 0.25s; }
[data-reveal].revealed .hiw-step:nth-of-type(3) { transition-delay: 0.4s; }
[data-reveal].revealed .faq-item:nth-child(5) { transition-delay: 0.5s; }
[data-reveal].revealed .faq-item:nth-child(6) { transition-delay: 0.55s; }
[data-reveal].revealed .faq-item:nth-child(7) { transition-delay: 0.6s; }
[data-reveal].revealed .faq-item:nth-child(8) { transition-delay: 0.65s; }
[data-reveal].revealed .faq-item:nth-child(9) { transition-delay: 0.7s; }

[data-reveal].revealed .trust-stat:nth-child(1) { transition-delay: 0.1s; }
[data-reveal].revealed .trust-stat:nth-child(3) { transition-delay: 0.2s; }
[data-reveal].revealed .trust-stat:nth-child(5) { transition-delay: 0.3s; }
[data-reveal].revealed .trust-stat:nth-child(7) { transition-delay: 0.4s; }
[data-reveal].revealed .trust-badge:nth-child(1) { transition-delay: 0.15s; }
[data-reveal].revealed .trust-badge:nth-child(2) { transition-delay: 0.25s; }
[data-reveal].revealed .trust-badge:nth-child(3) { transition-delay: 0.35s; }

.feature-card-highlight {
    position: relative;
    overflow: hidden;
}
.feature-card-highlight::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 18px;
    padding: 2px;
    background: linear-gradient(135deg, #0000cc, #7c3aed, #06b6d4, #0000cc);
    background-size: 300% 300%;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.4s ease;
    animation: gradBorder 4s ease infinite;
    z-index: 0;
}
.feature-card-highlight:hover::before {
    opacity: 1;
}
@keyframes gradBorder {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.feature-card-highlight:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 12px 40px rgba(0,0,204,0.12);
}

@media (prefers-reduced-motion: reduce) {
    [data-reveal] { opacity: 1; transform: none; transition: none; }
    [data-reveal] .feature-card, [data-reveal] .why-card, [data-reveal] .hiw-step,
    [data-reveal] .trust-stat, [data-reveal] .trust-badge, [data-reveal] .faq-item {
        opacity: 1; transform: none; transition: none;
    }
    .hero-blob { animation: none; }
    .hero-float-card { animation: none; }
    .btn-shimmer { animation: none; }
    .hero-gradient-text { animation: none; }
    .hero-badge-dot { animation: none; }
    .page-splash { display: none; }
}

@media (max-width: 768px) {
    .hero.hero-cinematic { padding: 60px 18px 50px; min-height: 440px; border-radius: 16px; }
    .hero-line { font-size: 1.6rem; }
    .hero-gradient-text { font-size: 2.2rem; }
    .hero-floating-cards { display: none; }
    .hero-social-proof { flex-direction: column; gap: 8px; }
    .hero-social-proof span { font-size: 0.75rem; }
}

.section-heading {
    text-align: center;
    font-size: 1.9rem;
    color: #0a0a2e;
    margin-bottom: 10px;
    font-weight: 800;
    letter-spacing: -0.5px;
}
.section-subheading {
    text-align: center;
    color: #6b7280;
    font-size: 1rem;
    margin-bottom: 40px;
    line-height: 1.6;
}

.how-it-works-section {
    padding: 48px 20px;
    margin-bottom: 20px;
}
.simplify-hiw-banner {
    background: #f7f8ff;
    border: 1px solid #e0e0ff;
    border-radius: 14px;
    padding: 32px 28px 28px;
    margin-bottom: 32px;
    text-align: center;
}
.simplify-hiw-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0000cc;
    margin: 0 0 6px 0;
}
.simplify-hiw-sub {
    font-size: 0.92rem;
    color: #666;
    margin: 0 0 24px 0;
}
body.dark-mode .simplify-hiw-banner {
    background: #0d1117;
    border-color: #21262d;
}
body.dark-mode .simplify-hiw-title { color: #8888ff; }
body.dark-mode .simplify-hiw-sub { color: #8b949e; }

/* Verification dual-path How It Works */
.ver-hiw-banner {
    padding-bottom: 32px;
}
.ver-hiw-paths {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 0;
    align-items: start;
    text-align: left;
    margin-top: 8px;
}
.ver-hiw-path {
    padding: 0 8px;
}
.ver-hiw-path-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 20px;
}
.ver-hiw-label-policyholder {
    background: #eeeeff;
    color: #0000cc;
}
.ver-hiw-label-pro {
    background: #e6f4ea;
    color: #1a7a3a;
}
.ver-hiw-steps {
    justify-content: flex-start;
}
.ver-hiw-step-sm {
    max-width: 160px;
    padding: 0 8px;
}
.ver-hiw-step-sm h3 {
    font-size: 0.95rem;
}
.ver-hiw-step-sm p {
    font-size: 0.82rem;
}
.ver-hiw-divider {
    width: 1px;
    background: #e0e0ee;
    align-self: stretch;
    margin: 0 16px;
    min-height: 160px;
}
@media (max-width: 768px) {
    .ver-hiw-paths {
        grid-template-columns: 1fr;
    }
    .ver-hiw-divider {
        width: 100%;
        height: 1px;
        min-height: unset;
        margin: 20px 0;
    }
    .ver-hiw-step-sm {
        max-width: 200px;
    }
}
body.dark-mode .ver-hiw-label-policyholder {
    background: #1a1f2e;
    color: #8888ff;
}
body.dark-mode .ver-hiw-label-pro {
    background: #0d2218;
    color: #4ade80;
}
body.dark-mode .ver-hiw-divider {
    background: #21262d;
}
.hiw-steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
}
.hiw-step {
    text-align: center;
    max-width: 240px;
    padding: 0 16px;
}
.hiw-step-number {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #0000cc;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
    margin: 0 auto 12px;
}
.hiw-step-icon {
    margin-bottom: 14px;
}
.hiw-step h3 {
    font-size: 1.1rem;
    color: #0a0a2e;
    margin-bottom: 8px;
}
.hiw-step p {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.5;
}
.hiw-connector {
    display: flex;
    align-items: center;
    padding-top: 60px;
    opacity: 0.5;
}

.why-section {
    padding: 48px 20px;
    background: #0000cc;
    border-radius: 16px;
    margin-bottom: 30px;
}
.why-section .section-heading {
    color: #ffffff !important;
}
.why-section .section-subheading {
    color: #ffffff !important;
}
.why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
}
.why-card {
    background: rgba(255,255,255,0.1);
    border-radius: 16px;
    padding: 32px 28px;
    border: 1px solid rgba(255,255,255,0.22);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: none;
}
.why-card:hover {
    border-color: rgba(255,255,255,0.4);
    background: rgba(255,255,255,0.15);
    transform: translateY(-3px);
}
.why-icon {
    margin-bottom: 14px;
}
.why-card h4 {
    font-size: 1.05rem;
    color: #ffffff !important;
    margin-bottom: 8px;
}
.why-card p {
    font-size: 0.88rem;
    color: #ffffff !important;
    line-height: 1.55;
}
.why-bullets {
    list-style: none;
    padding: 0;
    margin: 8px 0 0;
}
.why-bullets li {
    font-size: 0.88rem;
    color: #ffffff !important;
    line-height: 1.55;
    padding: 5px 0 5px 20px;
    position: relative;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}
.why-bullets li:last-child { border-bottom: none; }
.why-bullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 13px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0000cc, #4d4dff);
}

.trust-section {
    padding: 40px 20px;
    margin-bottom: 30px;
}
.trust-stats {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    background: linear-gradient(135deg, #0000cc 0%, #0a0dab 40%, #1a1ab8 100%);
    border-radius: 20px;
    padding: 40px 28px;
    margin-bottom: 28px;
    flex-wrap: wrap;
    box-shadow: 0 4px 24px rgba(0,0,204,0.12);
}
.trust-stat {
    text-align: center;
    padding: 0 32px;
    flex: 1;
    min-width: 120px;
}
.trust-stat-number {
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: white;
    margin-bottom: 4px;
}
.trust-stat-label {
    font-size: 0.85rem;
    color: #ccd4ff;
}
.trust-stat-divider {
    width: 1px;
    height: 48px;
    background: rgba(255,255,255,0.2);
}
.trust-badges {
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}
.trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f8f9ff;
    padding: 10px 18px;
    border-radius: 50px;
    font-size: 0.85rem;
    color: #333;
    border: 1px solid #e8eaff;
}

.ai-demo-section {
    padding: 48px 20px;
    margin-bottom: 20px;
}
.ai-demo-dual {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    max-width: 1100px;
    margin: 0 auto;
}
.ai-demo-container {
    max-width: 900px;
    margin: 0 auto;
}
.ai-demo-box {
    border: 2px solid rgba(0,0,204,0.15);
    border-radius: 14px;
    padding: 20px;
    background: rgba(0,0,204,0.02);
}
.ai-demo-box-label {
    text-align: center;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0000cc;
    margin-bottom: 16px;
    letter-spacing: 0.5px;
}
.ai-demo-box-content {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.ai-demo-col {
    flex: 1;
    min-width: 0;
}
.ai-demo-mid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 50px;
    padding-top: 28px;
}
.ai-demo-box .ai-demo-label {
    font-size: 0.65rem;
    margin-bottom: 8px;
}
.ai-demo-box .ai-demo-legalese {
    font-size: 0.7rem;
    margin-bottom: 4px;
    line-height: 1.4;
}
.ai-demo-box .ai-demo-result {
    font-size: 0.72rem;
    padding: 3px 6px;
    margin-bottom: 2px;
}
.ai-demo-box .ai-demo-original {
    padding: 8px;
    border-radius: 8px;
}
.ai-demo-box .ai-demo-simplified {
    padding: 8px;
    border-radius: 8px;
}
.ai-demo-box .ai-demo-processing {
    font-size: 0.65rem;
}
.ai-verify-fields {
    font-style: normal !important;
    text-decoration: none !important;
}
.ai-verify-field {
    font-size: 0.72rem;
    color: #444;
    padding: 4px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    line-height: 1.4;
}
.ai-verify-field:last-child {
    border-bottom: none;
}
.ai-verify-icon {
    margin-right: 4px;
}
.ai-verify-pass {
    color: #1a1a2e;
}
.comparison-dual {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    width: 100%;
}
.comparison-section-header {
    text-align: center;
    margin-bottom: 48px;
}
.comparison-section-eyebrow {
    display: inline-block;
    background: rgba(255,255,255,0.18);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 6px 18px;
    border-radius: 40px;
    margin-bottom: 18px;
    border: 1px solid rgba(255,255,255,0.35);
}
.comparison-section-title {
    font-size: 2.6rem;
    font-weight: 800;
    color: #ffffff !important;
    margin: 0 0 14px;
    letter-spacing: -0.5px;
    line-height: 1.1;
}
.comparison-section-sub {
    font-size: 1.05rem;
    color: #ffffff !important;
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.6;
}
.comparison-table-label {
    text-align: center;
    font-size: 1.05rem;
    font-weight: 700;
    color: #00008a;
    margin-bottom: 16px;
    letter-spacing: 0.3px;
}
.comparison-dual .comparison-table-wrapper {
    overflow-x: auto;
    border: 2px solid rgba(0,0,204,0.12);
    border-radius: 16px;
    padding: 28px 24px 0;
    background: #fff;
    box-shadow: 0 4px 32px rgba(0,0,204,0.07);
    width: 100%;
    box-sizing: border-box;
}
.comparison-dual .comparison-table {
    font-size: 1rem;
    table-layout: fixed;
    width: 100%;
}
@media (max-width: 900px) {
    .ai-demo-dual {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .ai-demo-box-content {
        flex-direction: column;
        align-items: center;
    }
    .ai-demo-mid {
        flex-direction: row;
        padding-top: 0;
    }
    .comparison-dual {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .comparison-section-title {
        font-size: 1.8rem;
    }
    .comparison-section {
        padding: 48px 16px;
        border-radius: 16px;
    }
}
.ai-demo-window {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06), 0 12px 48px rgba(0,0,204,0.08);
    border: 1px solid rgba(0,0,0,0.06);
}
.ai-demo-titlebar {
    background: #000033;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.ai-demo-dots {
    display: flex;
    gap: 6px;
}
.ai-demo-dots .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}
.dot.red { background: #ff5f57; }
.dot.yellow { background: #ffbd2e; }
.dot.green { background: #28c840; }
.ai-demo-title {
    color: #999;
    font-size: 0.8rem;
}
.ai-demo-body {
    display: flex;
    background: #fafbff;
    padding: 28px;
    gap: 24px;
    align-items: center;
}
.ai-demo-left, .ai-demo-right {
    flex: 1;
}
.ai-demo-arrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 60px;
}
.ai-demo-processing {
    font-size: 0.75rem;
    color: #0000cc;
    font-weight: 600;
    animation: demoPulse 1.5s infinite;
}
@keyframes demoPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}
.ai-demo-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #0000cc;
    margin-bottom: 12px;
}
.ai-demo-legalese {
    font-size: 0.78rem;
    color: #888;
    line-height: 1.6;
    margin-bottom: 8px;
    font-style: italic;
    text-decoration: line-through;
    text-decoration-color: rgba(204,0,0,0.3);
}
.ai-demo-result {
    font-size: 0.85rem;
    color: #333;
    line-height: 1.6;
    margin-bottom: 10px;
    padding: 8px 12px;
    background: white;
    border-radius: 8px;
    border-left: 3px solid #0000cc;
}
.ai-check {
    color: #0000cc;
    font-weight: 700;
    margin-right: 4px;
}

.comparison-section {
    padding: 72px 20px;
    margin-bottom: 20px;
    background: linear-gradient(160deg, #f5f5ff 0%, #ebebff 60%, #f0f0ff 100%);
    border-radius: 24px;
}
.comparison-table-wrapper {
    max-width: 850px;
    margin: 0 auto;
    overflow-x: auto;
}
.comparison-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 20px rgba(0,0,0,0.04);
}
.comparison-table thead th {
    padding: 18px 24px;
    font-size: 0.95rem;
    font-weight: 800;
    text-align: left;
    letter-spacing: 0.3px;
}
.comparison-table th.comp-feature {
    background: #f8f9ff;
    color: #333;
    width: 25%;
}
.comparison-table th.comp-old {
    background: #b30000;
    color: #fff;
    width: 50%;
    word-break: normal;
}
.comparison-table th.comp-new {
    background: #0000cc;
    color: #fff;
    width: 50%;
    word-break: normal;
}
.comparison-table td {
    padding: 18px 24px;
    font-size: 0.95rem;
    border-bottom: 1px solid #ebebf5;
    line-height: 1.5;
}
.comparison-table tbody tr:last-child td {
    border-bottom: none;
    padding-bottom: 24px;
}
.comparison-table tbody tr:hover td {
    background: #f7f7ff;
}
.comp-old-cell { color: #777; }
.comp-new-cell { color: #111; font-weight: 600; }
.comp-x { color: #b30000; font-weight: 800; margin-right: 8px; font-size: 1.05rem; }
.comp-check { color: #0000cc; font-weight: 800; margin-right: 8px; font-size: 1.05rem; }

/* Redesigned stacked comparison */
.comp-stack {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
}
.comp-block {
    width: 100%;
    text-align: center;
}
.comp-block-label {
    display: inline-block;
    text-align: center;
    font-size: 0.8rem;
    font-weight: 700;
    color: #0000cc !important;
    background: #ffffff !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
    padding: 7px 24px;
    border-radius: 40px;
    width: auto;
}
.comp-wide-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 32px rgba(0,0,204,0.08);
    table-layout: fixed;
}
.comp-col-icon { width: 12.5%; }
.comp-col-txt  { width: 37.5%; }
.comp-head-old {
    background: #b30000;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    padding: 16px 24px;
    text-align: center;
    width: 50%;
    letter-spacing: 0.3px;
}
.comp-head-new {
    background: #0000cc;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    padding: 16px 24px;
    text-align: center;
    width: 50%;
    letter-spacing: 0.3px;
}
.comp-icon-old {
    width: 12.5%;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 900;
    color: #b30000 !important;
    padding: 16px 4px;
    vertical-align: middle;
    background: #ffffff !important;
    border-bottom: 1px solid #e8e8e8;
    white-space: nowrap;
}
.comp-icon-new {
    width: 12.5%;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 900;
    color: #0000cc !important;
    padding: 16px 4px;
    vertical-align: middle;
    background: #ffffff !important;
    border-bottom: 1px solid #e8e8e8;
    border-left: 2px solid #e0e0e0;
    white-space: nowrap;
}
.comp-txt-old {
    width: 37.5%;
    padding: 16px 14px;
    font-size: 0.94rem;
    color: #444 !important;
    line-height: 1.5;
    vertical-align: middle;
    background: #ffffff !important;
    border-bottom: 1px solid #e8e8e8;
}
.comp-txt-new {
    width: 37.5%;
    padding: 16px 14px;
    font-size: 0.94rem;
    color: #111 !important;
    font-weight: 700;
    line-height: 1.5;
    vertical-align: middle;
    background: #ffffff !important;
    border-bottom: 1px solid #e8e8e8;
}
.comp-wide-table tbody tr:last-child td {
    border-bottom: none;
}
.comp-wide-table tbody tr:hover .comp-txt-old,
.comp-wide-table tbody tr:hover .comp-icon-old {
    background: #fafafa;
}
.comp-wide-table tbody tr:hover .comp-txt-new,
.comp-wide-table tbody tr:hover .comp-icon-new {
    background: #fafafa;
}
@media (max-width: 700px) {
    .comp-wide-table {
        font-size: 0.85rem;
    }
    .comp-icon-old, .comp-icon-new {
        width: 10%;
        padding: 14px 2px;
        font-size: 0.8rem;
    }
    .comp-txt-old, .comp-txt-new {
        width: 40%;
        padding: 14px 10px;
        font-size: 0.82rem;
        line-height: 1.45;
    }
    .comp-head-old, .comp-head-new {
        padding: 12px 8px;
        font-size: 0.82rem;
    }
}

.testimonials-section {
    padding: 48px 20px;
    background: #f8f9ff;
    border-radius: 16px;
    margin-bottom: 30px;
}
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 950px;
    margin: 0 auto;
}
.testimonials-carousel {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
}
.testimonials-track {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    padding: 4px 0;
}
.testimonials-carousel .testimonial-card {
    transition: opacity 0.3s ease;
}
.testimonials-carousel .testimonial-card.tc-hidden {
    display: none;
}
.testimonials-nav {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
}
.testimonials-nav-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid #0000cc;
    background: white;
    color: #0000cc;
    font-size: 1.1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.testimonials-nav-btn:hover {
    background: #0000cc;
    color: white;
}
.testimonial-tag {
    display: inline-block;
    background: #eef0ff;
    color: #0000cc;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 10px;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.testimonial-card {
    background: white;
    border-radius: 16px;
    padding: 28px 24px;
    border: 1px solid #e5e7eb;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.testimonial-card.testimonial-featured {
    border: 2px solid #0000cc;
    background: linear-gradient(135deg, #f0f4ff 0%, #e8eaff 100%);
    position: relative;
    box-shadow: 0 4px 16px rgba(0,0,204,0.12);
}
.testimonial-featured-badge {
    position: absolute;
    top: -12px;
    left: 24px;
    background: #0000cc;
    color: white;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 20px;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.testimonial-card.testimonial-featured .testimonial-quote {
    font-size: 0.9rem;
    color: #222;
    font-weight: 400;
}
.testimonial-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,204,0.08);
    transform: translateY(-3px);
}
.testimonial-stars {
    color: #f5a623;
    font-size: 1.1rem;
    letter-spacing: 2px;
    margin-bottom: 14px;
}
.testimonial-quote {
    font-size: 0.9rem;
    color: #444;
    line-height: 1.65;
    font-style: italic;
    flex: 1;
    margin-bottom: 18px;
}
.testimonial-author {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid #f0f0f5;
    padding-top: 14px;
}
.testimonial-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0000cc, #3333ff);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1rem;
}
.testimonial-avatar-img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(0,0,204,0.2);
    flex-shrink: 0;
}
.testimonial-author strong {
    display: block;
    font-size: 0.9rem;
    color: #0a0a2e;
}
.testimonial-author span {
    font-size: 0.78rem;
    color: #888;
}
.testimonial-tag {
    display: inline-block;
    margin-top: 12px;
    padding: 4px 12px;
    background: #f0f4ff;
    color: #0000cc;
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 20px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}
body.dark-mode .testimonial-tag {
    background: rgba(0,0,204,0.15);
    color: #6699ff;
}

.partners-section {
    padding: 36px 20px;
    text-align: center;
    margin-bottom: 20px;
}
.partners-label {
    font-size: 0.85rem;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
    margin-bottom: 20px;
}
.partners-strip {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
}
.partner-logo-placeholder {
    padding: 12px 24px;
    background: #f8f9ff;
    border: 1px solid #e8eaff;
    border-radius: 8px;
    color: #aab;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.faq-section {
    padding: 48px 20px;
    margin-bottom: 30px;
}
.faq-list {
    max-width: 750px;
    margin: 0 auto;
}
.faq-item {
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 14px;
    margin-bottom: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.25s ease;
    background: linear-gradient(135deg, #0000cc 0%, #1a1aff 40%, #4d4dff 100%);
    box-shadow: 0 1px 6px rgba(0,0,204,0.1);
}
.faq-item:hover {
    border-color: rgba(255,255,255,0.3);
    box-shadow: 0 4px 16px rgba(0,0,204,0.2);
}
.faq-item.active {
    border-color: rgba(255,255,255,0.4);
    box-shadow: 0 6px 20px rgba(0,0,204,0.25);
}
.faq-question {
    padding: 18px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    font-size: 0.95rem;
    color: #fff;
}
.faq-toggle {
    font-size: 1.4rem;
    color: #fff;
    font-weight: 300;
    transition: transform 0.3s;
    min-width: 24px;
    text-align: center;
}
.faq-item.active .faq-toggle {
    transform: rotate(45deg);
}
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, padding 0.35s ease;
    padding: 0 24px;
    font-size: 0.9rem;
    color: rgba(255,255,255,0.82);
    line-height: 1.65;
}
.faq-item.active .faq-answer {
    max-height: 300px;
    padding: 0 24px 20px;
}

.bottom-cta-section {
    background: linear-gradient(135deg, #0000cc 0%, #0a0dab 40%, #1a1ab8 100%);
    border-radius: 20px;
    padding: 64px 28px;
    text-align: center;
    margin-bottom: 40px;
    box-shadow: 0 4px 24px rgba(0,0,204,0.12);
}
.bottom-cta-content h2,
.bottom-cta-section .bottom-cta-content h2,
.form-container .bottom-cta-content h2 {
    color: white !important;
    font-size: 1.8rem;
    margin-bottom: 12px;
    text-align: center;
}
.bottom-cta-content p,
.bottom-cta-section .bottom-cta-content p,
.form-container .bottom-cta-content p {
    color: #ccd4ff !important;
    font-size: 1.05rem;
    max-width: 500px;
    margin: 0 auto 28px;
}

.scroll-animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.scroll-animate.visible {
    opacity: 1;
    transform: translateY(0);
}

.back-to-top {
    position: fixed;
    bottom: 100px;
    right: 28px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #0000cc;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 12px rgba(0,0,204,0.3);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
    z-index: 90;
}
.back-to-top.visible {
    opacity: 1;
    visibility: visible;
}
.back-to-top:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 20px rgba(0,0,204,0.4);
}

.cookie-consent {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #000033;
    color: white;
    padding: 18px 24px;
    z-index: 9998;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.2);
    animation: slideUp 0.4s ease;
}
@keyframes slideUp {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}
.cookie-content {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.cookie-content p {
    font-size: 0.88rem;
    color: #ccc;
    line-height: 1.5;
    flex: 1;
    min-width: 250px;
}
.cookie-actions {
    display: flex;
    gap: 10px;
}
.btn-sm {
    padding: 8px 18px;
    font-size: 0.82rem;
    border-radius: 6px;
}
.btn-outline {
    background: transparent;
    color: #ccc;
    border: 1px solid #555;
    cursor: pointer;
    transition: all 0.2s;
}
.btn-outline:hover {
    border-color: #fff;
    color: #fff;
}

.media-section {
    padding: 32px 20px;
    text-align: center;
    margin-bottom: 10px;
}
.media-label {
    font-size: 0.8rem;
    color: #bbb;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
    margin-bottom: 18px;
}
.media-strip {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 36px;
    flex-wrap: wrap;
}
.media-logo {
    font-size: 0.95rem;
    font-weight: 700;
    color: #c0c4d8;
    letter-spacing: 0.3px;
    font-style: italic;
}

.ecosystem-section {
    padding: 70px 20px 60px;
    text-align: center;
    max-width: 1300px;
    margin: 0 auto 40px;
}
.ecosystem-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 40px;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.ecosystem-grid .ecosystem-card {
    height: 480px;
}
.ecosystem-card.eco-large {
    height: 480px;
}
.ecosystem-card {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.ecosystem-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 50px rgba(0, 0, 204, 0.2);
}
.ecosystem-card > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.ecosystem-card:hover > img {
    transform: scale(1.1);
}
.ecosystem-card-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 28px 24px 24px;
    background: linear-gradient(to top, rgba(0, 0, 40, 0.9) 0%, rgba(0, 0, 40, 0.55) 50%, transparent 100%);
    z-index: 2;
    text-align: left;
    transform: translateY(calc(100% - 52px));
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.ecosystem-card:hover .ecosystem-card-overlay {
    transform: translateY(0);
}
.ecosystem-card-overlay h3 {
    font-size: 1.35rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 6px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    letter-spacing: 0.3px;
}
.ecosystem-card-overlay p {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.5;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.35s 0.1s, transform 0.35s 0.1s;
}
.ecosystem-card:hover .ecosystem-card-overlay p {
    opacity: 1;
    transform: translateY(0);
}
.ecosystem-more {
    margin-top: 32px;
    font-size: 1rem;
    color: #888;
    font-style: italic;
    letter-spacing: 0.5px;
}
@media (max-width: 640px) {
    .ecosystem-grid { gap: 16px; }
    .ecosystem-grid .ecosystem-card { height: 380px; }
    .ecosystem-section { padding: 50px 16px 40px; }
    .ecosystem-card-overlay h3 { font-size: 1.2rem; }
}
.eco-content-card {
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 4px 24px rgba(0,0,0,0.2);
    width: 100%;
    transition: box-shadow 0.25s ease;
}
.eco-content-card:hover {
    box-shadow: 0 8px 36px rgba(0,0,0,0.3);
}
.eco-content-card-image {
    position: relative;
    height: 480px;
    overflow: hidden;
}
.eco-content-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.eco-content-card:hover .eco-content-card-image img {
    transform: scale(1.03);
}
.eco-content-card-title-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 100px 28px 28px;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 50%, transparent 100%);
}
.eco-content-card-title-wrap h3 {
    color: #fff;
    font-size: 1.7rem;
    font-weight: 700;
    margin: 0 0 10px;
    letter-spacing: -0.01em;
}
.eco-intro-overlay {
    color: rgba(255,255,255,0.88);
    font-size: 0.97rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
}
.eco-content-card-body {
    padding: 24px 28px 28px;
}
.eco-expand-footer {
    padding: 20px 28px 28px;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,0.08);
    margin-top: 0;
}
.eco-section {
    margin-bottom: 26px;
}
.eco-section h4 {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.55);
    margin: 0 0 10px;
}
.eco-section p {
    font-size: 0.97rem;
    color: rgba(255,255,255,0.75);
    line-height: 1.7;
    margin: 0 0 10px;
}
.eco-section p:last-child {
    margin-bottom: 0;
}
.eco-examples-list {
    padding-left: 18px;
    margin: 0;
    list-style: disc;
}
.eco-examples-list li {
    font-size: 0.97rem;
    color: rgba(255,255,255,0.75);
    line-height: 1.7;
    margin-bottom: 10px;
}
.eco-examples-list li:last-child {
    margin-bottom: 0;
}
.eco-outcome {
    margin-top: 28px;
    padding: 18px 20px;
    background: rgba(255,255,255,0.06);
    border-radius: 12px;
    border-left: 4px solid rgba(255,255,255,0.3);
}
.eco-outcome p {
    font-size: 0.97rem;
    font-weight: 600;
    color: rgba(255,255,255,0.85);
    line-height: 1.6;
    margin: 0;
}
.eco-expandable {
    display: none !important;
}
.eco-expandable.eco-open {
    display: block !important;
    animation: ecoFadeIn 0.35s ease;
}
@keyframes ecoFadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}
.eco-expand-trigger {
    position: relative;
    text-align: center;
    margin-top: 4px;
    cursor: pointer;
}
.eco-expand-fade {
    height: 40px;
    background: linear-gradient(to bottom, rgba(5,14,31,0) 0%, rgba(5,14,31,1) 100%);
    margin-bottom: -4px;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.eco-expand-trigger.eco-trigger-open .eco-expand-fade {
    opacity: 0;
    height: 0;
}
.eco-expand-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1.5px solid rgba(255,255,255,0.4);
    color: rgba(255,255,255,0.85);
    font-size: 0.85rem;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 20px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    letter-spacing: 0.01em;
}
.eco-expand-btn:hover {
    background: rgba(255,255,255,0.1);
    color: #fff;
}
.eco-expand-chevron {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}
.eco-trigger-open .eco-expand-chevron,
.eco-btn-open .eco-expand-chevron {
    transform: rotate(180deg);
}
@media (max-width: 640px) {
    .eco-content-card-image { height: 380px; }
    .eco-content-card-body { padding: 18px 18px 22px; }
    .eco-expand-footer { padding: 0 18px 20px; }
    .eco-content-card-title-wrap h3 { font-size: 1.35rem; }
    .eco-intro-overlay { font-size: 0.9rem; }
}
body.dark-mode .eco-content-card {
    background: rgba(255,255,255,0.04);
    box-shadow: 0 4px 24px rgba(0,0,0,0.3);
}
body.dark-mode .eco-intro-text { color: rgba(255,255,255,0.75); }
body.dark-mode .eco-section p,
body.dark-mode .eco-examples-list li { color: rgba(255,255,255,0.75); }
body.dark-mode .eco-outcome { background: rgba(255,255,255,0.06); }
body.dark-mode .eco-outcome p { color: rgba(255,255,255,0.85); }
body.dark-mode .ecosystem-card {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
body.dark-mode .ecosystem-card:hover {
    box-shadow: 0 20px 50px rgba(100, 100, 255, 0.2);
}
body.dark-mode .ecosystem-more {
    color: #777;
}

.live-stats-section {
    padding: 48px 20px;
    margin-bottom: 20px;
}
.live-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 900px;
    margin: 0 auto;
}
.live-stat-card {
    background: white;
    border-radius: 16px;
    padding: 28px 16px;
    text-align: center;
    border: 1px solid #e5e7eb;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.live-stat-card:hover {
    border-color: #c7d2fe;
    box-shadow: 0 4px 20px rgba(0,0,204,0.08);
    transform: translateY(-3px);
}
.live-stat-icon {
    margin-bottom: 12px;
}
.live-stat-count {
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: #0000cc;
    margin-bottom: 4px;
}
.live-stat-desc {
    font-size: 0.82rem;
    color: #888;
}

.skeleton {
    background: linear-gradient(90deg, #f0f0f5 25%, #e8e8f0 50%, #f0f0f5 75%);
    background-size: 200% 100%;
    animation: skeletonShimmer 1.5s infinite;
    border-radius: 8px;
}
@keyframes skeletonShimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.skeleton-card {
    height: 180px;
    border-radius: 12px;
    margin-bottom: 16px;
}
.skeleton-line {
    height: 14px;
    margin-bottom: 10px;
    border-radius: 4px;
}
.skeleton-line.short { width: 60%; }
.skeleton-line.medium { width: 80%; }

.feature-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.feature-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0,0,204,0.12);
    border-color: #0000cc;
}

.btn {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn:active {
    transform: scale(0.96);
}
.btn-primary:hover {
    box-shadow: 0 4px 16px rgba(0,0,204,0.3);
}

nav {
    transition: box-shadow 0.3s;
}
nav.scrolled {
    box-shadow: 0 0 8px rgba(0,0,0,0.04);
}

.hero {
    position: relative;
    overflow: hidden;
}
.hero::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.08) 0%, transparent 50%),
                radial-gradient(circle at 70% 50%, rgba(255,255,255,0.05) 0%, transparent 50%);
    animation: heroFloat 8s ease-in-out infinite;
    pointer-events: none;
}
@keyframes heroFloat {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    33% { transform: translate(2%, -1%) rotate(1deg); }
    66% { transform: translate(-1%, 1%) rotate(-0.5deg); }
}
.hero::after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 10%;
    width: 80%;
    height: 40px;
    background: radial-gradient(ellipse, rgba(0,0,204,0.15) 0%, transparent 70%);
    pointer-events: none;
}

@media (max-width: 768px) {
    .hiw-steps {
        flex-direction: column;
        align-items: center;
    }
    .hiw-connector {
        transform: rotate(90deg);
        padding-top: 0;
        margin: 8px 0;
    }
    .features-3 {
        grid-template-columns: 1fr;
    }
    .features-4 {
        grid-template-columns: 1fr;
    }
    .why-grid {
        grid-template-columns: 1fr;
    }
    .verify-showcase {
        padding: 32px 20px;
    }
    .verify-showcase-inner {
        flex-direction: column;
        text-align: center;
    }
    .verify-showcase-text h2 {
        font-size: 1.5rem;
    }
    .verify-benefits {
        align-items: flex-start;
        text-align: left;
    }
    .verify-mock-phone {
        width: 180px;
        height: 310px;
    }
    .trust-stat-divider {
        display: none;
    }
    .trust-stats {
        gap: 20px;
    }
    .ai-demo-body {
        flex-direction: column;
    }
    .ai-demo-arrow {
        transform: rotate(90deg);
    }
    .testimonials-grid {
        grid-template-columns: 1fr;
    }
    .testimonials-track {
        grid-template-columns: 1fr;
    }
    .comparison-table {
        font-size: 0.82rem;
    }
    .comparison-table td, .comparison-table th {
        padding: 10px 12px;
    }
    .bottom-cta-content h2 {
        font-size: 1.4rem;
    }
    .live-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .cookie-content {
        flex-direction: column;
        text-align: center;
    }
    .hero h1 {
        font-size: 1.8rem;
    }
}

.btn {
    padding: 11px 24px;
    border: none;
    border-radius: 10px;
    font-size: 0.93rem;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    letter-spacing: -0.01em;
}

.btn-primary {
    background: #0000cc;
    color: white;
    box-shadow: 0 1px 3px rgba(0,0,204,0.2);
}

.btn-primary:hover {
    background: #0000b0;
    box-shadow: 0 4px 14px rgba(0,0,204,0.25);
    transform: translateY(-1px);
}

.btn-secondary {
    background: transparent;
    color: white;
    border: 2px solid #ffffff;
}

.btn-secondary:hover {
    background: #ffffff;
    color: #0000cc;
}

.btn-outline {
    background: transparent;
    color: #0000cc;
    border: 2px solid #0000cc;
}

.btn-outline:hover {
    background: #0000cc;
    color: white;
}

.btn-danger {
    background: #dc3545;
    color: white;
}

.btn-danger:hover {
    background: #c82333;
}

.btn-success {
    background: #28a745;
    color: white;
}

.btn-small {
    padding: 6px 12px;
    font-size: 0.82rem;
}

.btn-large {
    padding: 14px 32px;
    font-size: 1.05rem;
}

.btn-full {
    width: 100%;
}

.features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
    margin-bottom: 100px;
}

.feature-card {
    background: white;
    padding: 56px 40px;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 16px rgba(0,0,0,0.03);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-top: 3px solid #0000cc;
    border-left: 1px solid rgba(0,0,0,0.04);
    border-right: 1px solid rgba(0,0,0,0.04);
    border-bottom: 1px solid rgba(0,0,0,0.04);
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 20px rgba(0,0,204,0.1);
}

.feature-icon {
    font-size: 3rem;
    margin-bottom: 12px;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    border-radius: 50%;
}

.icon-policy { background: #dce6ff; }
.icon-verify { background: #e6f0ff; }
.icon-claims { background: #fff3d6; }
.icon-market { background: #d6f5e0; }
.icon-audit { background: #f0dce6; }

.features-2 {
    grid-template-columns: repeat(2, 1fr);
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
.features-3 {
    grid-template-columns: repeat(3, 1fr);
}
.features-4 {
    grid-template-columns: repeat(4, 1fr);
}

.feature-card-highlight {
    border-top: 4px solid rgba(255,255,255,0.15);
    position: relative;
    background: rgba(255,255,255,0.04);
}
.feature-card-highlight.feature-card-premium {
    background: rgba(255,255,255,0.04) !important;
    border-top: none !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
}

.verify-showcase {
    background: linear-gradient(135deg, #f5f6ff 0%, #eef0ff 100%);
    border-radius: 16px;
    padding: 56px 40px;
    margin-bottom: 30px;
    border: 1px solid #d8dafe;
}
.verify-showcase-inner {
    display: flex;
    align-items: center;
    gap: 48px;
    max-width: 1000px;
    margin: 0 auto;
}
.verify-showcase-text {
    flex: 1;
}
.verify-showcase-text h2 {
    font-size: 1.9rem;
    color: #0a0a2e;
    margin-bottom: 14px;
    line-height: 1.2;
}
.verify-showcase-text > p {
    color: #555;
    line-height: 1.7;
    font-size: 0.95rem;
    margin-bottom: 20px;
}
.verify-badge {
    display: inline-block;
    background: #0000cc;
    color: white;
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.verify-benefits {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.verify-benefit {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    color: #333;
}
.verify-benefit svg {
    flex-shrink: 0;
}
.verify-showcase-visual {
    flex-shrink: 0;
}
.verify-mock-phone {
    width: 220px;
    height: 380px;
    background: #000033;
    border-radius: 28px;
    padding: 14px 10px;
    box-shadow: 0 20px 60px rgba(0,0,80,0.2);
    position: relative;
}
.verify-mock-phone::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 6px;
    background: #222;
    border-radius: 4px;
}
.verify-phone-screen {
    background: white;
    border-radius: 18px;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.verify-phone-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 14px 10px;
    font-weight: 600;
    font-size: 0.82rem;
    color: #0000cc;
    border-bottom: 1px solid #eee;
}
.verify-phone-scanner {
    flex: 1;
    background: #f0f2ff;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 12px;
    border-radius: 12px;
    overflow: hidden;
}
.verify-scan-line {
    position: absolute;
    width: 80%;
    height: 2px;
    background: #0000cc;
    box-shadow: 0 0 10px rgba(0,0,204,0.5);
    animation: scanMove 2s ease-in-out infinite;
}
@keyframes scanMove {
    0%, 100% { top: 15%; }
    50% { top: 80%; }
}
.verify-scan-corners {
    width: 70%;
    height: 70%;
    border: 3px solid #0000cc;
    border-radius: 8px;
    position: relative;
}
.verify-phone-result {
    padding: 12px 14px 16px;
    text-align: center;
    border-top: 1px solid #eee;
}
.verify-result-check {
    margin-bottom: 4px;
}
.verify-result-text {
    display: block;
    font-weight: 700;
    color: #00b341;
    font-size: 0.85rem;
}
.verify-result-sub {
    display: block;
    color: #888;
    font-size: 0.72rem;
    margin-top: 2px;
}

.feature-card h3 {
    margin-bottom: 8px;
    color: #0000cc;
    font-size: 1.05rem;
}

.feature-card p {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.4;
}

/* Highlight cards: uppercase bold heading + slide-reveal body */
.feature-card-highlight h3 {
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #ffffff;
    margin-bottom: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.feature-card-highlight p,
.feature-card-highlight .feature-card-stacked {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin-top: 0;
    transition: max-height 0.45s ease, opacity 0.35s ease, margin-top 0.35s ease;
}

.feature-card-highlight:hover p,
.feature-card-highlight:hover .feature-card-stacked {
    max-height: 200px;
    opacity: 1;
    margin-top: 12px;
}

@media (max-width: 768px) {
    .feature-card-highlight p,
    .feature-card-highlight .feature-card-stacked {
        max-height: 200px;
        opacity: 1;
        margin-top: 12px;
    }
    .feature-card-highlight h3 {
        white-space: normal;
    }
}

.upload-drop-zone {
    border: 2px dashed #0000cc40;
    border-radius: 12px;
    padding: 40px 20px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #f8f8ff;
}
.upload-drop-zone:hover, .upload-drop-zone.drag-over {
    border-color: #0000cc;
    background: #ededff;
}
.acknowledge-box {
    background: #f8f8ff;
    border: 1px solid #0000cc20;
    border-radius: 12px;
    padding: 24px;
}
.acknowledge-label {
    background: white;
    border: 1px solid #0000cc15;
    border-radius: 8px;
    padding: 14px;
}
.loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #0000cc20;
    border-top-color: #0000cc;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.simplify-progress {
    text-align: center;
    padding: 40px 20px;
}
.simplify-progress-icon {
    margin-bottom: 12px;
    animation: simplify-pulse 2s ease-in-out infinite;
}
@keyframes simplify-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.1); opacity: 0.8; }
}
.simplify-steps-tracker {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    max-width: 280px;
    margin: 20px auto;
    text-align: left;
}
.simplify-step-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #999;
    transition: all 0.4s ease;
}
.simplify-step-item.active {
    color: #0000cc;
    font-weight: 600;
}
.simplify-step-item.done {
    color: #22c55e;
}
.simplify-step-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ddd;
    flex-shrink: 0;
    transition: all 0.4s ease;
}
.simplify-step-item.active .simplify-step-dot {
    background: #0000cc;
    box-shadow: 0 0 0 3px rgba(0,0,204,0.2);
    animation: dot-blink 1s ease-in-out infinite;
}
@keyframes dot-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}
.simplify-step-item.done .simplify-step-dot {
    background: #22c55e;
    box-shadow: none;
    animation: none;
}
.simplify-progress-bar {
    width: 100%;
    max-width: 300px;
    height: 4px;
    background: #e8ecff;
    border-radius: 2px;
    margin: 16px auto 0;
    overflow: hidden;
}
.simplify-progress-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #0000cc, #4444ff);
    border-radius: 2px;
    transition: width 0.5s ease;
}
body.dark-mode .simplify-step-item { color: #888; }
body.dark-mode .simplify-step-item.active { color: #8888ff; }
body.dark-mode .simplify-step-item.active .simplify-step-dot { background: #6666ff; box-shadow: 0 0 0 3px rgba(102,102,255,0.2); }
body.dark-mode .simplify-progress-bar { background: #2a2a4e; }
body.dark-mode .simplify-progress-fill { background: linear-gradient(90deg, #4444ff, #8888ff); }
[data-theme="dark"] .upload-drop-zone {
    background: #000033;
    border-color: #4444cc40;
}
[data-theme="dark"] .upload-drop-zone:hover, [data-theme="dark"] .upload-drop-zone.drag-over {
    border-color: #6666ff;
    background: #22224a;
}
[data-theme="dark"] .acknowledge-box {
    background: #000033;
    border-color: #4444cc30;
}
[data-theme="dark"] .acknowledge-label {
    background: #16213e;
    border-color: #4444cc20;
}

.form-container {
    max-width: 500px;
    margin: 0 auto;
    background: white;
    padding: 36px;
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 20px rgba(0,0,0,0.03);
    border: 1px solid rgba(0,0,0,0.04);
}

.form-container.form-wide {
    max-width: 750px;
}

.form-container.form-extra-wide {
    max-width: 900px;
}

.form-container h2,
.form-container h3 {
    margin-bottom: 20px;
    color: #0000cc;
    text-align: center;
}

.form-group {
    margin-bottom: 16px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
    font-size: 0.88rem;
    color: #444;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    font-size: 0.93rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    font-family: inherit;
    background: #fff;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #0000cc;
    box-shadow: 0 0 0 3px rgba(0, 0, 204, 0.08);
}

.form-group input[type="checkbox"] {
    width: auto;
    margin-right: 6px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.form-footer {
    text-align: center;
    margin-top: 18px;
    font-size: 0.88rem;
    color: #666;
}

.form-footer a {
    color: #0000cc;
    text-decoration: none;
    font-weight: 500;
}

.error-msg {
    background: #ffe0e0;
    color: #c00;
    padding: 10px 14px;
    border-radius: 8px;
    margin-bottom: 15px;
    display: none;
    font-size: 0.88rem;
}

.success-msg {
    background: #d4edda;
    color: #155724;
    padding: 10px 14px;
    border-radius: 8px;
    margin-bottom: 15px;
    display: none;
    font-size: 0.88rem;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 15px;
    margin-bottom: 25px;
}

.stat-card {
    background: white;
    padding: 18px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 170, 0.06);
    border-left: 4px solid #0000cc;
}

.stat-number {
    font-size: 1.8rem;
    font-weight: 700;
    color: #0000cc;
}

.stat-label {
    font-size: 0.82rem;
    color: #666;
    margin-top: 4px;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.dash-card {
    background: white;
    padding: 22px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 170, 0.06);
}

.dash-card h3 {
    margin-bottom: 14px;
    color: #0000cc;
    border-bottom: 2px solid #0000cc;
    padding-bottom: 8px;
    font-size: 1rem;
}

.quick-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.dash-lines-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 14px;
    margin-top: 4px;
}

.dash-line-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #f7f8ff;
    border: 1.5px solid #e0e4ff;
    border-radius: 14px;
    padding: 22px 10px 18px;
    cursor: pointer;
    transition: background 0.18s, border-color 0.18s, transform 0.15s;
    text-align: center;
}

.dash-line-tile:hover {
    background: #eef0ff;
    border-color: #0000cc;
    transform: translateY(-2px);
}

.dlt-icon {
    font-size: 2.6rem;
    line-height: 1;
}

.dlt-label {
    font-size: 0.85rem;
    font-weight: 700;
    color: #0000cc;
    text-transform: capitalize;
    letter-spacing: 0.2px;
}

.line-badge {
    display: inline-block;
    background: #0000cc;
    color: white;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.8rem;
    margin: 3px;
    text-transform: capitalize;
}

.ref-badge {
    display: inline-block;
    background: #f0f4ff;
    color: #0000cc;
    padding: 4px 12px;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    font-family: monospace;
    border: 1px solid #d0d4ff;
}

.activity-item {
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 0.88rem;
}

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

.activity-action {
    font-weight: 600;
    color: #0000cc;
    text-transform: capitalize;
}

.activity-time {
    font-size: 0.78rem;
    color: #999;
}

.activity-ref {
    font-family: monospace;
    font-size: 0.78rem;
    color: #0000cc;
    background: #f0f4ff;
    padding: 1px 6px;
    border-radius: 4px;
}

.policy-tabs,
.message-tabs,
.admin-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 20px;
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 170, 0.06);
}

.tab-btn {
    flex: 1;
    padding: 12px 16px;
    border: none;
    background: white;
    font-size: 0.92rem;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: all 0.2s;
    border-bottom: 3px solid transparent;
}

.tab-btn.active {
    color: #0000cc;
    border-bottom-color: #0000cc;
    background: #f0f0ff;
}

.tab-btn:hover {
    color: #0000cc;
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.tab-desc {
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 18px;
    text-align: center;
    line-height: 1.4;
}

.result-box {
    margin-top: 18px;
    padding: 18px;
    background: #f8f9ff;
    border-radius: 10px;
    border: 1px solid #d0d4ff;
}

.result-box h4 {
    margin-bottom: 10px;
    color: #0000cc;
}

.policy-item,
.claim-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid #f0f0f0;
    background: white;
    border-radius: 10px;
    margin-bottom: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    flex-wrap: wrap;
    gap: 8px;
}

.policy-item:last-child,
.claim-item:last-child {
    border-bottom: none;
}

.item-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.item-info .item-title {
    font-weight: 600;
    color: #333;
}

.item-info .item-sub {
    font-size: 0.82rem;
    color: #666;
}

.item-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.policy-select-card {
    background: white;
    border: 2px solid #e0e4ff;
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: border-color 0.2s;
    flex-wrap: wrap;
    gap: 8px;
}

.policy-select-card:hover {
    border-color: #0000cc;
}

.policy-select-info {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.verified-badge {
    display: inline-block;
    background: #d4edda;
    color: #155724;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 600;
}

.status-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
}

.status-draft { background: #fff3cd; color: #856404; }
.status-completed { background: #d4edda; color: #155724; }
.status-active { background: #d4edda; color: #155724; }
.status-submitted { background: #cce5ff; color: #004085; }

.check-item {
    display: flex;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #eee;
}

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

.check-icon {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    font-size: 0.75rem;
    flex-shrink: 0;
}

.check-pass { background: #d4edda; color: #155724; }
.check-fail { background: #f8d7da; color: #721c24; }

.check-name {
    font-weight: 600;
    margin-right: 8px;
    min-width: 110px;
    font-size: 0.88rem;
}

.check-detail {
    color: #666;
    font-size: 0.85rem;
}

.verify-summary {
    margin-top: 12px;
    padding: 10px;
    border-radius: 8px;
    font-weight: 600;
    text-align: center;
    font-size: 0.92rem;
}

.verify-pass { background: #d4edda; color: #155724; }
.verify-fail { background: #fff3cd; color: #856404; }

/* Wizard */
.wizard-progress {
    display: flex;
    gap: 0;
    margin-bottom: 25px;
    overflow-x: auto;
}

.wizard-step {
    flex: 1;
    text-align: center;
    padding: 10px 6px;
    font-size: 0.8rem;
    color: #999;
    border-bottom: 3px solid #e0e0e0;
    transition: all 0.2s;
    white-space: nowrap;
}

.wizard-step span {
    display: inline-block;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #e0e0e0;
    color: #999;
    font-weight: 700;
    line-height: 22px;
    margin-right: 4px;
    font-size: 0.75rem;
}

.wizard-step.active {
    color: #0000cc;
    border-bottom-color: #0000cc;
}

.wizard-step.active span {
    background: #0000cc;
    color: white;
}

.wizard-step.done {
    color: #28a745;
    border-bottom-color: #28a745;
}

.wizard-step.done span {
    background: #28a745;
    color: white;
}

.wizard-panel {
    display: none;
}

.wizard-panel.active {
    display: block;
}

.wizard-nav {
    display: flex;
    justify-content: space-between;
    margin-top: 25px;
    padding-top: 15px;
    border-top: 1px solid #eee;
}

.witness-card {
    background: #f8f9ff;
    border: 1px solid #d0d4ff;
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 10px;
}

.witness-card h4 {
    margin-bottom: 10px;
    color: #0000cc;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.claim-review {
    font-size: 0.9rem;
}

.claim-review section {
    margin-bottom: 18px;
    padding: 14px;
    background: #f8f9ff;
    border-radius: 8px;
    border-left: 4px solid #0000cc;
}

.claim-review section h4 {
    color: #0000cc;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.claim-review .review-row {
    display: flex;
    gap: 10px;
    padding: 3px 0;
}

.claim-review .review-label {
    font-weight: 600;
    min-width: 160px;
    color: #555;
}

.evidence-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.evidence-thumb {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    object-fit: cover;
    border: 2px solid #d0d4ff;
}

/* Marketplace */
.marketplace-search {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.marketplace-search input {
    flex: 1;
    min-width: 200px;
    padding: 10px 14px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 0.92rem;
}

.marketplace-search select {
    padding: 10px 14px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 0.92rem;
    min-width: 180px;
}

.marketplace-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.marketplace-grid h3 {
    margin-bottom: 14px;
    color: #0000cc;
}

.insurance-line-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin: 20px 0;
}

.insurance-line-card {
    background: white;
    border: 2px solid #e0e6f0;
    border-radius: 12px;
    padding: 22px 14px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.insurance-line-card:hover {
    border-color: #0000cc;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 170, 0.12);
}

.insurance-line-card.selected {
    border-color: #0000cc;
    background: #f0f4ff;
    box-shadow: 0 0 0 3px rgba(0, 0, 204, 0.15);
}

.insurance-line-card .line-icon {
    font-size: 2rem;
    display: block;
}

.insurance-line-card strong {
    color: #0000cc;
    font-size: 1rem;
}

.insurance-line-card .line-desc {
    color: #888;
    font-size: 0.8rem;
}

.line-details-section h3 {
    margin-bottom: 6px;
}

body.dark-mode .insurance-line-card {
    background: #1e1e2f;
    border-color: #333;
}

body.dark-mode .insurance-line-card:hover {
    border-color: #6666ff;
}

body.dark-mode .insurance-line-card.selected {
    border-color: #6666ff;
    background: #16162a;
    box-shadow: 0 0 0 3px rgba(100, 100, 255, 0.2);
}

body.dark-mode .insurance-line-card .line-desc {
    color: #999;
}

.prof-roles-guide {
    background: white;
    border-radius: 14px;
    padding: 28px;
    margin-bottom: 25px;
    box-shadow: 0 2px 10px rgba(0, 0, 170, 0.06);
}

.prof-roles-guide h3 {
    color: #0000cc;
    margin-bottom: 6px;
    font-size: 1.2rem;
}

.prof-roles-intro {
    color: #666;
    font-size: 0.95rem;
    margin-bottom: 20px;
}

.prof-roles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.prof-role-category {
    background: #f0f4ff;
    border-radius: 10px;
    padding: 18px;
}

.prof-role-category h4 {
    color: #0000cc;
    font-size: 0.95rem;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid #0000cc22;
}

.prof-role-item {
    display: flex;
    flex-direction: column;
    padding: 8px 0;
    border-bottom: 1px solid #0000cc11;
}

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

.prof-role-item strong {
    color: #222;
    font-size: 0.88rem;
    margin-bottom: 2px;
}

.prof-role-item span {
    color: #666;
    font-size: 0.82rem;
    line-height: 1.3;
}

body.dark-mode .prof-roles-guide {
    background: #1e1e2f;
}

body.dark-mode .prof-roles-intro {
    color: #aaa;
}

body.dark-mode .prof-role-category {
    background: #16162a;
}

body.dark-mode .prof-role-category h4 {
    border-bottom-color: rgba(100, 100, 255, 0.2);
}

body.dark-mode .prof-role-item {
    border-bottom-color: rgba(100, 100, 255, 0.1);
}

body.dark-mode .prof-role-item strong {
    color: #ddd;
}

body.dark-mode .prof-role-item span {
    color: #999;
}

.market-card {
    background: white;
    padding: 18px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 170, 0.06);
    margin-bottom: 12px;
    transition: transform 0.2s;
    cursor: pointer;
}

.market-card:hover {
    transform: translateY(-2px);
}

.market-card h4 {
    color: #0000cc;
    margin-bottom: 4px;
    font-size: 1rem;
}

.market-card .company {
    color: #2929b8;
    font-size: 0.85rem;
    margin-bottom: 6px;
}

.market-card .specialty-tag {
    display: inline-block;
    background: #f0f4ff;
    color: #0000cc;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.75rem;
    margin-bottom: 6px;
}

.market-card p {
    color: #666;
    font-size: 0.85rem;
    line-height: 1.4;
}

.market-card .card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
    font-size: 0.82rem;
}

.market-card .rate {
    font-weight: 600;
    color: #0000cc;
}

.star-rating {
    color: #ffc107;
    font-size: 0.9rem;
}

/* Notifications */
.notification-item {
    padding: 14px 16px;
    background: white;
    border-radius: 10px;
    margin-bottom: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.notification-item.unread {
    border-left: 4px solid #0000cc;
    background: #f8f9ff;
}

.notif-content {
    flex: 1;
}

.notif-title {
    font-weight: 600;
    color: #333;
    margin-bottom: 3px;
    font-size: 0.92rem;
}

.notif-message {
    color: #666;
    font-size: 0.85rem;
}

.notif-time {
    font-size: 0.75rem;
    color: #999;
    white-space: nowrap;
}

/* Messages */
.message-item {
    padding: 14px 16px;
    background: white;
    border-radius: 10px;
    margin-bottom: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    cursor: pointer;
    transition: background 0.15s;
}

.message-item:hover {
    background: #f8f9ff;
}

.message-item.unread {
    border-left: 4px solid #0000cc;
    font-weight: 600;
}

.msg-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
}

.msg-sender {
    font-weight: 600;
    color: #0000cc;
    font-size: 0.92rem;
}

.msg-time {
    font-size: 0.78rem;
    color: #999;
}

.msg-subject {
    font-size: 0.88rem;
    color: #333;
    margin-bottom: 3px;
}

.msg-preview {
    font-size: 0.82rem;
    color: #666;
}

/* Professional Detail */
.prof-header {
    display: flex;
    gap: 20px;
    margin-bottom: 25px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.prof-info {
    flex: 1;
}

.prof-info h2 {
    text-align: left;
    margin-bottom: 8px;
}

.prof-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.prof-services,
.prof-reviews {
    margin-top: 20px;
}

.service-card {
    background: #f8f9ff;
    border: 1px solid #d0d4ff;
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.review-card {
    background: #f8f9ff;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 8px;
}

.review-card .review-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
}

/* Admin */
.admin-table {
    width: 100%;
    border-collapse: collapse;
    background: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    font-size: 0.85rem;
}

.admin-table th {
    background: #0000cc;
    color: white;
    padding: 10px 12px;
    text-align: left;
    font-size: 0.82rem;
}

.admin-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #f0f0f0;
}

.admin-table tr:hover {
    background: #f8f9ff;
}

/* Loading & Toast */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #e0e4ff;
    border-top-color: #0000cc;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

#toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 2000;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.toast {
    padding: 14px 22px;
    border-radius: 12px;
    color: white;
    font-size: 0.88rem;
    font-weight: 500;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12), 0 8px 32px rgba(0,0,0,0.08);
    animation: slideIn 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    max-width: 380px;
    backdrop-filter: blur(8px);
    line-height: 1.5;
}

.toast-success { background: rgba(5,150,105,0.95); }
.toast-error { background: rgba(220,38,38,0.95); }
.toast-info { background: rgba(0,0,204,0.95); }

@keyframes slideIn {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

/* Footer */
.site-footer {
    background: linear-gradient(135deg, #0000cc 0%, #1a1aff 40%, #4d4dff 100%);
    color: #fff;
    padding: 28px 24px;
    text-align: center;
    margin-top: 48px;
}

.footer-columns {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    padding: 40px 40px 24px;
    max-width: 900px;
    margin: 0 auto;
    text-align: left;
}
.footer-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.footer-col h4 {
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.footer-col a {
    color: rgba(255,255,255,0.9);
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.2s ease;
}
.footer-col a:hover {
    color: #fff;
}
.footer-col-brand {
    max-width: 280px;
}
.footer-col-brand p {
    color: rgba(255,255,255,0.9);
    font-size: 0.85rem;
    line-height: 1.6;
    margin-top: 4px;
}
.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
}
.footer-logo-img-wrap {
    background: #fff;
    border-radius: 10px;
    padding: 6px 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 12px rgba(0,0,0,0.18);
}
.footer-logo-img-wrap img {
    height: 38px;
    width: auto;
    display: block;
}
.footer-logo span {
    color: #fff;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: 0.5px;
}
.footer-bottom {
    text-align: center;
    padding: 16px 24px;
    border-top: 1px solid rgba(255,255,255,0.2);
}
.footer-bottom p {
    font-size: 0.82rem;
    color: #fff;
    margin: 0;
}
@media (max-width: 640px) {
    .footer-columns {
        flex-direction: column;
        gap: 28px;
        padding: 32px 24px 20px;
        text-align: center;
        align-items: center;
    }
    .footer-col-brand { max-width: 100%; }
    .footer-logo { justify-content: center; }
}

.footer-content p {
    margin-bottom: 8px;
    font-size: 0.85rem;
    line-height: 1.6;
}

.footer-links a {
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    font-size: 0.84rem;
    transition: color 0.2s ease;
}

.footer-links a:hover {
    color: white;
}

/* Responsive */
@media (max-width: 768px) {
    .nav-inner {
        height: auto;
        flex-wrap: wrap;
        padding: 8px 16px;
        gap: 4px;
    }
    .nav-logo {
        height: 22px;
    }
    .nav-brand-name {
        font-size: 0.75rem;
    }
    .nav-center {
        order: 3;
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0;
    }
    .nav-center a {
        font-size: 0.7rem;
        padding: 6px 6px;
    }
    .nav-actions {
        gap: 8px;
    }
    .nav-get-started {
        padding: 4px 10px !important;
        font-size: 0.68rem !important;
    }
    .hero h1 {
        font-size: 1.6rem;
    }
    .dashboard-grid,
    .marketplace-grid,
    .prof-roles-grid,
    .form-row {
        grid-template-columns: 1fr;
    }
    .insurance-line-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .wizard-progress {
        font-size: 0.7rem;
    }
    .container {
        padding: 15px 10px;
    }
}

.step-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    gap: 0;
}
.step-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 20px;
    background: #f0f0f0;
    color: #999;
    font-size: 0.85rem;
    transition: all 0.3s;
}
.step-item.active {
    background: #0000cc;
    color: white;
}
.step-item.completed {
    background: #00aa55;
    color: white;
}
.step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(255,255,255,0.3);
    font-weight: bold;
    font-size: 0.8rem;
}
.step-connector {
    width: 40px;
    height: 2px;
    background: #ddd;
    margin: 0 4px;
}

.acknowledgement-box {
    background: #fffbe6;
    border: 2px solid #ffd700;
    border-radius: 12px;
    padding: 24px;
    margin-top: 10px;
}
.ack-icon {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 8px;
}
.acknowledgement-box h4 {
    text-align: center;
    color: #b8860b;
    margin-bottom: 12px;
    font-size: 1.2rem;
}
.ack-list {
    margin: 12px 0;
    padding-left: 20px;
}
.ack-list li {
    margin-bottom: 8px;
    line-height: 1.5;
    color: #555;
}

.simplified-section {
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
    transition: all 0.3s;
}
.simplified-section:hover {
    border-color: #0000cc;
    box-shadow: 0 2px 8px rgba(0,0,204,0.08);
}
.section-header-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #f8f9ff;
    cursor: pointer;
    user-select: none;
}
.section-header-bar:hover {
    background: #eef0ff;
}
.section-icon {
    font-size: 1.2rem;
}
.section-title-text {
    flex: 1;
    font-weight: 600;
    color: #0000cc;
    font-size: 0.95rem;
}
.section-toggle {
    transition: transform 0.3s;
    color: #999;
}
.simplified-section.collapsed .section-body {
    display: none;
}
.simplified-section.collapsed .section-toggle {
    transform: rotate(-90deg);
}
.section-body {
    padding: 14px 16px;
    line-height: 1.6;
    color: #444;
    font-size: 0.9rem;
}
.section-body p {
    margin: 0;
}
.disclaimer-section {
    border-color: #ffcccc;
    background: #fff5f5;
}
.disclaimer-section .section-header-bar {
    background: #fff0f0;
}
.disclaimer-section .section-body {
    font-size: 0.8rem;
    color: #888;
    font-style: italic;
}
.simplified-badge {
    background: #e6ffe6;
    color: #006600;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.75rem;
}

.workflow-steps-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 28px;
    padding: 20px 10px;
    background: linear-gradient(135deg, #f0f2ff 0%, #e8eaff 100%);
    border-radius: 14px;
    border: 1px solid #d8daff;
}
.wf-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 14px 20px;
    border-radius: 12px;
    background: #fff;
    border: 2px solid #e0e2f0;
    min-width: 130px;
    transition: all 0.3s;
    opacity: 0.5;
}
.wf-step.active {
    border-color: #0000cc;
    box-shadow: 0 4px 16px rgba(0,0,204,0.15);
    opacity: 1;
}
.wf-step.completed {
    border-color: #00aa55;
    opacity: 1;
}
.wf-step-header {
    margin-bottom: 4px;
}
.wf-step-num {
    display: inline-block;
    background: #0000cc;
    color: #fff;
    font-weight: 700;
    font-size: 0.7rem;
    padding: 3px 12px;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.wf-step.completed .wf-step-num {
    background: #00aa55;
}
.wf-step-title {
    font-weight: 700;
    font-size: 1rem;
    color: #222;
    margin: 6px 0 4px;
}
.wf-step-icon {
    color: #0000cc;
    margin-bottom: 4px;
}
.wf-step.completed .wf-step-icon {
    color: #00aa55;
}
.wf-step-desc {
    font-size: 0.78rem;
    color: #666;
    line-height: 1.3;
}
.wf-step-arrow {
    margin: 0 8px;
    display: flex;
    align-items: center;
}

.simplify-refs-bar {
    background: #f8f9ff;
    border-radius: 10px;
    padding: 10px 16px;
    margin-bottom: 20px;
    border: 1px solid #e0e2f0;
    overflow-x: auto;
}

.section-1-card {
    background: linear-gradient(135deg, #f0f2ff 0%, #e8eaff 100%);
    border: 2px solid #c8ccff;
    border-radius: 14px;
    margin-bottom: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s;
}
.section-1-card.disclaimer-card {
    background: linear-gradient(135deg, #fff8f0 0%, #fff3e6 100%);
    border-color: #f0d0a0;
}
.section-1-card.disclaimer-card .section-1-num {
    background: #cc8800;
}
.section-1-card.disclaimer-card .section-1-title {
    color: #cc8800;
}
.section-1-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,204,0.12);
}
.section-1-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
}
.section-1-num {
    background: #0000cc;
    color: #fff;
    font-weight: 700;
    font-size: 0.8rem;
    padding: 4px 14px;
    border-radius: 8px;
}
.section-1-title {
    flex: 1;
    font-weight: 700;
    font-size: 1.05rem;
    color: #0000cc;
}
.section-1-card .section-body {
    padding: 0 20px 16px;
    background: #fff;
    margin: 0 8px 8px;
    border-radius: 10px;
    max-height: 400px;
    overflow-y: auto;
}
.section-1-card .section-body p {
    line-height: 1.8;
    white-space: pre-line;
    word-wrap: break-word;
}
.section-1-card.collapsed .section-body {
    display: none;
}
.section-1-card.collapsed .section-toggle {
    transform: rotate(-90deg);
}

/* ===== NEW SECTION CARD SYSTEM ===== */
.s-card {
    background: #fff;
    border: 1px solid #e8eaed;
    border-radius: 14px;
    margin-bottom: 8px;
    overflow: hidden;
    transition: box-shadow 0.2s, border-color 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.s-card.collapsed {
    box-shadow: none;
}
.s-card:hover {
    box-shadow: 0 2px 16px rgba(0,0,0,0.08);
    border-color: #d0d4e8;
}
.s-card:not(.collapsed) {
    border-color: #c8cce8;
    box-shadow: 0 4px 20px rgba(0,0,204,0.07);
}
.s-card.s-card-disclaimer {
    border-color: #e8ddb0;
    background: #fffdf8;
}
.s-card.s-card-disclaimer:not(.collapsed) {
    border-color: #d4b96a;
    box-shadow: 0 4px 20px rgba(180,130,0,0.07);
}
.s-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    cursor: pointer;
    user-select: none;
    background: #fff;
    transition: background 0.15s;
}
.s-card-header:hover {
    background: #fafbff;
}
.s-card-badge {
    width: 34px;
    height: 34px;
    min-width: 34px;
    background: #f3f4f8;
    color: #0000cc;
    font-size: 0.68rem;
    font-weight: 700;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: 0;
    white-space: nowrap;
    padding: 0;
    transition: background 0.2s, color 0.2s;
}
.s-card:not(.collapsed) .s-card-badge {
    background: #0000cc;
    color: #fff;
}
.s-card-badge-note {
    background: #fef3e2;
    color: #996600;
}
.s-card:not(.collapsed) .s-card-badge-note {
    background: #996600;
    color: #fff;
}
.s-card-meta {
    flex: 1;
    min-width: 0;
}
.s-card-title {
    font-weight: 600;
    font-size: 0.92rem;
    color: #111827;
    letter-spacing: -0.01em;
    line-height: 1.3;
}
.s-card-preview {
    font-size: 0.74rem;
    color: #9ca3af;
    margin-top: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0;
}
.s-card:not(.collapsed) .s-card-preview {
    display: none;
}
.s-card-chevron {
    transition: transform 0.25s ease;
    flex-shrink: 0;
    color: #c4c8d8;
}
.s-card:not(.collapsed) .s-card-chevron {
    color: #0000cc;
}
.s-card.collapsed .s-card-chevron {
    transform: rotate(-90deg);
}
.s-card-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: #fff;
    border-top: 0px solid transparent;
}
.s-card:not(.collapsed) .s-card-body {
    max-height: 5000px;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    border-top: 1px solid #f0f2f8;
}
.s-grid-wrap {
    padding: 4px 6px 10px;
}
.s-bullet-list {
    list-style: none;
    margin: 0;
    padding: 2px 0 6px;
}
.s-bullet-item {
    display: flex;
    gap: 0;
    align-items: baseline;
    padding: 11px 20px;
    border-bottom: 1px solid #f4f5f8;
    font-size: 0.865rem;
    line-height: 1.6;
    color: #374151;
}
.s-bullet-item:last-child {
    border-bottom: none;
}
.s-bullet-item::before {
    content: none;
}
.s-bl {
    font-weight: 600;
    color: #111827;
    flex-shrink: 0;
    min-width: 170px;
    padding-right: 12px;
    font-size: 0.85rem;
}
.s-bv {
    color: #6b7280;
    word-break: break-word;
    flex: 1;
    font-size: 0.865rem;
}
.s-steps {
    padding: 14px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.s-step {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.s-step-n {
    background: #0000cc;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}
.s-step-c {
    flex: 1;
}
.s-step-lbl {
    font-weight: 700;
    font-size: 0.85rem;
    color: #0000cc;
    margin-bottom: 3px;
}
.s-step-txt {
    font-size: 0.85rem;
    color: #444;
    line-height: 1.6;
}
.s-step-note {
    font-size: 0.82rem;
    color: #888;
    padding: 2px 0 2px 40px;
    font-style: italic;
}
.s-disclaimer-text {
    padding: 16px 20px;
    font-size: 0.8rem;
    color: #888;
    font-style: italic;
    line-height: 1.75;
    margin: 0;
    white-space: pre-line;
}
.s-empty {
    padding: 20px;
    color: #bbb;
    font-size: 0.85rem;
    text-align: center;
}
.s-card-highlight {
    animation: sCardPulse 2s ease;
}
@keyframes sCardPulse {
    0%, 100% { box-shadow: none; }
    30% { box-shadow: 0 0 0 3px rgba(0,0,204,0.22); }
}
.s-float-nav {
    position: fixed;
    bottom: 24px;
    right: 24px;
    background: #0000cc;
    color: #fff;
    border-radius: 14px;
    padding: 14px 16px;
    box-shadow: 0 8px 32px rgba(0,0,204,0.28);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 130px;
}
.s-float-nav.hidden {
    display: none;
}
.s-float-nav-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    opacity: 0.65;
}
.s-float-nav-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.s-float-btn {
    background: rgba(255,255,255,0.18);
    color: #fff;
    border: none;
    border-radius: 7px;
    padding: 5px 10px;
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}
.s-float-btn:hover {
    background: rgba(255,255,255,0.32);
}
.s-float-collapse {
    background: rgba(255,255,255,0.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.28);
    border-radius: 8px;
    padding: 7px 12px;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    width: 100%;
    text-align: center;
}
.s-float-collapse:hover {
    background: rgba(255,255,255,0.22);
}
@media (max-width: 600px) {
    .s-float-nav {
        bottom: 0;
        right: 0;
        left: 0;
        border-radius: 14px 14px 0 0;
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
        min-width: unset;
        padding: 12px 14px;
    }
}

.contact-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}
.contact-card-grid .cc-field {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #f0f2f5;
    border-right: 1px solid #f0f2f5;
    transition: background 0.15s;
}
.contact-card-grid .cc-field:hover {
    background: #f5f7ff;
}
.contact-card-grid .cc-field:nth-child(2n) {
    border-right: none;
}
.contact-card-grid .cc-field:nth-last-child(-n+2) {
    border-bottom: none;
}
.contact-card-grid .cc-field-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #f0f4ff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}
.contact-card-grid .cc-field-content {
    flex: 1;
    min-width: 0;
}
.contact-card-grid .cc-field-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #888;
    margin-bottom: 3px;
}
.contact-card-grid .cc-field-value {
    font-size: 14px;
    font-weight: 600;
    color: #222;
    word-break: break-word;
    line-height: 1.4;
}
.contact-card-grid .cc-field-value.cc-na {
    color: #bbb;
    font-weight: 400;
    font-style: italic;
}
.contact-card-grid .cc-field.cc-field-na {
    opacity: 0.6;
}
.contact-card-grid .cc-link {
    color: #0000cc;
    text-decoration: none;
    font-weight: 600;
}
.contact-card-grid .cc-link:hover {
    text-decoration: underline;
}
.contact-card-grid.policy-info .cc-field-icon {
    background: #fff3e0;
}
.contact-card-grid.policy-info .cc-field-icon svg {
    stroke: #e65100;
}
.contact-card-grid.insurer .cc-field-icon {
    background: #e8f5e9;
}
.contact-card-grid.insurer .cc-field-icon svg {
    stroke: #2e7d32;
}
@media (max-width: 600px) {
    .contact-card-grid {
        grid-template-columns: 1fr;
    }
    .contact-card-grid .cc-field {
        border-right: none;
    }
    .contact-card-grid .cc-field:nth-last-child(-n+2) {
        border-bottom: 1px solid #f0f2f5;
    }
    .contact-card-grid .cc-field:last-child {
        border-bottom: none;
    }
}

.sections-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}
.section-grid-card {
    background: #f5f7ff;
    border: 1px solid #d8daee;
    border-radius: 12px;
    padding: 16px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s;
    min-height: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.section-grid-card:hover {
    border-color: #0000cc;
    box-shadow: 0 3px 12px rgba(0,0,204,0.1);
    transform: translateY(-2px);
}
.section-grid-card.expanded {
    grid-column: 1 / -1;
    max-height: none;
}
.section-grid-icon {
    margin-bottom: 6px;
}
.section-grid-num {
    font-weight: 700;
    font-size: 0.95rem;
    color: #0000cc;
    margin-bottom: 2px;
}
.section-grid-title {
    font-size: 0.82rem;
    color: #555;
    line-height: 1.3;
    font-weight: 500;
}
.section-grid-body {
    display: none;
    text-align: left;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #d8daee;
    width: 100%;
    max-height: 350px;
    overflow-y: auto;
    overflow-x: hidden;
}
.section-grid-card.expanded .section-grid-body {
    display: block;
}
.section-grid-body p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.8;
    color: #444;
    white-space: pre-line;
    word-wrap: break-word;
}
.disclaimer-card {
    border-color: #ffcccc;
    background: #fff5f5;
}
.disclaimer-card .section-grid-num {
    color: #cc0000;
}
.disclaimer-card .section-grid-body p {
    font-size: 0.8rem;
    color: #888;
    font-style: italic;
}

.final-output-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(135deg, #f0f2ff, #e3e7ff);
    border: 2px solid #c8ccff;
    border-radius: 12px;
    padding: 16px 24px;
    margin-top: 20px;
    font-size: 1rem;
    color: #333;
}

@media (max-width: 768px) {
    .workflow-steps-bar {
        flex-direction: column;
        gap: 8px;
        padding: 14px;
    }
    .wf-step {
        min-width: unset;
        width: 100%;
        flex-direction: row;
        gap: 12px;
        padding: 10px 16px;
    }
    .wf-step-arrow {
        transform: rotate(90deg);
        margin: 0;
    }
    .sections-grid {
        grid-template-columns: 1fr;
    }
    .section-grid-card.expanded {
        grid-column: 1;
    }
}
@media (min-width: 769px) and (max-width: 1024px) {
    .sections-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.chat-policy-selector {
    margin-bottom: 16px;
}
.chat-policy-selector select {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 0.95rem;
    margin-top: 6px;
}
.policy-chat-info {
    background: #f0f4ff;
    padding: 10px 14px;
    border-radius: 8px;
    margin-bottom: 12px;
    font-size: 0.85rem;
    color: #333;
}
.chat-messages {
    max-height: 400px;
    overflow-y: auto;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 12px;
    background: #fafbff;
}
.chat-message {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
}
.chat-message.user-message {
    flex-direction: row-reverse;
}
.chat-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: bold;
    flex-shrink: 0;
}
.ai-message .chat-avatar {
    background: #0000cc;
    color: white;
}
.user-message .chat-avatar {
    background: #eee;
    color: #333;
}
.chat-bubble {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 10px 14px;
    max-width: 75%;
    line-height: 1.5;
    font-size: 0.9rem;
}
.user-message .chat-bubble {
    background: #0000cc;
    color: white;
    border-color: #0000cc;
}
.error-bubble {
    background: #fff5f5 !important;
    border-color: #ffcccc !important;
    color: #cc0000 !important;
}
.typing-indicator {
    color: #999;
    font-style: italic;
}
.typing-indicator .dots {
    animation: blink 1.2s infinite;
}
@keyframes blink {
    0%, 50% { opacity: 1; }
    25% { opacity: 0.3; }
}
.chat-input-area {
    display: flex;
    gap: 8px;
}
.chat-input-area input {
    flex: 1;
    padding: 10px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 0.95rem;
}
.chat-input-area input:focus {
    border-color: #0000cc;
    outline: none;
}
.chat-hint {
    font-size: 0.75rem;
    color: #999;
    margin-top: 6px;
}

.ai-widget {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9999;
}
.ai-widget-toggle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0000cc, #3333ff);
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(0, 0, 204, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: transform 0.2s, box-shadow 0.2s;
}
.ai-widget-toggle:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 28px rgba(0, 0, 204, 0.5);
}
.ai-widget-icon {
    font-size: 28px;
    line-height: 1;
}
.ai-widget-pulse {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px solid #0000cc;
    animation: widgetPulse 2s infinite;
}
@keyframes widgetPulse {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(1.5); opacity: 0; }
}
.ai-widget-panel {
    position: absolute;
    bottom: 70px;
    right: 0;
    width: 380px;
    max-height: 520px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e0e4ff;
}
.ai-widget-header {
    background: linear-gradient(135deg, #0000cc, #3333ff);
    color: white;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ai-widget-header-info {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ai-widget-avatar {
    font-size: 24px;
}
.ai-widget-status {
    display: block;
    font-size: 0.7rem;
    opacity: 0.85;
}
.ai-widget-header-actions {
    display: flex;
    gap: 6px;
}
.ai-widget-btn {
    background: rgba(255,255,255,0.2);
    border: none;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}
.ai-widget-btn:hover {
    background: rgba(255,255,255,0.35);
}
.ai-widget-messages {
    flex: 1;
    overflow-y: auto;
    padding: 14px;
    max-height: 340px;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ai-w-msg {
    display: flex;
    gap: 8px;
    align-items: flex-start;
}
.ai-w-ai {
    flex-direction: row;
}
.ai-w-user {
    flex-direction: row-reverse;
}
.ai-w-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
    background: #f0f4ff;
}
.ai-w-user .ai-w-avatar {
    background: #0000cc;
    color: white;
    font-size: 11px;
    font-weight: 700;
}
.ai-w-bubble {
    background: #f0f4ff;
    border-radius: 12px;
    padding: 10px 14px;
    max-width: 280px;
    font-size: 0.88rem;
    line-height: 1.5;
    word-wrap: break-word;
}
.ai-w-user .ai-w-bubble {
    background: #0000cc;
    color: white;
}
.ai-w-typing .ai-w-bubble {
    color: #999;
    font-style: italic;
}
.ai-thinking-indicator {
    display: flex;
    align-items: center;
    gap: 4px;
}
.ai-thinking-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #0000cc;
    animation: ai-dot-pulse 1.4s infinite ease-in-out both;
}
.ai-thinking-dot:nth-child(1) { animation-delay: -0.32s; }
.ai-thinking-dot:nth-child(2) { animation-delay: -0.16s; }
.ai-thinking-dot:nth-child(3) { animation-delay: 0s; }
@keyframes ai-dot-pulse {
    0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
    40% { transform: scale(1); opacity: 1; }
}
.ai-thinking-text {
    font-size: 12px;
    color: #666;
    font-style: italic;
    margin-left: 6px;
}
.ai-agent-badge {
    display: inline-block;
    background: linear-gradient(135deg, #0000cc, #4444ff);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.ai-actions-container {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
}
.ai-action-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: linear-gradient(135deg, #f0f2ff, #e8ecff);
    border: 1px solid #d0d8ff;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.ai-action-card:hover {
    background: linear-gradient(135deg, #e0e4ff, #d0d8ff);
    border-color: #0000cc;
    transform: translateX(2px);
}
.ai-action-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #0000cc;
    color: #fff;
    flex-shrink: 0;
}
.ai-action-info {
    flex: 1;
    min-width: 0;
}
.ai-action-label {
    font-size: 12px;
    font-weight: 600;
    color: #0000cc;
}
.ai-action-detail {
    font-size: 11px;
    color: #666;
    margin-top: 1px;
}
.ai-action-go {
    color: #0000cc;
    font-size: 16px;
    font-weight: bold;
    flex-shrink: 0;
}
body.dark-mode .ai-agent-badge {
    background: linear-gradient(135deg, #4444ff, #6666ff);
}
body.dark-mode .ai-action-card {
    background: linear-gradient(135deg, #1a1a3e, #252560);
    border-color: #4444ff;
}
body.dark-mode .ai-action-card:hover {
    background: linear-gradient(135deg, #252560, #303080);
    border-color: #6666ff;
}
body.dark-mode .ai-action-icon {
    background: #4444ff;
}
body.dark-mode .ai-action-label {
    color: #8888ff;
}
body.dark-mode .ai-action-detail {
    color: #aaa;
}
body.dark-mode .ai-action-go {
    color: #8888ff;
}
body.dark-mode .ai-thinking-dot {
    background: #6666ff;
}
.ai-widget-input-area {
    padding: 10px 12px;
    border-top: 1px solid #e8ecff;
    display: flex;
    gap: 6px;
    align-items: center;
    background: #fafbff;
}
.ai-widget-input-area input {
    flex: 1;
    padding: 9px 12px;
    border: 1px solid #d0d4ff;
    border-radius: 20px;
    font-size: 0.88rem;
    outline: none;
}
.ai-widget-input-area input:focus {
    border-color: #0000cc;
    box-shadow: 0 0 0 2px rgba(0, 0, 204, 0.1);
}
.ai-voice-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #d0d4ff;
    background: white;
    cursor: pointer;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    flex-shrink: 0;
}
.ai-voice-btn:hover {
    background: #f0f4ff;
    border-color: #0000cc;
}
.ai-voice-btn.recording {
    background: #ff4444;
    border-color: #ff4444;
    animation: voicePulse 1s infinite;
}
@keyframes voicePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 68, 68, 0.4); }
    50% { box-shadow: 0 0 0 8px rgba(255, 68, 68, 0); }
}
.ai-send-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: #0000cc;
    color: white;
    cursor: pointer;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s;
}
.ai-send-btn:hover {
    background: #0000aa;
}
.ai-voice-status {
    padding: 6px 12px;
    background: #fff5f5;
    border-top: 1px solid #ffcccc;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.8rem;
}
.ai-voice-recording {
    color: #cc0000;
    font-weight: 600;
}

.ai-guidance-bar {
    background: linear-gradient(135deg, #f0f4ff, #e8ecff);
    border: 1px solid #d0d4ff;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 20px;
}
.ai-guidance-bar .guidance-title {
    font-weight: 700;
    color: #0000cc;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.ai-tip-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(0, 0, 204, 0.08);
}
.ai-tip-item:last-child {
    border-bottom: none;
}
.ai-tip-icon {
    font-size: 1.4rem;
    flex-shrink: 0;
}
.ai-tip-text {
    flex: 1;
    font-size: 0.9rem;
    color: #444;
}
.ai-tip-action {
    flex-shrink: 0;
}

.dash-reminders {
    margin-bottom: 16px;
}
.reminder-item {
    background: #fff5e6;
    border: 1px solid #ffd699;
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.reminder-item.expired {
    background: #fff0f0;
    border-color: #ffcccc;
}
.reminder-item.expiring_today {
    background: #fff0f0;
    border-color: #ff9999;
}
.reminder-icon {
    font-size: 1.3rem;
}
.reminder-text {
    flex: 1;
    font-size: 0.9rem;
}
.reminder-days {
    font-weight: 700;
    font-size: 0.85rem;
    color: #cc6600;
    white-space: nowrap;
}
.reminder-item.expired .reminder-days {
    color: #cc0000;
}

.news-item {
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}
.news-item:last-child {
    border-bottom: none;
}
.news-title {
    font-weight: 600;
    color: #0000cc;
    margin-bottom: 4px;
    font-size: 0.95rem;
}
.news-summary {
    font-size: 0.85rem;
    color: #555;
    line-height: 1.5;
}
.news-meta {
    font-size: 0.75rem;
    color: #999;
    margin-top: 4px;
}
.news-category {
    display: inline-block;
    background: #e8ecff;
    color: #0000cc;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
}

.voice-input-wrapper {
    position: relative;
}
.voice-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
}
.voice-record-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 20px;
    border: 2px solid #0000cc;
    background: white;
    color: #0000cc;
    font-weight: 600;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.2s;
}
.voice-record-btn:hover {
    background: #f0f4ff;
}
.voice-record-btn.recording {
    background: #cc0000;
    border-color: #cc0000;
    color: white;
    animation: voicePulse 1s infinite;
}
.voice-status-text {
    font-size: 0.85rem;
    color: #cc0000;
    font-weight: 600;
}
.narration-preview {
    background: #f0f4ff;
    border: 1px solid #d0d4ff;
    border-radius: 10px;
    padding: 16px;
    margin-top: 12px;
}
.narration-preview h4 {
    color: #0000cc;
    margin-bottom: 8px;
}
.narration-preview p {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #333;
    white-space: pre-wrap;
}
.narration-actions {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

@media (max-width: 600px) {
    .ai-widget-panel {
        width: calc(100vw - 20px);
        right: -14px;
        bottom: 65px;
        max-height: 70vh;
    }
    .ai-widget-toggle {
        width: 52px;
        height: 52px;
    }
    .ai-widget {
        bottom: 16px;
        right: 16px;
    }
}

/* ==================== GET INSURANCE ==================== */
.page-subtitle { color: #555; font-size: 1.05rem; margin-bottom: 20px; }
.tabs-bar { display: flex; gap: 4px; border-bottom: 1px solid #e5e7eb; margin-bottom: 28px; padding-bottom: 0; }
.tabs-bar .tab-btn { padding: 10px 20px; border: none; background: none; cursor: pointer; font-size: 0.93rem; color: #6b7280; border-bottom: 2px solid transparent; transition: all 0.2s ease; margin-bottom: -1px; font-weight: 500; border-radius: 6px 6px 0 0; }
.tabs-bar .tab-btn.active { color: #0000cc; border-bottom-color: #0000cc; font-weight: 600; background: rgba(0,0,204,0.03); }
.tabs-bar .tab-btn:hover { color: #0000cc; background: rgba(0,0,204,0.03); }

.wizard-progress { display: flex; gap: 0; margin-bottom: 24px; overflow-x: auto; }
.wizard-step { flex: 1; text-align: center; padding: 12px 8px; background: #f5f5f5; color: #999; font-size: 0.85rem; position: relative; border-bottom: 3px solid #ddd; transition: all 0.3s; }
.wizard-step span { display: inline-block; width: 24px; height: 24px; line-height: 24px; border-radius: 50%; background: #ddd; color: #fff; font-weight: bold; margin-right: 6px; font-size: 0.8rem; }
.wizard-step.active { background: #eef; color: #0000cc; border-bottom-color: #0000cc; }
.wizard-step.active span { background: #0000cc; }
.wizard-step.completed { background: #efffef; color: #00aa44; border-bottom-color: #00aa44; }
.wizard-step.completed span { background: #00aa44; }

.wizard-step-content { display: none; }
.wizard-step-content.active { display: block; }
.step-hint { color: #666; font-size: 0.95rem; margin-bottom: 16px; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-grid .full-width { grid-column: 1 / -1; }

.wizard-actions { display: flex; justify-content: space-between; margin-top: 24px; padding-top: 16px; border-top: 1px solid #eee; }

.review-content { background: #fafafa; border-radius: 8px; padding: 20px; }
.review-section { margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #eee; }
.review-section:last-child { border-bottom: none; margin-bottom: 0; }
.review-section h4 { color: #0000cc; margin-bottom: 12px; font-size: 1.05rem; }
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; }
.review-item { font-size: 0.95rem; padding: 4px 0; }

.info-box { background: #eef5ff; border: 1px solid #cce0ff; border-radius: 8px; padding: 16px; color: #003399; font-size: 0.95rem; }

.btn-large { padding: 14px 32px; font-size: 1.1rem; }

/* Application Cards */
.application-card { cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; }
.application-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.card-body { font-size: 0.95rem; }
.status-badge { display: inline-block; padding: 3px 10px; border-radius: 12px; color: #fff; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.5px; }
.text-highlight { color: #00aa44; font-weight: 600; }
.text-muted { color: #888; font-size: 0.85rem; }

/* Quote Cards */
.quote-card { border-left: 4px solid #0000cc; margin-bottom: 12px; }
.quote-card.quote-selected { border-left-color: #00aa44; background: #f5fff5; }
.quote-price { font-size: 1.3rem; font-weight: bold; color: #0000cc; }
.quote-message { font-style: italic; color: #555; margin: 8px 0; padding: 8px; background: #f9f9f9; border-radius: 4px; }

/* ==================== FIND SERVICES ==================== */
.location-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; padding: 16px; background: #f5f5f5; border-radius: 8px; flex-wrap: wrap; }
.location-bar span { color: #888; font-size: 0.9rem; }
.location-bar input { flex: 1; min-width: 200px; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 1rem; }

.service-type-filters { display: flex; gap: 8px; margin-bottom: 20px; overflow-x: auto; padding-bottom: 4px; }
.filter-btn { padding: 8px 16px; border: 2px solid #ddd; background: #fff; border-radius: 20px; cursor: pointer; font-size: 0.9rem; white-space: nowrap; transition: all 0.2s; }
.filter-btn:hover { border-color: #0000cc; color: #0000cc; }
.filter-btn.active { background: #0000cc; color: #fff; border-color: #0000cc; }

.service-results { display: grid; gap: 16px; }

.service-card { border: 1px solid #e0e0e0; border-radius: 8px; overflow: hidden; transition: box-shadow 0.2s; }
.service-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.service-card-header { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; background: #f8f8f8; border-bottom: 1px solid #e0e0e0; }
.service-card-header strong { font-size: 1.05rem; }
.service-type-icon { font-size: 1.2rem; margin-right: 6px; }
.service-type-label { font-size: 0.8rem; color: #0000cc; background: #eef; padding: 3px 10px; border-radius: 12px; }
.badge-24-7 { display: inline-block; background: #cc0000; color: #fff; font-size: 0.7rem; padding: 2px 8px; border-radius: 10px; margin-left: 8px; font-weight: bold; }
.service-card-body { padding: 14px 16px; }
.service-meta { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0; font-size: 0.9rem; color: #555; }
.service-partners { font-size: 0.85rem; color: #666; margin-top: 8px; }
.service-actions { display: flex; gap: 8px; margin-top: 12px; }

/* ==================== EMERGENCY HELP ==================== */
.emergency-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 24px; }
.emergency-btn { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 24px; font-size: 1rem; border-radius: 12px; transition: transform 0.2s; min-height: 120px; justify-content: center; }
.emergency-btn:hover { transform: scale(1.03); }
.emergency-icon { font-size: 2.5rem; }
.btn-danger { background: #cc0000; color: #fff; border: none; cursor: pointer; }
.btn-danger:hover { background: #aa0000; }
.btn-warning { background: #ff8800; color: #fff; border: none; cursor: pointer; }
.btn-warning:hover { background: #dd7700; }
.btn-info { background: #0088cc; color: #fff; border: none; cursor: pointer; }
.btn-info:hover { background: #0066aa; }

.location-status { padding: 12px 16px; border-radius: 8px; background: #f5f5f5; margin-bottom: 16px; }
.text-success { color: #00aa44; }
.text-error { color: #cc0000; }
.empty-state { color: #888; text-align: center; padding: 40px 20px; font-size: 1rem; }

.nav-lang-selector {
    display: flex;
    align-items: center;
}

.lang-select {
    padding: 3px 6px;
    border: none;
    border-radius: 4px;
    font-size: 0.7rem;
    background: transparent;
    color: #1d1d1f;
    cursor: pointer;
    max-width: 140px;
    outline: none;
    transition: all 0.2s ease;
    font-weight: 400;
    opacity: 0.72;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%23666' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 2px center;
    padding-right: 14px;
}

.lang-select:hover, .lang-select:focus {
    opacity: 1;
}

body.rtl {
    direction: rtl;
    text-align: right;
}

body.rtl nav {
    flex-direction: row-reverse;
}

body.rtl .nav-right {
    flex-direction: row-reverse;
}

body.rtl .nav-links {
    flex-direction: row-reverse;
}

body.rtl .hero-buttons {
    flex-direction: row-reverse;
}

body.rtl .form-group {
    text-align: right;
}

body.rtl .item-actions {
    text-align: left;
}

body.rtl .msg-time, body.rtl .notif-time {
    text-align: left;
}

@media (max-width: 768px) {
    .form-grid { grid-template-columns: 1fr; }
    .review-grid { grid-template-columns: 1fr; }
    .wizard-progress { flex-wrap: wrap; }
    .wizard-step { font-size: 0.75rem; padding: 8px 4px; }
    .location-bar { flex-direction: column; }
    .location-bar input { min-width: auto; width: 100%; }
    .service-type-filters { flex-wrap: wrap; }
    .emergency-hero { grid-template-columns: 1fr; }
    .tabs-bar { overflow-x: auto; }
    .tabs-bar .tab-btn { padding: 8px 16px; font-size: 0.9rem; }
    .lang-select { max-width: 120px; font-size: 0.75rem; }
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}
.news-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 24px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.news-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.news-card-category {
    display: inline-block;
    background: #e8eaf6;
    color: #0000cc;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.news-card-title {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 8px 0;
    color: #1a1a2e;
}
.news-card-summary {
    font-size: 14px;
    color: #555;
    line-height: 1.5;
    margin: 0 0 12px 0;
}
.news-card-meta {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #888;
}
.homepage-news-section {
    max-width: 1200px;
    margin: 40px auto 0;
    padding: 0 20px;
}
.selected-card {
    border: 2px solid #0000cc !important;
    background: #f0f0ff !important;
}
.lookup-result-card:hover {
    border-color: #0000cc;
    background: #f8f8ff;
}
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    padding: 20px;
}
.modal-content {
    background: #fff;
    border-radius: 16px;
    padding: 28px;
    max-width: 500px;
    width: 100%;
    box-shadow: 0 8px 30px rgba(0,0,0,0.3);
    animation: modalIn 0.2s ease;
}
@keyframes modalIn {
    from { transform: scale(0.9); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.dm-moon { display: none; }
body.dark-mode .dm-sun { display: none; }
body.dark-mode .dm-moon { display: block; }

body.dark-mode {
    background: #0d1117;
    color: #e6edf3;
}
body.dark-mode h1, body.dark-mode h2, body.dark-mode h3,
body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 {
    color: #f5f5f7;
}
body.dark-mode p {
    color: #a1a1a6;
}
body.dark-mode nav {
    background: rgba(22,27,34,0.88);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-bottom-color: rgba(255,255,255,0.06);
}
body.dark-mode .nav-center a,
body.dark-mode .nav-auth-link,
body.dark-mode .nav-user-link {
    color: #f5f5f7 !important;
}
body.dark-mode .nav-center a:hover,
body.dark-mode .nav-auth-link:hover,
body.dark-mode .nav-user-link:hover {
    color: #6e8efb !important;
}
body.dark-mode .nav-icon-btn {
    color: #f5f5f7;
}
body.dark-mode .nav-divider {
    background: rgba(255,255,255,0.15);
}
body.dark-mode .nav-dropdown-menu {
    background: rgba(30,35,42,0.98);
    border-color: rgba(255,255,255,0.06);
    box-shadow: 0 4px 24px rgba(0,0,0,0.3);
}
body.dark-mode .nav-dropdown-menu a {
    color: #c9d1d9;
}
body.dark-mode .nav-dropdown-menu a:hover {
    background: #21262d;
    color: #6e8efb;
}
body.dark-mode .user-dropdown {
    background: rgba(30,35,42,0.98);
    border-color: rgba(255,255,255,0.06);
}
body.dark-mode .user-dropdown a {
    color: #c9d1d9 !important;
}
body.dark-mode .user-dropdown a:hover {
    background: #21262d;
    color: #6e8efb !important;
}
body.dark-mode .nav-search-expand input {
    background: #21262d;
    color: #f5f5f7;
    border-color: #30363d;
}
body.dark-mode .lang-select {
    background: transparent;
    color: #c9d1d9;
    border: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%23999' stroke-width='2'/%3E%3C/svg%3E");
}
body.dark-mode .hero {
    background: linear-gradient(135deg, #0a0a3a 0%, #1a1a5e 50%, #0d0d4a 100%);
}
body.dark-mode .section-heading {
    color: #e6edf3;
}
body.dark-mode .section-subheading {
    color: #8b949e;
}
body.dark-mode .hiw-step {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .hiw-step h3 {
    color: #e6edf3;
}
body.dark-mode .hiw-step p {
    color: #8b949e;
}
body.dark-mode .feature-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .feature-card:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,0.4);
    border-color: #3333ff;
}
body.dark-mode .feature-card h3 {
    color: #e6edf3;
}
body.dark-mode .feature-card p {
    color: #8b949e;
}
body.dark-mode .feature-card-highlight h3 {
    color: #ffffff;
}
body.dark-mode .feature-card-highlight {
    background: rgba(255,255,255,0.04);
}
body.dark-mode .why-section {
    background: #161b22;
}
body.dark-mode .why-card {
    background: #0d1117;
    border-color: #30363d;
}
body.dark-mode .why-card:hover {
    border-color: #3333ff;
}
body.dark-mode .why-card h4 {
    color: #e6edf3;
}
body.dark-mode .why-card p {
    color: #8b949e;
}
body.dark-mode .verification-section {
    background: linear-gradient(135deg, #0a0a3a 0%, #161b22 100%);
}
body.dark-mode .trust-stats-bar {
    background: linear-gradient(135deg, #0a0a3a 0%, #161b22 100%);
}
body.dark-mode .ai-demo-section {
    background: #161b22;
}
body.dark-mode .ai-demo-window {
    background: #0d1117;
    border-color: #30363d;
}
body.dark-mode .ai-demo-titlebar {
    background: #21262d;
}
body.dark-mode .ai-demo-title {
    color: #c9d1d9;
}
body.dark-mode .ai-demo-label {
    color: #8b949e;
}
body.dark-mode .ai-demo-original {
    background: #21262d;
    color: #c9d1d9;
}
body.dark-mode .ai-demo-simplified {
    background: #0d2818;
    border-color: #238636;
}
body.dark-mode .ai-demo-result {
    color: #c9d1d9;
}
body.dark-mode .ai-verify-field {
    color: #c9d1d9;
    border-bottom-color: rgba(255,255,255,0.08);
}
body.dark-mode .ai-verify-pass {
    color: #c9d1d9;
}
body.dark-mode .comparison-table-label {
    color: #58a6ff;
}
body.dark-mode .comparison-dual .comparison-table-wrapper {
    border-color: rgba(88,166,255,0.2);
    background: rgba(13,17,23,0.6);
}
body.dark-mode .ai-demo-box {
    border-color: rgba(88,166,255,0.2);
    background: rgba(13,17,23,0.6);
}
body.dark-mode .ai-demo-box-label {
    color: #58a6ff;
}
body.dark-mode .ai-demo-body {
    background: #0d1117;
}
body.dark-mode .comparison-section {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .comparison-table {
    background: #0d1117;
    color: #c9d1d9;
}
body.dark-mode .comparison-table th {
    background: #21262d;
    color: #e6edf3;
}
body.dark-mode .comparison-table td {
    border-color: #30363d;
    color: #c9d1d9;
}
body.dark-mode .comp-old-cell {
    background: #2a1215;
}
body.dark-mode .comp-new-cell {
    background: #0d2818;
}
body.dark-mode .testimonials-section {
    background: #161b22;
}
body.dark-mode .testimonial-card {
    background: #0d1117;
    border-color: #30363d;
}
body.dark-mode .testimonial-card.testimonial-featured {
    background: linear-gradient(135deg, #0d1117 0%, #161b22 100%);
    border-color: #4466ff;
    box-shadow: 0 4px 16px rgba(68,102,255,0.15);
}
body.dark-mode .testimonial-card.testimonial-featured .testimonial-quote {
    color: #e6edf3;
}
body.dark-mode .testimonial-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.5);
}
body.dark-mode .testimonial-quote {
    color: #c9d1d9;
}
body.dark-mode .testimonial-author {
    border-top-color: #30363d;
}
body.dark-mode .testimonial-author strong {
    color: #e6edf3;
}
body.dark-mode .testimonial-author span {
    color: #8b949e;
}
body.dark-mode .testimonial-tag {
    background: #1a1a4e;
    color: #79b8ff;
}
body.dark-mode .testimonials-nav-btn {
    border-color: #3333ff;
    background: #0d1117;
    color: #79b8ff;
}
body.dark-mode .testimonials-nav-btn:hover {
    background: #3333ff;
    color: #fff;
}
body.dark-mode .partners-section {
    background: #161b22;
}
body.dark-mode .partner-logo-placeholder {
    background: #21262d;
    color: #8b949e;
    border-color: #30363d;
}
body.dark-mode .partners-label {
    color: #8b949e;
}
body.dark-mode .media-strip {
    background: #0d1117;
}
body.dark-mode .live-stats-section {
    background: linear-gradient(135deg, #0a0a3a 0%, #161b22 100%);
}
body.dark-mode .faq-section {
    background: #161b22;
}
body.dark-mode .faq-item {
    background: #0d1117;
    border-color: #30363d;
}
body.dark-mode .faq-question {
    color: #e6edf3;
}
body.dark-mode .faq-answer {
    color: #8b949e;
}
body.dark-mode .bottom-cta {
    background: linear-gradient(135deg, #0a0a3a 0%, #1a1a5e 100%);
}
body.dark-mode .news-section {
    background: #161b22;
}
body.dark-mode .news-card {
    background: #0d1117;
    border-color: #30363d;
}
body.dark-mode .news-card:hover {
    border-color: #3333ff;
}
body.dark-mode footer {
    background: #0d1117;
    border-top-color: #30363d;
    color: #8b949e;
}
body.dark-mode .card, body.dark-mode .policy-card, body.dark-mode .claim-card, body.dark-mode .form-card {
    background: #161b22;
    border-color: #30363d;
    color: #c9d1d9;
}
body.dark-mode .card:hover, body.dark-mode .policy-card:hover {
    border-color: #3333ff;
}
body.dark-mode input, body.dark-mode textarea, body.dark-mode select {
    background: #0d1117;
    color: #c9d1d9;
    border-color: #30363d;
}
body.dark-mode input:focus, body.dark-mode textarea:focus, body.dark-mode select:focus {
    border-color: #58a6ff;
}
body.dark-mode input::placeholder, body.dark-mode textarea::placeholder {
    color: #484f58;
}
body.dark-mode .tab-btn {
    background: #21262d;
    color: #8b949e;
    border-color: #30363d;
}
body.dark-mode .tab-btn.active, body.dark-mode .tab-btn:hover {
    background: #0000cc;
    color: #fff;
}
body.dark-mode .dashboard-card, body.dark-mode .stat-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .dashboard-card h3, body.dark-mode .stat-card h3 {
    color: #e6edf3;
}
body.dark-mode .notification-item, body.dark-mode .message-item {
    background: #161b22;
    border-color: #30363d;
    color: #c9d1d9;
}
body.dark-mode .notification-item:hover, body.dark-mode .message-item:hover {
    background: #21262d;
}
body.dark-mode .ai-widget {
    background: #161b22;
    border-color: #30363d;
    box-shadow: 0 8px 40px rgba(0,0,0,0.6);
}
body.dark-mode .ai-widget-header {
    background: linear-gradient(135deg, #0a0a3a, #1a1a5e);
}
body.dark-mode .ai-widget-messages {
    background: #0d1117;
}
body.dark-mode .ai-w-bubble {
    background: #21262d;
    color: #c9d1d9;
}
body.dark-mode .ai-w-user .ai-w-bubble {
    background: #0000cc;
    color: #fff;
}
body.dark-mode .ai-widget-input-area {
    background: #161b22;
    border-top-color: #30363d;
}
body.dark-mode #aiWidgetInput {
    background: #0d1117;
    color: #c9d1d9;
    border-color: #30363d;
}
body.dark-mode .modal-content {
    background: #161b22;
    color: #c9d1d9;
}
body.dark-mode .toast {
    background: #21262d;
    color: #c9d1d9;
    border-color: #30363d;
}
body.dark-mode .cookie-consent {
    background: #161b22;
    border-top-color: #30363d;
    color: #c9d1d9;
}
body.dark-mode .back-to-top {
    background: #21262d;
    color: #79b8ff;
    border-color: #30363d;
}
body.dark-mode .back-to-top:hover {
    background: #0000cc;
    color: #fff;
}
body.dark-mode .page-section {
    background: #0d1117;
}
body.dark-mode .section-title, body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4 {
    color: #e6edf3;
}
body.dark-mode p, body.dark-mode label, body.dark-mode span {
    color: #c9d1d9;
}
body.dark-mode a {
    color: #58a6ff;
}
body.dark-mode .btn-primary, body.dark-mode .btn {
    background: #0000cc;
    color: #fff;
}
body.dark-mode .btn-secondary {
    background: #21262d;
    color: #c9d1d9;
    border-color: #30363d;
}
body.dark-mode .btn-secondary:hover {
    background: #30363d;
}
body.dark-mode .selected-card {
    border-color: #3333ff !important;
    background: #1a1a4e !important;
}
body.dark-mode .lookup-result-card:hover {
    border-color: #3333ff;
    background: #21262d;
}
body.dark-mode .guidance-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .nav-user-dropdown {
    background: #161b22;
    border-color: #30363d;
    box-shadow: 0 4px 16px rgba(0,0,0,0.5);
}
body.dark-mode .search-dropdown {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .simplified-section {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .simplified-section h3, body.dark-mode .simplified-section h4 {
    color: #e6edf3;
}
body.dark-mode .review-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .listing-card {
    background: #161b22;
    border-color: #30363d;
    color: #c9d1d9;
}
body.dark-mode .listing-card:hover {
    border-color: #3333ff;
}
body.dark-mode table {
    color: #c9d1d9;
}
body.dark-mode table th {
    background: #21262d;
    color: #e6edf3;
}
body.dark-mode table td {
    border-color: #30363d;
}
body.dark-mode .chat-bubble {
    background: #21262d;
    color: #c9d1d9;
}
body.dark-mode .ai-message .chat-bubble {
    background: #21262d;
}
body.dark-mode .user-message .chat-bubble {
    background: #0000cc;
    color: #fff;
}
body.dark-mode .hiw-connector svg path {
    stroke: #3333ff;
}
body.dark-mode .nav-badge {
    background: #da3633;
}

.glossary-term {
    border-bottom: 2px dotted #0000cc;
    cursor: help;
    position: relative;
    color: #0000cc;
    font-weight: 500;
}
.glossary-term:hover {
    background: #e8e8ff;
    border-radius: 3px;
}
.glossary-term::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: #000033;
    color: #fff;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    white-space: normal;
    width: 260px;
    max-width: 90vw;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
    z-index: 200;
    pointer-events: none;
    box-shadow: 0 8px 24px rgba(0,0,0,0.25);
    text-align: center;
}
.glossary-term::before {
    content: '';
    position: absolute;
    bottom: calc(100% + 2px);
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #1a1a2e;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
    z-index: 201;
}
.glossary-term:hover::after,
.glossary-term:hover::before {
    opacity: 1;
    visibility: visible;
}
body.dark-mode .glossary-term {
    color: #6666ff;
    border-bottom-color: #6666ff;
}
body.dark-mode .glossary-term:hover {
    background: #2a2a4e;
}

.coverage-visual-bars {
    background: #fff;
    border: 1px solid #d0d4ff;
    border-radius: 16px;
    padding: 24px;
    margin: 20px 0;
    box-shadow: 0 4px 16px rgba(0,0,170,0.06);
}
.cvb-title {
    font-size: 16px;
    font-weight: 700;
    color: #0000cc;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.cvb-title::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230000cc' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M9 21V9'/%3E%3C/svg%3E") no-repeat center/contain;
}
.cvb-row {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    gap: 12px;
}
.cvb-label {
    min-width: 140px;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    text-align: right;
}
.cvb-bar-wrap {
    flex: 1;
    background: #f0f2ff;
    border-radius: 8px;
    height: 32px;
    overflow: hidden;
}
.cvb-bar {
    height: 100%;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 10px;
    min-width: 0;
    transition: width 1.2s ease-out;
}
.cvb-amount {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
    white-space: nowrap;
}
body.dark-mode .coverage-visual-bars {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .cvb-label {
    color: #c9d1d9;
}
body.dark-mode .cvb-bar-wrap {
    background: #21262d;
}

.dyk-container {
    margin: 20px 0;
}
.dyk-header {
    font-size: 16px;
    font-weight: 700;
    color: #0000cc;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.dyk-icon {
    font-size: 20px;
}
.dyk-card {
    background: linear-gradient(135deg, #f7f8ff, #eef0ff);
    border: 1px solid #d0d4ff;
    border-left: 4px solid #0000cc;
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 10px;
    transition: transform 0.2s, box-shadow 0.2s;
}
.dyk-card:hover {
    transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(0,0,170,0.1);
}
.dyk-text {
    font-size: 14px;
    color: #333;
    line-height: 1.6;
}
body.dark-mode .dyk-card {
    background: linear-gradient(135deg, #161b22, #1c2333);
    border-color: #30363d;
    border-left-color: #4444ff;
}
body.dark-mode .dyk-text {
    color: #c9d1d9;
}
body.dark-mode .dyk-header {
    color: #6666ff;
}

.risk-gauge-container {
    background: #fff;
    border: 1px solid #d0d4ff;
    border-radius: 16px;
    padding: 24px;
    margin: 20px 0;
    text-align: center;
    box-shadow: 0 4px 16px rgba(0,0,170,0.06);
}
.rg-title {
    font-size: 16px;
    font-weight: 700;
    color: #0000cc;
    margin-bottom: 16px;
}
.rg-gauge {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.rg-meter {
    position: relative;
    width: 180px;
    height: 95px;
    overflow: hidden;
}
.rg-meter-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 180px;
    height: 90px;
    border-radius: 90px 90px 0 0;
    background: conic-gradient(from 180deg at 50% 100%, #ff4444 0deg, #ff9900 60deg, #0066cc 120deg, #00cc44 180deg);
    opacity: 0.85;
}
.rg-needle {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 4px;
    height: 80px;
    background: #333;
    border-radius: 4px;
    transform-origin: bottom center;
    transition: transform 1.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 2;
    margin-left: -2px;
}
.rg-center-dot {
    position: absolute;
    bottom: -6px;
    left: 50%;
    width: 14px;
    height: 14px;
    background: #333;
    border-radius: 50%;
    margin-left: -7px;
    z-index: 3;
}
.rg-labels {
    display: flex;
    justify-content: space-between;
    width: 180px;
    margin-top: 4px;
    font-size: 11px;
    color: #888;
}
.rg-score {
    font-size: 22px;
    font-weight: 800;
    margin-top: 10px;
}
body.dark-mode .risk-gauge-container {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .rg-title {
    color: #6666ff;
}
body.dark-mode .rg-needle, body.dark-mode .rg-center-dot {
    background: #e6edf3;
}

.seasonal-alerts {
    margin: 16px 0;
}
.sa-header {
    font-size: 16px;
    font-weight: 700;
    color: #0000cc;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.sa-header::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230000cc' stroke-width='2'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") no-repeat center/contain;
}
.sa-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid #e8e8f0;
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 8px;
    transition: transform 0.2s;
}
.sa-card:hover {
    transform: translateX(4px);
}
.sa-icon {
    font-size: 22px;
    flex-shrink: 0;
}
.sa-text {
    font-size: 14px;
    color: #333;
    line-height: 1.5;
}
body.dark-mode .sa-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .sa-text {
    color: #c9d1d9;
}
body.dark-mode .sa-header {
    color: #6666ff;
}

.insurance-quiz-sidebar {
    position: relative;
    margin: 14px 0;
}
.iq-sidebar-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f0f2ff;
    border: 2px solid #d0d4ff;
    border-radius: 12px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 700;
    color: #0000cc;
    cursor: pointer;
    transition: all 0.2s;
    width: auto;
}
.iq-sidebar-toggle:hover { background: #e0e4ff; border-color: #0000cc; }
.iq-toggle-icon { font-size: 18px; }
.iq-toggle-arrow { font-size: 10px; transition: transform 0.3s; margin-left: auto; }
.iq-open .iq-toggle-arrow { transform: rotate(90deg); }
.iq-sidebar-panel {
    display: none;
    background: #fff;
    border: 1px solid #d0d4ff;
    border-radius: 0 0 16px 16px;
    padding: 20px;
    margin-top: -2px;
    box-shadow: 0 4px 16px rgba(0,0,170,0.06);
    animation: iqSlideDown 0.3s ease;
}
.iq-open .iq-sidebar-panel { display: block; }
@keyframes iqSlideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}
.insurance-quiz { display: none; }
.iq-score {
    display: none;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #0000cc;
    padding: 14px;
    background: #f0f2ff;
    border-radius: 12px;
    margin-bottom: 16px;
}
.iq-question {
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee;
}
.iq-question:last-child {
    border-bottom: none;
    margin-bottom: 0;
}
.iq-q-text {
    font-size: 15px;
    font-weight: 600;
    color: #333;
    margin-bottom: 12px;
}
.iq-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.iq-option {
    background: #f7f8ff;
    border: 2px solid #d0d4ff;
    border-radius: 10px;
    padding: 10px 16px;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s;
    color: #333;
}
.iq-option:hover:not(:disabled) {
    background: #e8e8ff;
    border-color: #0000cc;
    transform: translateX(4px);
}
.iq-option:disabled {
    cursor: not-allowed;
    opacity: 0.7;
}
.iq-option.iq-correct {
    background: #e6ffed;
    border-color: #00cc44;
    color: #006622;
    opacity: 1 !important;
}
.iq-option.iq-wrong {
    background: #fff0f0;
    border-color: #ff4444;
    color: #cc0000;
    opacity: 1 !important;
}
.iq-feedback {
    display: none;
    margin-top: 8px;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 8px;
}
.iq-answered .iq-feedback {
    display: block;
}
.iq-fb-correct {
    color: #006622;
    background: #e6ffed;
}
.iq-fb-wrong {
    color: #cc0000;
    background: #fff0f0;
}
body.dark-mode .insurance-quiz-sidebar .iq-sidebar-toggle {
    background: #21262d;
    border-color: #30363d;
    color: #6666ff;
}
body.dark-mode .insurance-quiz-sidebar .iq-sidebar-toggle:hover {
    background: #2a2a4e;
    border-color: #6666ff;
}
body.dark-mode .iq-sidebar-panel {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .iq-q-text {
    color: #e6edf3;
}
body.dark-mode .iq-option {
    background: #21262d;
    border-color: #30363d;
    color: #c9d1d9;
}
body.dark-mode .iq-option:hover:not(:disabled) {
    background: #2a2a4e;
    border-color: #6666ff;
}
body.dark-mode .iq-score {
    background: #21262d;
    color: #6666ff;
}
body.dark-mode .iq-header {
    color: #6666ff;
}

.reading-progress-bar {
    position: sticky;
    top: 60px;
    left: 0;
    width: 100%;
    height: 4px;
    background: #f0f2ff;
    z-index: 90;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 12px;
}
.rpb-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #0000cc, #4444ff, #00cc66);
    transition: width 0.15s ease-out;
    border-radius: 4px;
}
body.dark-mode .reading-progress-bar {
    background: #21262d;
}

@media (max-width: 768px) {
    .cvb-row {
        flex-direction: column;
        align-items: stretch;
    }
    .cvb-label {
        text-align: left;
        min-width: unset;
    }
    .rg-meter {
        width: 140px;
        height: 75px;
    }
    .rg-meter-bg {
        width: 140px;
        height: 70px;
    }
    .rg-needle {
        height: 60px;
    }
    .rg-labels {
        width: 140px;
    }
    .glossary-term::after {
        left: 0;
        transform: none;
        width: 200px;
    }
}

.smart-search-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 2px solid #d0d4ff;
    border-radius: 14px;
    padding: 10px 16px;
    margin: 16px 0;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.smart-search-bar:focus-within {
    border-color: #0000cc;
    box-shadow: 0 0 0 4px rgba(0,0,204,0.1);
}
.ss-icon { flex-shrink: 0; }
.smart-search-bar input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 14px;
    background: transparent;
    color: #333;
}
.ss-count {
    font-size: 12px;
    color: #0000cc;
    font-weight: 600;
    white-space: nowrap;
}
.ss-clear {
    background: none;
    border: none;
    font-size: 20px;
    color: #999;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
}
.ss-clear:hover { color: #cc0000; }
.ss-highlight {
    background: #fff200;
    color: #000;
    padding: 1px 3px;
    border-radius: 3px;
    font-weight: 600;
}
body.dark-mode .smart-search-bar {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .smart-search-bar input { color: #c9d1d9; }
body.dark-mode .ss-highlight { background: #665500; color: #fff; }

.gap-analyzer {
    background: #fff;
    border: 1px solid #ffe0cc;
    border-radius: 16px;
    padding: 24px;
    margin: 20px 0;
    box-shadow: 0 4px 16px rgba(255,102,0,0.08);
}
.ga-header {
    font-size: 16px;
    font-weight: 700;
    color: #ff6600;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.ga-summary {
    font-size: 13px;
    color: #666;
    margin-bottom: 16px;
    padding: 8px 14px;
    background: #fff8f0;
    border-radius: 10px;
}
.ga-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 16px;
    border-left: 4px solid #ff6600;
    background: #fffbf7;
    border-radius: 0 10px 10px 0;
    margin-bottom: 8px;
}
.ga-icon { font-size: 18px; flex-shrink: 0; }
.ga-text { flex: 1; font-size: 14px; color: #333; line-height: 1.5; }
.ga-badge {
    font-size: 10px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 6px;
    white-space: nowrap;
    flex-shrink: 0;
}
.ga-gap { background: #fff0e0; color: #cc5500; }
.ga-exclusion { background: #ffe0e0; color: #cc0000; }
.ga-tip {
    margin-top: 14px;
    font-size: 13px;
    color: #0000cc;
    font-weight: 600;
    padding: 10px 14px;
    background: #f0f2ff;
    border-radius: 10px;
    text-align: center;
}
body.dark-mode .gap-analyzer {
    background: #161b22;
    border-color: #462200;
}
body.dark-mode .ga-summary { background: #1c1500; color: #c9d1d9; }
body.dark-mode .ga-item { background: #1c1200; }
body.dark-mode .ga-text { color: #c9d1d9; }
body.dark-mode .ga-tip { background: #21262d; }

.emergency-quick-card {
    background: linear-gradient(135deg, #cc0000, #990000);
    color: #fff;
    border-radius: 16px;
    padding: 18px 20px;
    margin: 20px 0;
    box-shadow: 0 4px 16px rgba(204,0,0,0.2);
}
.eqc-header {
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,0.3);
}
.eqc-line {
    font-size: 13px;
    padding: 4px 0;
    line-height: 1.5;
    opacity: 0.95;
}
.eqc-step {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}
.eqc-step:last-of-type { border-bottom: none; }
.eqc-step-num {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}
.eqc-step-body { flex: 1; min-width: 0; }
.eqc-step-label {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    opacity: 0.97;
}
.eqc-step-sub {
    font-size: 12px;
    opacity: 0.75;
    margin-top: 2px;
}
.eqc-phone-link {
    display: inline-block;
    margin-top: 4px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: 0.3px;
    border-bottom: 1px solid rgba(255,255,255,0.4);
}
.eqc-phone-link:hover { border-bottom-color: #fff; }
.eqc-toggle {
    display: none;
}
.s-card-insight .s-card-badge { display: none; }
.s-card-body-insight { padding: 0; }
.s-card-body-insight > .gap-analyzer,
.s-card-body-insight > .coverage-strength,
.s-card-body-insight > .cost-savings,
.s-card-body-insight > .coverage-comparison,
.s-card-body-insight > .smart-recs {
    margin: 0;
    border-radius: 0 0 12px 12px;
    border-top: none;
}

.section-action-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    padding: 8px 16px;
    background: #0000cc;
    color: #fff;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}
.section-action-link:hover {
    background: #0000aa;
    transform: translateX(3px);
}
body.dark-mode .section-action-link {
    background: #4444ff;
}
body.dark-mode .section-action-link:hover {
    background: #3333dd;
}

.print-export-bar {
    display: flex;
    gap: 10px;
    margin: 12px 0;
    flex-wrap: wrap;
}
.pe-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 2px solid #d0d4ff;
    border-radius: 10px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #0000cc;
    cursor: pointer;
    transition: all 0.2s;
}
.pe-btn:hover {
    background: #f0f2ff;
    border-color: #0000cc;
    transform: translateY(-1px);
}
body.dark-mode .pe-btn {
    background: #161b22;
    border-color: #30363d;
    color: #6666ff;
}

.policy-timeline {
    background: #fff;
    border: 1px solid #d0d4ff;
    border-radius: 16px;
    padding: 24px;
    margin: 16px 0;
    box-shadow: 0 4px 16px rgba(0,0,170,0.06);
}
.pt-title {
    font-size: 16px;
    font-weight: 700;
    color: #0000cc;
    margin-bottom: 20px;
    text-align: center;
}
.pt-track {
    position: relative;
    height: 80px;
    margin: 0 30px;
}
.pt-line {
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #00cc44, #0000cc, #cc0000);
    border-radius: 4px;
}
.pt-event {
    position: absolute;
    transform: translateX(-50%);
    text-align: center;
    top: 0;
}
.pt-dot {
    font-size: 20px;
    line-height: 1;
}
.pt-label {
    font-size: 12px;
    font-weight: 700;
    color: #333;
    margin-top: 12px;
}
.pt-date {
    font-size: 11px;
    color: #666;
    margin-top: 2px;
}
body.dark-mode .policy-timeline {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .pt-title { color: #6666ff; }
body.dark-mode .pt-label { color: #e6edf3; }
body.dark-mode .pt-date { color: #8b949e; }

.key-stats-dashboard {
    background: #fff;
    border: 1px solid #d0d4ff;
    border-radius: 16px;
    padding: 24px;
    margin: 16px 0;
    box-shadow: 0 4px 16px rgba(0,0,170,0.06);
}
.ksd-title {
    font-size: 16px;
    font-weight: 700;
    color: #0000cc;
    margin-bottom: 16px;
    text-align: center;
}
.ksd-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 14px;
}
.ksd-card {
    text-align: center;
    padding: 16px 12px;
    background: linear-gradient(135deg, #f7f8ff, #eef0ff);
    border-radius: 14px;
    border: 1px solid #e0e4ff;
    transition: transform 0.2s;
}
.ksd-card:hover { transform: translateY(-3px); }
.ksd-icon { font-size: 26px; margin-bottom: 6px; }
.ksd-value {
    font-size: 20px;
    font-weight: 800;
    color: #0000cc;
}
.ksd-label {
    font-size: 12px;
    color: #666;
    margin-top: 4px;
    font-weight: 600;
}
body.dark-mode .key-stats-dashboard {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .ksd-card {
    background: linear-gradient(135deg, #161b22, #1c2333);
    border-color: #30363d;
}
body.dark-mode .ksd-value { color: #6666ff; }
body.dark-mode .ksd-label { color: #8b949e; }

.expand-collapse-bar {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin: 8px 0;
}
.ec-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    background: #f7f8ff;
    border: 1px solid #d0d4ff;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #0000cc;
    cursor: pointer;
    transition: all 0.2s;
}
.ec-btn:hover { background: #e8e8ff; }
body.dark-mode .ec-btn {
    background: #21262d;
    border-color: #30363d;
    color: #6666ff;
}

.section-bookmarks-bar {
    margin: 12px 0;
}
.sb-title {
    font-size: 14px;
    font-weight: 700;
    color: #0000cc;
    margin-bottom: 8px;
}
.sb-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.sb-chip {
    background: #f7f8ff;
    border: 1px solid #d0d4ff;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 700;
    color: #0000cc;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}
.sb-chip:hover { background: #e8e8ff; transform: translateY(-1px); }
.sb-chip.sb-active {
    background: #0000cc;
    color: #fff;
    border-color: #0000cc;
}
.sb-hint {
    font-size: 11px;
    color: #999;
    margin-top: 6px;
}
body.dark-mode .sb-chip {
    background: #21262d;
    border-color: #30363d;
    color: #6666ff;
}
body.dark-mode .sb-chip.sb-active {
    background: #4444ff;
    color: #fff;
}
body.dark-mode .sb-title { color: #6666ff; }

.ai-confidence-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #0000cc;
    background: #f0f2ff;
    padding: 8px 16px;
    border-radius: 10px;
    margin: 8px 0;
    border: 1px solid #d0d4ff;
}
body.dark-mode .ai-confidence-badge {
    background: #21262d;
    border-color: #30363d;
    color: #6666ff;
}

.section-highlight {
    animation: highlightPulse 2s ease;
}
@keyframes highlightPulse {
    0%,100% { box-shadow: none; }
    25% { box-shadow: 0 0 0 4px rgba(0,0,204,0.4); }
    50% { box-shadow: 0 0 0 6px rgba(0,0,204,0.2); }
    75% { box-shadow: 0 0 0 4px rgba(0,0,204,0.4); }
}

.renewal-reminders-panel {
    background: #fff;
    border: 1px solid #d0d4ff;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(0,0,170,0.06);
}
.rrp-header {
    font-size: 17px;
    font-weight: 700;
    color: #0000cc;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.rrp-timeline {
    margin-bottom: 20px;
}
.rrp-track {
    position: relative;
    height: 50px;
    background: linear-gradient(90deg, #e8f0ff 0%, #d0d4ff 40%, #ffddcc 70%, #ffcccc 90%, #ff9999 100%);
    border-radius: 10px;
    margin: 0 10px;
}
.rrp-dot {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    background: #c0c4dd;
    border-radius: 50%;
    border: 2px solid #fff;
    z-index: 2;
    transition: all 0.3s;
}
.rrp-dot-active {
    width: 18px;
    height: 18px;
    background: #0000cc;
    box-shadow: 0 0 0 4px rgba(0,0,204,0.2);
    animation: rrpPulse 2s infinite;
}
.rrp-dot-urgent {
    background: #cc0000;
    box-shadow: 0 0 0 4px rgba(204,0,0,0.25);
    animation: rrpPulseRed 1.5s infinite;
}
@keyframes rrpPulse {
    0%,100% { box-shadow: 0 0 0 4px rgba(0,0,204,0.2); }
    50% { box-shadow: 0 0 0 8px rgba(0,0,204,0.1); }
}
@keyframes rrpPulseRed {
    0%,100% { box-shadow: 0 0 0 4px rgba(204,0,0,0.25); }
    50% { box-shadow: 0 0 0 8px rgba(204,0,0,0.1); }
}
.rrp-dot-label {
    position: absolute;
    top: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    font-weight: 600;
    color: #666;
    white-space: nowrap;
}
.rrp-dot-active .rrp-dot-label {
    color: #0000cc;
    font-weight: 700;
}
.rrp-dot-urgent .rrp-dot-label {
    color: #cc0000;
}
.rrp-card {
    background: #fff;
    border: 1px solid #e8e8f0;
    border-radius: 14px;
    padding: 18px 20px;
    margin-bottom: 12px;
    transition: transform 0.2s, box-shadow 0.2s;
}
.rrp-card:hover {
    transform: translateX(4px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
.rrp-card-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
.rrp-card-icon { font-size: 20px; }
.rrp-card-badge {
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    padding: 3px 10px;
    border-radius: 6px;
    letter-spacing: 0.5px;
}
.rrp-card-days {
    font-size: 14px;
    font-weight: 700;
    margin-left: auto;
}
.rrp-card-line {
    font-size: 13px;
    color: #555;
    margin-bottom: 6px;
}
.rrp-card-ref {
    font-family: monospace;
    font-size: 12px;
    color: #0000cc;
    background: #f0f2ff;
    padding: 1px 6px;
    border-radius: 4px;
}
.rrp-card-msg {
    font-size: 14px;
    color: #333;
    line-height: 1.6;
    margin-bottom: 8px;
}
.rrp-card-action {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
}
.rrp-card-expiry {
    font-size: 12px;
    color: #888;
}
.rrp-empty {
    text-align: center;
    padding: 20px;
    color: #666;
    font-size: 14px;
    background: #f7f8ff;
    border-radius: 12px;
}
body.dark-mode .renewal-reminders-panel {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .rrp-header { color: #6666ff; }
body.dark-mode .rrp-track {
    background: linear-gradient(90deg, #1c2333 0%, #21262d 40%, #2a1a00 70%, #2a0a0a 90%, #3a0000 100%);
}
body.dark-mode .rrp-dot { background: #30363d; border-color: #161b22; }
body.dark-mode .rrp-dot-active { background: #4444ff; }
body.dark-mode .rrp-dot-label { color: #8b949e; }
body.dark-mode .rrp-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .rrp-card-msg { color: #c9d1d9; }
body.dark-mode .rrp-card-line { color: #8b949e; }
body.dark-mode .rrp-card-ref { background: #21262d; color: #6666ff; }
body.dark-mode .rrp-card-expiry { color: #6e7681; }
body.dark-mode .rrp-empty { background: #21262d; color: #8b949e; }

/* Policy Line Grouping */
.policy-line-group { background: #fff; border: 1px solid #e0e4ee; border-radius: 14px; margin: 12px 0; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.plg-header { display: flex; align-items: center; gap: 10px; padding: 14px 18px; background: #f8f9ff; cursor: pointer; transition: background 0.2s; }
.plg-header:hover { background: #eef0ff; }
.plg-icon { font-size: 22px; }
.plg-title { font-weight: 700; font-size: 16px; color: #222; flex: 1; }
.plg-count { font-size: 12px; color: #666; background: #eee; padding: 3px 10px; border-radius: 12px; }
.plg-arrow { font-size: 12px; color: #999; transition: transform 0.3s; }
.plg-collapsed .plg-arrow { transform: rotate(-90deg); }
.plg-collapsed .plg-body { display: none; }
.plg-body { padding: 0 18px 14px; }
.plg-year-group { margin: 10px 0; }
.plg-year-label { font-size: 13px; font-weight: 700; color: #0000cc; padding: 6px 0; border-bottom: 2px solid #e8ecff; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
.plg-year-label::before { content: ''; width: 8px; height: 8px; background: #0000cc; border-radius: 50%; }
.plg-compare-btn { font-size: 11px !important; padding: 4px 12px !important; }

/* Compare Panel */
.compare-panel { background: #f8f9ff; border: 2px solid #d0d4ff; border-radius: 16px; padding: 24px; margin: 20px 0; animation: iqSlideDown 0.3s ease; }
.cp-header { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 16px; color: #0000cc; margin-bottom: 16px; }
.cp-close { background: none; border: none; font-size: 22px; color: #999; cursor: pointer; margin-left: auto; }
.cp-close:hover { color: #cc0000; }
.cp-selectors { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.cp-sel label { display: block; font-size: 12px; font-weight: 600; color: #666; margin-bottom: 4px; }
.cp-sel select { width: 100%; padding: 10px 12px; border: 2px solid #d0d4ff; border-radius: 8px; font-size: 13px; background: #fff; color: #333; }
.cp-sel select:focus { border-color: #0000cc; outline: none; }

/* Compare Results */
.cp-results { margin-top: 20px; }
.cp-summary { display: flex; gap: 12px; padding: 16px; background: #fff; border-radius: 12px; border-left: 4px solid #0000cc; margin-bottom: 16px; }
.cp-summary-icon { flex-shrink: 0; }
.cp-summary-text { flex: 1; }
.cp-years { font-weight: 700; font-size: 14px; color: #0000cc; margin-bottom: 4px; }
.cp-summary-text p { font-size: 13px; color: #444; line-height: 1.5; margin: 0; }
.cp-premium { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: #fff; border-radius: 10px; margin-bottom: 16px; border: 1px solid #eee; }
.cp-prem-label { font-weight: 600; font-size: 13px; color: #666; }
.cp-prem-old { font-size: 14px; color: #999; text-decoration: line-through; }
.cp-prem-arrow { font-size: 16px; font-weight: 700; }
.cp-prem-new { font-size: 16px; }
.cp-changes { background: #fff; border-radius: 12px; border: 1px solid #eee; overflow: hidden; margin-bottom: 16px; }
.cp-changes-title { font-weight: 700; font-size: 14px; color: #333; padding: 12px 16px; background: #f4f5ff; border-bottom: 1px solid #eee; }
.cp-change-row { display: grid; grid-template-columns: 2fr 1.5fr auto 1.5fr auto; align-items: center; padding: 10px 16px; border-bottom: 1px solid #f0f0f0; font-size: 13px; gap: 8px; }
.cp-change-row:last-child { border-bottom: none; }
.cp-ch-area { font-weight: 600; color: #333; }
.cp-ch-old { color: #999; }
.cp-ch-dir { font-size: 14px; text-align: center; }
.cp-ch-new { font-size: 13px; }
.cp-ch-impact { font-size: 10px; font-weight: 700; color: #fff; padding: 2px 8px; border-radius: 10px; text-transform: uppercase; text-align: center; }
.cp-recs { background: #fff; border-radius: 12px; border: 1px solid #eee; padding: 14px 16px; margin-bottom: 16px; }
.cp-recs-title { font-weight: 700; font-size: 14px; color: #333; margin-bottom: 10px; }
.cp-rec-item { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #444; padding: 6px 0; line-height: 1.4; }
.cp-edu { display: flex; align-items: flex-start; gap: 8px; padding: 14px 16px; background: #fff8f0; border: 1px solid #ffecd0; border-radius: 12px; font-size: 13px; color: #664400; line-height: 1.4; }

/* Dark Mode - Policy Groups & Compare */
body.dark-mode .policy-line-group { background: #0d1117; border-color: #30363d; }
body.dark-mode .plg-header { background: #161b22; }
body.dark-mode .plg-header:hover { background: #1c2129; }
body.dark-mode .plg-title { color: #e6edf3; }
body.dark-mode .plg-count { background: #21262d; color: #8b949e; }
body.dark-mode .plg-year-label { color: #6666ff; border-bottom-color: #30363d; }
body.dark-mode .plg-year-label::before { background: #6666ff; }
body.dark-mode .compare-panel { background: #161b22; border-color: #30363d; }
body.dark-mode .cp-header { color: #6666ff; }
body.dark-mode .cp-sel select { background: #0d1117; border-color: #30363d; color: #c9d1d9; }
body.dark-mode .cp-summary { background: #0d1117; border-left-color: #6666ff; }
body.dark-mode .cp-years { color: #6666ff; }
body.dark-mode .cp-summary-text p { color: #c9d1d9; }
body.dark-mode .cp-premium { background: #0d1117; border-color: #21262d; }
body.dark-mode .cp-changes { background: #0d1117; border-color: #21262d; }
body.dark-mode .cp-changes-title { background: #161b22; border-color: #21262d; color: #c9d1d9; }
body.dark-mode .cp-change-row { border-color: #21262d; }
body.dark-mode .cp-ch-area { color: #e6edf3; }
body.dark-mode .cp-recs { background: #0d1117; border-color: #21262d; }
body.dark-mode .cp-recs-title { color: #c9d1d9; }
body.dark-mode .cp-rec-item { color: #8b949e; }
body.dark-mode .cp-edu { background: #2d2008; border-color: #3d3010; color: #d29922; }

/* Cost Savings Tips */
.cost-savings { background: #f0fff5; border: 1px solid #c3e6cb; border-radius: 12px; padding: 16px; margin: 14px 0; }
.cs-header { font-weight: 700; color: #00aa44; font-size: 15px; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.cs-card { display: flex; align-items: flex-start; padding: 10px 12px; border-radius: 8px; margin: 6px 0; background: #fff; gap: 10px; border: 1px solid #e8f5e9; }
.cs-icon { font-size: 20px; flex-shrink: 0; }
.cs-content { flex: 1; }
.cs-tip { font-size: 13px; color: #333; line-height: 1.4; }
.cs-savings { display: inline-block; font-size: 11px; font-weight: 700; color: #00aa44; background: #e8f5e9; padding: 2px 8px; border-radius: 12px; margin-top: 4px; }

/* Smart Recommendations */
.smart-recs { background: #f8f9ff; border: 1px solid #dde; border-radius: 12px; padding: 16px; margin: 14px 0; }
.sr-header { font-weight: 700; color: #0000cc; font-size: 15px; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.sr-card { background: #fff; border-radius: 8px; padding: 12px; margin: 6px 0; }
.sr-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sr-top strong { font-size: 14px; color: #222; }
.sr-badge { font-size: 10px; font-weight: 700; color: #fff; padding: 3px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.5px; flex-shrink: 0; }
.sr-desc { font-size: 12px; color: #666; margin-top: 6px; line-height: 1.4; }

/* Coverage Comparison */
.coverage-comparison { background: #f8f9ff; border: 1px solid #dde; border-radius: 12px; padding: 16px; margin: 14px 0; }
.cc-header { font-weight: 700; color: #0000cc; font-size: 15px; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.cc-table { border-radius: 8px; overflow: hidden; border: 1px solid #e8ecf0; }
.cc-row { display: grid; grid-template-columns: 2fr 1fr 1fr auto; padding: 10px 14px; font-size: 13px; align-items: center; border-bottom: 1px solid #eee; }
.cc-row:last-child { border-bottom: none; }
.cc-head { background: #eef; font-weight: 700; color: #333; font-size: 12px; text-transform: uppercase; letter-spacing: 0.3px; }
.cc-name { font-weight: 500; color: #333; }
.cc-yours { font-weight: 600; color: #222; }
.cc-rec { color: #666; }
.cc-status { text-align: center; font-size: 16px; }
.cc-note { font-size: 12px; color: #cc6600; margin-top: 10px; padding: 8px 12px; background: #fff8f0; border-radius: 8px; border-left: 3px solid #ff9900; }

/* Broker CTA */
.broker-cta { background: linear-gradient(135deg, #0000cc 0%, #4444ff 100%); border-radius: 14px; padding: 20px 24px; margin: 16px 0; display: flex; align-items: center; gap: 16px; color: #fff; box-shadow: 0 4px 16px rgba(0,0,204,0.2); }
.bc-icon { flex-shrink: 0; width: 48px; height: 48px; background: rgba(255,255,255,0.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.bc-content { flex: 1; }
.bc-title { font-weight: 700; font-size: 15px; }
.bc-subtitle { font-size: 12px; opacity: 0.85; margin-top: 2px; }
.bc-actions { display: flex; gap: 8px; flex-shrink: 0; }
.bc-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 8px; font-size: 12px; font-weight: 600; text-decoration: none; cursor: pointer; border: none; transition: all 0.2s; }
.bc-call { background: #fff; color: #0000cc; }
.bc-call:hover { background: #e8ecff; }
.bc-msg { background: rgba(255,255,255,0.15); color: #fff; border: 1px solid rgba(255,255,255,0.3); }
.bc-msg:hover { background: rgba(255,255,255,0.25); }

/* Coverage Strength Ratings */
.coverage-strength { background: #f8f9ff; border: 1px solid #dde; border-radius: 12px; padding: 16px; margin: 14px 0; }
.cstr-header { font-weight: 700; color: #0000cc; font-size: 15px; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.cstr-row { display: flex; align-items: center; padding: 8px 12px; border-radius: 8px; margin: 4px 0; background: #fff; gap: 10px; }
.cstr-name { flex: 1; font-size: 13px; color: #333; font-weight: 500; }
.cstr-stars { font-size: 16px; letter-spacing: 2px; }
.cstr-label { font-size: 11px; font-weight: 600; min-width: 80px; text-align: right; }
.cstr-overall { font-size: 13px; color: #333; }

/* Dark Mode for new features */
body.dark-mode .coverage-adequacy,
body.dark-mode .smart-recs,
body.dark-mode .coverage-comparison,
body.dark-mode .coverage-strength { background: #161b22; border-color: #30363d; }
body.dark-mode .cstr-header { color: #6666ff; }
body.dark-mode .cstr-row { background: #0d1117; }
body.dark-mode .cstr-name { color: #c9d1d9; }
body.dark-mode .cstr-overall { color: #c9d1d9; border-top-color: #30363d; }
body.dark-mode .sr-header,
body.dark-mode .cc-header { color: #6666ff; }
body.dark-mode .sr-card,
body.dark-mode .cs-card { background: #0d1117; border-color: #21262d; }
body.dark-mode .cc-name,
body.dark-mode .cc-yours { color: #c9d1d9; }
body.dark-mode .sr-top strong { color: #e6edf3; }
body.dark-mode .sr-desc { color: #8b949e; }
body.dark-mode .cost-savings { background: #0d2818; border-color: #1a4731; }
body.dark-mode .cs-header { color: #3fb950; }
body.dark-mode .cs-tip { color: #c9d1d9; }
body.dark-mode .cs-savings { background: #1a4731; color: #3fb950; }
body.dark-mode .cc-head { background: #21262d; color: #8b949e; }
body.dark-mode .cc-row { border-color: #21262d; }
body.dark-mode .cc-table { border-color: #30363d; }
body.dark-mode .cc-rec { color: #8b949e; }
body.dark-mode .ca-footer { background: #2d1012; border-left-color: #f85149; color: #f85149; }
body.dark-mode .ca-footer.ca-good { background: #0d2818; border-left-color: #3fb950; color: #3fb950; }
body.dark-mode .cc-note { background: #2d2008; border-left-color: #d29922; color: #d29922; }
body.dark-mode .broker-cta { background: linear-gradient(135deg, #1a1aff 0%, #4444ff 100%); }

@media (max-width: 768px) {
    .smart-search-bar { padding: 8px 12px; }
    .ksd-grid { grid-template-columns: repeat(2, 1fr); }
    .pt-track { margin: 0 10px; }
    .print-export-bar { justify-content: center; }
    .sb-chips { justify-content: center; }
    .rrp-track { margin: 0; }
    .rrp-dot-label { font-size: 8px; }
    .cc-row { grid-template-columns: 1.5fr 1fr 1fr auto; font-size: 11px; padding: 8px 10px; }
    .cp-selectors { grid-template-columns: 1fr; }
    .cp-change-row { grid-template-columns: 1fr 1fr auto 1fr auto; font-size: 11px; padding: 8px 12px; }
    .plg-header { flex-wrap: wrap; }
    .broker-cta { flex-direction: column; text-align: center; padding: 16px; }
    .bc-actions { flex-direction: column; width: 100%; }
    .bc-btn { justify-content: center; }
    .sr-top { flex-direction: column; align-items: flex-start; }
}


.newsletter-section {
    padding: 50px 30px;
    background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 50%, #f5f0ff 100%);
    border-radius: 16px;
    margin: 30px 0;
    position: relative;
    overflow: hidden;
}
.newsletter-section::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(0,0,204,0.08) 0%, transparent 70%);
    border-radius: 50%;
}
.newsletter-inner {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
    align-items: center;
}
.newsletter-content {
    flex: 1;
}
.newsletter-icon {
    margin-bottom: 12px;
}
.newsletter-text h2 {
    font-size: 1.6rem;
    font-weight: 700;
    color: #0000cc;
    margin-bottom: 8px;
}
.newsletter-text p {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 14px;
}
.newsletter-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.nl-benefit {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.82rem;
    color: #333;
    background: rgba(255,255,255,0.7);
    padding: 4px 10px;
    border-radius: 20px;
    white-space: nowrap;
}
.newsletter-form-wrap {
    flex: 0 0 340px;
}
.newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.nl-input-row {
    display: flex;
    gap: 8px;
}
.nl-input {
    flex: 1;
    padding: 10px 14px;
    border: 2px solid #dde;
    border-radius: 8px;
    font-size: 0.9rem;
    background: #fff;
    transition: border-color 0.2s;
}
.nl-input:focus {
    outline: none;
    border-color: #0000cc;
}
.nl-options-row {
    display: flex;
    gap: 8px;
}
.nl-select {
    flex: 1;
    padding: 8px 12px;
    border: 2px solid #dde;
    border-radius: 8px;
    font-size: 0.85rem;
    background: #fff;
    cursor: pointer;
}
.nl-select:focus {
    outline: none;
    border-color: #0000cc;
}
.nl-submit-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s;
}
.nl-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,204,0.3);
}
.nl-privacy {
    font-size: 0.75rem;
    color: #888;
    text-align: center;
    margin-top: 4px;
}
.nl-success {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    background: #f0fff4;
    border: 1px solid #c6f6d5;
    border-radius: 8px;
    color: #276749;
    font-weight: 500;
    font-size: 0.95rem;
}

.footer-newsletter {
    background: #0000cc;
    padding: 16px 30px;
}
.footer-nl-inner {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}
.footer-nl-text {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 500;
}
.footer-nl-form {
    display: flex;
    gap: 8px;
}
.footer-nl-input {
    padding: 8px 14px;
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 6px;
    background: rgba(255,255,255,0.15);
    color: #fff;
    font-size: 0.9rem;
    min-width: 220px;
    transition: border-color 0.2s;
}
.footer-nl-input::placeholder {
    color: rgba(255,255,255,0.6);
}
.footer-nl-input:focus {
    outline: none;
    border-color: #fff;
    background: rgba(255,255,255,0.25);
}
.footer-nl-btn {
    padding: 8px 20px;
    background: #fff;
    color: #0000cc;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.2s, transform 0.15s;
}
.footer-nl-btn:hover {
    background: #f0f0ff;
    transform: translateY(-1px);
}
.footer-nl-success {
    color: #c6f6d5;
    font-weight: 500;
    font-size: 0.9rem;
}

body.dark-mode .newsletter-section {
    background: linear-gradient(135deg, #1a1a3e 0%, #1e1e4a 50%, #221e3e 100%);
}
body.dark-mode .newsletter-text h2 { color: #6b8bff; }
body.dark-mode .newsletter-text p { color: #b0b0c0; }
body.dark-mode .nl-benefit { background: rgba(255,255,255,0.08); color: #ccc; }
body.dark-mode .nl-input,
body.dark-mode .nl-select {
    background: #2a2a4a;
    border-color: #3a3a5a;
    color: #e0e0e0;
}
body.dark-mode .nl-input::placeholder { color: #888; }
body.dark-mode .nl-privacy { color: #777; }
body.dark-mode .nl-success { background: #1a3a2a; border-color: #2a5a3a; color: #8cd8a0; }
body.dark-mode .footer-newsletter { background: #0000a0; }
body.dark-mode .footer-nl-btn { background: #e0e0ff; color: #0000a0; }

@media (max-width: 768px) {
    .newsletter-inner {
        flex-direction: column;
        gap: 24px;
    }
    .newsletter-form-wrap {
        flex: 1;
        width: 100%;
    }
    .nl-input-row { flex-direction: column; }
    .nl-options-row { flex-direction: column; }
    .newsletter-section { padding: 30px 20px; }
    .footer-nl-inner { flex-direction: column; text-align: center; }
    .footer-nl-form { width: 100%; }
    .footer-nl-input { min-width: 0; flex: 1; }
}



.feature-card-coming {
    border-top: 4px solid #999;
    position: relative;
    opacity: 0.75;
    background: linear-gradient(180deg, #f5f5f5 0%, #ffffff 40%);
}

.coming-soon-badge {
    display: inline-block;
    background: #ff8800;
    color: white;
    font-size: 0.6rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 10px;
    letter-spacing: 0.5px;
    vertical-align: middle;
    margin-left: 6px;
    text-transform: uppercase;
}

.btn-coming {
    opacity: 0.8;
    position: relative;
}
.btn-coming .coming-soon-badge {
    font-size: 0.55rem;
    padding: 1px 6px;
    margin-left: 4px;
}

.waitlist-hero {
    text-align: center;
    padding: 60px 30px 40px;
    background: linear-gradient(135deg, #0000cc 0%, #1a1aff 40%, #4d4dff 100%);
    border-radius: 20px;
    margin-bottom: 32px;
    position: relative;
    overflow: hidden;
}
.waitlist-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.08) 0%, transparent 60%);
    pointer-events: none;
}
.waitlist-hero-badge {
    display: inline-block;
    background: rgba(255,255,255,0.15);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 6px 20px;
    border-radius: 20px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 20px;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,0.2);
}
.waitlist-hero-title {
    color: #fff;
    font-size: 2.2rem;
    font-weight: 800;
    margin: 0 0 16px;
    line-height: 1.2;
}
.waitlist-hero-subtitle {
    color: rgba(255,255,255,0.85);
    font-size: 1.1rem;
    max-width: 560px;
    margin: 0 auto 32px;
    line-height: 1.6;
}
.waitlist-stats-bar {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}
.waitlist-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.waitlist-stat-num {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 800;
}
.waitlist-stat-label {
    color: rgba(255,255,255,0.7);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
}
.waitlist-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 32px;
}
.waitlist-feature-card {
    background: #fff;
    border-radius: 16px;
    padding: 28px 24px;
    border: 1px solid #e8eaff;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    position: relative;
}
.waitlist-feature-card:hover {
    border-color: #0000cc;
    box-shadow: 0 8px 32px rgba(0,0,204,0.1);
    transform: translateY(-2px);
}
.waitlist-feature-card.wf-selected {
    border-color: #0000cc;
    box-shadow: 0 0 0 2px rgba(0,0,204,0.2), 0 8px 32px rgba(0,0,204,0.1);
}
.wf-card-icon {
    width: 56px;
    height: 56px;
    background: #f0f0ff;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}
.wf-card-badge {
    display: inline-block;
    background: #fff3e0;
    color: #e67e00;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
    width: fit-content;
}
.wf-badge-app {
    background: #e8f5e9;
    color: #2e7d32;
}
.wf-card-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #111;
    margin: 0 0 10px;
}
.wf-card-desc {
    color: #555;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0 0 16px;
    flex: 1;
}
.wf-card-features {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}
.wf-card-features li {
    padding: 5px 0;
    font-size: 0.85rem;
    color: #444;
    position: relative;
    padding-left: 20px;
}
.wf-card-features li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    background: #0000cc;
    border-radius: 50%;
    opacity: 0.4;
}
.btn-waitlist-card {
    background: transparent;
    color: #0000cc;
    border: 2px solid #0000cc;
    padding: 10px 24px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}
.btn-waitlist-card:hover {
    background: #0000cc;
    color: #fff;
}
.waitlist-signup-section {
    background: #fff;
    border-radius: 16px;
    padding: 36px 32px;
    border: 1px solid #e8eaff;
    text-align: center;
    margin-bottom: 40px;
}
.waitlist-signup-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111;
    margin: 0 0 8px;
}
.waitlist-signup-desc {
    color: #666;
    font-size: 0.95rem;
    margin: 0 0 24px;
}
.waitlist-signup-form {
    max-width: 600px;
    margin: 0 auto;
}
.waitlist-form-row {
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
}
.waitlist-input, .waitlist-select {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid #d0d4ff;
    border-radius: 10px;
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 0.2s;
}
.waitlist-input:focus, .waitlist-select:focus {
    outline: none;
    border-color: #0000cc;
    box-shadow: 0 0 0 3px rgba(0,0,204,0.08);
}
.waitlist-submit-btn {
    white-space: nowrap;
    padding: 12px 28px !important;
    font-size: 0.95rem !important;
}
.waitlist-note {
    color: #888;
    font-size: 0.85rem;
    margin-top: 12px;
}
.waitlist-success {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #f0fdf4;
    color: #16a34a;
    padding: 14px 20px;
    border-radius: 10px;
    font-weight: 600;
    margin-top: 16px;
}

/* Pilot gate (register page during pilot) */
.pilot-gate {
    max-width: 540px;
    margin: 60px auto;
    text-align: center;
    padding: 0 20px;
}
.pilot-gate-icon {
    width: 72px;
    height: 72px;
    background: #f0f0ff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}
.pilot-gate-badge {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #0000cc;
    background: #ebebff;
    padding: 4px 14px;
    border-radius: 20px;
    margin-bottom: 18px;
}
.pilot-gate-title {
    font-size: 1.6rem;
    font-weight: 800;
    color: #111;
    margin: 0 0 16px;
    line-height: 1.25;
}
.pilot-gate-body {
    font-size: 0.97rem;
    color: #555;
    line-height: 1.7;
    margin: 0 0 12px;
}
.pilot-gate-cta {
    margin: 24px auto 20px;
    display: inline-block;
    min-width: 220px;
}
.pilot-gate-footer {
    font-size: 0.85rem;
    color: #999;
    margin: 0;
}
.pilot-gate-footer a {
    color: #0000cc;
    font-weight: 600;
    text-decoration: none;
}

/* Founding member section (waitlist page) */
.founding-member-section {
    margin: 0 0 40px;
}
.founding-member-inner {
    background: linear-gradient(135deg, #0000cc 0%, #1a1aff 40%, #4d4dff 100%);
    border-radius: 20px;
    padding: 52px 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    position: relative;
    overflow: hidden;
}
.founding-member-inner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 80% 10%, rgba(100,100,255,0.18) 0%, transparent 60%);
    pointer-events: none;
}
.founding-member-left {
    position: relative;
    z-index: 1;
}
.founding-member-badge {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.65);
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.18);
    padding: 4px 14px;
    border-radius: 20px;
    margin-bottom: 20px;
}
.founding-member-title {
    font-size: 2rem;
    font-weight: 800;
    color: #fff;
    margin: 0 0 16px;
    line-height: 1.2;
    font-family: 'Space Grotesk', sans-serif;
}
.founding-member-body {
    font-size: 0.97rem;
    color: rgba(255,255,255,0.78);
    line-height: 1.75;
    margin: 0 0 28px;
}
.founding-member-cta {
    background: #fff;
    color: #0000cc;
    font-weight: 700;
    border: none;
}
.founding-member-cta:hover { opacity: 0.88; }
.founding-member-right {
    position: relative;
    z-index: 1;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 14px;
    padding: 28px 26px;
}
.founding-member-perks-label {
    font-size: 0.70rem;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    margin-bottom: 18px;
}
.founding-member-perks {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
}
.founding-member-perks li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.92rem;
    color: rgba(255,255,255,0.88);
    padding: 7px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.founding-member-perks li:last-child { border-bottom: none; }
.founding-member-perks li svg { flex-shrink: 0; }
.fm-year-highlight {
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 12px;
    padding: 20px 22px;
    margin-bottom: 20px;
}
.fm-year-badge {
    font-size: 0.60rem;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.55);
    margin-bottom: 8px;
}
.fm-year-number {
    font-size: 2.4rem;
    font-weight: 800;
    color: #fff;
    font-family: 'Space Grotesk', sans-serif;
    line-height: 1;
    margin-bottom: 8px;
}
.fm-year-label {
    font-size: 0.88rem;
    color: rgba(255,255,255,0.78);
    line-height: 1.55;
    font-weight: 500;
}
.fm-form {
    margin-top: 4px;
}
.fm-form-row {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
}
.fm-input {
    width: 100%;
    padding: 12px 16px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 10px;
    font-size: 0.95rem;
    font-family: inherit;
    color: #fff;
    transition: border-color 0.2s, background 0.2s;
    box-sizing: border-box;
}
.fm-input::placeholder { color: rgba(255,255,255,0.55); }
.fm-input:focus {
    outline: none;
    border-color: rgba(255,255,255,0.6);
    background: rgba(255,255,255,0.18);
}
.fm-select {
    width: 100%;
    margin-bottom: 12px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.7)' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 38px;
    cursor: pointer;
}
.fm-select option {
    background: #0000cc;
    color: #fff;
}
.fm-submit-btn {
    width: 100%;
    padding: 13px 24px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px;
}
.fm-note {
    margin: 12px 0 0;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.55);
    line-height: 1.5;
}
.waitlist-success {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    font-size: 0.95rem;
    color: rgba(255,255,255,0.92);
    font-weight: 500;
}
@media (max-width: 800px) {
    .founding-member-inner {
        grid-template-columns: 1fr;
        padding: 36px 24px;
        gap: 28px;
    }
    .founding-member-title { font-size: 1.5rem; }
}

.waitlist-promo-section {
    margin: 40px 0;
}
.waitlist-promo-inner {
    background: linear-gradient(135deg, #f0f0ff 0%, #e8e8ff 100%);
    border-radius: 20px;
    padding: 48px 40px;
    display: flex;
    align-items: center;
    gap: 40px;
    border: 1px solid #d0d4ff;
}
.waitlist-promo-text {
    flex: 1;
}
.waitlist-promo-badge {
    display: inline-block;
    background: #0000cc;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px;
}
.waitlist-promo-text h2 {
    font-size: 1.6rem;
    font-weight: 800;
    color: #111;
    margin: 0 0 12px;
}
.waitlist-promo-text p {
    color: #555;
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}
.waitlist-promo-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    min-width: 280px;
}
.waitlist-promo-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #222;
    cursor: pointer;
    transition: all 0.2s;
    border: 1px solid transparent;
}
.waitlist-promo-item:hover {
    border-color: #0000cc;
    box-shadow: 0 4px 16px rgba(0,0,204,0.1);
    transform: translateY(-1px);
}
@media (max-width: 768px) {
    .waitlist-features-grid {
        grid-template-columns: 1fr;
    }
    .waitlist-hero-title {
        font-size: 1.6rem;
    }
    .waitlist-stats-bar {
        gap: 20px;
    }
    .waitlist-form-row {
        flex-direction: column;
    }
    .waitlist-signup-section {
        padding: 24px 16px;
    }
    .waitlist-promo-inner {
        flex-direction: column;
        padding: 32px 20px;
        text-align: center;
    }
    .waitlist-promo-features {
        min-width: auto;
        width: 100%;
    }
}

.pm-hero {
    background: linear-gradient(135deg, #0a0a3e 0%, #0000cc 50%, #1a1aff 100%);
    border-radius: 20px;
    padding: 36px 32px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}
.pm-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 30%, rgba(255,255,255,0.06) 0%, transparent 50%);
    pointer-events: none;
}
.pm-hero-content {
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative;
    z-index: 1;
}
.pm-hero-icon {
    width: 64px;
    height: 64px;
    background: rgba(255,255,255,0.12);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,0.15);
}
.pm-hero-title {
    color: #fff;
    font-size: 1.7rem;
    font-weight: 800;
    margin: 0 0 4px;
    letter-spacing: -0.3px;
}
.pm-hero-subtitle {
    color: rgba(255,255,255,0.75);
    font-size: 1rem;
    margin: 0;
    font-weight: 400;
}
.pm-value-bar {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.pm-value-item {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid #e8eaff;
    font-size: 0.88rem;
    color: #333;
    font-weight: 500;
    min-width: 200px;
}
.pm-intro-section {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 28px;
}
.pm-intro-card {
    background: #fff;
    border-radius: 16px;
    padding: 24px 20px;
    border: 1px solid #e8eaff;
    transition: all 0.3s;
}
.pm-intro-card:hover {
    border-color: #0000cc;
    box-shadow: 0 6px 24px rgba(0,0,204,0.08);
    transform: translateY(-2px);
}
.pm-intro-icon-wrap {
    width: 48px;
    height: 48px;
    background: #f0f0ff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}
.pm-intro-card h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #111;
    margin: 0 0 8px;
}
.pm-intro-card p {
    color: #555;
    font-size: 0.88rem;
    line-height: 1.6;
    margin: 0;
}
.pm-policies-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.pm-policies-header h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #111;
    margin: 0;
}
.btn-sm {
    padding: 8px 16px !important;
    font-size: 0.85rem !important;
    display: flex;
    align-items: center;
    gap: 6px;
}
.pm-trust-footer {
    background: #fafafe;
    border-radius: 16px;
    padding: 24px 28px;
    border: 1px solid #e8eaff;
    margin-top: 24px;
    text-align: center;
}
.pm-trust-badges {
    display: flex;
    justify-content: center;
    gap: 28px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.pm-trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #333;
}
.pm-trust-text {
    color: #888;
    font-size: 0.82rem;
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto;
}
@media (max-width: 768px) {
    .pm-hero-content {
        flex-direction: column;
        text-align: center;
    }
    .pm-hero-title {
        font-size: 1.3rem;
    }
    .pm-value-bar {
        flex-direction: column;
    }
    .pm-intro-section {
        grid-template-columns: 1fr;
    }
    .pm-policies-header {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }
    .pm-trust-badges {
        gap: 16px;
    }
}

.legal-content {
    padding: 20px 24px 40px;
    max-width: 800px;
    margin: 0 auto;
}
.legal-content h2 {
    font-size: 1.25rem;
    color: #0000cc;
    margin: 28px 0 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #e8e8f0;
}
.legal-content h3 {
    font-size: 1.05rem;
    color: #1a1a4e;
    margin: 18px 0 8px;
}
.legal-content h4 {
    font-size: 0.95rem;
    color: #333;
    margin: 14px 0 6px;
    font-weight: 600;
}
.legal-content p {
    color: #555;
    line-height: 1.7;
    margin-bottom: 10px;
    font-size: 0.93rem;
}
.legal-content ul {
    margin: 8px 0 14px 24px;
    color: #555;
    font-size: 0.93rem;
    line-height: 1.8;
}
.legal-date {
    background: #f0f0ff;
    padding: 10px 16px;
    border-radius: 8px;
    display: inline-block;
    font-size: 0.9rem;
    color: #1a1a4e;
}

.about-content {
    padding: 0 20px;
}
.about-mission {
    text-align: center;
    margin-bottom: 36px;
}
.about-mission h2 {
    font-size: 1.5rem;
    color: #0000cc;
    margin-bottom: 14px;
}
.about-mission p {
    color: #555;
    line-height: 1.7;
    max-width: 900px;
    margin: 0 auto 12px;
    font-size: 1rem;
}
.about-name-story {
    background: linear-gradient(135deg, #0000cc 0%, #1a1aff 40%, #4d4dff 100%);
    border-radius: 20px;
    padding: 56px 40px 52px;
    margin-bottom: 36px;
}
.about-name-story .about-eyebrow {
    color: rgba(255,255,255,0.9);
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 700;
    display: block;
    margin-bottom: 20px;
}
.about-name-story h2 {
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 800;
    color: #fff;
    letter-spacing: 4px;
    margin-bottom: 28px;
    font-family: 'Space Grotesk', sans-serif;
}
.about-name-story p {
    color: #fff;
    font-size: 1.05rem;
    line-height: 1.8;
    max-width: 640px;
    margin: 0 auto 16px;
}
.about-name-story p strong {
    color: #fff;
    font-weight: 700;
}
.about-name-story p em {
    color: #fff;
    font-style: italic;
}
.about-values {
    background: #0000cc;
    border-radius: 20px;
    padding: 52px 32px 48px;
    margin-bottom: 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.about-values::before {
    display: none;
}
.about-values h2 {
    font-size: 1.6rem;
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 4px;
    margin-bottom: 52px;
    position: relative;
    z-index: 1;
}
.values-chain-wrap {
    position: relative;
    z-index: 1;
}
.values-wave-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}
.values-chain {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    position: relative;
    z-index: 1;
    min-height: 200px;
    padding: 0 20px;
}
.value-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    max-width: 180px;
    cursor: pointer;
    position: relative;
}
.vn-up {
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}
.vn-down {
    flex-direction: column-reverse;
    margin-top: 80px;
}
.vn-circle {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #5577ff 0%, #0033cc 45%, #000099 100%);
    box-shadow: 0 0 0 8px rgba(80,120,255,0.2), 0 0 0 16px rgba(80,120,255,0.08), 0 8px 32px rgba(0,0,150,0.5);
    border: 2.5px solid rgba(255,255,255,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 14px 0;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    flex-shrink: 0;
}
.value-node:hover .vn-circle {
    transform: scale(1.08);
    box-shadow: 0 0 0 10px rgba(100,140,255,0.28), 0 0 0 20px rgba(100,140,255,0.1), 0 12px 40px rgba(0,0,180,0.6);
}
.vn-label {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    letter-spacing: 0.5px;
    margin: 6px 0 4px;
}
.vn-desc {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.72);
    text-align: center;
    line-height: 1.5;
    max-width: 150px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.3s ease, margin 0.3s ease;
    margin: 0;
}
.value-node:hover .vn-desc {
    max-height: 120px;
    opacity: 1;
    margin: 6px 0;
}
@media (max-width: 768px) {
    .values-chain {
        flex-wrap: wrap;
        justify-content: center;
        gap: 28px;
        min-height: auto;
    }
    .value-node, .vn-up, .vn-down {
        margin-top: 0;
        flex-direction: column;
        max-width: 140px;
    }
    .values-wave-svg { display: none; }
}
.about-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 36px;
}
@media (max-width: 768px) {
    .about-grid { grid-template-columns: 1fr; }
}
.about-cta {
    text-align: center;
    padding: 40px 20px;
    background: linear-gradient(135deg, #f0f0ff 0%, #e6e6ff 100%);
    border-radius: 16px;
    margin-bottom: 20px;
}
.about-cta h3 {
    font-size: 1.3rem;
    color: #1a1a4e;
}
.contact-page {
    max-width: 900px;
    margin: -25px auto 0;
}
.contact-hero {
    text-align: center;
    padding: 50px 30px 40px;
    background: #0000cc;
    border-radius: 20px;
    margin-bottom: 32px;
    color: #fff;
}
.contact-hero h1 {
    font-size: 2rem;
    font-weight: 800;
    margin: 16px 0 8px;
}
.contact-hero p {
    color: rgba(255,255,255,0.85);
    font-size: 1.05rem;
    margin: 0;
}
.about-photo-hero {
    position: relative;
    width: 100%;
    min-height: 440px;
    background: #0000cc;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 40px;
}
.about-photo-overlay {
    display: none;
}
.about-photo-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 72px 32px 68px;
    max-width: 600px;
    margin: 0 auto;
}
.about-photo-eyebrow {
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 18px;
}
.about-photo-title {
    font-size: 3rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 4px;
    font-family: 'Space Grotesk', sans-serif;
    margin: 0 0 24px;
    line-height: 1.1;
}
.about-photo-mission {
    font-size: 1.1rem;
    color: rgba(255,255,255,0.88);
    line-height: 1.75;
    font-weight: 400;
    max-width: 480px;
    margin: 0 auto;
}
@media (max-width: 600px) {
    .about-photo-hero { min-height: 340px; border-radius: 14px; }
    .about-photo-title { font-size: 2rem; letter-spacing: 2px; }
    .about-photo-mission { font-size: 1rem; }
    .about-photo-content { padding: 52px 20px 48px; }
}
.contact-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 32px;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}
.contact-info-card {
    background: linear-gradient(135deg, #0000cc 0%, #1a1aff 40%, #4d4dff 100%);
    border-radius: 16px;
    padding: 28px 20px;
    text-align: center;
    border: 1px solid rgba(255,255,255,0.15);
    transition: all 0.3s;
}
.contact-info-card:hover {
    border-color: rgba(255,255,255,0.35);
    box-shadow: 0 8px 32px rgba(0,0,204,0.25);
    transform: translateY(-2px);
}
.contact-info-icon {
    width: 56px;
    height: 56px;
    background: #f0f0ff;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
}
.contact-info-card h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 6px;
}
.contact-info-card p {
    color: rgba(255,255,255,0.8);
    font-size: 0.85rem;
    margin: 0 0 10px;
}
.contact-link {
    color: #fff;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    word-break: break-all;
}
.contact-link:hover {
    text-decoration: underline;
}
.contact-form-section {
    background: linear-gradient(135deg, #0000cc 0%, #1a1aff 40%, #4d4dff 100%);
    border-radius: 16px;
    padding: 36px 32px;
    border: 1px solid rgba(255,255,255,0.15);
    margin-bottom: 40px;
}
.contact-form-section h2 {
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
    text-align: center;
}
.contact-form-desc {
    color: rgba(255,255,255,0.8);
    text-align: center;
    margin: 0 0 24px;
    font-size: 0.95rem;
}
.contact-form-row {
    display: flex;
    gap: 12px;
    margin-bottom: 14px;
}
.contact-input, .contact-textarea {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 10px;
    font-size: 0.95rem;
    font-family: inherit;
    background: #fff;
    color: #111;
    transition: border-color 0.2s;
}
.contact-input-full {
    width: 100%;
}
.contact-textarea {
    width: 100%;
    resize: vertical;
    min-height: 120px;
}
.contact-input:focus, .contact-textarea:focus {
    outline: none;
    border-color: #0000cc;
    box-shadow: 0 0 0 3px rgba(0,0,204,0.08);
}
.contact-submit-btn {
    display: block;
    width: 100%;
    padding: 14px !important;
    font-size: 1rem !important;
    margin-top: 4px;
}
.contact-success {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #f0fdf4;
    color: #16a34a;
    padding: 14px 20px;
    border-radius: 10px;
    font-weight: 600;
    margin-top: 16px;
}
@media (max-width: 768px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }
    .contact-form-row {
        flex-direction: column;
    }
    .contact-form-section {
        padding: 24px 16px;
    }
    .contact-hero h1 {
        font-size: 1.5rem;
    }
}

.verification-card {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e0e0e0;
    overflow: hidden;
    margin-top: 16px;
}
.ver-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    background: #f8f9fa;
    border-bottom: 1px solid #e0e0e0;
}
.ver-header-left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.ver-header-right {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ver-progress-bar {
    height: 6px;
    background: #e0e0e0;
    width: 100%;
}
.ver-progress-fill {
    height: 100%;
    border-radius: 0 3px 3px 0;
    transition: width 0.5s ease;
}
.ver-fields {
    padding: 20px 24px;
}
.ver-section-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin: 16px 0 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #eee;
}
.ver-section-title:first-child {
    margin-top: 0;
}
.ver-fields-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.ver-field {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid #e8e8e8;
    background: #fafafa;
}
.ver-field.ver-found {
    border-color: #d4edda;
    background: #f6fff8;
}
.ver-field.ver-missing {
    border-color: #f5c6cb;
    background: #fff8f8;
}
.ver-field-icon {
    flex-shrink: 0;
    margin-top: 2px;
}
.ver-field-label {
    font-size: 11px;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ver-field-value {
    font-size: 14px;
    color: #333;
    margin-top: 2px;
    word-break: break-word;
}
.ver-field.ver-missing .ver-field-value {
    color: #999;
    font-style: italic;
    font-size: 13px;
}
.ver-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 24px;
    background: #f8f9fa;
    border-top: 1px solid #e0e0e0;
    font-size: 12px;
    color: #888;
}
@media (max-width: 768px) {
    .ver-fields-grid {
        grid-template-columns: 1fr;
    }
    .ver-header {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }
}

.verification-subsection-tabs {
    display: flex;
    gap: 0;
    max-width: 900px;
    margin: 0 auto 28px;
    border-radius: 14px;
    overflow: hidden;
    border: none;
    background: #f0f2f5;
    padding: 4px;
}
.ver-sub-tab {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 20px;
    border: 1.5px solid #d0d4dc;
    background: #fff;
    color: #444;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
    border-radius: 11px;
}
.ver-sub-tab:first-child { border-right: none; }
.ver-sub-tab.active {
    background: #0000cc;
    color: #fff;
    border-color: #0000cc;
    box-shadow: 0 2px 8px rgba(0,0,204,0.25);
}
.ver-sub-tab:not(.active):hover {
    background: #f5f5ff;
    color: #0000cc;
    border-color: #0000cc;
}
.ver-subsection { max-width: 900px; margin: 0 auto; }
.ver-lookup-box {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 28px;
    margin-bottom: 24px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.ver-lookup-input-row {
    display: flex;
    gap: 12px;
    align-items: center;
}
.ver-lookup-input {
    flex: 1;
    font-size: 15px;
    padding: 13px 18px;
    border-radius: 12px;
    border: 1px solid #d1d5db;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ver-lookup-input:focus {
    border-color: #0000cc;
    box-shadow: 0 0 0 3px rgba(0,0,204,0.08);
    outline: none;
}
.ver-lookup-hint {
    margin: 14px 0 0;
    font-size: 13px;
    color: #9ca3af;
}
.ver-lookup-empty {
    text-align: center;
    padding: 48px 24px;
    color: #9ca3af;
}
.ver-lookup-empty p { margin-top: 12px; line-height: 1.6; }
.ver-lookup-result-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    overflow: hidden;
    margin-top: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 16px rgba(0,0,0,0.03);
}
.ver-lookup-result-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 24px;
    background: #fafbfc;
    border-bottom: 1px solid #f3f4f6;
}
.ver-lookup-result-status {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    font-size: 13px;
    padding: 5px 14px;
    border-radius: 20px;
}
.ver-status-verified { background: #ecfdf5; color: #059669; }
.ver-status-unverified { background: #fff7ed; color: #ea580c; }
.ver-expired-badge {
    background: #fef2f2;
    color: #dc2626;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 12px;
}
.ver-lookup-result-body {
    padding: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.ver-lookup-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ver-lookup-label {
    font-size: 10px;
    color: #9ca3af;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
}
.ver-lookup-value {
    font-size: 15px;
    color: #111827;
    font-weight: 600;
}
.ver-expired-text { color: #dc2626; }
.ver-lookup-result-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 24px;
    background: #fafbfc;
    border-top: 1px solid #f3f4f6;
}
.ver-lookup-timestamp {
    font-size: 12px;
    color: #9ca3af;
}
.ver-lookup-privacy-note {
    font-size: 13px;
    color: #9ca3af;
    text-align: center;
    margin-top: 14px;
}
body.dark-mode .verification-subsection-tabs { background: #21262d; }
body.dark-mode .ver-sub-tab { background: #161b22; border-color: #30363d; color: #8b949e; }
body.dark-mode .ver-sub-tab.active { background: #0000cc; border-color: #0000cc; color: #fff; }
body.dark-mode .ver-sub-tab:not(.active):hover { background: rgba(100,100,255,0.1); border-color: #6666ff; color: #6666ff; }
body.dark-mode .ver-lookup-box { background: #161b22; border-color: #30363d; }
body.dark-mode .ver-lookup-input { background: #0d1117; border-color: #30363d; color: #e6edf3; }
body.dark-mode .ver-lookup-input:focus { border-color: #6666ff; box-shadow: 0 0 0 3px rgba(100,100,255,0.15); }
body.dark-mode .ver-lookup-result-card { background: #161b22; border-color: #30363d; }

/* Entry Method Chooser */
.entry-chooser-wrapper {
    max-width: 760px;
    margin: 0 auto 32px;
    padding: 0 20px;
}
.entry-chooser-heading {
    font-size: 14px;
    font-weight: 600;
    color: #666;
    text-align: center;
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.entry-chooser-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.entry-chooser-grid-3 {
    grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 860px) {
    .entry-chooser-grid-3 { grid-template-columns: 1fr 1fr; }
}
.entry-method-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    border-radius: 16px;
    border: 2px solid #e0e0ee;
    background: #fff;
    cursor: pointer;
    transition: all 0.22s ease;
    overflow: hidden;
}
.entry-method-card:hover { border-color: #0000cc; box-shadow: 0 4px 20px rgba(0,0,204,0.1); }
.entry-method-card.selected.em-pdf {
    border-color: #0000cc;
    background: linear-gradient(135deg, #f0f0ff 0%, #e8e8ff 100%);
    box-shadow: 0 6px 24px rgba(0,0,204,0.15);
}
.em-recommended-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: #0000cc;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 5px 12px;
    border-bottom-left-radius: 10px;
}
.em-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #f0f0ff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0000cc;
}
.entry-method-card.selected.em-pdf .em-icon { background: #0000cc; color: #fff; }
.em-manual .em-icon { background: #f5f5f5; color: #555; }
.entry-method-card.em-manual:hover .em-icon { background: #f0f0ff; color: #0000cc; }
.em-content { flex: 1; }
.em-title {
    font-size: 15px;
    font-weight: 700;
    color: #111;
    margin-bottom: 5px;
}
.em-desc {
    font-size: 13px;
    color: #666;
    line-height: 1.55;
}
.entry-method-card.selected.em-pdf .em-title { color: #0000cc; }
.em-check {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #0000cc;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.2s ease;
}
.entry-method-card.selected.em-pdf .em-check { opacity: 1; transform: scale(1); }
.em-arrow {
    flex-shrink: 0;
    color: #999;
    align-self: center;
    transition: color 0.2s, transform 0.2s;
}
.entry-method-card.em-manual:hover .em-arrow { color: #0000cc; transform: translateX(3px); }
@media (max-width: 600px) {
    .entry-chooser-grid { grid-template-columns: 1fr; }
}
body.dark-mode .entry-method-card { background: #161b22; border-color: #21262d; }
body.dark-mode .entry-method-card:hover { border-color: #6666ff; }
body.dark-mode .entry-method-card.selected.em-pdf { background: #0d0d2b; border-color: #6666ff; }
body.dark-mode .em-icon { background: #1a1f2e; }
body.dark-mode .em-manual .em-icon { background: #1a1f2e; color: #888; }
body.dark-mode .em-title { color: #e6edf3; }
body.dark-mode .em-desc { color: #8b949e; }
body.dark-mode .entry-chooser-heading { color: #8b949e; }
.entry-method-card.em-email:hover .em-icon { background: #f0f0ff; color: #0000cc; }
.entry-method-card.selected.em-email-sel {
    border-color: #0000cc;
    background: linear-gradient(135deg, #f0f0ff 0%, #e8e8ff 100%);
    box-shadow: 0 6px 24px rgba(0,0,204,0.15);
}
.entry-method-card.selected.em-email-sel .em-icon { background: #0000cc; color: #fff; }
.entry-method-card.selected.em-email-sel .em-title { color: #0000cc; }
.entry-method-card.selected.em-pdf-sel {
    border-color: #0000cc;
    background: linear-gradient(135deg, #f0f0ff 0%, #e8e8ff 100%);
    box-shadow: 0 6px 24px rgba(0,0,204,0.15);
}
.entry-method-card.selected.em-pdf-sel .em-icon { background: #0000cc; color: #fff; }
.entry-method-card.selected.em-pdf-sel .em-title { color: #0000cc; }
.entry-method-card.selected.em-pdf-sel .em-check { opacity: 1; transform: scale(1); }

/* Email Connect Section */
.email-connect-wrap {
    padding: 32px;
    max-width: 700px;
    margin: 0 auto;
}
.ec-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 28px;
}
.ec-header-icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: #f0f0ff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ec-title { font-size: 20px; font-weight: 700; color: #111; margin: 0 0 4px; }
.ec-subtitle { font-size: 14px; color: #666; margin: 0; }
.ec-provider-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
@media (max-width: 600px) { .ec-provider-grid { grid-template-columns: 1fr; } }
.ec-provider-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    border: 1.5px solid #e0e0ee;
    border-radius: 14px;
    background: #fff;
}
.ec-provider-logo { flex-shrink: 0; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; }
.ec-provider-info { flex: 1; }
.ec-provider-name { font-size: 15px; font-weight: 600; color: #111; }
.ec-provider-status { font-size: 12px; color: #888; margin-top: 2px; }
.btn-ec-connect {
    flex-shrink: 0;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    border: 1.5px solid #0000cc;
    color: #0000cc;
    background: transparent;
    cursor: pointer;
    transition: all 0.2s;
}
.btn-ec-connect:hover { background: #0000cc; color: #fff; }
.btn-ec-connect.connected { border-color: #16a34a; color: #16a34a; }
.btn-ec-connect.connected:hover { background: #16a34a; color: #fff; }
.ec-privacy-note {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #888;
    padding: 10px 0 0;
}
.ec-connected-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: #f0fdf4;
    border: 1.5px solid #bbf7d0;
    border-radius: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
#ecConnectedLabel { flex: 1; font-size: 13px; font-weight: 600; color: #16a34a; }
.btn-ec-scan {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 8px;
    background: #0000cc;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}
.btn-ec-scan:hover { background: #0000aa; }
.btn-ec-scan:disabled { background: #aaa; cursor: not-allowed; }
.btn-ec-disconnect {
    font-size: 12px;
    color: #888;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
}
.btn-ec-disconnect:hover { color: #d00; }
.ec-results-heading { font-size: 14px; font-weight: 600; color: #555; margin: 0 0 14px; }
.ec-attachments-list { display: flex; flex-direction: column; gap: 12px; }
.ec-attachment-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1.5px solid #e0e0ee;
    border-radius: 12px;
    background: #fff;
    transition: border-color 0.2s;
}
.ec-attachment-card:hover { border-color: #0000cc; }
.ec-att-icon { flex-shrink: 0; }
.ec-att-info { flex: 1; min-width: 0; }
.ec-att-filename { font-size: 14px; font-weight: 600; color: #111; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ec-att-subject { font-size: 12px; color: #555; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ec-att-meta { font-size: 11px; color: #999; margin-top: 2px; }
.btn-ec-use {
    flex-shrink: 0;
    padding: 9px 16px;
    border-radius: 8px;
    background: #0000cc;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}
.btn-ec-use:hover { background: #0000aa; }
.btn-ec-use:disabled { background: #aaa; cursor: not-allowed; }
.ec-empty {
    text-align: center;
    padding: 40px 20px;
    color: #aaa;
}
.ec-empty p { margin: 10px 0 4px; font-size: 14px; }
.ec-empty-sub { font-size: 12px; color: #bbb; }
@keyframes spin { to { transform: rotate(360deg); } }
.spin { animation: spin 1s linear infinite; }
body.dark-mode .email-connect-wrap { background: transparent; }
body.dark-mode .ec-provider-card { background: #161b22; border-color: #21262d; }
body.dark-mode .ec-provider-name { color: #e6edf3; }
body.dark-mode .ec-attachment-card { background: #161b22; border-color: #21262d; }
body.dark-mode .ec-att-filename { color: #e6edf3; }
body.dark-mode .ec-title { color: #e6edf3; }
body.dark-mode .ec-header-icon { background: #1a1f2e; }
body.dark-mode .ec-connected-bar { background: #0d2318; border-color: #16a34a; }
body.dark-mode .entry-chooser-grid-3 .ec-provider-status { color: #8b949e; }

/* Manual Entry Form */
.manual-entry-form { display: flex; flex-direction: column; gap: 24px; }
.manual-section {
    background: #fafafa;
    border: 1px solid #e8eaed;
    border-radius: 14px;
    padding: 20px;
}
.manual-section-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 700;
    color: #111;
    margin-bottom: 18px;
}
.manual-step-num {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #0000cc;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.manual-line-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.manual-line-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 8px;
    border: 1.5px solid #e0e0ee;
    border-radius: 12px;
    background: #fff;
    color: #444;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}
.manual-line-btn:hover { border-color: #0000cc; color: #0000cc; background: #f0f0ff; }
.manual-line-btn.selected { border-color: #0000cc; background: #0000cc; color: #fff; }
.manual-line-btn.selected svg { stroke: #fff; }
.manual-vehicle-card {
    background: #fff;
    border: 1px solid #e0e0ee;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
}
.manual-vehicle-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.manual-vehicle-title {
    font-size: 13px;
    font-weight: 700;
    color: #0000cc;
}
.manual-remove-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    color: #dc2626;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background 0.2s;
}
.manual-remove-btn:hover { background: #fef2f2; }
.manual-add-vehicle-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f0f0ff;
    border: 1.5px dashed #0000cc;
    color: #0000cc;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 16px;
    border-radius: 10px;
    cursor: pointer;
    width: 100%;
    justify-content: center;
    transition: all 0.2s;
}
.manual-add-vehicle-btn:hover { background: #e0e0ff; }
.manual-vehicle-hint {
    font-size: 12px;
    color: #888;
    margin-top: 10px;
    text-align: center;
}
.req { color: #dc2626; margin-left: 2px; }
.manual-result-box {
    background: #fff;
    border: 1px solid #e0e0ee;
    border-radius: 16px;
    overflow: hidden;
    margin-top: 8px;
}
.manual-result-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    background: #0000cc;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}
.manual-result-badge {
    display: inline-block;
    background: #fef3c7;
    color: #92400e;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 12px;
    border-radius: 100px;
    margin: 14px 20px 4px;
}
.manual-result-note {
    font-size: 13px;
    color: #666;
    padding: 0 20px 16px;
    line-height: 1.6;
    border-bottom: 1px solid #f0f0f0;
}
.manual-result-code-card {
    padding: 16px 20px;
    border-bottom: 1px solid #f0f0f0;
}
.manual-result-code-card:last-of-type { border-bottom: none; }
.manual-result-code-label {
    font-size: 12px;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}
.manual-result-code {
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
    font-size: 22px;
    font-weight: 800;
    color: #0000cc;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
.manual-result-actions {
    display: flex;
    gap: 8px;
}
.manual-result-link {
    padding: 7px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    background: #0000cc;
    color: #fff;
    text-decoration: none;
    transition: background 0.2s;
}
.manual-result-link:hover { background: #0000aa; }
.manual-result-copy {
    padding: 7px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    background: #f0f0ff;
    color: #0000cc;
    border: 1px solid #d0d0ff;
    cursor: pointer;
    transition: all 0.2s;
}
.manual-result-copy:hover { background: #e0e0ff; }
@media (max-width: 600px) {
    .manual-line-grid { grid-template-columns: repeat(3, 1fr); }
}
body.dark-mode .manual-section { background: #0d1117; border-color: #21262d; }
body.dark-mode .manual-section-label { color: #e6edf3; }
body.dark-mode .manual-line-btn { background: #161b22; border-color: #30363d; color: #8b949e; }
body.dark-mode .manual-line-btn:hover { border-color: #6666ff; color: #8888ff; background: #1a1f2e; }
body.dark-mode .manual-line-btn.selected { background: #0000cc; border-color: #0000cc; color: #fff; }
body.dark-mode .manual-vehicle-card { background: #161b22; border-color: #21262d; }
body.dark-mode .manual-result-box { background: #161b22; border-color: #21262d; }
body.dark-mode .manual-result-note { color: #8b949e; border-color: #21262d; }
body.dark-mode .manual-result-code-card { border-color: #21262d; }
body.dark-mode .ver-lookup-result-header { background: #1c2129; border-bottom-color: #21262d; }
body.dark-mode .ver-lookup-result-body { color: #e6edf3; }
body.dark-mode .ver-lookup-value { color: #e6edf3; }
body.dark-mode .ver-lookup-result-footer { background: #1c2129; border-top-color: #21262d; }
@media (max-width: 600px) {
    .verification-subsection-tabs { flex-direction: column; padding: 4px; }
    .ver-sub-tab:first-child { border-right: none; }
    .ver-lookup-input-row { flex-direction: column; }
    .ver-lookup-result-body { grid-template-columns: 1fr; }
    .ver-lookup-box { padding: 20px; }
}

.verify-policy-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    margin-bottom: 16px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.verify-policy-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.vpc-header {
    padding: 16px 20px;
    border-bottom: 1px solid #f0f0f0;
    background: #fafbfc;
}
.vpc-body {
    padding: 20px;
    display: flex;
    gap: 24px;
    align-items: flex-start;
}
.vpc-qr-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    min-width: 140px;
}
.vpc-qr-placeholder {
    width: 130px;
    height: 130px;
    border: 2px dashed #ddd;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fafafa;
}
.vpc-qr-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.vpc-qr-locked {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: #999;
    font-size: 12px;
}
.vpc-share-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
}
.toggle-switch {
    position: relative;
    width: 44px;
    height: 24px;
    display: inline-block;
}
.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #d1d5db;
    border-radius: 24px;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}
.toggle-slider::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.toggle-switch input:checked + .toggle-slider {
    background: #0000cc;
    box-shadow: 0 0 0 1px rgba(0,0,204,0.1);
}
.toggle-switch input:checked + .toggle-slider::before {
    transform: translateX(20px);
}
.toggle-label {
    font-size: 13px;
    color: #6b7280;
    font-weight: 500;
}
.vpc-share-link {
    display: flex;
    gap: 6px;
    width: 100%;
}
.vpc-share-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    width: 100%;
}
.vpc-share-actions .btn {
    flex: 1;
}
.vpc-link-input {
    flex: 1;
    font-size: 11px;
    padding: 6px 8px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #f7f8fa;
    color: #333;
    min-width: 0;
}
.vpc-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    justify-content: center;
}
@media (max-width: 600px) {
    .vpc-body {
        flex-direction: column;
        align-items: center;
    }
    .vpc-actions {
        width: 100%;
    }
    .vpc-share-link {
        flex-direction: column;
    }
}

.qr-policy-card {
    background: #fff;
    border-radius: 16px;
    margin-bottom: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.04);
    transition: box-shadow 0.2s ease;
    border: 1.5px solid #eef0f8;
}
.qr-policy-card.qrc-open {
    box-shadow: 0 2px 8px rgba(0,0,0,0.08), 0 8px 24px rgba(0,0,200,0.07);
    border-color: #ccd0f5;
}
.qrc-accordion-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    cursor: pointer;
    user-select: none;
    background: #fff;
    transition: background 0.15s;
}
.qrc-accordion-header:hover {
    background: #f5f6ff;
}
.qrc-acc-left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}
.qrc-acc-line-badge {
    background: #0000cc;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    border-radius: 5px;
    padding: 3px 8px;
    white-space: nowrap;
    flex-shrink: 0;
}
.qrc-acc-provider {
    font-weight: 600;
    font-size: 0.92rem;
    color: #1a1a3e;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
}
.qrc-acc-polnum {
    font-size: 0.78rem;
    color: #888;
    white-space: nowrap;
    flex-shrink: 0;
}
.qrc-acc-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.qrc-dot-ready { background: #22c55e; }
.qrc-dot-pending { background: #f59e0b; }
.qrc-acc-arrow {
    font-size: 11px;
    color: #aab;
    transition: transform 0.2s;
    flex-shrink: 0;
}
.qrc-accordion-body {
    border-top: 1px solid #f0f0f8;
}
.summary-close-bar {
    display: flex;
    align-items: center;
    margin-bottom: 18px;
}
.summary-close-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1.5px solid #e0e2f0;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #444;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.summary-close-btn:hover {
    background: #f5f6ff;
    border-color: #0000cc;
    color: #0000cc;
}
.summary-qr-block {
    margin: 28px 0 0;
    padding: 0 2px;
}
.summary-qr-heading {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #0000cc;
    margin-bottom: 14px;
    padding-left: 2px;
}
.summary-qr-card {
    background: #fff;
    border: 1px solid #eaedf5;
    border-radius: 20px;
    box-shadow: 0 2px 16px rgba(0,0,80,0.05);
    overflow: hidden;
    max-width: 320px;
    margin: 0 auto;
    padding: 24px 24px 20px;
    text-align: center;
}
.summary-qr-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.summary-qr-url {
    font-size: 0.68rem;
    color: #8a8aaa;
    word-break: break-all;
    margin-top: 10px;
}
.qpc-badge {
    background: #fff;
    padding: 24px 24px 20px;
    display: flex;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid #eaedf5;
    box-shadow: 0 2px 16px rgba(0,0,80,0.05);
}
.qpc-badge::before {
    display: none;
}
.qpc-badge-logo-bg {
    display: none;
}
.qpc-badge-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    max-width: 340px;
    width: 100%;
    position: relative;
    z-index: 1;
}
.qpc-badge-name {
    display: none;
}
.qpc-badge-subtitle {
    display: none;
}
.qpc-badge-line-tag {
    display: none;
}
.qpc-badge-qr-wrap {
    background: transparent;
    border-radius: 0;
    padding: 0;
    width: 100%;
    max-width: 300px;
}
.qpc-badge-qr-full {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}
.qpc-badge-powered {
    display: none;
}
.qpc-badge-qr-placeholder {
    width: 200px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5ff;
    border-radius: 12px;
    border: 2px dashed rgba(0,0,204,0.15);
}
.qpc-badge-scan-text {
    display: none;
}
.qpc-badge-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #eaedf5;
    width: 100%;
}
.qpc-badge-brand-logo {
    width: 32px;
    height: auto;
}
.qpc-badge-brand-name {
    font-size: 14px;
    font-weight: 700;
    color: #0000cc;
    letter-spacing: 1.2px;
    font-family: 'Space Grotesk', sans-serif;
}
.qpc-badge-locked {
    background: linear-gradient(145deg, #1a1a1a 0%, #222 100%);
}
.qpc-details-sections {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid rgba(0,0,204,0.08);
}
.qpc-detail-section {
    padding: 16px 20px;
    background: #fafbff;
}
.qpc-detail-section:first-child {
    border-right: 1px solid rgba(0,0,204,0.08);
}
.qpc-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    color: #0000cc;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid rgba(0,0,204,0.12);
}
.qpc-detail-rows {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.qpc-detail-row {
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.qpc-detail-label {
    font-size: 9px;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}
.qpc-detail-value {
    font-size: 13px;
    font-weight: 600;
    color: #111827;
    word-break: break-word;
}
@media (max-width: 600px) {
    .qpc-details-sections {
        grid-template-columns: 1fr;
    }
    .qpc-detail-section:first-child {
        border-right: none;
        border-bottom: 1px solid rgba(0,0,204,0.08);
    }
}
.qpc-controls {
    padding: 16px 24px;
    background: #fafbfd;
    border-top: 1px solid rgba(0,0,0,0.04);
}
.qpc-link-row {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f3f4f8;
    border: 1px solid #e0e4ee;
    border-radius: 10px;
    padding: 8px 12px;
    margin-bottom: 12px;
}
.qpc-link-text {
    flex: 1;
    font-size: 12px;
    color: #444;
    font-family: 'SF Mono', 'Consolas', monospace;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.qpc-link-copy-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    background: #0000cc;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s;
    flex-shrink: 0;
}
.qpc-link-copy-btn:hover { background: #0000aa; }
.qpc-controls-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 10px;
}
.qpc-controls-btns {
    display: flex;
    gap: 8px;
}
.qpc-ctrl-btn {
    height: 36px;
    padding: 0 14px;
    border: 1px solid #e0e4ee;
    border-radius: 10px;
    background: #fff;
    color: #0000cc;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    transition: all 0.2s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.qpc-ctrl-btn:hover {
    background: #f0f2ff;
    border-color: #0000cc;
    box-shadow: 0 2px 6px rgba(0,0,204,0.12);
    transform: translateY(-1px);
}
.qpc-share-actions {
    display: flex;
    gap: 6px;
}
.qpc-share-pill {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 7px 10px;
    border-radius: 9px;
    border: 1px solid #e5e7eb;
    font-size: 11px;
    font-weight: 600;
    color: #4b5563;
    text-decoration: none;
    transition: all 0.2s;
    background: #fff;
}
.qpc-share-pill:hover {
    background: #f0f2ff;
    border-color: #0000cc;
    color: #0000cc;
}
.qpc-pnum {
    font-size: 12px;
    color: #888;
    font-weight: 500;
    font-family: 'SF Mono', 'Consolas', monospace;
}
.qpc-footer {
    padding: 14px 24px;
    border-top: 1px solid rgba(0,0,0,0.04);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    background: #fff;
}
.qpc-footer-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.qpc-date {
    font-size: 11px;
    color: #aaa;
    font-weight: 500;
}
.qpc-footer-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.qpc-people-section {
    border-top: 1px solid rgba(0,0,204,0.12);
    background: linear-gradient(135deg, #eef0ff 0%, #e6e9ff 100%);
}
.qpc-people-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 24px;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s;
}
.qpc-people-header:hover { background: rgba(0,0,204,0.08); }
.qpc-people-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
}
.qpc-people-icon {
    color: #0000cc;
    flex-shrink: 0;
}
.qpc-people-title {
    font-size: 12px;
    font-weight: 800;
    color: #0000cc;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    transition: color 0.2s;
}
.qpc-title-attention {
    color: #0000cc;
    animation: titleShimmer 2s ease-in-out 3;
}
@keyframes titleShimmer {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}
.qpc-people-arrow {
    font-size: 10px;
    color: #0000cc;
}
.qpc-people-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    font-weight: 700;
    border-radius: 20px;
    padding: 2px 8px;
    letter-spacing: 0.3px;
    line-height: 1;
}
.qpc-people-badge.badge-alert {
    background: #fff3cd;
    color: #92400e;
    border: 1px solid #fbbf24;
}
.qpc-people-badge.badge-done {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #86efac;
}
.qpc-badge-pulse {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #f59e0b;
    position: relative;
    flex-shrink: 0;
}
.qpc-badge-pulse::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    background: rgba(245,158,11,0.3);
    animation: badgePulse 1.4s ease-out infinite;
}
@keyframes badgePulse {
    0% { transform: scale(0.8); opacity: 1; }
    100% { transform: scale(2); opacity: 0; }
}
.qpc-people-body {
    padding: 0 24px 16px;
}
.qpc-people-loading {
    font-size: 12px;
    color: #999;
    padding: 10px 0;
    font-style: italic;
}
.qpc-people-empty {
    font-size: 12px;
    color: #aaa;
    padding: 10px 0;
}
.qpc-people-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.qpc-person-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border: 1px solid #e8eaf0;
    border-radius: 10px;
    padding: 10px 14px;
    gap: 8px;
}
.qpc-person-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    flex: 1;
    min-width: 0;
}
.qpc-person-name {
    font-size: 13px;
    font-weight: 700;
    color: #111;
}
.qpc-person-role {
    font-size: 10px;
    font-weight: 600;
    color: #0000cc;
    background: #eef0ff;
    border-radius: 6px;
    padding: 2px 7px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.qpc-person-vehicle {
    font-size: 11px;
    color: #888;
    font-weight: 500;
}
.qpc-invite-status {
    font-size: 10px;
    font-weight: 700;
    border-radius: 6px;
    padding: 2px 7px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.qpc-invite-status.status-invited { background: #fff7ed; color: #c2410c; }
.qpc-invite-status.status-active { background: #f0fdf4; color: #16a34a; }
.qpc-invite-status.status-revoked { background: #fef2f2; color: #dc2626; }
.qpc-invite-btn {
    background: #0000cc;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
    flex-shrink: 0;
}
.qpc-invite-btn:hover { background: #0000aa; }
.qpc-revoke-btn {
    background: transparent;
    color: #dc2626;
    border: 1.5px solid #dc2626;
    border-radius: 8px;
    padding: 5px 11px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
    flex-shrink: 0;
}
.qpc-revoke-btn:hover { background: #fef2f2; }
.qpc-dl-gate { padding: 28px 20px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.qpc-dl-gate-icon { width: 52px; height: 52px; background: #eef2ff; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 4px; }
.qpc-dl-gate-title { font-size: 15px; font-weight: 700; color: #111827; }
.qpc-dl-gate-text { font-size: 13px; color: #6b7280; line-height: 1.5; max-width: 280px; }
.qpc-dl-gate-form { display: flex; flex-direction: column; gap: 10px; width: 100%; max-width: 300px; margin-top: 6px; }
.qpc-dl-gate-form .qpc-dl-input { width: 100%; box-sizing: border-box; text-align: center; font-size: 14px; font-weight: 600; letter-spacing: 0.06em; }
.qpc-dl-gate-form .qpc-dl-save-btn { width: 100%; padding: 10px; font-size: 13px; }
.qpc-dl-section { padding: 12px 16px; border-top: 1px solid #f0f0f0; background: #f9fafb; }
.qpc-dl-label { font-size: 11px; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; }
.qpc-dl-saved { display: flex; align-items: center; gap: 10px; }
.qpc-dl-saved span { font-size: 14px; font-weight: 600; color: #111827; font-family: monospace; letter-spacing: 0.04em; }
.qpc-dl-prompt { display: flex; align-items: center; gap: 8px; }
.qpc-dl-input { flex: 1; border: 1px solid #d1d5db; border-radius: 8px; padding: 7px 10px; font-size: 13px; color: #111827; outline: none; }
.qpc-dl-input:focus { border-color: #0000cc; }
.qpc-dl-save-btn { background: #0000cc; color: #fff; border: none; border-radius: 8px; padding: 7px 14px; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.qpc-dl-save-btn:hover { background: #0000aa; }
.qpc-dl-edit-btn { background: none; border: 1px solid #d1d5db; border-radius: 6px; padding: 4px 10px; font-size: 11px; font-weight: 600; color: #6b7280; cursor: pointer; }
.qpc-dl-edit-btn:hover { border-color: #0000cc; color: #0000cc; }
.qpc-person-dl-row { display: flex; align-items: center; gap: 8px; padding: 6px 12px; background: #f4f6ff; border-top: 1px solid #e5e8ff; flex-wrap: wrap; }
.qpc-person-dl-label { font-size: 11px; font-weight: 700; color: #0000cc; text-transform: uppercase; flex-shrink: 0; }
.qpc-person-dl-val { font-size: 13px; font-weight: 600; color: #111827; font-family: monospace; flex: 1; }
.qpc-dl-input-sm { flex: 1; min-width: 0; border: 1px solid #d1d5db; border-radius: 6px; padding: 5px 8px; font-size: 12px; color: #111827; outline: none; }
.qpc-dl-input-sm:focus { border-color: #0000cc; }
.qpc-dl-save-btn-sm { background: #0000cc; color: #fff; border: none; border-radius: 6px; padding: 5px 10px; font-size: 11px; font-weight: 600; cursor: pointer; white-space: nowrap; flex-shrink: 0; }
.qpc-dl-save-btn-sm:hover { background: #0000aa; }
body.dark-mode .qpc-dl-section { background: #0d0d2e; border-top-color: rgba(102,102,255,0.15); }
body.dark-mode .qpc-dl-label { color: #9ca3af; }
body.dark-mode .qpc-dl-saved span { color: #e5e7eb; }
body.dark-mode .qpc-dl-input { background: #1c2129; border-color: #30363d; color: #e5e7eb; }
body.dark-mode .qpc-dl-input-sm { background: #1c2129; border-color: #30363d; color: #e5e7eb; }
body.dark-mode .qpc-person-dl-row { background: rgba(0,0,204,0.08); border-top-color: rgba(102,102,255,0.2); }
body.dark-mode .qpc-person-dl-val { color: #e5e7eb; }
body.dark-mode .qpc-people-section { background: linear-gradient(135deg, #0d0d2e 0%, #111133 100%); border-top-color: rgba(102,102,255,0.2); }
body.dark-mode .qpc-people-header:hover { background: rgba(102,102,255,0.08); }
body.dark-mode .qpc-people-icon { color: #6666ff; }
body.dark-mode .qpc-people-title { color: #6666ff; }
body.dark-mode .qpc-people-arrow { color: #6666ff; }
body.dark-mode .qpc-people-badge.badge-alert { background: #2d2000; color: #fbbf24; border-color: #92400e; }
body.dark-mode .qpc-people-badge.badge-done { background: #052e16; color: #86efac; border-color: #166534; }
body.dark-mode .qpc-person-row { background: #1c2129; border-color: #30363d; }
body.dark-mode .qpc-person-name { color: #e6edf3; }
body.dark-mode .qpc-person-role { background: #1a1a3e; color: #6666ff; }
body.dark-mode .qpc-person-vehicle { color: #8b949e; }

body.dark-mode .qr-policy-card { background: #161b22; box-shadow: 0 1px 3px rgba(0,0,0,0.2), 0 6px 16px rgba(0,0,0,0.15); }
body.dark-mode .qr-policy-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.3), 0 12px 32px rgba(0,0,0,0.25); }
body.dark-mode .qpc-badge { background: #fff; border-color: #e0e0f0; }
body.dark-mode .qpc-badge-locked { background: linear-gradient(145deg, #0a0a0a 0%, #151515 100%); }
body.dark-mode .qpc-controls { background: #1c2129; border-top-color: rgba(255,255,255,0.04); }
body.dark-mode .qpc-ctrl-btn { background: #161b22; border-color: #30363d; color: #6666ff; box-shadow: none; }
body.dark-mode .qpc-ctrl-btn:hover { background: #21262d; border-color: #6666ff; }
body.dark-mode .qpc-pnum { color: #8b949e; }
body.dark-mode .qpc-footer { border-top-color: rgba(255,255,255,0.04); background: #161b22; }
body.dark-mode .qpc-date { color: #8b949e; }
body.dark-mode .qpc-placeholder-text { color: #8b949e; }

.qpc-contact-settings {
    border-top: 1px solid rgba(0,0,204,0.06);
}
.qpc-contact-settings-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 12px 20px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    transition: color 0.2s;
}
.qpc-contact-settings-toggle:hover { color: #0000cc; }
.qpc-contact-panel {
    padding: 0 20px 16px;
    animation: fadeIn 0.2s ease;
}
.qpc-contact-hint {
    font-size: 12px;
    color: #9ca3af;
    margin-bottom: 12px;
    line-height: 1.5;
}
.qpc-contact-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 12px;
}
.qpc-contact-field label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.qpc-contact-input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 13px;
    font-family: inherit;
    transition: border-color 0.2s;
}
.qpc-contact-input:focus {
    outline: none;
    border-color: #0000cc;
    box-shadow: 0 0 0 3px rgba(0,0,204,0.08);
}
body.dark-mode .qpc-contact-settings { border-top-color: rgba(255,255,255,0.04); }
body.dark-mode .qpc-contact-settings-toggle { color: #8b949e; }
body.dark-mode .qpc-contact-settings-toggle:hover { color: #6666ff; }
body.dark-mode .qpc-contact-panel { background: transparent; }
body.dark-mode .qpc-contact-input { background: #161b22; border-color: #30363d; color: #e6edf3; }
body.dark-mode .qpc-contact-input:focus { border-color: #6666ff; box-shadow: 0 0 0 3px rgba(102,102,255,0.1); }

@media (max-width: 600px) {
    .qpc-badge { padding: 28px 20px 24px; }
    .qpc-badge-qr-full { width: 100%; }
    .qpc-badge-qr-placeholder { width: 180px; height: 180px; }
    .qpc-controls { padding: 14px 18px; }
    .qpc-footer { padding: 12px 18px; flex-direction: column; align-items: flex-start; }
    .qpc-badge-name { font-size: 18px; }
    .qpc-contact-fields { grid-template-columns: 1fr; }
}

.tab-coming-soon-badge {
    display: inline-block;
    font-size: 0.6rem;
    font-weight: 600;
    background: linear-gradient(135deg, #ff9500, #ff6b00);
    color: #fff;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 6px;
    letter-spacing: 0.02em;
    vertical-align: middle;
    text-transform: uppercase;
    line-height: 1.4;
}

.nav-coming-soon-link {
    position: relative;
}
.coming-soon-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #ff9500;
    border-radius: 50%;
    margin-left: 4px;
    vertical-align: middle;
    animation: comingSoonPulse 2s infinite;
}
@keyframes comingSoonPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.3); }
}

.directory-header {
    margin-bottom: 24px;
}
.directory-header h3 {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    margin-bottom: 6px;
}
.directory-header p {
    font-size: 0.92rem;
    color: #6e6e73;
    margin-bottom: 16px;
}
.directory-search-bar {
    max-width: 480px;
}
.directory-search-bar input {
    width: 100%;
    padding: 10px 16px;
    border: 1px solid #d2d2d7;
    border-radius: 10px;
    font-size: 0.9rem;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.directory-search-bar input:focus {
    outline: none;
    border-color: #0000cc;
    box-shadow: 0 0 0 3px rgba(0,0,204,0.08);
}

.directory-grid {
    columns: 2;
    column-gap: 12px;
}
.directory-category {
    break-inside: avoid;
    margin-bottom: 12px;
}

.directory-category {
    background: #fff;
    border: 1px solid #e5e5ea;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s, border-color 0.2s;
}
.directory-category:hover {
    border-color: #d2d2d7;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.directory-category.dir-hidden {
    display: none;
}

.directory-cat-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s;
}
.directory-cat-header:hover {
    background: #f0f4ff;
}
.dir-cat-icon {
    font-size: 1.5rem;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f5;
    border-radius: 8px;
    flex-shrink: 0;
}
.dir-cat-info {
    flex: 1;
    min-width: 0;
}
.dir-cat-info h4 {
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: -0.015em;
    margin: 0;
    line-height: 1.3;
}
.dir-cat-count {
    font-size: 0.72rem;
    color: #8e8e93;
    font-weight: 400;
}
.dir-chevron {
    font-size: 0.7rem;
    color: #8e8e93;
    transition: transform 0.25s ease;
    flex-shrink: 0;
}
.directory-category.dir-open .dir-chevron {
    transform: rotate(180deg);
}

.directory-subcats {
    display: none;
    padding: 0 16px 12px;
    border-top: 1px solid #f0f0f5;
}
.directory-category.dir-open .directory-subcats {
    display: block;
}
.dir-subcat {
    display: block;
    padding: 8px 12px;
    margin: 2px 0;
    font-size: 0.85rem;
    color: #1d1d1f;
    border-radius: 8px;
    transition: background 0.15s, color 0.15s;
    text-decoration: none;
    font-weight: 400;
}
.dir-subcat:hover {
    background: #f0f0f5;
    color: #0000cc;
}

.directory-results {
    margin-top: 16px;
}
.dir-back-btn {
    margin-bottom: 16px;
    font-size: 0.85rem;
}
.directory-results h3 {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 12px;
}
.directory-results-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}
.dir-result-card {
    background: #fff;
    border: 1px solid #e5e5ea;
    border-radius: 12px;
    padding: 16px;
    transition: box-shadow 0.2s, border-color 0.2s;
    cursor: pointer;
}
.dir-result-card:hover {
    border-color: #0000cc;
    box-shadow: 0 4px 12px rgba(0,0,204,0.08);
}
.dir-result-card h4 {
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 4px;
}
.dir-result-card .dir-company {
    font-size: 0.82rem;
    color: #6e6e73;
    margin-bottom: 6px;
}
.dir-result-card .dir-location {
    font-size: 0.78rem;
    color: #8e8e93;
}
.dir-empty-state {
    text-align: center;
    padding: 48px 24px;
    color: #8e8e93;
}
.dir-empty-state h4 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #6e6e73;
    margin-bottom: 8px;
}
.dir-empty-state p {
    font-size: 0.88rem;
    color: #8e8e93;
    max-width: 400px;
    margin: 0 auto;
}
.dir-empty-state .dir-register-cta {
    margin-top: 16px;
}
.dir-empty-state .dir-register-cta .btn {
    font-size: 0.85rem;
}

body.dark-mode .directory-search-bar input {
    background: #161b22;
    border-color: #30363d;
    color: #e6edf3;
}
body.dark-mode .directory-search-bar input:focus {
    border-color: #6666ff;
    box-shadow: 0 0 0 3px rgba(102,102,255,0.1);
}
body.dark-mode .directory-category {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .directory-category:hover {
    border-color: #444c56;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
body.dark-mode .directory-cat-header:hover {
    background: #21262d;
}
body.dark-mode .dir-cat-icon {
    background: #21262d;
}
body.dark-mode .dir-cat-info h4 {
    color: #e6edf3;
}
body.dark-mode .directory-subcats {
    border-top-color: #21262d;
}
body.dark-mode .dir-subcat {
    color: #c9d1d9;
}
body.dark-mode .dir-subcat:hover {
    background: #21262d;
    color: #8b8bff;
}
body.dark-mode .dir-result-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .dir-result-card:hover {
    border-color: #6666ff;
    box-shadow: 0 4px 12px rgba(102,102,255,0.1);
}
body.dark-mode .dir-result-card h4 {
    color: #e6edf3;
}

@media (max-width: 600px) {
    .directory-grid {
        columns: 1;
    }
    .directory-results-list {
        grid-template-columns: 1fr;
    }
}

/* ===== COMPREHENSIVE DARK MODE FIXES ===== */

/* Dashboard & Admin */
body.dark-mode .dash-card {
    background: #161b22;
    border: 1px solid #30363d;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
body.dark-mode .dash-card h3 {
    color: #8888ff;
    border-bottom-color: #3333ff;
}
body.dark-mode .stat-number {
    color: #8888ff;
}
body.dark-mode .stat-label {
    color: #8b949e;
}
body.dark-mode .activity-item {
    border-bottom-color: #21262d;
    color: #c9d1d9;
}
body.dark-mode .activity-action {
    color: #8888ff;
}
body.dark-mode .activity-time {
    color: #8b949e;
}
body.dark-mode .ref-badge {
    background: #1a1a4e;
    color: #8888ff;
    border-color: #3333aa;
}
body.dark-mode .ref-badge-error {
    background: #3a1010;
    color: #ff6b6b;
    border-color: #6b2020;
}
body.dark-mode .admin-table {
    background: #161b22;
    color: #c9d1d9;
}
body.dark-mode .admin-table th {
    background: #0000aa;
    color: #fff;
}
body.dark-mode .admin-table td {
    border-bottom-color: #21262d;
    color: #c9d1d9;
}
body.dark-mode .admin-table tr:hover {
    background: #21262d;
}

/* About Page */
body.dark-mode .about-mission h2 {
    color: #8888ff;
}
body.dark-mode .about-mission p {
    color: #8b949e;
}
body.dark-mode .about-cta {
    background: linear-gradient(135deg, #1a1a3e 0%, #21263e 100%);
}
body.dark-mode .about-cta h3 {
    color: #e6edf3;
}
body.dark-mode .about-cta p {
    color: #8b949e;
}

/* Contact Page */
body.dark-mode .contact-info-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .contact-info-card:hover {
    border-color: #3333ff;
    box-shadow: 0 8px 32px rgba(0,0,100,0.3);
}
body.dark-mode .contact-info-card h3 {
    color: #e6edf3;
}
body.dark-mode .contact-info-card p {
    color: #8b949e;
}
body.dark-mode .contact-info-icon {
    background: #21262d;
}
body.dark-mode .contact-link {
    color: #8888ff;
}
body.dark-mode .contact-form-section {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .contact-form-section h2 {
    color: #e6edf3;
}
body.dark-mode .contact-form-desc {
    color: #8b949e;
}
body.dark-mode .contact-input,
body.dark-mode .contact-textarea {
    background: #0d1117;
    color: #c9d1d9;
    border-color: #30363d;
}
body.dark-mode .contact-input::placeholder,
body.dark-mode .contact-textarea::placeholder {
    color: #484f58;
}
body.dark-mode .contact-input:focus,
body.dark-mode .contact-textarea:focus {
    border-color: #6666ff;
    box-shadow: 0 0 0 3px rgba(102,102,255,0.15);
}
body.dark-mode .contact-success {
    background: #0d2818;
    color: #4dcc8a;
}

/* Waitlist Page */
body.dark-mode .waitlist-feature-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .waitlist-feature-card:hover {
    border-color: #3333ff;
    box-shadow: 0 8px 32px rgba(0,0,100,0.3);
}
body.dark-mode .waitlist-feature-card.wf-selected {
    border-color: #4444ff;
    box-shadow: 0 0 0 2px rgba(68,68,255,0.3);
}
body.dark-mode .wf-card-icon {
    background: #21262d;
}
body.dark-mode .wf-card-title {
    color: #e6edf3;
}
body.dark-mode .wf-card-desc {
    color: #8b949e;
}
body.dark-mode .wf-card-features li {
    color: #a0a8c8;
}
body.dark-mode .wf-card-badge {
    background: #2a1f00;
    color: #ffb347;
}
body.dark-mode .waitlist-stats-bar {
    color: #8b949e;
}
body.dark-mode .waitlist-cta-section {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .waitlist-name-input {
    background: #0d1117;
    color: #c9d1d9;
    border-color: #30363d;
}
body.dark-mode .waitlist-name-input::placeholder {
    color: #484f58;
}

/* Policy Management Page */
body.dark-mode .pm-section {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .pm-section-title {
    color: #e6edf3;
}
body.dark-mode .pm-tab {
    background: #21262d;
    color: #8b949e;
    border-color: #30363d;
}
body.dark-mode .pm-tab.active,
body.dark-mode .pm-tab:hover {
    background: #0000cc;
    color: #fff;
}
body.dark-mode .verification-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .ver-field-label {
    color: #8b949e;
}
body.dark-mode .ver-field-value {
    color: #e6edf3;
}
body.dark-mode .ver-section-title {
    color: #8888ff;
    border-bottom-color: #30363d;
}

/* Print/Export Bar */
body.dark-mode .print-export-bar .pe-btn {
    background: #161b22;
    border-color: #30363d;
    color: #c9d1d9;
}
body.dark-mode .print-export-bar .pe-btn:hover {
    background: #21262d;
    border-color: #6666ff;
    color: #8888ff;
}

/* Learn More / Features Page */
body.dark-mode .learnmore-section {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .lm-feature-card {
    background: #0d1117;
    border-color: #30363d;
}
body.dark-mode .lm-feature-card h3 {
    color: #e6edf3;
}
body.dark-mode .lm-feature-card p {
    color: #8b949e;
}

/* Newsletter Section */
body.dark-mode .newsletter-form-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .newsletter-topics label {
    color: #c9d1d9;
}
body.dark-mode .newsletter-topics input[type="checkbox"] {
    accent-color: #6666ff;
}

/* Auth / Login Forms */
body.dark-mode .auth-section,
body.dark-mode .login-card,
body.dark-mode .auth-form-container {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .form-group label {
    color: #c9d1d9;
}
body.dark-mode .form-divider {
    color: #8b949e;
    border-color: #30363d;
}
body.dark-mode .form-divider::before,
body.dark-mode .form-divider::after {
    background: #30363d;
}

/* Marketplace & Directory */
body.dark-mode .marketplace-section {
    background: #0d1117;
}
body.dark-mode .marketplace-hero {
    background: linear-gradient(135deg, #0a0a3a 0%, #0000cc 60%, #1a1aff 100%);
}
body.dark-mode .dir-cat-count {
    color: #8b949e;
}
body.dark-mode .directory-cat-header {
    color: #e6edf3;
}

/* Status Badges */
body.dark-mode .status-badge {
    color: #c9d1d9;
}
body.dark-mode .status-active {
    background: #0d2818;
    color: #4dcc8a;
}
body.dark-mode .status-failed,
body.dark-mode .status-inactive {
    background: #2a1010;
    color: #ff6b6b;
}
body.dark-mode .status-pending {
    background: #2a1f00;
    color: #ffb347;
}

/* Policy Cards on Dashboard */
body.dark-mode .policy-card-inner {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .policy-card-header {
    border-bottom-color: #30363d;
}
body.dark-mode .policy-year-badge {
    background: #21262d;
    color: #8b949e;
}

/* Simplified Section Inner Elements */
body.dark-mode .simplified-content-area {
    background: #0d1117;
}
body.dark-mode .simplified-nav {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .simplified-nav-item {
    color: #8b949e;
}
body.dark-mode .simplified-nav-item.active,
body.dark-mode .simplified-nav-item:hover {
    color: #8888ff;
    background: #21262d;
}

/* General Section/Card Containers */
body.dark-mode .section-container,
body.dark-mode .content-section {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .empty-state {
    color: #8b949e;
}
body.dark-mode .empty-state h3 {
    color: #e6edf3;
}

/* Notification & Message Read States */
body.dark-mode .notification-item.unread {
    background: #1a1a3e;
    border-left-color: #4444ff;
}
body.dark-mode .notification-title {
    color: #e6edf3;
}
body.dark-mode .notification-body {
    color: #8b949e;
}

/* QR Code Section */
body.dark-mode .qr-section {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .qr-code-container {
    background: #fff;
    border-radius: 8px;
    padding: 8px;
}

/* Privacy / Terms / Cookie Pages */
body.dark-mode .policy-page-content {
    background: #161b22;
    border-color: #30363d;
    color: #c9d1d9;
}
body.dark-mode .policy-page-content h1,
body.dark-mode .policy-page-content h2,
body.dark-mode .policy-page-content h3 {
    color: #e6edf3;
}
body.dark-mode .policy-page-content p,
body.dark-mode .policy-page-content li {
    color: #c9d1d9;
}

/* Stat Cards (Admin Overview) */
body.dark-mode .stat-card {
    background: #161b22;
    border: 1px solid #30363d;
}
body.dark-mode .stat-card .stat-number {
    color: #8888ff;
}
body.dark-mode .stat-card .stat-label {
    color: #8b949e;
}

/* Global: make sure all strong/b tags are visible */
body.dark-mode strong,
body.dark-mode b {
    color: #e6edf3;
}

/* ==================== NEWS EXPLORER ==================== */
.news-explorer-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 28px;
}
.news-explorer-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: #0000cc;
    margin: 0 0 4px 0;
}
.news-explorer-sub {
    font-size: 0.95rem;
    color: #666;
    margin: 0;
}
.news-refresh-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    padding-top: 4px;
}
.news-last-updated {
    font-size: 0.8rem;
    color: #888;
}
.news-country-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.news-country-btn {
    padding: 8px 22px;
    border-radius: 24px;
    border: 2px solid #ddd;
    background: #fff;
    color: #333;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}
.news-country-btn:hover {
    border-color: #0000cc;
    color: #0000cc;
}
.news-country-btn.active {
    background: #0000cc;
    border-color: #0000cc;
    color: #fff;
}
.news-category-bar {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}
.news-cat-btn {
    padding: 5px 14px;
    border-radius: 16px;
    border: 1px solid #ddd;
    background: #f4f4f8;
    color: #555;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}
.news-cat-btn:hover {
    border-color: #0000cc;
    color: #0000cc;
    background: #eeeeff;
}
.news-cat-btn.active {
    background: #0000cc;
    border-color: #0000cc;
    color: #fff;
}
.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 24px;
}
.news-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    border: 1px solid #eee;
    transition: transform 0.2s, box-shadow 0.2s;
    display: flex;
    flex-direction: column;
    cursor: pointer;
}
.news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(0,0,204,0.12);
    border-color: #0000cc;
}
.news-card-img {
    width: 100%;
    height: 190px;
    object-fit: cover;
    display: block;
    background: #e8e8f0;
}
.news-card-img-placeholder {
    width: 100%;
    height: 190px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    background: linear-gradient(135deg, #eeeeff 0%, #e0e0ff 100%);
}
.news-card-body {
    padding: 18px 20px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.news-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.news-cat-badge {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 20px;
    border: none;
}
.news-cat-badge.regulation { background: #dbeafe; color: #1d4ed8; }
.news-cat-badge.market     { background: #dcfce7; color: #15803d; }
.news-cat-badge.cyber      { background: #fce7f3; color: #be185d; }
.news-cat-badge.health     { background: #fef3c7; color: #d97706; }
.news-cat-badge.technology { background: #ede9fe; color: #7c3aed; }
.news-cat-badge.weather    { background: #e0f2fe; color: #0369a1; }
.news-cat-badge.fraud      { background: #fee2e2; color: #dc2626; }
.news-cat-badge.tips       { background: #f0fdf4; color: #16a34a; }
.news-cat-badge.general    { background: #f1f5f9; color: #475569; }
.news-card-region {
    font-size: 0.78rem;
    color: #888;
    font-weight: 500;
}
.news-card-title {
    font-size: 1.02rem;
    font-weight: 700;
    color: #111;
    line-height: 1.4;
    margin: 0;
    flex: 1;
}
.news-card-summary {
    font-size: 0.88rem;
    color: #555;
    line-height: 1.6;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.news-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}
.news-card-source {
    font-size: 0.78rem;
    color: #0000cc;
    font-weight: 600;
}
.news-card-date {
    font-size: 0.76rem;
    color: #aaa;
}
.news-loading {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 60px 20px;
    color: #888;
}
.news-loading-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid #eee;
    border-top-color: #0000cc;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
.news-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: #888;
}
.news-empty h3 { color: #333; margin-bottom: 8px; }
.news-generating {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 60px 20px;
    color: #555;
}
.news-generating-pulse {
    width: 48px;
    height: 48px;
    background: #0000cc;
    border-radius: 50%;
    animation: pulse 1.2s ease-in-out infinite;
    opacity: 0.7;
}
@keyframes pulse {
    0%, 100% { transform: scale(1); opacity: 0.7; }
    50% { transform: scale(1.15); opacity: 1; }
}

/* Dark mode: News Explorer */
body.dark-mode .news-explorer-title { color: #8888ff; }
body.dark-mode .news-explorer-sub { color: #8b949e; }
body.dark-mode .news-last-updated { color: #6e7681; }
body.dark-mode .news-country-btn {
    background: #161b22;
    border-color: #30363d;
    color: #c9d1d9;
}
body.dark-mode .news-country-btn:hover { border-color: #8888ff; color: #8888ff; }
body.dark-mode .news-country-btn.active { background: #0000cc; border-color: #0000cc; color: #fff; }
body.dark-mode .news-cat-btn {
    background: #21262d;
    border-color: #30363d;
    color: #8b949e;
}
body.dark-mode .news-cat-btn:hover { border-color: #8888ff; color: #8888ff; background: #1a1f2e; }
body.dark-mode .news-cat-btn.active { background: #0000cc; border-color: #0000cc; color: #fff; }
body.dark-mode .news-card {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .news-card:hover { border-color: #8888ff; }
body.dark-mode .news-card-title { color: #e6edf3; }
body.dark-mode .news-card-summary { color: #8b949e; }
body.dark-mode .news-card-footer { border-color: #21262d; }
body.dark-mode .news-card-source { color: #8888ff; }
body.dark-mode .news-card-date { color: #6e7681; }
body.dark-mode .news-card-region { color: #6e7681; }
body.dark-mode .news-cat-badge.regulation { background: #1e3a5f; color: #93c5fd; }
body.dark-mode .news-cat-badge.market     { background: #14532d; color: #86efac; }
body.dark-mode .news-cat-badge.cyber      { background: #4c1d3f; color: #f9a8d4; }
body.dark-mode .news-cat-badge.health     { background: #451a03; color: #fcd34d; }
body.dark-mode .news-cat-badge.technology { background: #2e1065; color: #c4b5fd; }
body.dark-mode .news-cat-badge.weather    { background: #082f49; color: #7dd3fc; }
body.dark-mode .news-cat-badge.fraud      { background: #450a0a; color: #fca5a5; }
body.dark-mode .news-cat-badge.tips       { background: #052e16; color: #86efac; }
body.dark-mode .news-cat-badge.general    { background: #21262d; color: #8b949e; }
body.dark-mode .news-card-img-placeholder { background: linear-gradient(135deg, #1a1f2e 0%, #161b22 100%); }
body.dark-mode .news-loading { color: #6e7681; }
body.dark-mode .news-loading-spinner { border-color: #30363d; border-top-color: #8888ff; }
body.dark-mode .news-empty { color: #6e7681; }
body.dark-mode .news-empty h3 { color: #c9d1d9; }
body.dark-mode .news-generating { color: #8b949e; }
/* ==================== END NEWS EXPLORER ==================== */

/* Fix any remaining light backgrounds on generic divs */
body.dark-mode .dashboard-grid .dash-card {
    color: #c9d1d9;
}
body.dark-mode .page {
    background: transparent;
}

/* ===== POLICY MANAGEMENT HUB ===== */
.pm-hub-header {
    background: linear-gradient(135deg, #0000cc 0%, #0033ff 100%);
    border-radius: 16px;
    padding: 28px 32px;
    margin-bottom: 0;
    color: #fff;
}
.pm-hub-header-content {
    display: flex;
    align-items: center;
    gap: 16px;
}
.pm-hub-header-icon {
    background: rgba(255,255,255,0.15);
    border-radius: 12px;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pm-hub-title {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0 0 4px;
    color: #fff;
}
.pm-hub-subtitle {
    margin: 0;
    color: rgba(255,255,255,0.82);
    font-size: 0.95rem;
}
.pm-hub-tabs-wrap {
    background: #fff;
    border: 1px solid #e8eaf0;
    border-top: none;
    border-radius: 0 0 12px 12px;
    padding: 0 16px;
    margin-bottom: 24px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.pm-hub-tabs {
    display: flex;
    gap: 0;
}
.pm-hub-tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 0.92rem;
    font-weight: 500;
    color: #666;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}
.pm-hub-tab:hover { color: #0000cc; }
.pm-hub-tab.active {
    color: #0000cc;
    border-bottom-color: #0000cc;
    font-weight: 600;
}
.pm-hub-tab svg { opacity: 0.7; }
.pm-hub-tab.active svg { opacity: 1; }
.pm-hub-section { display: block; }
.pm-section-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.pm-section-topbar-sub {
    color: #555;
    font-size: 0.93rem;
    margin: 0;
    line-height: 1.5;
}
.pm-add-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    flex-shrink: 0;
}
.pm-upload-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #f0f4ff;
    border: 1px solid #c8d4ff;
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 0.875rem;
    color: #444;
    line-height: 1.5;
    margin-bottom: 16px;
}
.pm-manual-link {
    color: #0000cc;
    font-size: 0.875rem;
    text-decoration: underline;
}
.pm-manual-link:hover { color: #0033ff; }
.pm-empty-state {
    text-align: center;
    padding: 48px 24px;
}
.pm-empty-icon {
    margin-bottom: 16px;
    opacity: 0.5;
}
.pm-empty-state h4 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    margin: 0 0 8px;
}
.pm-empty-state p {
    color: #666;
    font-size: 0.93rem;
    line-height: 1.6;
    max-width: 480px;
    margin: 0 auto;
}
.pm-coming-soon-badge {
    display: inline-block;
    margin-top: 20px;
    background: linear-gradient(135deg, #0000cc, #0033ff);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 20px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
/* Verification History */
.pm-verif-history { }
.pm-verif-title {
    font-size: 1rem;
    font-weight: 600;
    color: #222;
    margin: 0 0 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.pm-verif-count {
    font-size: 0.8rem;
    font-weight: 500;
    background: #f0f4ff;
    color: #0000cc;
    padding: 3px 10px;
    border-radius: 20px;
}
.pm-verif-list { display: flex; flex-direction: column; gap: 10px; }
.pm-verif-row {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #f9f9fb;
    border: 1px solid #e8eaf0;
    border-radius: 10px;
    padding: 12px 16px;
}
.pm-verif-line-badge {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    white-space: nowrap;
    background: #e8eaff;
    color: #0000cc;
    flex-shrink: 0;
}
.pm-verif-line-auto { background: #e0f0ff; color: #0066cc; }
.pm-verif-line-home { background: #e0ffe8; color: #006622; }
.pm-verif-line-life { background: #fff0e0; color: #884400; }
.pm-verif-line-health { background: #ffe0e0; color: #880000; }
.pm-verif-info { flex: 1; min-width: 0; }
.pm-verif-action { font-size: 0.88rem; font-weight: 500; color: #333; }
.pm-verif-ref { font-size: 0.78rem; color: #888; margin-top: 2px; }
.pm-verif-meta { text-align: right; flex-shrink: 0; }
.pm-verif-date { font-size: 0.85rem; font-weight: 500; color: #444; }
.pm-verif-time { font-size: 0.78rem; color: #888; }
.pm-verif-ip { font-size: 0.75rem; color: #aaa; margin-top: 2px; }
/* Dark mode PM hub */
body.dark-mode .pm-hub-tabs-wrap { background: #161b22; border-color: #30363d; }
body.dark-mode .pm-hub-tab { color: #8b949e; }
body.dark-mode .pm-hub-tab:hover { color: #8888ff; }
body.dark-mode .pm-hub-tab.active { color: #8888ff; border-bottom-color: #8888ff; }
body.dark-mode .pm-upload-disclaimer { background: #1a1f2e; border-color: #2a3070; color: #c9d1d9; }
body.dark-mode .pm-verif-row { background: #21262d; border-color: #30363d; }
body.dark-mode .pm-verif-action { color: #c9d1d9; }
body.dark-mode .pm-empty-state h4 { color: #c9d1d9; }
body.dark-mode .pm-empty-state p { color: #8b949e; }
body.dark-mode .pm-section-topbar-sub { color: #8b949e; }
@media (max-width: 600px) {
    .pm-hub-title { font-size: 1.25rem; }
    .pm-hub-tab { padding: 12px 12px; font-size: 0.82rem; gap: 6px; }
    .pm-section-topbar { flex-direction: column; align-items: flex-start; }
    .pm-add-btn { width: 100%; justify-content: center; }
    .pm-verif-row { flex-wrap: wrap; gap: 8px; }
    .pm-verif-meta { text-align: left; }
}

/* ============================================================
   PROFILE AVATAR UPLOADER
   ============================================================ */
.profile-avatar-section {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 0 24px;
    border-bottom: 1px solid #eee;
    margin-bottom: 24px;
}
.profile-avatar-wrap {
    position: relative;
    flex-shrink: 0;
}
.profile-avatar-circle {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0000cc, #4444ff);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,204,0.18);
}
.profile-avatar-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}
#profileAvatarInitials {
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 1px;
}
.profile-avatar-change-btn {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #0000cc;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,0.22);
    transition: background 0.2s;
    border: 2px solid #fff;
}
.profile-avatar-change-btn:hover { background: #0000aa; }
.profile-avatar-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.profile-avatar-role-label {
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a2e;
}
.profile-avatar-hint {
    font-size: 0.8rem;
    color: #888;
}
.profile-avatar-status {
    font-size: 0.82rem;
    font-weight: 500;
}
.profile-avatar-status.uploading { color: #0000cc; }
.profile-avatar-status.saved { color: #28a745; }
.profile-avatar-status.error { color: #dc3545; }

/* NAV AVATAR CIRCLE */
.nav-avatar-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #0000cc;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    overflow: hidden;
    vertical-align: middle;
    margin-right: 6px;
    flex-shrink: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}
#navUserName {
    display: inline-flex;
    align-items: center;
}

/* MARKETPLACE DIRECTORY CARDS WITH AVATAR */
.dir-result-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.dir-card-avatar {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #0000cc, #4444ff);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 6px rgba(0,0,204,0.14);
}
.dir-card-avatar-img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 50%;
}
.dir-card-avatar-initials {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.5px;
}
.dir-card-body {
    flex: 1;
    min-width: 0;
}

/* PROFESSIONAL DETAIL PAGE AVATAR */
.prof-header-top {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 16px;
}
.dir-detail-avatar {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #0000cc, #4444ff);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 12px rgba(0,0,204,0.18);
}
.dir-detail-avatar-img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
}
.dir-detail-avatar-initials {
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
}

/* DARK MODE AVATAR ADJUSTMENTS */
body.dark-mode .profile-avatar-role-label { color: #c9d1d9; }
body.dark-mode .profile-avatar-hint { color: #8b949e; }
body.dark-mode .profile-avatar-section { border-bottom-color: #30363d; }

@media (max-width: 600px) {
    .profile-avatar-section { flex-direction: column; align-items: flex-start; gap: 14px; }
    .dir-card-avatar { width: 40px; height: 40px; }
    .dir-card-avatar-img { width: 40px; height: 40px; }
    .prof-header-top { flex-direction: column; gap: 12px; }
    .dir-detail-avatar { width: 64px; height: 64px; }
    .dir-detail-avatar-img { width: 64px; height: 64px; }
}

/* ============================================================
   PM HUB: METHOD SELECTION CARDS
   ============================================================ */
.pm-method-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1a1a2e;
    margin: 0 0 20px;
    text-align: center;
}
.pm-method-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 8px;
}
.pm-method-card {
    position: relative;
    border: 2px solid #e0e0f0;
    border-radius: 14px;
    padding: 24px 16px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
    background: #fff;
}
.pm-method-card:hover {
    border-color: #0000cc;
    box-shadow: 0 4px 18px rgba(0,0,204,0.12);
    transform: translateY(-2px);
}
.pm-method-card-disabled {
    cursor: not-allowed;
    background: #f9f9fc;
    opacity: 0.7;
}
.pm-method-card-disabled:hover {
    border-color: #e0e0f0;
    box-shadow: none;
    transform: none;
}
.pm-method-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #f0f0ff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}
.pm-method-card-disabled .pm-method-icon {
    background: #f0f0f0;
}
.pm-method-label {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1a1a2e;
}
.pm-method-desc {
    font-size: 0.8rem;
    color: #6e6e73;
    line-height: 1.4;
}
.pm-method-badge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    border-radius: 20px;
    padding: 3px 10px;
    letter-spacing: 0.3px;
    margin-top: 4px;
}
.pm-method-badge-rec {
    background: #e0f0ff;
    color: #0055cc;
}
.pm-method-badge-soon {
    background: #fff3cd;
    color: #7d4e00;
}

/* ============================================================
   PM HUB: ACKNOWLEDGEMENT SECTION
   ============================================================ */
.pm-ack-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    color: #0000cc;
    font-size: 0.88rem;
    cursor: pointer;
    padding: 0 0 16px;
    font-weight: 500;
}
.pm-ack-back-link:hover { text-decoration: underline; }
.pm-ack-box {
    background: #f8f8ff;
    border: 1.5px solid #d0d0f0;
    border-radius: 14px;
    padding: 28px 28px 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.pm-ack-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #e8e8ff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pm-ack-title {
    font-size: 1.08rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
}
.pm-ack-body {
    font-size: 0.88rem;
    color: #555;
    line-height: 1.65;
    margin: 0;
}
.pm-ack-check-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    background: #fff;
    border: 1.5px solid #c8c8e8;
    border-radius: 10px;
    padding: 14px 16px;
    width: 100%;
    box-sizing: border-box;
}
.pm-ack-check-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    accent-color: #0000cc;
    margin-top: 1px;
    cursor: pointer;
}
.pm-ack-check-label span {
    font-size: 0.88rem;
    color: #333;
    line-height: 1.5;
    font-weight: 500;
}
.pm-ack-continue-btn {
    width: 100%;
}
.pm-ack-continue-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* Dark mode */
body.dark-mode .pm-method-title { color: #c9d1d9; }
body.dark-mode .pm-method-card { background: #21262d; border-color: #30363d; }
body.dark-mode .pm-method-card:hover { border-color: #8888ff; }
body.dark-mode .pm-method-card-disabled { background: #1a1f2e; }
body.dark-mode .pm-method-label { color: #c9d1d9; }
body.dark-mode .pm-method-desc { color: #8b949e; }
body.dark-mode .pm-method-icon { background: #1a1f38; }
body.dark-mode .pm-ack-box { background: #1a1f2e; border-color: #2a3070; }
body.dark-mode .pm-ack-icon { background: #1a1f38; }
body.dark-mode .pm-ack-title { color: #c9d1d9; }
body.dark-mode .pm-ack-body { color: #8b949e; }
body.dark-mode .pm-ack-check-label { background: #21262d; border-color: #30363d; }
body.dark-mode .pm-ack-check-label span { color: #c9d1d9; }
body.dark-mode .pm-ack-back-link { color: #8888ff; }

@media (max-width: 700px) {
    .pm-method-cards { grid-template-columns: 1fr; gap: 12px; }
    .pm-ack-box { padding: 20px 16px 18px; }
}

/* ============================================================
   HOMEPAGE PRICING LAUNCH BANNER
   ============================================================ */
.pricing-launch-banner {
    margin: 0 0 60px;
    padding: 0 20px;
}
.pricing-launch-inner {
    display: flex;
    align-items: center;
    gap: 24px;
    background: #0000cc;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 20px;
    padding: 32px 40px;
    color: #fff;
    flex-wrap: wrap;
}
.pricing-free-pill {
    flex-shrink: 0;
    background: #fff;
    color: #0000cc;
    font-size: 1.4rem;
    font-weight: 900;
    border-radius: 50px;
    padding: 10px 28px;
    letter-spacing: 2px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
}
.pricing-launch-text {
    flex: 1;
    min-width: 200px;
}
.pricing-launch-heading {
    font-size: 1.25rem;
    font-weight: 800;
    margin: 0 0 6px;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.pricing-launch-sub {
    font-size: 0.9rem;
    color: rgba(255,255,255,0.85) !important;
    margin: 0;
}
@keyframes arrowPulse {
    0%, 100% { opacity: 1; transform: translateX(0); }
    50% { opacity: 0.3; transform: translateX(3px); }
}
.pricing-launch-cta {
    flex-shrink: 0;
    background: #fff !important;
    color: #0000cc !important;
    font-weight: 700;
    border: 2px solid #0000cc !important;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.pricing-launch-cta::after {
    content: '→';
    font-size: 1em;
    color: #0000cc;
    animation: arrowPulse 1.6s ease-in-out infinite;
}
.pricing-launch-cta:hover {
    background: rgba(255,255,255,0.92) !important;
}
.pricing-launch-cta:hover::after {
    animation: none;
    transform: translateX(4px);
    opacity: 1;
    transition: transform 0.2s ease;
}

/* ============================================================
   FULL PRICING PAGE
   ============================================================ */
.pricing-page {
    max-width: 900px;
    margin: 0 auto;
    padding: 60px 24px 80px;
}
.pricing-page-hero {
    text-align: center;
    margin-bottom: 48px;
    background: linear-gradient(135deg, #0000cc 0%, #1a1aff 40%, #4d4dff 100%);
    border-radius: 20px;
    padding: 50px 30px 40px;
    color: #fff;
}
.pricing-page-badge {
    display: inline-block;
    background: rgba(255,255,255,0.18);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 18px;
    border-radius: 50px;
    margin-bottom: 16px;
    border: 1px solid rgba(255,255,255,0.25);
}
.pricing-page-title {
    font-size: 2.4rem;
    font-weight: 800;
    color: #fff;
    margin: 0 0 12px;
}
.pricing-page-sub {
    font-size: 1.05rem;
    color: rgba(255,255,255,0.8);
    margin: 0;
}
.pricing-card-wrap {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 24px;
    align-items: start;
}
.pricing-card {
    border-radius: 20px;
    overflow: hidden;
}
.pricing-card-featured {
    background: #fff;
    border: 2px solid #0000cc;
    box-shadow: 0 8px 32px rgba(0,0,204,0.12);
    padding: 36px 32px 32px;
}
.pricing-card-top {
    margin-bottom: 28px;
}
.pricing-card-label {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #0000cc;
    margin-bottom: 12px;
}
.pricing-card-price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 10px;
}
.pricing-price-amount {
    font-size: 3.5rem;
    font-weight: 900;
    color: #0000cc;
    line-height: 1;
}
.pricing-price-period {
    font-size: 1rem;
    color: #6e6e73;
    font-weight: 500;
}
.pricing-card-tagline {
    font-size: 0.92rem;
    color: #444;
    margin: 0;
    font-style: italic;
}
.pricing-features-list {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.pricing-features-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    color: #333;
    font-weight: 500;
}
.pricing-page-cta {
    width: 100%;
    padding: 14px;
    font-size: 1rem;
    font-weight: 700;
}
.pricing-coming-soon-card {
    background: #f8f8ff;
    border: 1.5px solid #d0d0f0;
    border-radius: 20px;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}
.pricing-cs-badge {
    display: inline-block;
    background: #fff3e8;
    color: #b45309;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    border: 1px solid #fde8cc;
}
.pricing-cs-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #e8e8ff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pricing-cs-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
}
.pricing-cs-body {
    font-size: 0.88rem;
    color: #6e6e73;
    line-height: 1.6;
    margin: 0;
}
.pricing-cs-btn {
    width: 100%;
    text-align: center;
    margin-top: 4px;
}
.pricing-footnote {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 36px;
    font-size: 0.82rem;
    color: #aaa;
    text-align: center;
    justify-content: center;
}

/* Pilot card */
.pilot-card {
    background: linear-gradient(135deg, #0000cc 0%, #1a1aff 40%, #4d4dff 100%);
    border-radius: 20px;
    padding: 52px 48px 44px;
    margin-bottom: 0;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.pilot-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 70% 20%, rgba(100,100,255,0.18) 0%, transparent 60%);
    pointer-events: none;
}
.pilot-card-header {
    text-align: center;
    margin-bottom: 44px;
}
.pilot-active-pill {
    display: inline-block;
    background: rgba(255,255,255,0.15);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 20px;
    border: 1px solid rgba(255,255,255,0.2);
}
.pilot-card-title {
    font-size: 2rem;
    font-weight: 800;
    color: #fff;
    margin: 0 0 18px;
    line-height: 1.2;
    font-family: 'Space Grotesk', sans-serif;
}
.pilot-card-body {
    font-size: 1rem;
    color: rgba(255,255,255,0.80);
    line-height: 1.75;
    max-width: 600px;
    margin: 0 auto;
}
.pilot-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}
.pilot-detail-block {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 14px;
    padding: 24px 22px;
}
.pilot-detail-label {
    font-size: 0.70rem;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    margin-bottom: 16px;
}
.pilot-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.pilot-list li {
    font-size: 0.92rem;
    color: rgba(255,255,255,0.88);
    line-height: 1.5;
    padding: 6px 0 6px 20px;
    position: relative;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.pilot-list li:last-child {
    border-bottom: none;
}
.pilot-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 14px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,0.40);
}
.pilot-pricing-note {
    text-align: center;
    font-size: 0.88rem;
    color: rgba(255,255,255,0.55);
    line-height: 1.65;
    max-width: 560px;
    margin: 0 auto 32px;
    padding: 18px 24px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px;
    background: rgba(0,0,0,0.15);
}
.pilot-cta-btn {
    display: block;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
    text-align: center;
    background: #fff;
    color: #0000cc;
    font-weight: 700;
    font-size: 1rem;
    padding: 14px 32px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s;
}
.pilot-cta-btn:hover { opacity: 0.88; }
@media (max-width: 800px) {
    .pilot-card { padding: 36px 24px 32px; }
    .pilot-detail-grid { grid-template-columns: 1fr; gap: 16px; }
    .pilot-card-title { font-size: 1.5rem; }
}

/* Founding perks block (pricing page) */
.founding-perks-block {
    margin: 0 0 32px;
}
.founding-perks-highlight {
    display: flex;
    align-items: center;
    gap: 20px;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 14px;
    padding: 24px 28px;
    margin-bottom: 28px;
}
.founding-perks-highlight-number {
    font-size: 2.8rem;
    font-weight: 800;
    color: #fff;
    font-family: 'Space Grotesk', sans-serif;
    line-height: 1;
    white-space: nowrap;
}
.founding-perks-highlight-label {
    font-size: 0.97rem;
    color: rgba(255,255,255,0.82);
    line-height: 1.6;
}
.founding-perks-divider {
    height: 1px;
    background: rgba(255,255,255,0.12);
    margin-bottom: 24px;
}
.founding-perks-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}
.founding-perks-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.92rem;
    color: rgba(255,255,255,0.82);
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.founding-perks-list li:nth-last-child(-n+2) { border-bottom: none; }
.founding-perks-list li svg { flex-shrink: 0; }
@media (max-width: 640px) {
    .founding-perks-list { grid-template-columns: 1fr; }
    .founding-perks-list li:last-child { border-bottom: none; }
    .founding-perks-list li:nth-last-child(2) { border-bottom: 1px solid rgba(255,255,255,0.06); }
    .founding-perks-highlight { flex-direction: column; align-items: flex-start; gap: 8px; }
    .founding-perks-highlight-number { font-size: 2rem; }
}

/* Demo mode modal */
.demo-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.65);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(4px);
}
.demo-modal {
    background: #fff;
    border-radius: 20px;
    padding: 44px 40px 36px;
    max-width: 600px;
    width: 100%;
    text-align: center;
    box-shadow: 0 24px 80px rgba(0,0,0,0.22);
}
.demo-modal-badge {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #0000cc;
    background: #ebebff;
    padding: 4px 14px;
    border-radius: 20px;
    margin-bottom: 18px;
}
.demo-modal-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: #111;
    margin: 0 0 12px;
    line-height: 1.25;
}
.demo-modal-body {
    font-size: 0.93rem;
    color: #666;
    line-height: 1.65;
    margin: 0 0 28px;
}
.demo-persona-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.demo-persona-btn {
    background: #f8f8ff;
    border: 2px solid #e0e0ff;
    border-radius: 14px;
    padding: 22px 14px 18px;
    cursor: pointer;
    text-align: center;
    transition: border-color 0.18s, background 0.18s, transform 0.12s;
}
.demo-persona-btn:hover {
    border-color: #0000cc;
    background: #f0f0ff;
    transform: translateY(-2px);
}
.demo-persona-icon {
    width: 54px;
    height: 54px;
    background: #ebebff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
}
.demo-persona-name {
    font-size: 0.95rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 6px;
}
.demo-persona-desc {
    font-size: 0.78rem;
    color: #888;
    line-height: 1.4;
}
@media (max-width: 500px) {
    .demo-persona-grid { grid-template-columns: 1fr; }
    .demo-modal { padding: 32px 20px 28px; }
}

/* Demo mode banner */
.demo-banner {
    background: #0000cc;
    padding: 0;
    position: sticky;
    top: 0;
    z-index: 900;
}
.demo-banner-inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 8px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.demo-banner-left {
    display: flex;
    align-items: center;
    gap: 10px;
}
.demo-banner-pill {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    background: rgba(255,255,255,0.18);
    color: #fff;
    padding: 3px 10px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.25);
}
.demo-banner-persona {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.85);
    font-weight: 500;
}
.demo-banner-switcher {
    display: flex;
    gap: 6px;
}
.demo-switch-btn {
    font-size: 0.78rem;
    font-weight: 600;
    color: rgba(255,255,255,0.7);
    background: transparent;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 8px;
    padding: 4px 12px;
    cursor: pointer;
    transition: all 0.15s;
}
.demo-switch-btn:hover { background: rgba(255,255,255,0.12); color: #fff; }
.demo-switch-btn.active {
    background: #fff;
    color: #0000cc;
    border-color: #fff;
}
@media (max-width: 600px) {
    .demo-banner-inner { flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px 16px; }
}

/* Dark mode pricing */
body.dark-mode .pricing-page-title { color: #c9d1d9; }
body.dark-mode .pricing-page-sub { color: #8b949e; }
body.dark-mode .pricing-card-featured { background: #21262d; border-color: #4444ff; }
body.dark-mode .pricing-card-label { color: #8888ff; }
body.dark-mode .pricing-price-amount { color: #8888ff; }
body.dark-mode .pricing-card-tagline { color: #8b949e; }
body.dark-mode .pricing-features-list li { color: #c9d1d9; }
body.dark-mode .pricing-coming-soon-card { background: #1a1f2e; border-color: #2a3070; }
body.dark-mode .pricing-cs-title { color: #c9d1d9; }
body.dark-mode .pricing-cs-body { color: #8b949e; }
body.dark-mode .pricing-cs-icon { background: #1a1f38; }
body.dark-mode .pricing-page-badge { background: #1a1f38; color: #8888ff; }

@media (max-width: 700px) {
    .pricing-launch-inner { flex-direction: column; align-items: flex-start; padding: 24px 20px; gap: 16px; }
    .pricing-card-wrap { grid-template-columns: 1fr; }
    .pricing-page-title { font-size: 1.8rem; }
    .pricing-page { padding: 40px 16px 60px; }
}

/* ============================================================
   PM HUB: VERIFICATION LOOKUP TOOL
   ============================================================ */
.pmv-usecases {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid #eee;
}
.pmv-usecase {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.83rem;
    font-weight: 600;
    color: #444;
    background: #f4f4ff;
    border: 1px solid #d8d8f0;
    border-radius: 50px;
    padding: 7px 14px;
}
.pmv-lookup-box {
    margin-bottom: 20px;
}
.pmv-lookup-label {
    font-size: 0.92rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
}
.pmv-lookup-row {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}
.pmv-code-input {
    flex: 1;
    min-width: 200px;
    padding: 12px 16px;
    border: 2px solid #d0d0e8;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 1px;
    outline: none;
    transition: border-color 0.2s;
}
.pmv-code-input:focus { border-color: #0000cc; }
.pmv-lookup-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    padding: 12px 22px;
}
.pmv-qr-btn {
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    padding: 12px 18px;
}
.pmv-qr-scanner-wrap {
    margin: 16px 0;
    border: 2px solid #0000cc;
    border-radius: 14px;
    overflow: hidden;
    max-width: 480px;
}
.pmv-qr-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 16px;
    background: #0000cc;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
}
.pmv-qr-close {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 2px;
    opacity: 0.85;
}
.pmv-qr-close:hover { opacity: 1; }

/* Verification result card */
.pmv-result-wrap {
    margin-top: 20px;
}
.pmvr-card {
    background: #fff;
    border: 2px solid #0000cc;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 4px 20px rgba(0,0,204,0.1);
}
.pmvr-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.pmvr-verified-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #e8ffe8;
    color: #006622;
    font-size: 0.88rem;
    font-weight: 700;
    border-radius: 50px;
    padding: 6px 16px;
    border: 1px solid #b0e8b0;
}
.pmvr-line-badge {
    font-size: 0.8rem;
    font-weight: 700;
    border-radius: 50px;
    padding: 5px 14px;
    letter-spacing: 0.5px;
}
.pmvr-provider {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 20px;
}
.pmvr-fields {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
}
.pmvr-field-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0f0f8;
    gap: 16px;
}
.pmvr-field-label {
    font-size: 0.83rem;
    color: #888;
    font-weight: 500;
    flex-shrink: 0;
}
.pmvr-field-value {
    font-size: 0.92rem;
    font-weight: 600;
    color: #1a1a2e;
    text-align: right;
}
.pmvr-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.pmvr-ref {
    font-size: 0.78rem;
    color: #aaa;
    font-weight: 500;
}

.pmvr-card {
    padding: 0;
    overflow: hidden;
}
.pmvr-ins-card {
    padding: 20px;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.pmvr-section-hdr {
    padding: 9px 20px;
    background: #f4f5f9;
    border-left: 3px solid #0000cc;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #0000cc;
}
.pmvr-info-block {
    padding: 12px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.pmvr-info-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0f0f8;
}
.pmvr-info-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.pmvr-info-label {
    font-size: 12px;
    color: #888;
    font-weight: 500;
    flex-shrink: 0;
}
.pmvr-info-val {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a2e;
    text-align: right;
    word-break: break-word;
}
.pmvr-name {
    font-size: 15px;
    font-weight: 800;
    color: #1a1a2e;
}

/* Dark mode */
body.dark-mode .pmv-usecase { background: #1a1f2e; border-color: #2a3070; color: #c9d1d9; }
body.dark-mode .pmv-lookup-label { color: #c9d1d9; }
body.dark-mode .pmv-code-input { background: #21262d; border-color: #30363d; color: #c9d1d9; }
body.dark-mode .pmv-code-input:focus { border-color: #8888ff; }
body.dark-mode .pmv-usecases { border-bottom-color: #30363d; }
body.dark-mode .pmvr-card { background: #21262d; border-color: #4444ff; }
body.dark-mode .pmvr-provider { color: #c9d1d9; }
body.dark-mode .pmvr-field-row { border-bottom-color: #30363d; }
body.dark-mode .pmvr-field-value { color: #c9d1d9; }

@media (max-width: 600px) {
    .pmv-usecases { gap: 8px; }
    .pmv-lookup-row { flex-direction: column; }
    .pmv-code-input { width: 100%; }
    .pmv-lookup-btn, .pmv-qr-btn { width: 100%; justify-content: center; }
    .pmvr-field-row { flex-direction: column; gap: 2px; }
    .pmvr-field-value { text-align: left; }
}

/* Feature card stacked text layout */
.feature-card-stacked {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
}
.fcs-headline {
    font-size: 1rem;
    font-weight: 700;
    color: #0000cc;
}
.fcs-line {
    font-size: 0.88rem;
    font-weight: 400;
    color: #555;
    line-height: 1.4;
}
body.dark-mode .fcs-headline { color: #8888ff; }
body.dark-mode .fcs-line { color: #999; }

.fcs-caps {
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* New badge on selected feature cards */
.fc-new-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    background: #0000cc;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
body.dark-mode .fc-new-badge {
    background: #4444ff;
}

/* ==================== FEEDBACK MODAL ==================== */
.feedback-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(3px);
}
.feedback-modal-box {
    background: #fff;
    border-radius: 24px;
    padding: 48px 40px 36px;
    max-width: 460px;
    width: 100%;
    position: relative;
    text-align: center;
    box-shadow: 0 24px 64px rgba(0,0,204,0.15);
    animation: feedbackSlideIn 0.35s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes feedbackSlideIn {
    from { transform: translateY(30px) scale(0.95); opacity: 0; }
    to   { transform: translateY(0) scale(1); opacity: 1; }
}
.feedback-modal-close {
    position: absolute;
    top: 16px;
    right: 20px;
    background: none;
    border: none;
    font-size: 1.6rem;
    color: #aaa;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    transition: color 0.2s;
}
.feedback-modal-close:hover { color: #333; }
.feedback-modal-icon {
    width: 68px;
    height: 68px;
    background: #f0f2ff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}
.feedback-modal-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0 0 8px;
}
.feedback-modal-sub {
    font-size: 0.9rem;
    color: #666;
    margin: 0 0 24px;
    line-height: 1.5;
}
.feedback-stars {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 8px;
}
.feedback-star {
    font-size: 2.4rem;
    color: #ddd;
    cursor: pointer;
    transition: color 0.15s, transform 0.15s;
    line-height: 1;
}
.feedback-star:hover,
.feedback-star.active {
    color: #f5a623;
    transform: scale(1.15);
}
.feedback-star-label {
    font-size: 0.82rem;
    color: #888;
    margin: 0 0 16px;
    min-height: 18px;
}
.feedback-textarea {
    width: 100%;
    border: 1.5px solid #e0e0ee;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 0.9rem;
    font-family: inherit;
    resize: none;
    outline: none;
    transition: border-color 0.2s;
    margin-bottom: 20px;
    box-sizing: border-box;
    color: #333;
}
.feedback-textarea:focus { border-color: #0000cc; }
.feedback-modal-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.feedback-submit-btn {
    width: 100%;
    padding: 13px;
    font-size: 0.95rem;
}
.feedback-submit-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.feedback-skip-btn {
    background: none;
    border: none;
    color: #aaa;
    font-size: 0.85rem;
    cursor: pointer;
    padding: 4px;
    transition: color 0.2s;
}
.feedback-skip-btn:hover { color: #555; }
body.dark-mode .feedback-modal-box {
    background: #1c2033;
    box-shadow: 0 24px 64px rgba(0,0,0,0.5);
}
body.dark-mode .feedback-modal-title { color: #e6edf3; }
body.dark-mode .feedback-modal-sub { color: #8b949e; }
body.dark-mode .feedback-modal-icon { background: #1a1f3a; }
body.dark-mode .feedback-textarea {
    background: #21262d;
    border-color: #30363d;
    color: #c9d1d9;
}
body.dark-mode .feedback-star { color: #444; }
body.dark-mode .feedback-star-label { color: #666; }
@media (max-width: 500px) {
    .feedback-modal-box { padding: 40px 24px 28px; }
    .feedback-star { font-size: 2rem; }
}
/* ==================== END FEEDBACK MODAL ==================== */

/* ==================== WELCOME EXPERIENCE ==================== */
.welcome-exp-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    flex-direction: column;
}
.welcome-bg-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.welcome-confetti-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    display: none;
    z-index: 2;
}
.welcome-exp-inner {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 720px;
    width: 90%;
    padding: 40px 20px 60px;
}
@keyframes welAvatarPulse {
    0%, 100% { box-shadow: 0 4px 24px rgba(0,0,204,0.12); }
    50% { box-shadow: 0 4px 36px rgba(0,0,204,0.22); }
}
.welcome-logo-bg {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 1;
}
.welcome-logo-bg img {
    width: 72%;
    max-width: 580px;
    min-width: 300px;
    opacity: 0.09;
    object-fit: contain;
    mix-blend-mode: multiply;
}
.welcome-exp-avatar {
    width: 120px;
    height: 120px;
    background: #ffffff;
    border: 1.5px solid rgba(0,0,204,0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,204,0.1);
}
.welcome-avatar-logo {
    width: 90%;
    height: 90%;
    object-fit: contain;
    object-position: center center;
    mix-blend-mode: multiply;
}
.welcome-exp-brand {
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 2px;
    color: rgba(0,0,204,0.45);
    text-transform: uppercase;
    margin-bottom: 40px;
}
.welcome-exp-message {
    width: 100%;
    max-height: 55vh;
    overflow-y: auto;
    scrollbar-width: none;
    text-align: center;
    margin-bottom: 48px;
}
.welcome-exp-message::-webkit-scrollbar { display: none; }
.welcome-line {
    font-size: clamp(1.05rem, 2.5vw, 1.3rem);
    font-weight: 400;
    color: #1a1a4e;
    line-height: 1.75;
    margin: 0 0 20px;
    min-height: 1.75em;
}
.welcome-line-first {
    font-size: clamp(1.5rem, 4vw, 2.4rem);
    font-weight: 800;
    color: #0000cc;
    margin-bottom: 32px;
    letter-spacing: -0.5px;
}
.welcome-name-hl {
    color: #0000cc;
    font-weight: 700;
}
.welcome-cursor {
    display: inline-block;
    color: #0000cc;
    font-weight: 300;
    animation: welCursorBlink 0.75s step-end infinite;
    margin-left: 1px;
}
@keyframes welCursorBlink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}
.welcome-cursor.wel-typing {
    animation: none;
    opacity: 1;
}
.welcome-exp-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #0000cc;
    color: #fff;
    border: none;
    border-radius: 60px;
    padding: 16px 40px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 8px 32px rgba(0,0,204,0.3);
    letter-spacing: 0.3px;
}
.welcome-exp-btn:hover {
    background: #0000aa;
    transform: translateY(-2px);
    box-shadow: 0 14px 40px rgba(0,0,204,0.4);
}
.welcome-exp-btn:active { transform: translateY(0); }
@media (max-width: 600px) {
    .welcome-exp-inner { padding: 30px 16px 40px; }
    .welcome-line { font-size: 1rem; }
    .welcome-line-first { font-size: 1.6rem; }
    .welcome-exp-btn { padding: 14px 28px; font-size: 0.95rem; }
}
/* ==================== END WELCOME EXPERIENCE ==================== */

/* ==================== HOW IT WORKS ==================== */
.hiw-section {
    padding: 60px 24px;
    text-align: center;
    max-width: 960px;
    margin: 0 auto;
}
.hiw-steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 16px;
    margin-top: 40px;
    flex-wrap: wrap;
}
.hiw-step {
    flex: 1;
    min-width: 200px;
    max-width: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 28px 20px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 16px rgba(0,0,204,0.07);
    border: 1px solid #e8eaf6;
}
.hiw-num {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #0000cc;
    color: #fff;
    font-weight: 800;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.hiw-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: #f4f6ff;
    border-radius: 14px;
}
.hiw-step h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #111;
    margin: 0;
}
.hiw-step p {
    font-size: 0.88rem;
    color: #555;
    margin: 0;
    line-height: 1.5;
}
.hiw-arrow {
    font-size: 1.6rem;
    color: #0000cc;
    align-self: center;
    margin-top: -20px;
    flex-shrink: 0;
}
@media (max-width: 700px) {
    .hiw-arrow { transform: rotate(90deg); }
    .hiw-steps { flex-direction: column; align-items: center; }
    .hiw-step { max-width: 100%; width: 100%; }
}
/* ==================== HERO TRUST LINE ==================== */
.hero-trust-line {
    margin-top: 18px;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.75);
    letter-spacing: 0.2px;
}
/* ==================== END HOW IT WORKS ==================== */

/* ==================== HERO SUBTITLE ==================== */
.hero-subtitle {
    font-size: 1rem;
    color: rgba(255,255,255,0.82);
    margin-top: 10px;
    margin-bottom: 4px;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
    font-weight: 400;
}
/* ==================== SKIP TO CONTENT ==================== */
.skip-to-content {
    position: absolute;
    top: -100px;
    left: 16px;
    background: #0000cc;
    color: #fff;
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    z-index: 99999;
    transition: top 0.2s;
}
.skip-to-content:focus { top: 16px; }
/* ==================== END ==================== */

/* ==================== HERO HOOK ==================== */
.hero-hook {
    font-size: clamp(0.95rem, 1.5vw, 1.15rem);
    font-weight: 600;
    color: rgba(255,255,255,1);
    letter-spacing: 0.3px;
    margin: 0 auto 10px;
    max-width: 560px;
    line-height: 1.5;
    animation: heroFadeUp 0.8s ease 0.3s both;
}
/* ==================== END HERO HOOK ==================== */

/* ==================== SPACE GROTESK HERO TITLE ==================== */
.hero-gradient-text {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
}
/* ==================== TESTIMONIAL INITIALS ==================== */
.testimonial-initials {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.8rem;
    color: #fff;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}
/* ==================== HERO SCAN LINE ==================== */
.hero-scan-line {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    font-size: 0.8rem;
    color: rgba(255,255,255,0.65);
    gap: 2px;
}
/* ==================== END ==================== */

/* ==================== HERO SPLIT LAYOUT ==================== */
.hero-content.hero-split {
    max-width: 1100px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 56px;
    text-align: left;
}
.hero-left {
    flex: 1;
    min-width: 0;
    max-width: 560px;
}
.hero-left .hero-badge,
.hero-left .hero-hook,
.hero-left .hero-title-animated,
.hero-left .hero-tagline,
.hero-left .hero-buttons,
.hero-left .hero-trust-line {
    text-align: left;
}
.hero-left .hero-buttons {
    justify-content: flex-start;
}
.hero-right {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* ==================== HERO SCANNER CARD ==================== */
.hero-scanner-card {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 22px;
    padding: 22px 20px 18px;
    width: 220px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3), 0 0 0 1px rgba(255,255,255,0.05);
}
.hero-scan-label {
    text-align: center;
    color: rgba(255,255,255,0.55);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    font-weight: 600;
    margin-bottom: 14px;
}
.hero-scanner-frame {
    position: relative;
    width: 180px;
    height: 180px;
    margin: 0 auto 14px;
    background: rgba(0,0,0,0.25);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Corner brackets */
.hero-scanner-corner {
    position: absolute;
    width: 22px;
    height: 22px;
    border-color: rgba(255,255,255,0.9);
    border-style: solid;
    z-index: 3;
}
.hero-corner-tl { top: 10px; left: 10px; border-width: 3px 0 0 3px; border-radius: 4px 0 0 0; }
.hero-corner-tr { top: 10px; right: 10px; border-width: 3px 3px 0 0; border-radius: 0 4px 0 0; }
.hero-corner-bl { bottom: 10px; left: 10px; border-width: 0 0 3px 3px; border-radius: 0 0 0 4px; }
.hero-corner-br { bottom: 10px; right: 10px; border-width: 0 3px 3px 0; border-radius: 0 0 4px 0; }
/* Scan beam */
.hero-scan-beam {
    position: absolute;
    left: 8%;
    width: 84%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.9) 40%, rgba(180,180,255,1) 50%, rgba(255,255,255,0.9) 60%, transparent 100%);
    box-shadow: 0 0 10px 3px rgba(150,150,255,0.5), 0 0 22px 8px rgba(100,100,255,0.25);
    animation: heroScanBeam 2.2s ease-in-out infinite;
    z-index: 4;
}
@keyframes heroScanBeam {
    0%   { top: 10%; }
    50%  { top: 84%; }
    100% { top: 10%; }
}
/* Verified row */
.hero-scan-verified {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px;
    padding: 9px 12px;
}
.hero-scan-verified-check {
    width: 26px;
    height: 26px;
    background: #00b341;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.hero-scan-verified-text strong {
    display: block;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.3;
}
.hero-scan-verified-text span {
    color: rgba(255,255,255,0.45);
    font-size: 0.58rem;
    font-family: 'Courier New', monospace;
    letter-spacing: 0.3px;
    white-space: nowrap;
}
/* Mobile: stack vertically, hide scanner */
@media (max-width: 860px) {
    .hero-content.hero-split {
        flex-direction: column;
        gap: 32px;
        text-align: center;
    }
    .hero-left .hero-badge,
    .hero-left .hero-hook,
    .hero-left .hero-title-animated,
    .hero-left .hero-tagline,
    .hero-left .hero-buttons,
    .hero-left .hero-trust-line {
        text-align: center;
    }
    .hero-left .hero-buttons {
        justify-content: center;
    }
    .hero-right {
        display: none;
    }
}
/* ==================== END HERO SPLIT ==================== */

/* ==================== HERO LEFT TEXT FIX ==================== */
.hero-left .hero-hook {
    margin: 0 0 10px;
    max-width: none;
}
.hero-left .hero-tagline {
    margin: 0 0 28px;
    max-width: none;
    font-style: italic;
}
.hero-left .hero-trust-line {
    justify-content: flex-start;
    margin-top: 14px;
}

/* ==================== PREMIUM FEATURE CARDS ==================== */
.feature-card-premium {
    display: flex;
    flex-direction: column;
    padding: 32px 28px 28px;
    gap: 0;
    border-radius: 20px;
    background: linear-gradient(135deg, #0000cc 0%, #1a1aff 40%, #4d4dff 100%);
    border: 1px solid rgba(255,255,255,0.15);
    box-shadow: 0 2px 16px rgba(0,0,80,0.12);
    transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}
.feature-card-premium:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0,0,204,0.25);
    border-color: rgba(255,255,255,0.35);
}
.fcp-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    flex-shrink: 0;
}
.feature-card-premium h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff !important;
    margin: 0 0 12px;
    line-height: 1.3;
    white-space: normal !important;
    text-transform: none !important;
}
.fcp-desc {
    font-size: 0.97rem;
    color: #fff !important;
    line-height: 1.65;
    margin: 0 0 20px !important;
    flex: 1;
    opacity: 1 !important;
    max-height: none !important;
    overflow: visible !important;
}
.fcp-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #fff !important;
    margin-top: auto;
    opacity: 1 !important;
    max-height: none !important;
}
.feature-card-premium:hover .fcp-cta svg {
    transform: translateX(3px);
    transition: transform 0.2s;
}

/* ==================== PREMIUM HOW IT WORKS ==================== */
.hiw-section.hiw-premium {
    padding: 64px 0 48px;
}
.hiw-header {
    text-align: center;
    margin-bottom: 48px;
}
.hiw-cards {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    max-width: 960px;
    margin: 0 auto;
}
.hiw-card {
    flex: 1;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 20px;
    padding: 32px 28px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.2);
    position: relative;
    transition: transform 0.35s cubic-bezier(0.4,0,0.2,1), box-shadow 0.35s ease;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    min-height: 120px;
    overflow: hidden;
    cursor: default;
}
.hiw-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(0,0,0,0.35);
}
.hiw-card-step {
    font-size: 5rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -2px;
    line-height: 1;
    margin-bottom: 0;
    opacity: 1;
    font-family: 'Space Grotesk', sans-serif;
    transition: font-size 0.35s ease, margin-bottom 0.35s ease;
}
.hiw-card:hover .hiw-card-step {
    font-size: 3.5rem;
    margin-bottom: 18px;
}
.hiw-card-icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}
.hiw-card h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    line-height: 1.3;
    width: 100%;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: translateY(8px);
    transition: opacity 0.35s ease, max-height 0.4s ease, transform 0.35s ease, margin 0.35s ease;
}
.hiw-card:hover h3 {
    opacity: 1;
    max-height: 80px;
    transform: translateY(0);
    margin: 0 0 10px;
}
.hiw-card p {
    font-size: 0.875rem;
    color: #fff;
    line-height: 1.65;
    margin: 0;
}
.hiw-card-desc {
    font-size: 0.875rem;
    color: #fff;
    line-height: 1.65;
    margin: 0;
    width: 100%;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: translateY(8px);
    transition: opacity 0.4s ease 0.05s, max-height 0.45s ease 0.05s, transform 0.4s ease 0.05s;
}
.hiw-card:hover .hiw-card-desc {
    opacity: 1;
    max-height: 120px;
    transform: translateY(0);
}
@media (max-width: 760px) {
    .hiw-card-desc {
        opacity: 1;
        max-height: none;
        transform: none;
    }
}
.hiw-points {
    margin: 0;
    padding: 0 0 0 16px;
    list-style: disc;
    font-size: 0.875rem;
    color: #fff;
    line-height: 1.7;
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: left;
    width: 100%;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: translateY(8px);
    transition: opacity 0.4s ease 0.05s, max-height 0.45s ease 0.05s, transform 0.4s ease 0.05s;
}
.hiw-card:hover .hiw-points {
    opacity: 1;
    max-height: 220px;
    transform: translateY(0);
}
.hiw-points li {
    padding-left: 2px;
}
.hiw-card-connector {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 0;
    flex-shrink: 0;
    width: 52px;
    justify-content: center;
    position: relative;
    padding-top: 20px;
}
.hiw-connector-line {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(255,255,255,0.15);
}
@media (max-width: 760px) {
    .hiw-cards {
        flex-direction: column;
        gap: 16px;
    }
    .hiw-card-connector {
        transform: rotate(90deg);
        width: auto;
        height: 32px;
        padding: 0;
    }
    .hiw-connector-line {
        top: 0;
        bottom: 0;
        left: 50%;
        right: auto;
        width: 1px;
        height: 100%;
    }
    .hiw-card {
        justify-content: flex-start;
        padding-top: 28px;
        min-height: unset;
    }
    .hiw-card-step {
        margin-bottom: 16px;
    }
    .hiw-card h3 {
        opacity: 1;
        max-height: 80px;
        transform: none;
        margin: 0 0 10px;
    }
    .hiw-points {
        opacity: 1;
        max-height: 220px;
        transform: none;
    }
}

/* ==================== PREMIUM BOTTOM CTA ==================== */
.bottom-cta-section.bottom-cta-premium {
    background: linear-gradient(135deg, #0000cc 0%, #1a1aff 40%, #4d4dff 100%);
    border-radius: 24px;
    padding: 80px 40px;
    text-align: center;
    margin-bottom: 40px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,160,0.25);
}
.bottom-cta-glow {
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(120,80,255,0.35) 0%, transparent 70%);
    top: -180px;
    right: -100px;
    pointer-events: none;
}
.bottom-cta-section.bottom-cta-premium::before {
    content: '';
    position: absolute;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,180,255,0.15) 0%, transparent 70%);
    bottom: -150px;
    left: -80px;
    pointer-events: none;
}
.bottom-cta-eyebrow {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #fff;
    margin-bottom: 16px;
}
.bottom-cta-section.bottom-cta-premium .bottom-cta-content h2 {
    font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin-bottom: 16px !important;
    line-height: 1.2 !important;
}
.bottom-cta-section.bottom-cta-premium .bottom-cta-content p {
    font-size: 1rem !important;
    color: #fff !important;
    max-width: 520px !important;
    margin: 0 auto 36px !important;
    line-height: 1.7 !important;
}
.bottom-cta-btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 28px;
}
.btn-cta-white {
    background: #fff;
    color: #0000cc;
    padding: 14px 32px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.95rem;
    border: none;
    cursor: pointer;
    transition: all 0.25s;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}
.btn-cta-white:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(0,0,0,0.18);
}
.btn-cta-outline {
    background: transparent;
    color: #fff;
    padding: 14px 32px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.95rem;
    border: 2px solid rgba(255,255,255,0.35);
    cursor: pointer;
    transition: all 0.25s;
}
.btn-cta-outline:hover {
    border-color: rgba(255,255,255,0.7);
    background: rgba(255,255,255,0.08);
}
.bottom-cta-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}
.bottom-cta-trust span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    color: rgba(255,255,255,0.92);
    font-weight: 500;
}
.bottom-cta-trust svg {
    color: #fff;
    flex-shrink: 0;
}
/* ==================== END SITE UPGRADE BATCH 1 ==================== */

/* ==================== HERO ANIMATION DELAY FIX ==================== */
.hero-left .hero-badge { animation-delay: 0s !important; }
.hero-left .hero-hook { animation-delay: 0s !important; }
.hero-left .hero-title-animated { animation-delay: 0.08s !important; }
.hero-left .hero-tagline { animation-delay: 0.14s !important; }
.hero-left .hero-buttons { animation-delay: 0.2s !important; }
.hero-left .hero-trust-line { animation-delay: 0.24s !important; }

/* ==================== TESTIMONIALS HEADING ==================== */
.testimonials-heading {
    text-align: center;
    margin-bottom: 36px;
}
.testimonials-eyebrow {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.8px;
    color: #0000cc;
    opacity: 0.6;
    margin-bottom: 10px;
}
.testimonials-title {
    font-size: clamp(1.3rem, 2.5vw, 1.9rem);
    font-weight: 800;
    color: #0a0a2e;
    margin: 0;
    line-height: 1.2;
}
.testimonials-subtitle {
    font-size: 0.93rem;
    color: #555;
    margin: 12px auto 0;
    max-width: 560px;
    line-height: 1.6;
}

/* ==================== ABOUT SECTION HEADER ==================== */
.about-section-header {
    text-align: center;
    margin-bottom: 36px;
    margin-top: 48px;
}
.about-eyebrow {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #0000cc;
    opacity: 0.55;
    margin-bottom: 10px;
}
.about-section-header h2 {
    font-size: clamp(1.3rem, 2.5vw, 1.8rem);
    font-weight: 800;
    color: #0a0a2e;
    margin: 0 0 10px;
    line-height: 1.2;
}
.about-section-header p {
    font-size: 0.95rem;
    color: #5a6080;
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.65;
}

/* ==================== ABOUT ICON CARDS ==================== */
.contact-info-card.contact-info-card-icon {
    display: flex;
    flex-direction: column;
}
.cicard-icon {
    width: 48px;
    height: 48px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    flex-shrink: 0;
}
.contact-info-card.contact-info-card-icon h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
}
.contact-info-card.contact-info-card-icon p {
    font-size: 0.875rem;
    color: rgba(255,255,255,0.85);
    line-height: 1.65;
    margin: 0;
}

/* ==================== PRICING BANNER — SLIM STRIP ==================== */
.pricing-launch-inner {
    padding: 22px 36px;
    border-radius: 16px;
    gap: 20px;
}
.pricing-free-pill {
    font-size: 1.1rem;
    padding: 8px 22px;
    border-radius: 40px;
}
.pricing-launch-heading {
    font-size: 1.1rem;
}
.pricing-launch-cta {
    padding: 10px 24px !important;
    font-size: 0.9rem !important;
    border-radius: 10px !important;
}

/* ==================== ECOSYSTEM MOBILE OVERLAY ==================== */
@media (max-width: 640px) {
    .ecosystem-card-overlay {
        opacity: 1;
        background: linear-gradient(to top, rgba(0,0,80,0.85) 0%, rgba(0,0,80,0.4) 60%, transparent 100%);
    }
    .ecosystem-card-overlay h3,
    .ecosystem-card-overlay p {
        opacity: 1;
    }
}
/* ==================== END BATCH 2 ==================== */

/* ==================== CTA FOOTNOTE ==================== */
.bottom-cta-footnote {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.42);
    margin: 0;
    letter-spacing: 0.2px;
}
/* ==================== END ==================== */

/* ==================== AUTH REDIRECT BANNER ==================== */
.auth-redirect-banner {
    background: #f0f4ff;
    border: 1px solid #c7d4ff;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.85rem;
    color: #0000cc;
    margin-bottom: 14px;
    line-height: 1.4;
}
/* ==================== END ==================== */

/* ==================== HERO VALUE PROP REDESIGN ==================== */
.hero-eyebrow-brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: rgba(255,255,255,0.55);
    margin-bottom: 20px;
    animation: heroFadeUp 0.6s ease both;
}
.hero-value-prop {
    font-size: clamp(2rem, 4.2vw, 3.1rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    letter-spacing: -0.5px;
    max-width: 520px;
    margin: 0 0 20px;
    animation: heroFadeUp 0.8s ease 0.08s both;
}
.hero-desc-main {
    font-size: clamp(0.92rem, 1.4vw, 1.02rem);
    color: rgba(255,255,255,0.92);
    max-width: 440px;
    line-height: 1.75;
    margin: 0 0 32px;
    animation: heroFadeUp 0.8s ease 0.16s both;
    font-style: normal;
    font-weight: 500;
}
.hero-left .hero-eyebrow-brand,
.hero-left .hero-value-prop,
.hero-left .hero-desc-main,
.hero-left .hero-buttons,
.hero-left .hero-trust-line {
    text-align: left;
}
/* ==================== END HERO VALUE PROP ==================== */

/* ==================== HERO VALUE PROP 2-LINE OVERRIDE ==================== */
.hero-value-prop {
    font-size: clamp(2.2rem, 4.8vw, 3.6rem) !important;
    max-width: 580px !important;
}
/* ==================== END ==================== */

/* ==================== HERO 2-LINE LAYOUT FIX ==================== */
.hero-value-prop {
    font-size: clamp(1.7rem, 3.1vw, 2.35rem) !important;
    max-width: 680px !important;
    letter-spacing: -0.3px !important;
}
.hero-left {
    max-width: 680px !important;
}
/* ==================== END ==================== */

/* ==================== HERO EYEBROW BRAND ELEVATED ==================== */
.hero-eyebrow-brand {
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    letter-spacing: 3px !important;
    color: rgba(255,255,255,0.82) !important;
    margin-bottom: 52px !important;
    gap: 0 !important;
}
/* ==================== END ==================== */

/* ==================== HERO SPACING + SCANNER ALIGNMENT ==================== */
.hero-eyebrow-brand {
    font-size: 0.94rem !important;
    font-weight: 800 !important;
    letter-spacing: 3.5px !important;
    color: rgba(255,255,255,0.85) !important;
    margin-bottom: 110px !important;
    gap: 0 !important;
}
.hero-content.hero-split {
    align-items: flex-start !important;
}
.hero-right {
    padding-top: 130px;
}
/* ==================== END ==================== */

/* ==================== HERO CENTERED BRAND LAYOUT ==================== */
.hero-centered-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 1100px !important;
    gap: 0 !important;
}
.hero-brand-center-block {
    text-align: center;
    padding: 48px 0 56px;
}
.hero-brand-imposing {
    font-family: 'Space Grotesk', 'Inter', sans-serif;
    font-size: clamp(2.6rem, 6vw, 5rem);
    font-weight: 800;
    letter-spacing: 6px;
    color: #fff;
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 16px;
}
.hero-tagline-center {
    font-size: clamp(0.9rem, 1.6vw, 1.1rem);
    font-weight: 500;
    letter-spacing: 1.5px;
    color: #fff;
    text-transform: uppercase;
}
.hero-bottom-split {
    display: flex;
    align-items: flex-start;
    gap: 56px;
}
.hero-bottom-split .hero-left {
    flex: 1;
    min-width: 0;
    max-width: 680px !important;
    text-align: left;
}
.hero-bottom-split .hero-right {
    flex-shrink: 0;
    padding-top: 0;
}
/* ==================== END ==================== */

/* ==================== HERO BRAND NAME TOP EDGE ==================== */
.hero-brand-center-block {
    padding: 4px 0 110px !important;
}
.hero-brand-imposing {
    font-size: clamp(0.85rem, 1.4vw, 1.05rem) !important;
    font-weight: 800 !important;
    letter-spacing: 5px !important;
    color: #fff !important;
    margin-bottom: 8px !important;
}
.hero-tagline-center {
    font-size: 0.72rem !important;
    letter-spacing: 2px !important;
    color: #fff !important;
}
/* ==================== END ==================== */

/* ==================== HERO SCANNER BIGGER ==================== */
.hero-scanner-card {
    width: 270px !important;
}
.hero-scanner-frame {
    width: 220px !important;
    height: 220px !important;
}
/* ==================== END ==================== */

/* ==================== HERO TRUST TRIO ==================== */
.hero-trust-trio {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    font-size: 0.7rem !important;
    color: rgba(255,255,255,0.45) !important;
    font-style: normal !important;
}
.hero-trust-trio span {
    white-space: nowrap;
}
.hero-trust-sep {
    color: rgba(255,255,255,0.2) !important;
    font-weight: 300 !important;
}
/* ==================== END ==================== */

/* ==================== ABOUT PAGE TRUST TRIO ==================== */
.about-trust-trio {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: nowrap;
    white-space: nowrap;
    font-size: 0.78rem;
    font-weight: 500;
    color: #555;
    letter-spacing: 0.2px;
    padding: 14px 20px;
    background: #f4f6ff;
    border-radius: 12px;
    margin-bottom: 28px;
    font-family: 'Inter', sans-serif;
}
.about-trust-trio span {
    white-space: nowrap;
}
.about-trust-sep {
    color: #ccc;
    font-weight: 300;
}
/* ==================== END ==================== */

/* ==================== ABOUT PAGE UNIFIED SECTION STYLES ==================== */
.about-mission,
.about-section-header {
    text-align: center;
    margin-bottom: 36px;
    margin-top: 48px;
}
.about-mission .about-eyebrow,
.about-section-header .about-eyebrow {
    display: block !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #0000cc !important;
    opacity: 1 !important;
    margin-bottom: 16px !important;
}
.about-name-story .about-eyebrow {
    display: block !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #fff !important;
    opacity: 1 !important;
    margin-bottom: 20px !important;
}
.about-eyebrow-light {
    display: block !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #fff !important;
    margin-bottom: 16px !important;
    opacity: 1 !important;
}
.about-mission h2,
.about-section-header h2,
.about-values h2 {
    font-family: 'Inter', sans-serif !important;
    font-size: clamp(1.4rem, 2.5vw, 1.9rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.2px !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
}
.about-mission h2 {
    color: #0a0a2e !important;
}
.about-mission p,
.about-section-header p {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    color: #5a6080 !important;
    line-height: 1.7 !important;
    max-width: 540px !important;
    margin: 0 auto !important;
    white-space: normal !important;
    font-weight: 400 !important;
}
.about-name-story p,
.about-name-story p strong,
.about-name-story p em {
    color: #fff !important;
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
    max-width: 640px !important;
    font-weight: 400 !important;
}
.about-name-story p strong {
    font-weight: 700 !important;
}
.about-values h2 {
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    color: #fff !important;
}
/* ==================== END ==================== */

/* ==================== VERIFICATION CONFIG PANEL ==================== */
.vc-panel {
    background: #fff;
    border: 1.5px solid #e0e0f0;
    border-radius: 14px;
    padding: 28px 24px;
    margin: 28px 0 20px;
    box-shadow: 0 2px 12px rgba(0,0,204,0.06);
}
.vc-panel-header { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
.vc-panel-title { font-size: 1.1rem; font-weight: 700; color: #0a0a2e; letter-spacing: -0.01em; margin-bottom: 4px; }
.vc-panel-sub { font-size: 0.85rem; color: #6670a0; line-height: 1.5; }
.vc-section { margin-bottom: 22px; }
.vc-section-label { font-size: 0.8rem; font-weight: 700; color: #0000cc; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 5px; }
.vc-section-sub { font-size: 0.8rem; color: #888; margin-bottom: 12px; line-height: 1.4; }
.vc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vc-chip { display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border-radius: 20px; font-size: 0.78rem; font-weight: 500; background: #f0f4ff; color: #3344cc; border: 1.5px solid #d0d8ff; }
.vc-chip-locked { background: #f5f5fa; color: #5a6080; border-color: #dde0ee; }
.vc-chip-locked svg { opacity: 0.55; }
.vc-toggles { display: flex; flex-wrap: wrap; gap: 9px; }
.vc-toggle { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 22px; font-size: 0.82rem; font-weight: 500; background: #f5f5fa; color: #6670a0; border: 1.5px solid #dde0ee; cursor: pointer; transition: all 0.18s ease; line-height: 1; }
.vc-toggle:hover { border-color: #aab0e0; color: #3344cc; }
.vc-toggle-dot { width: 10px; height: 10px; border-radius: 50%; background: #ccd0e8; border: 1.5px solid #aab0e0; flex-shrink: 0; transition: all 0.15s ease; }
.vc-toggle-on { background: #f0f4ff; color: #0000cc; border-color: #0000cc; }
.vc-toggle-on .vc-toggle-dot { background: #0000cc; border-color: #0000cc; }
.vc-generate-btn { width: 100%; margin-top: 10px; padding: 13px; font-size: 0.95rem; font-weight: 600; border-radius: 10px; }
.vc-success { background: #f0f4ff; border: 1.5px solid #c8d4ff; border-radius: 14px; padding: 28px 24px; text-align: center; margin: 28px 0 20px; }
.vc-success-label { font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #0000cc; margin-bottom: 10px; }
.vc-success-code { font-size: 2rem; font-weight: 800; color: #0a0a2e; letter-spacing: 0.1em; margin-bottom: 6px; font-family: 'Inter', monospace; }
.vc-success-ref { font-size: 0.75rem; color: #888; margin-bottom: 6px; }
.vc-success-url { font-size: 0.78rem; color: #6670a0; word-break: break-all; margin-top: 4px; }
.vc-setup-nudge { background: #fffbf0; border: 1.5px solid #ffe4a0; border-radius: 10px; padding: 18px 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.vc-setup-nudge-text { font-size: 0.85rem; color: #5a4800; line-height: 1.5; }
.qrc-acc-setup-badge { display: inline-block; padding: 2px 8px; border-radius: 8px; background: #fff4cc; color: #8a6800; font-size: 0.7rem; font-weight: 600; border: 1px solid #f0d060; letter-spacing: 0.03em; vertical-align: middle; margin-left: 4px; }

/* ==================== VERIFICATION SUCCESS QR ==================== */
.vc-success-qr-wrap {
    margin: 16px auto 14px;
    text-align: center;
}
.vc-success-qr {
    width: 160px;
    height: 160px;
    border-radius: 12px;
    border: 2px solid #e0e8ff;
    display: block;
    margin: 0 auto 8px;
    background: #f8f9ff;
}
.vc-success-scan-label {
    font-size: 0.72rem;
    color: #888;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.vc-success-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 16px;
    flex-wrap: wrap;
}

/* ==================== VERIF ADJUST SECTION ==================== */
.qpc-adjust-section {
    padding: 14px 16px 8px;
    border-top: 1px solid #f0f0f8;
}
.qpc-adjust-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #f0f4ff;
    border: 1.5px solid #0000cc;
    color: #0000cc;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    padding: 9px 18px;
    border-radius: 8px;
    transition: background 0.15s, color 0.15s;
    width: 100%;
    justify-content: center;
    letter-spacing: 0.01em;
}
.qpc-adjust-btn:hover {
    background: #0000cc;
    color: #fff;
}
.qpc-adjust-panel { margin-top: 14px; }
.vc-setup-context { padding: 8px 0 4px; }
.vc-no-extras {
    font-size: 0.84rem;
    color: #888;
    padding: 10px 0 4px;
    font-style: italic;
}

/* =============================================
   SEE FULL ANALYSIS GATE
   ============================================= */
.see-full-analysis {
    text-align: center;
    padding: 40px 20px 36px;
    margin: 8px 0 0;
}
.sfa-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #0000cc;
    color: #fff;
    border: none;
    padding: 14px 32px;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    letter-spacing: 0.01em;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 18px rgba(0,0,204,0.22);
}
.sfa-btn:hover {
    background: #0000aa;
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(0,0,204,0.3);
}
.sfa-sub {
    margin: 12px 0 0;
    font-size: 0.85rem;
    color: #888;
    font-weight: 400;
}
.full-analysis-content { margin-top: 8px; }

/* =============================================
   SECTION FLAG — SOMETHING LOOKS WRONG
   ============================================= */
.s-card-flag {
    margin-top: 20px;
    padding-top: 14px;
    border-top: 1px solid #f0f0f0;
    text-align: right;
}
.s-flag-btn {
    background: none;
    border: none;
    font-size: 0.8rem;
    color: #aaa;
    cursor: pointer;
    padding: 4px 0;
    font-family: inherit;
    transition: color 0.15s;
    letter-spacing: 0.01em;
}
.s-flag-btn:hover { color: #cc3300; }
@keyframes cardFlagPulse {
    0%   { box-shadow: inset 0 0 0 2px rgba(204,51,0,0); }
    40%  { box-shadow: inset 0 0 0 2px rgba(204,51,0,0.5); }
    100% { box-shadow: inset 0 0 0 2px rgba(204,51,0,0); }
}
.s-card-flagged { animation: cardFlagPulse 1s ease 3; }

/* =============================================
   TRUST PAGE
   ============================================= */
.trust-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 860px;
    margin: 40px auto 0;
    padding: 0 20px;
}
.trust-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 16px;
    padding: 28px 26px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
    transition: box-shadow 0.2s;
}
.trust-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.09); }
.trust-card-wide {
    grid-column: 1 / -1;
}
.trust-card h3 {
    font-size: 1.35rem;
    font-weight: 800;
    color: #0000cc;
    margin: 0 0 14px;
    letter-spacing: -0.01em;
}
.trust-card p {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.7;
    margin: 0;
}
.trust-footer-note {
    text-align: center;
    padding: 36px 20px 48px;
    color: #666;
    font-size: 0.9rem;
}
@media (max-width: 640px) {
    .trust-grid { grid-template-columns: 1fr; }
    .trust-card-wide { grid-column: 1; }
}

/* =============================================
   ABOUT — NAME STORY
   ============================================= */
.about-name-story {
    border-top: 1px solid rgba(255,255,255,0.12);
    margin-top: 32px;
    padding-top: 32px;
}
.about-name-story em {
    font-style: italic;
    opacity: 0.9;
}

/* =============================================
   COVERAGE SCOPE NOTE
   ============================================= */
.coverage-scope-note {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}
.coverage-scope-note .csn-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(0,0,204,0.09);
    color: #0000cc;
    border-radius: 20px;
    padding: 3px 10px 3px 7px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    white-space: nowrap;
}
.coverage-scope-note .csn-pill svg {
    flex-shrink: 0;
}
.coverage-scope-note .csn-soon {
    font-size: 0.75rem;
    color: #888;
    font-weight: 500;
    padding-left: 2px;
}
/* Hero variant — white pills on blue bg */
.hero .coverage-scope-note .csn-pill {
    background: rgba(255,255,255,0.18);
    color: #fff;
}
.hero .coverage-scope-note .csn-soon {
    color: rgba(255,255,255,0.65);
}
/* Upload area variant */
.upload-scope-note {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
    margin-top: 10px;
}
.upload-scope-note .csn-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #f0f0ff;
    color: #0000cc;
    border-radius: 20px;
    padding: 3px 10px 3px 7px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}
.upload-scope-note .csn-soon {
    font-size: 0.73rem;
    color: #999;
    font-weight: 500;
}
body.dark-mode .coverage-scope-note .csn-pill {
    background: rgba(100,120,255,0.18);
    color: #99aaff;
}
body.dark-mode .coverage-scope-note .csn-soon {
    color: #888;
}
body.dark-mode .upload-scope-note .csn-pill {
    background: rgba(100,120,255,0.15);
    color: #99aaff;
}

/* ================================================================
   PREMIUM REDESIGN v236 — Deep Navy Foundation
   Remove all electric blue backgrounds. Brand blue = accent only.
   Deep navy (#050e1f) for dark sections. Pure white for content.
   ================================================================ */

/* --- BLOBS & PARTICLES: GONE ---------------------------------- */
.hero-blob,
.hero-blob-1,
.hero-blob-2,
.hero-blob-3,
.hero-canvas {
    display: none !important;
    animation: none !important;
}
.welcome-bg-canvas {
    display: none !important;
}

/* --- HERO ---------------------------------------------------- */
.hero.hero-cinematic {
    background: #0000cc !important;
    border-radius: 20px;
    box-shadow: 0 20px 80px rgba(0,0,0,0.35);
}

.hero-gradient-text {
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: #ffffff !important;
    background-clip: initial !important;
    animation: none !important;
    color: #ffffff !important;
    font-size: clamp(2rem, 5.5vw, 3.6rem) !important;
    font-weight: 900 !important;
    letter-spacing: -1.5px !important;
}

.hero-line {
    font-size: clamp(1.8rem, 4.5vw, 3rem) !important;
    font-weight: 900 !important;
    letter-spacing: -1px !important;
    line-height: 1.08 !important;
    color: #ffffff !important;
}

.hero p,
.hero .hero-tagline {
    font-style: normal !important;
    color: rgba(255,255,255,0.7) !important;
    font-size: 1.05rem !important;
    line-height: 1.65 !important;
}

.hero-tagline-caps {
    color: rgba(255,255,255,0.55) !important;
    letter-spacing: 2.5px !important;
}

.hero-badge {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    color: rgba(255,255,255,0.85) !important;
}

.hero-social-proof {
    opacity: 0.65;
}

/* --- NAV ------------------------------------------------------ */
nav {
    background: rgba(255,255,255,0.92) !important;
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
}

/* --- WHY SECTION --------------------------------------------- */
.why-section {
    background: #ffffff !important;
    border: 1px solid #e8ecf2 !important;
    border-radius: 20px !important;
}

.why-section .section-heading {
    color: #ffffff !important;
}

.why-section .section-subheading {
    color: #ffffff !important;
}

/* --- TRUST STATS SECTION ------------------------------------- */
.trust-stats {
    background: #0000cc !important;
    box-shadow: 0 8px 48px rgba(0,0,0,0.28) !important;
    border-radius: 20px !important;
}

.trust-stat-divider {
    background: rgba(255,255,255,0.1) !important;
}

/* --- COMPARISON SECTION -------------------------------------- */
.comparison-section {
    background: transparent !important;
    border: none !important;
}

.comparison-section-title {
    color: #ffffff !important;
}

.comparison-section-sub {
    color: #ffffff !important;
}

/* --- TESTIMONIALS -------------------------------------------- */
.testimonials-section {
    background: #f7f8fc !important;
    border: 1px solid #e8ecf2 !important;
    border-radius: 20px !important;
}

/* --- FAQ SECTION --------------------------------------------- */
.faq-item {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
}

.faq-item:hover {
    border-color: rgba(0,0,204,0.2) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.07) !important;
    transform: none;
}

.faq-item.active {
    border-color: rgba(0,0,204,0.3) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
    background: #fafbff !important;
}

.faq-question {
    color: #0f172a !important;
}

.faq-toggle {
    color: #94a3b8 !important;
}

.faq-answer {
    color: #64748b !important;
}

/* --- BOTTOM CTA SECTION ------------------------------------- */
.bottom-cta-section,
.bottom-cta-section.bottom-cta-premium {
    background: #0000cc !important;
    box-shadow: 0 8px 60px rgba(0,0,0,0.25) !important;
    border-radius: 20px !important;
}

.bottom-cta-glow {
    display: none !important;
}

.bottom-cta-section.bottom-cta-premium::before {
    display: none !important;
}

/* --- LIVE STAT CARDS ----------------------------------------- */
.live-stat-card {
    border: 1px solid #e8ecf2 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

.live-stat-card:hover {
    border-color: rgba(0,0,204,0.15) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
}

.live-stat-count {
    color: #0000cc !important;
}

/* --- FOOTER -------------------------------------------------- */
.site-footer {
    background: #0000cc !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
}

.footer-col h4 {
    color: rgba(255,255,255,0.5) !important;
    font-size: 0.72rem !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
}

.footer-col a {
    color: rgba(255,255,255,0.65) !important;
}

.footer-col a:hover {
    color: #ffffff !important;
}

.footer-col-brand p {
    color: rgba(255,255,255,0.5) !important;
}

.footer-logo span {
    color: rgba(255,255,255,0.9) !important;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.07) !important;
}

.footer-bottom p {
    color: rgba(255,255,255,0.35) !important;
    font-size: 0.78rem !important;
}

/* --- SECTION HEADINGS ---------------------------------------- */
.section-heading {
    font-size: clamp(1.6rem, 3.2vw, 2.4rem);
    font-weight: 800;
    letter-spacing: -0.5px;
    line-height: 1.12;
}

.section-subheading {
    font-size: 1.0rem;
    line-height: 1.65;
}

/* --- HOW IT WORKS BANNER ------------------------------------- */
.simplify-hiw-banner {
    background: #f8f9fc !important;
    border: 1px solid #e8ecf2 !important;
}

.simplify-hiw-title {
    color: #0000cc !important;
}

/* --- PARTNER LOGOS ------------------------------------------ */
.partner-logo-placeholder {
    background: #f8f9fc !important;
    border: 1px solid #e8ecf2 !important;
    color: #b0b8c8 !important;
}

/* --- COOKIE CONSENT ----------------------------------------- */
.cookie-consent {
    background: #0000cc !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
}

/* --- AI DEMO WINDOW TITLEBAR -------------------------------- */
.ai-demo-titlebar {
    background: rgba(0,0,180,0.5) !important;
}

/* --- WHY CARD HOVER ----------------------------------------- */
.why-card:hover {
    border-color: rgba(0,0,204,0.15) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08) !important;
}

/* --- COMPARISON EYEBROW PILL -------------------------------- */
.comparison-section-eyebrow {
    background: rgba(0,0,204,0.08) !important;
    color: #0000cc !important;
    border: 1px solid rgba(0,0,204,0.15) !important;
}

/* --- MEDIA SECTION ------------------------------------------ */
.media-section {
    background: #f7f8fc !important;
    border: 1px solid #e8ecf2 !important;
    border-radius: 20px !important;
}

/* --- BACK TO TOP BUTTON ------------------------------------- */
.back-to-top {
    background: #0000cc !important;
    box-shadow: 0 3px 16px rgba(0,0,0,0.25) !important;
}

.back-to-top:hover {
    box-shadow: 0 5px 24px rgba(0,0,0,0.35) !important;
}

/* --- HOW IT WORKS SECTION BACKGROUND ----------------------- */
.how-it-works-section {
    background: transparent;
}

/* --- VERIFICATION HIW LABEL PILLS -------------------------- */
.ver-hiw-label-policyholder {
    background: #eef0ff !important;
    color: #0000cc !important;
}

/* --- HERO BUTTONS REFINEMENT -------------------------------- */
.btn-hero {
    font-weight: 700 !important;
    letter-spacing: 0.1px !important;
}

/* --- PREMIUM PAGE BODY BACKGROUND -------------------------- */
.page-wrapper,
.page-body {
    background: #ffffff;
}

/* --- HERO ACTUAL CLASS OVERRIDES (correct class names) ------ */
.hero-value-prop {
    font-size: clamp(2.1rem, 4.2vw, 3.2rem) !important;
    font-weight: 900 !important;
    letter-spacing: -0.8px !important;
    color: #ffffff !important;
    max-width: 600px !important;
    line-height: 1.1 !important;
}

.hero-desc-main {
    color: rgba(255,255,255,0.82) !important;
    font-style: normal !important;
    font-size: 1.0rem !important;
    line-height: 1.72 !important;
    font-weight: 400 !important;
}

.hero-brand-imposing {
    font-size: clamp(2.6rem, 6vw, 5rem) !important;
    letter-spacing: 6px !important;
    color: #1d1d1f !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    margin-bottom: 16px !important;
}
.brand-k {
    color: #0000cc;
    position: relative;
    z-index: 2;
}
.brand-que {
    color: rgba(29,29,31,0.13);
    position: relative;
    z-index: 1;
    letter-spacing: 6px;
}

.hero-tagline-center {
    font-size: clamp(0.82rem, 1.4vw, 1rem) !important;
    letter-spacing: 2.5px !important;
    color: #6e6e73 !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
}

/* --- HERO SCANNER CARD — Apple White Theme ---------------- */
.hero-scanner-card {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.10), 0 2px 8px rgba(0,0,0,0.06) !important;
}
.hero-scan-label {
    color: #0000cc !important;
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
}
.hero-scanner-frame {
    background: #f5f5f7 !important;
}
.hero-scanner-corner {
    border-color: #0000cc !important;
}
.hero-scan-beam {
    background: linear-gradient(90deg, transparent 0%, rgba(0,0,204,0.6) 40%, #0000cc 50%, rgba(0,0,204,0.6) 60%, transparent 100%) !important;
    box-shadow: 0 0 10px 3px rgba(0,0,204,0.3), 0 0 22px 8px rgba(0,0,204,0.12) !important;
}
.hero-qr-img {
    width: 86%;
    height: 86%;
    object-fit: contain;
    display: block;
    z-index: 2;
    position: relative;
    border-radius: 6px;
}
.hero-scan-verified {
    background: rgba(0,179,65,0.08) !important;
    border: 1px solid rgba(0,179,65,0.25) !important;
    padding: 5px 8px !important;
    gap: 6px !important;
    border-radius: 7px !important;
}
.hero-scan-verified-check {
    width: 18px !important;
    height: 18px !important;
}
.hero-scan-verified-check svg {
    width: 10px !important;
    height: 10px !important;
}
.hero-scan-verified-text strong {
    color: #1d1d1f !important;
    font-size: 0.62rem !important;
}
.hero-scan-verified-text span {
    color: #6e6e73 !important;
    font-size: 0.52rem !important;
    font-family: 'Courier New', monospace !important;
    letter-spacing: 0.2px !important;
}
.hero-scan-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #e8e8ed;
}
.hero-scan-brand-logo {
    height: 18px;
    width: auto;
    object-fit: contain;
}
.hero-scan-brand-name {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #0000cc;
    text-transform: uppercase;
}

/* --- HERO BUTTONS: FOUNDING MEMBER = BRAND BLUE ------------ */
.hero-buttons .about-cta-loggedout,
.hero-buttons .about-cta-loggedin {
    background: #0000cc !important;
    color: #ffffff !important;
    border: none !important;
}

.hero-buttons .about-cta-loggedout:hover,
.hero-buttons .about-cta-loggedin:hover {
    background: #0000aa !important;
}

/* ================================================================
   INTERIOR PAGES — Consistent Premium Redesign
   All hero banners, cards, and section backgrounds unified.
   ================================================================ */

/* --- BODY BACKGROUND: PURE WHITE EVERYWHERE ----------------- */
body {
    background: #ffffff !important;
}

/* --- SHARED PAGE HERO BANNERS (Contact, Learn More, About) -- */
.contact-hero {
    background: #0000cc !important;
    border-radius: 20px !important;
}

.contact-hero h1 {
    color: #ffffff !important;
    font-size: 2.4rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
}

.contact-hero p {
    color: rgba(255,255,255,0.65) !important;
    font-style: normal !important;
}

/* --- PRICING PAGE HERO -------------------------------------- */
.pricing-page {
    padding-top: 0 !important;
}

.pricing-page-hero {
    background: #0000cc !important;
    border-radius: 20px !important;
    margin-top: -25px !important;
}

.pricing-page-badge {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: rgba(255,255,255,0.75) !important;
}

.pricing-page-title {
    color: #ffffff !important;
    font-size: clamp(2rem, 4vw, 3rem) !important;
    font-weight: 900 !important;
    letter-spacing: -0.5px !important;
    text-transform: none !important;
}

.pricing-page-sub {
    color: rgba(255,255,255,0.62) !important;
}

/* --- PILOT CARD (Pricing Page Main Card) -------------------- */
.pilot-card {
    background: #0000cc !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
}

.pilot-card::before {
    display: none !important;
}

.pilot-active-pill {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    color: rgba(255,255,255,0.65) !important;
}

/* --- WAITLIST PAGE HERO ------------------------------------- */
.waitlist-hero {
    background: #0000cc !important;
    border-radius: 20px !important;
    margin-top: -25px !important;
}

.waitlist-hero::before {
    display: none !important;
}

.waitlist-hero-badge {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
}

/* --- CONTACT INFO CARDS ------------------------------------- */
.contact-info-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.contact-info-card:hover {
    border-color: rgba(0,0,204,0.2) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
    transform: none !important;
}

.contact-info-card h3 {
    color: #0f172a !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

.contact-info-card p {
    color: #64748b !important;
}

.contact-link {
    color: #0000cc !important;
}

.contact-link:hover {
    color: #0000aa !important;
    text-decoration: underline !important;
}

.contact-info-icon {
    background: #f0f0ff !important;
}

/* --- CONTACT FORM SECTION — white card style --------------- */
.contact-form-section {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    border-radius: 16px !important;
    padding: 40px 36px !important;
    margin-top: 32px !important;
}

.contact-form-section h2 {
    color: #1d1d1f !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    margin-bottom: 6px !important;
}

.contact-form-desc {
    color: #6e6e73 !important;
    margin-bottom: 24px !important;
}

/* --- CONTACT FORM INPUTS — dark text on white bg ----------- */
.contact-input,
.contact-textarea {
    border: 1px solid #d2d2d7 !important;
    background: #ffffff !important;
    color: #1d1d1f !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 0.95rem !important;
}

.contact-input::placeholder,
.contact-textarea::placeholder {
    color: #a1a1a6 !important;
}

.contact-input:focus,
.contact-textarea:focus {
    border-color: #0000cc !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(0,0,204,0.1) !important;
    outline: none !important;
}

.contact-submit-btn {
    background: #0000cc !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 14px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    width: 100% !important;
    margin-top: 8px !important;
}

.contact-success {
    background: #f0fdf4 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    margin-top: 16px !important;
    text-align: center !important;
}

/* --- PRICING — "1 Year" block: blue bg + white text -------- */
.founding-perks-highlight {
    background: #0000cc !important;
    border: 1px solid #0000cc !important;
}
.founding-perks-highlight-number,
.fm-year-number {
    color: #ffffff !important;
}
.founding-perks-highlight-label,
.fm-year-label {
    color: #ffffff !important;
}

/* --- PRICING — blue dot before each perk item -------------- */
.perks-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #0000cc !important;
    margin-right: 10px;
    flex-shrink: 0;
    vertical-align: middle;
    min-width: 8px;
}
.founding-perks-list li {
    display: flex !important;
    align-items: center !important;
    color: #1d1d1f !important;
    border-bottom: 1px solid #e8e8ed !important;
}
.founding-perks-list li:nth-last-child(-n+2) {
    border-bottom: none !important;
}
.founding-perks-divider {
    background: #e8e8ed !important;
}

/* --- PRICING — note bar: blue bg + white text --------------- */
.pilot-pricing-note {
    background: #0000cc !important;
    border: none !important;
    color: #ffffff !important;
    font-weight: 500 !important;
}

/* --- FOOTER CTA BUTTONS — white bg + blue text (all CTAs) -- */
.btn-cta-blue,
.btn-cta-white,
.btn-cta-outline {
    background: #ffffff !important;
    color: #0000cc !important;
    border: 2px solid #ffffff !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
}
.btn-cta-blue:hover,
.btn-cta-white:hover,
.btn-cta-outline:hover {
    background: rgba(255,255,255,0.9) !important;
    color: #0000cc !important;
}

/* --- ABOUT CTA SECTION -------------------------------------- */
.about-cta {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
}

.about-cta h3 {
    color: #0f172a !important;
}

/* --- ABOUT PHOTO HERO OVERLAY ------------------------------ */
.about-photo-overlay {
    background: linear-gradient(
        160deg,
        rgba(5,14,31,0.80) 0%,
        rgba(5,14,31,0.65) 50%,
        rgba(5,14,31,0.82) 100%
    ) !important;
}

/* --- BOTTOM CTA: BLUE BUTTON -------------------------------- */
.btn-cta-blue {
    background: #ffffff;
    color: #0000cc;
    padding: 14px 32px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.95rem;
    border: none;
    cursor: pointer;
    transition: all 0.25s;
    box-shadow: none;
}

.btn-cta-blue:hover {
    background: rgba(255,255,255,0.88);
    color: #0000cc;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

/* --- LEARN MORE PAGE HEADER --------------------------------- */
.lm-page-header {
    text-align: center;
    padding: 52px 24px 44px;
    margin-bottom: 32px;
    background: #0000cc;
    border-radius: 20px;
}

.lm-page-header .section-heading {
    color: #ffffff !important;
    font-size: 2.4rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 10px;
}

.lm-page-header .section-subheading {
    color: rgba(255,255,255,0.62);
    margin-bottom: 0;
}

/* --- FOUNDING MEMBER SECTION (Waitlist Page) ---------------  */
.founding-member-inner {
    background: #0000cc !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
}

.founding-member-inner::before {
    display: none !important;
}

.founding-member-badge {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
}

/* --- LAVENDER TINT SECTIONS → CLEAN WHITE/SUBTLE GRAY ------- */
.comparison-section {
    background: #f8f9fc !important;
}

/* --- FORM CONTAINERS ON INTERIOR PAGES --------------------- */
.form-container {
    background: transparent !important;
}


/* ============================================================
   WE.ARE.PRATIK — APPLE WHITE THEME  v262
   Background: #ffffff everywhere
   Text:       #1d1d1f primary | #6e6e73 secondary
   Brand blue: #0000cc — accent only (buttons, tabs, footer)
   NO black. NO bright blue backgrounds outside accent zones.
   This block is the single master theme. Last rule wins.
   ============================================================ */

/* ── 1. GLOBAL RESET ──────────────────────────────────────── */
body, html {
    background: #ffffff !important;
    color: #1d1d1f !important;
}
h1, h2, h3, h4, h5, h6 {
    color: #1d1d1f !important;
}
p {
    color: #424245 !important;
}
a {
    color: #0000cc;
}
li, td, th, dt, dd, figcaption, blockquote, caption {
    color: #1d1d1f !important;
}
label {
    color: #1d1d1f !important;
}
.section-heading {
    color: #1d1d1f !important;
}
.section-subheading, .section-eyebrow, .section-label {
    color: #6e6e73 !important;
}

/* ── 2. NAV — Apple Exact ─────────────────────────────────── */
#navbar, .nav-wrapper, .navbar, .nav-bar, .top-nav,
nav:not(.breadcrumb):not(.pagination), header.site-header {
    background: rgba(255,255,255,0.80) !important;
    backdrop-filter: saturate(180%) blur(20px) !important;
    -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
    border-bottom: 1px solid rgba(0,0,0,0.10) !important;
    box-shadow: none !important;
}
.nav-inner {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
/* All nav links → dark Apple text */
.nav-center a, .nav-center .nav-link,
.nav-links a, .nav-menu a,
.nav-item a, .nav-public-link,
.nav-auth-link, .nav-user-link, .nav-menu-link {
    color: #1d1d1f !important;
    font-size: 0.86rem !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
    opacity: 1 !important;
}
.nav-center a:hover, .nav-links a:hover,
.nav-item a:hover, .nav-public-link:hover {
    color: #0000cc !important;
}
/* "Get Started" → solid blue pill */
.nav-get-started, a.nav-get-started, button.nav-get-started {
    background: #0000cc !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 980px !important;
    padding: 7px 16px !important;
    font-size: 0.86rem !important;
    font-weight: 600 !important;
}
/* "Sign In" → outlined blue pill */
.nav-sign-in, .nav-signin-btn, a.nav-signin-btn {
    color: #0000cc !important;
    border: 1px solid #0000cc !important;
    background: transparent !important;
    border-radius: 980px !important;
    padding: 6px 16px !important;
    font-size: 0.86rem !important;
    font-weight: 600 !important;
}
/* "Request Demo" → outlined blue pill */
.nav-demo-link, .nav-demo-btn, a.nav-demo-link {
    color: #0000cc !important;
    border: 1px solid #0000cc !important;
    background: transparent !important;
    border-radius: 980px !important;
    padding: 6px 14px !important;
    font-size: 0.86rem !important;
    font-weight: 600 !important;
}
.nav-avatar-circle {
    background: #0000cc !important;
    color: #ffffff !important;
}

/* ── 3. PAGE BODY & WRAPPERS ──────────────────────────────── */
.page-wrapper, .page-content, .main-content,
.dashboard-root, .app-root, .site-root,
.content-area, .inner-wrap, .container,
.dashboard-grid, .dashboard-layout,
.page-inner, .page-body {
    background: #ffffff !important;
    color: #1d1d1f !important;
}

/* ── 4. HERO SECTION ─────────────────────────────────────── */
.hero, .hero-section, .hero.hero-cinematic,
.page-hero, .home-hero, .splash-hero {
    background: #ffffff !important;
    color: #1d1d1f !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.hero::before, .hero::after,
.hero-section::before, .hero-section::after {
    display: none !important;
    background: none !important;
    content: none !important;
}
.hero-title-animated, .hero-title, .hero h1, .hero h2 {
    color: #1d1d1f !important;
}
.hero p, .hero-tagline, .hero-sub, .hero-sub-text,
.hero-tagline-caps {
    color: #424245 !important;
}
.hero-badge {
    background: #f5f5f7 !important;
    color: #0000cc !important;
    border: 1px solid #e8e8ed !important;
}
.hero-badge-dot {
    background: #0000cc !important;
}
.hero-social-proof, .hero-social-proof span {
    color: #6e6e73 !important;
}
.splash-bar-bg {
    background: #f5f5f7 !important;
}
.splash-bar-fill {
    background: #0000cc !important;
}

/* ── 5. SECTION BACKGROUNDS ──────────────────────────────── */
.why-section, .features-section, .about-section,
.comparison-section, .ecosystem-section,
.testimonials-section, .contact-section, .contact-hero,
.contact-form-section, .demo-section, .waitlist-section,
.pricing-section, .simplify-section, .verification-section,
.learn-more-section, .lm-page, .lm-section,
.about-page, .about-name-story, .about-photo-hero,
.about-values, .about-mission, .about-team,
.hiw-section, .simplify-hiw-section, .ver-hiw-section,
.faq-section, .bottom-cta-section, .pilot-stats-section,
.demo-banner, .lm-page-header, .policy-lookup-section,
.marketplace-section, .market-page, .insurance-page,
.profile-page, .notifications-page, .messages-page,
.news-page, .policy-link-page, .claim-page,
.waitlist-page, .admin-page, .interior-page {
    background: #ffffff !important;
    color: #1d1d1f !important;
}
.why-section .section-heading,
.features-section .section-heading,
.comparison-section .section-heading,
.testimonials-section .section-heading,
.ecosystem-section .section-heading {
    color: #1d1d1f !important;
}
.why-section .section-subheading,
.features-section .section-subheading,
.comparison-section .section-subheading {
    color: #6e6e73 !important;
}

/* ── 6. CARDS ────────────────────────────────────────────── */
.why-card, .feature-card, .testimonial-card,
.stat-card, .dash-card, .live-stat-card,
.market-card, .notification-item, .message-item,
.news-card, .waitlist-feature-card, .wl-benefits-card,
.insurance-line-card, .policy-select-card,
.pm-value-item, .pm-intro-card,
.prof-roles-guide, .rrp-card, .rrp-item,
.renewal-item, .verify-policy-card, .verification-card,
.qr-policy-card, .summary-qr-card,
.manual-vehicle-card, .manual-result-box,
.ver-lookup-box, .ver-lookup-result-card,
.key-stat-item, .key-stats-dashboard,
.gap-analyzer, .sa-card, .coverage-visual-bars,
.risk-gauge-container, .iq-sidebar-panel,
.policy-card, .policy-card-inner, .sim-card,
.s-card, .s-card-body, .section-1-card .section-body,
.claim-card, .claim-section, .profile-card, .profile-panel,
.prof-section, .pay-card, .msg-card,
.notif-card, .ec-card, .ec-info-section,
.entry-method-card, .nl-form-card,
.admin-summary-modal, .admin-modal-inner,
.timeline-item, .plg-card,
.comparison-dual .comparison-table-wrapper,
.comp-col-old, .comp-col-new,
.lm-comparison-section, .lm-comp-table,
.eco-outcome, .ecosystem-card,
.founding-member-inner, .founding-member-cta,
.waitlist-signup-section, .waitlist-promo-item,
.renewal-reminders-panel, .smart-search-bar,
.policy-timeline, .pm-section-panel, .pm-tab-panel,
.policy-detail-panel, .sim-output-panel,
.plg-year-label, .audit-item,
.policy-lookup-result, .ver-detail-box,
.cp-results, .cp-sel,
.dir-card, .dir-detail-panel,
.lm-hero-card, .lm-value-card {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    color: #1d1d1f !important;
}

/* Card headings + text */
.why-card h3, .why-card h4, .why-card p,
.feature-card h3, .feature-card p,
.testimonial-card h4, .testimonial-card p,
.stat-card h3, .stat-card p, .stat-card span,
.dash-card h3, .dash-card p, .dash-card span,
.live-stat-card h3, .live-stat-card p,
.market-card h3, .market-card p, .market-card span,
.news-card h3, .news-card p, .news-card span,
.policy-card h3, .policy-card h4, .policy-card p,
.s-card h3, .s-card h4, .s-card p, .s-card span,
.s-card-body p, .s-card-body span, .s-card-body li,
.verification-card h3, .verification-card h4,
.verification-card p, .verification-card span,
.verify-policy-card p, .verify-policy-card span,
.sa-card h3, .sa-card h4, .sa-card p, .sa-card span,
.gap-analyzer h3, .gap-analyzer h4, .gap-analyzer p,
.key-stats-dashboard h3, .key-stats-dashboard h4,
.key-stats-dashboard p, .key-stats-dashboard span,
.iq-sidebar-panel h3, .iq-sidebar-panel p,
.risk-gauge-container h3, .risk-gauge-container p {
    color: #1d1d1f !important;
}

/* ── 7. MODAL ─────────────────────────────────────────────── */
.modal, .modal-overlay, .modal-backdrop {
    background: rgba(0,0,0,0.4) !important;
}
.modal-content, .modal-inner, .modal-box,
.admin-summary-modal, .admin-modal-inner {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.12) !important;
    color: #1d1d1f !important;
}
.modal-content h1, .modal-content h2, .modal-content h3,
.modal-content h4, .modal-content p, .modal-content span,
.modal-content label, .modal-content li {
    color: #1d1d1f !important;
}
.modal-close {
    color: #6e6e73 !important;
}

/* ── 8. FORMS & INPUTS ────────────────────────────────────── */
.form-container {
    background: transparent !important;
}
.form-container h1, .form-container h2, .form-container h3,
.form-container h4, .form-container h5, .form-container h6,
.form-container p, .form-container span, .form-container label,
.form-container li, .form-container small,
.form-container a:not(.btn) {
    color: #1d1d1f !important;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="range"]),
select, textarea,
.fm-input, .contact-input, .demo-input, .waitlist-input,
.search-input, .otp-input, .ver-lookup-input,
.dir-search-input, .news-search-input,
.policy-link-input, .claim-input,
.market-search-input, .profile-input {
    background: #ffffff !important;
    border: 1px solid #d2d2d7 !important;
    color: #1d1d1f !important;
    border-radius: 12px !important;
}
input::placeholder, textarea::placeholder,
.fm-input::placeholder, .contact-input::placeholder,
.demo-input::placeholder, .waitlist-input::placeholder {
    color: #a1a1a6 !important;
}
input:focus, select:focus, textarea:focus,
.fm-input:focus, .contact-input:focus,
.demo-input:focus, .waitlist-input:focus {
    border-color: #0000cc !important;
    box-shadow: 0 0 0 3px rgba(0,0,204,0.12) !important;
    outline: none !important;
}
.form-label, .input-label, .field-label {
    color: #1d1d1f !important;
}

/* ── 9. BUTTONS ──────────────────────────────────────────── */
.btn, button[type="submit"],
.btn-primary, .btn-waitlist, .btn-hero,
.ai-send-btn, .btn-ec-scan, .btn-ec-use,
.btn-policy-add, .btn-claim, .btn-verify,
.btn-waitlist-card, .btn-sim,
.newsletter-btn, .subscribe-btn,
.footer-nl-btn, .back-to-top {
    background: #0000cc !important;
    color: #ffffff !important;
    border: 1px solid #0000cc !important;
    border-radius: 12px !important;
}
.btn:hover, .btn-primary:hover, .btn-waitlist:hover {
    background: #0000aa !important;
    border-color: #0000aa !important;
    color: #ffffff !important;
}
.btn-outline, .btn-secondary, .btn-light,
.btn-ghost, .btn-cancel {
    background: #ffffff !important;
    color: #0000cc !important;
    border: 1px solid #0000cc !important;
    border-radius: 12px !important;
}
.btn-outline:hover, .btn-secondary:hover {
    background: #f0f0ff !important;
}
.btn-danger {
    background: #dc2626 !important;
    color: #ffffff !important;
    border-color: #dc2626 !important;
}

/* ── 10. TABS & PILLS ────────────────────────────────────── */
.tab-btn, .tab-button, .filter-btn, .ver-sub-tab,
.news-cat-btn, .news-country-btn, .manual-line-btn,
.policy-tab, .admin-tab-btn, .dash-tab,
.pm-tab, .claim-tab, .market-tab,
.line-select-btn, .cp-tab, .lm-tab {
    background: #f5f5f7 !important;
    color: #1d1d1f !important;
    border: 1px solid #e8e8ed !important;
    border-radius: 20px !important;
}
.tab-btn.active, .tab-button.active, .filter-btn.active,
.ver-sub-tab.active, .news-cat-btn.active, .news-country-btn.active,
.manual-line-btn.selected, .manual-line-btn.active,
.policy-tab.active, .admin-tab-btn.active, .dash-tab.active,
.pm-tab.active, .market-tab.active,
.line-select-btn.active, .line-select-btn.selected,
.cp-tab.active, .lm-tab.active {
    background: #0000cc !important;
    color: #ffffff !important;
    border-color: #0000cc !important;
}
.admin-tabs {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
}

/* Pills / eyebrow labels */
.section-pill, .eyebrow-pill, .label-pill,
.feature-badge, .fc-new-badge, .line-badge,
.em-recommended-badge, .ai-agent-badge,
.pilot-badge, .founding-badge,
.verify-badge, .sim-badge, .policy-badge,
.status-pill, .role-pill {
    background: #f5f5f7 !important;
    color: #0000cc !important;
    border: 1px solid #e8e8ed !important;
    border-radius: 20px !important;
}

/* ── 11. TABLE / ADMIN ───────────────────────────────────── */
.admin-table {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
}
.admin-table th {
    background: #0000cc !important;
    color: #ffffff !important;
}
.admin-table td {
    background: #ffffff !important;
    color: #1d1d1f !important;
    border-bottom: 1px solid #f0f0f5 !important;
}
.admin-table tr:hover td {
    background: #f5f5f7 !important;
}

/* ── 12. HOW IT WORKS / STEPS ───────────────────────────── */
.hiw-step, .hiw-card, .simplify-hiw-step,
.ver-hiw-step {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}
.hiw-num, .hiw-step-number, .manual-step-num {
    background: #0000cc !important;
    color: #ffffff !important;
}
.hiw-step-label, .hiw-step-title, .hiw-step-desc,
.simplify-hiw-title, .simplify-hiw-sub,
.ver-hiw-label-policyholder, .ver-hiw-label-pro {
    color: #1d1d1f !important;
}

/* ── 13. FAQ ─────────────────────────────────────────────── */
.faq-item {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
}
.faq-question {
    color: #1d1d1f !important;
}
.faq-answer {
    color: #424245 !important;
}
.faq-icon {
    color: #0000cc !important;
}

/* ── 14. COMPARISON TABLE ────────────────────────────────── */
.comparison-table th, .comp-head-new {
    background: #0000cc !important;
    color: #ffffff !important;
}
.comparison-table td {
    background: #ffffff !important;
    color: #1d1d1f !important;
    border: 1px solid #e8e8ed !important;
}
.comp-check { color: #0000cc !important; }
.comp-x { color: #dc2626 !important; }
.comp-txt-old { color: #6e6e73 !important; }
.comp-txt-new { color: #1d1d1f !important; }

/* ── 15. TESTIMONIALS ────────────────────────────────────── */
.testimonial-card {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
}
.testimonial-card blockquote, .testimonial-text,
.testimonial-quote {
    color: #1d1d1f !important;
}
.testimonial-author, .testimonial-name { color: #1d1d1f !important; }
.testimonial-role, .testimonial-meta { color: #6e6e73 !important; }
.testimonials-nav-btn {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    color: #1d1d1f !important;
}

/* ── 16. FOOTER — keep blue ──────────────────────────────── */
.site-footer, footer {
    background: #0000cc !important;
    color: #ffffff !important;
}
.site-footer h4, .footer-col h4 {
    color: #ffffff !important;
}
.footer-col a, .footer-col p, .footer-content p {
    color: rgba(255,255,255,0.75) !important;
}
.footer-col a:hover, .footer-links a:hover {
    color: #ffffff !important;
}
.footer-bottom p {
    color: rgba(255,255,255,0.6) !important;
}
.footer-logo span {
    color: #ffffff !important;
}

/* ── 17. NEWSLETTER / ACCENT STRIPS — keep blue ──────────── */
.newsletter-section, .footer-newsletter,
.pilot-banner, .demo-banner,
.bottom-cta-section {
    background: #0000cc !important;
    color: #ffffff !important;
}
.newsletter-section h2, .newsletter-section p,
.newsletter-section h3,
.newsletter-text h2, .newsletter-text p,
.footer-nl-text h3, .footer-nl-text p,
.bottom-cta-section h2, .bottom-cta-section p,
.pilot-banner h2, .pilot-banner p,
.demo-banner h2, .demo-banner p {
    color: #ffffff !important;
}
.newsletter-form input, .footer-nl-input {
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    color: #ffffff !important;
}
.newsletter-form input::placeholder, .footer-nl-input::placeholder {
    color: rgba(255,255,255,0.6) !important;
}
.newsletter-btn, .footer-nl-btn {
    background: #ffffff !important;
    color: #0000cc !important;
    border: none !important;
}

/* ── 18. AI WIDGET ────────────────────────────────────────── */
.ai-widget-header {
    background: #0000cc !important;
    color: #ffffff !important;
}
.ai-widget-header h3, .ai-widget-header span,
.ai-widget-title {
    color: #ffffff !important;
}
.ai-widget-toggle {
    background: #0000cc !important;
    color: #ffffff !important;
}
.ai-widget-body, .ai-chat-body {
    background: #f5f5f7 !important;
}
.ai-message.user, .ai-w-user {
    background: #0000cc !important;
    color: #ffffff !important;
}
.ai-message.ai, .ai-message.assistant,
.chat-bubble.ai, .chat-bubble {
    background: #ffffff !important;
    color: #1d1d1f !important;
    border: 1px solid #e8e8ed !important;
}
.ai-send-btn, .ai-action-icon {
    background: #0000cc !important;
    color: #ffffff !important;
}
.ai-thinking-dot {
    background: #0000cc !important;
}

/* ── 19. SEARCH & DROPDOWNS ──────────────────────────────── */
.search-dropdown, .dropdown-menu, .select-dropdown,
.lang-dropdown, .country-dropdown {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important;
    color: #1d1d1f !important;
}
.search-dropdown li, .dropdown-item,
.lang-option, .country-option {
    color: #1d1d1f !important;
}
.search-dropdown li:hover, .dropdown-item:hover {
    background: #f5f5f7 !important;
}
.smart-search-bar {
    background: #ffffff !important;
    border: 1px solid #d2d2d7 !important;
}

/* ── 20. COOKIE CONSENT ──────────────────────────────────── */
.cookie-consent {
    background: #1d1d1f !important;
    color: #ffffff !important;
}
.cookie-consent p { color: rgba(255,255,255,0.8) !important; }

/* ── 21. BACK TO TOP ─────────────────────────────────────── */
.back-to-top {
    background: #0000cc !important;
    color: #ffffff !important;
}

/* ── 22. POLICY SIMPLIFICATION ───────────────────────────── */
.sim-output-panel, .simplification-view {
    background: #ffffff !important;
    color: #1d1d1f !important;
}
.section-1-card {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
}
.section-1-card .section-body {
    background: #ffffff !important;
}
.section-number, .section-icon {
    background: #0000cc !important;
    color: #ffffff !important;
}

/* ── 23. VERIFICATION ─────────────────────────────────────── */
.verify-badge, .ver-badge {
    background: #0000cc !important;
    color: #ffffff !important;
}
.ver-result-meta, .ver-detail-box {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
    color: #1d1d1f !important;
}
.ver-hiw-divider {
    background: #e8e8ed !important;
}

/* ── 24. CONTACT INFO CARDS ──────────────────────────────── */
.contact-info-card {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
    color: #1d1d1f !important;
}
.contact-info-card h3, .contact-info-card h4,
.contact-info-card p, .contact-info-card a {
    color: #1d1d1f !important;
}

/* ── 25. ECOSYSTEM CARDS ─────────────────────────────────── */
.ecosystem-card {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
}
.ecosystem-card-overlay {
    background: rgba(0,0,204,0.88) !important;
}
.ecosystem-card-overlay h3, .ecosystem-card-overlay p {
    color: #ffffff !important;
}
.ecosystem-more {
    background: #ffffff !important;
    color: #0000cc !important;
    border: 1px solid #e8e8ed !important;
}

/* ── 26. ABOUT PAGE ──────────────────────────────────────── */
.about-name-story, .about-photo-hero,
.about-values, .about-mission {
    background: #ffffff !important;
    color: #1d1d1f !important;
}
.about-values-item h3, .about-values-item p,
.mission-text, .name-story-text {
    color: #1d1d1f !important;
}

/* ── 27. PRICING ─────────────────────────────────────────── */
.pricing-card, .founding-member-inner,
.founding-member-cta {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
}
.pricing-feature, .pricing-amount,
.pricing-label, .pricing-note {
    color: #1d1d1f !important;
}
.founding-member-badge {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
    color: #0000cc !important;
}
.pilot-stat-value, .pilot-stat-label {
    color: #1d1d1f !important;
}

/* ── 28. DEMO / REQUEST FORM ─────────────────────────────── */
.demo-info-card, .demo-info-section {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
}
.demo-info-title { color: #1d1d1f !important; }
.demo-info-desc { color: #424245 !important; }
.demo-success strong, .demo-success span {
    color: #1d1d1f !important;
}

/* ── 29. EMAIL CONNECT ────────────────────────────────────── */
.entry-method-card {
    background: #ffffff !important;
    border: 2px solid #e8e8ed !important;
    color: #1d1d1f !important;
}
.entry-method-card.selected,
.entry-method-card.selected.em-email-sel,
.entry-method-card.selected.em-pdf-sel {
    background: #ffffff !important;
    border-color: #0000cc !important;
}
.em-check, .em-manual {
    color: #0000cc !important;
}
.btn-ec-connect {
    background: #ffffff !important;
    color: #0000cc !important;
    border: 1px solid #0000cc !important;
}
.btn-ec-connect.connected {
    border-color: #16a34a !important;
    color: #16a34a !important;
}
.btn-ec-scan, .btn-ec-use {
    background: #0000cc !important;
    color: #ffffff !important;
    border: none !important;
}

/* ── 30. INSURANCE LINE SELECTION ────────────────────────── */
.insurance-line-card {
    background: #ffffff !important;
    border: 2px solid #e8e8ed !important;
    color: #1d1d1f !important;
}
.insurance-line-card:hover,
.insurance-line-card.selected {
    border-color: #0000cc !important;
}
.insurance-line-card h4 { color: #1d1d1f !important; }

/* ── 31. DASHBOARD STATS ─────────────────────────────────── */
.stat-value, .dash-metric-value, .live-stat-value,
.pilot-stat-value {
    color: #0000cc !important;
}
.stat-label, .dash-metric-label, .live-stat-label,
.pilot-stat-label {
    color: #6e6e73 !important;
}

/* ── 32. COVERAGE TOOLS ──────────────────────────────────── */
.coverage-bar-fill, .cvb-bar-fill {
    background: #0000cc !important;
}
.coverage-bar-track, .cvb-bar-track {
    background: #e8e8ed !important;
}
.risk-gauge-needle { stroke: #0000cc !important; }
.risk-gauge-value { fill: #1d1d1f !important; }
.iq-sidebar-panel {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
}

/* ── 33. NEWS / INSIGHTS ─────────────────────────────────── */
.news-card {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}
.news-card h3, .news-card h4 { color: #1d1d1f !important; }
.news-card p, .news-summary { color: #424245 !important; }
.news-cat-tag {
    background: #f5f5f7 !important;
    color: #0000cc !important;
}
.news-generating-pulse {
    background: #0000cc !important;
}
.cc-note {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
    color: #6e6e73 !important;
}

/* ── 34. PROFILE PAGE ────────────────────────────────────── */
.profile-card, .profile-panel, .prof-section {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
}
.profile-name, .profile-role { color: #1d1d1f !important; }
.profile-meta { color: #6e6e73 !important; }
.dir-card-avatar, .dir-detail-avatar,
.nav-avatar-circle {
    background: #0000cc !important;
    color: #ffffff !important;
}

/* ── 35. POLICY LINK (PolicyLink) ────────────────────────── */
.plg-card {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
}
.plg-year-label {
    background: #0000cc !important;
    color: #ffffff !important;
    border: none !important;
}

/* ── 36. CLAIM PREP ──────────────────────────────────────── */
.claim-card, .claim-section {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
}
.manual-result-copy, .manual-result-link {
    background: #0000cc !important;
    color: #ffffff !important;
}
.manual-result-header { color: #1d1d1f !important; }
.manual-result-box {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
}
.bc-btn {
    background: #0000cc !important;
    color: #ffffff !important;
    border: none !important;
}

/* ── 37. MARKETPLACE ─────────────────────────────────────── */
.market-card {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}
.market-card h3, .market-card h4 { color: #1d1d1f !important; }
.market-card p, .market-card span { color: #424245 !important; }

/* ── 38. WAITLIST ────────────────────────────────────────── */
.waitlist-feature-card, .waitlist-promo-item {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
}
.waitlist-feature-card h3, .waitlist-promo-item h4 {
    color: #1d1d1f !important;
}
.waitlist-feature-card p, .waitlist-promo-item p {
    color: #424245 !important;
}

/* ── 39. VERIFY PHONE SCREEN (onboarding) ────────────────── */
.verify-phone-screen {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    color: #1d1d1f !important;
}

/* ── 40. NOTIFICATION / MESSAGE ITEMS ────────────────────── */
.notification-item, .message-item, .msg-bubble {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    color: #1d1d1f !important;
}
.msg-bubble.sent {
    background: #0000cc !important;
    color: #ffffff !important;
    border: none !important;
}

/* ── 41. EMERGENCY CONTACT CARD — fully excluded ─────────── */
#page-emergency, #page-emergency * {
    color: inherit !important;
}

/* ── 42. ACKNOWLEDGEMENT LABEL ───────────────────────────── */
.acknowledge-label {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
    color: #424245 !important;
}

/* ── 43. ERROR / STATUS STATES ───────────────────────────── */
.status-draft, .verify-fail, .error-msg,
.error-badge, .warn-badge {
    color: inherit !important;
}
.status-active, .verify-ok { color: #16a34a !important; }
.status-pending, .verify-pending { color: #d97706 !important; }
.status-error, .verify-fail { color: #dc2626 !important; }

/* ── 44. MISC RESETS ─────────────────────────────────────── */
.section-divider, .page-divider {
    border-color: #e8e8ed !important;
}
hr { border-color: #e8e8ed !important; }
code, pre {
    background: #f5f5f7 !important;
    color: #1d1d1f !important;
    border: 1px solid #e8e8ed !important;
}
::selection {
    background: rgba(0,0,204,0.15) !important;
    color: #1d1d1f !important;
}
::-webkit-scrollbar-track { background: #f5f5f7 !important; }
::-webkit-scrollbar-thumb { background: #d2d2d7 !important; }
::-webkit-scrollbar-thumb:hover { background: #a1a1a6 !important; }

/* version: v262 — Apple White Theme */

/* ============================================================
   v262-patch — Pricing, Waitlist, Demo page corrections
   Converts remaining hardcoded blue hero sections to white.
   ============================================================ */

/* ── PRICING PAGE ──────────────────────────────────────────── */
.pricing-page-hero {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
    border-radius: 20px !important;
}
.pricing-page-badge {
    background: #ffffff !important;
    color: #0000cc !important;
    border: 1px solid #d2d2d7 !important;
}
.pricing-page-title {
    color: #1d1d1f !important;
}
.pricing-page-sub {
    color: #6e6e73 !important;
}
.pilot-card {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
}
.pilot-card::before {
    display: none !important;
}
.pilot-active-pill {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
    color: #0000cc !important;
}
.pilot-card-title, .pilot-card-header {
    color: #1d1d1f !important;
}
.pilot-card-body {
    color: #424245 !important;
}
.pilot-cta-btn {
    background: #0000cc !important;
    color: #ffffff !important;
    border: none !important;
}
.pilot-stat-value {
    color: #0000cc !important;
}
.pilot-stat-label {
    color: #6e6e73 !important;
}

/* ── WAITLIST HERO ─────────────────────────────────────────── */
.waitlist-hero {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
    border-radius: 20px !important;
}
.waitlist-hero::before {
    display: none !important;
}
.waitlist-hero-badge {
    background: #ffffff !important;
    color: #0000cc !important;
    border: 1px solid #d2d2d7 !important;
}
.waitlist-hero-title {
    color: #1d1d1f !important;
}
.waitlist-hero-subtitle {
    color: #424245 !important;
}
.waitlist-stats-bar, .waitlist-stat-item {
    color: #1d1d1f !important;
}
.waitlist-stat-value, .waitlist-count {
    color: #0000cc !important;
}

/* ── DEMO PAGE ─────────────────────────────────────────────── */
.demo-page {
    background: #ffffff !important;
    max-width: 1000px;
    margin: 0 auto;
    padding: 60px 24px 80px;
    color: #1d1d1f !important;
}
.demo-page-hero {
    text-align: center;
    margin-bottom: 48px;
    padding: 50px 30px 40px;
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
    border-radius: 20px !important;
    color: #1d1d1f !important;
}
.demo-page-badge {
    display: inline-block;
    background: #ffffff !important;
    color: #0000cc !important;
    border: 1px solid #d2d2d7 !important;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 18px;
    border-radius: 50px;
    margin-bottom: 16px;
}
.demo-page-title {
    color: #1d1d1f !important;
    font-size: clamp(2rem, 4vw, 3rem) !important;
    font-weight: 900 !important;
    margin: 0 0 12px;
}
.demo-page-sub {
    color: #424245 !important;
    font-size: 1.05rem;
}
.demo-page-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 32px;
    align-items: start;
}
.demo-info-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.demo-info-card {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
    border-radius: 16px !important;
    padding: 24px !important;
    color: #1d1d1f !important;
    box-shadow: none !important;
}
.demo-info-card h4, .demo-info-card h3 {
    color: #1d1d1f !important;
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 8px;
}
.demo-info-card p {
    color: #6e6e73 !important;
    font-size: 0.9rem;
    margin: 0;
}
.demo-form-col {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    border-radius: 20px !important;
    padding: 32px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
}
.demo-form-title {
    color: #1d1d1f !important;
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0 0 24px;
}
@media (max-width: 768px) {
    .demo-page-grid {
        grid-template-columns: 1fr;
    }
}

/* ── LM PAGE HEADER ────────────────────────────────────────── */
.lm-page-header {
    background: #f5f5f7 !important;
    border-bottom: 1px solid #e8e8ed !important;
    color: #1d1d1f !important;
}
.lm-page-header h1, .lm-page-header h2 {
    color: #1d1d1f !important;
}
.lm-page-header .section-heading {
    color: #1d1d1f !important;
}
.lm-page-header .section-subheading {
    color: #6e6e73 !important;
}

/* ── ABOUT NAME STORY / PHOTO HERO ────────────────────────── */
.about-name-story, .about-photo-hero {
    background: #f5f5f7 !important;
    border: 1px solid #e8e8ed !important;
    border-radius: 20px !important;
}
.about-name-story h2, .about-photo-hero h2 {
    color: #1d1d1f !important;
}
.about-name-story p, .about-photo-hero p {
    color: #424245 !important;
}

/* ── FEATURE HIGHLIGHTS ────────────────────────────────────── */
.feature-card-highlight, .feature-card-premium {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}
.feature-card-title {
    color: #1d1d1f !important;
}
.feature-card-desc {
    color: #424245 !important;
}
.feature-card-highlight .feature-icon-wrap,
.feature-card-premium .feature-icon-wrap {
    background: #f0f0ff !important;
    color: #0000cc !important;
}

/* ── CONTACT HERO ──────────────────────────────────────────── */
.contact-hero {
    background: #ffffff !important;
    color: #1d1d1f !important;
}
.contact-hero h1, .contact-hero h2 {
    color: #1d1d1f !important;
}
.contact-hero p {
    color: #424245 !important;
}

/* ── FORM CONTAINER ON WHITE PAGE ─────────────────────────── */
.form-container label,
.form-container p,
.form-container span,
.form-container h1,
.form-container h2,
.form-container h3,
.form-container small {
    color: #1d1d1f !important;
}
.form-container a:not(.btn) {
    color: #0000cc !important;
}

/* version: v263-patch */

/* ── BANNER CTA BUTTONS — white bg + blue text override ───── */
.pricing-launch-inner .pricing-launch-cta,
.pricing-launch-inner .btn.pricing-launch-cta,
.pricing-launch-inner .btn-primary.pricing-launch-cta {
    background: #ffffff !important;
    color: #0000cc !important;
    border: 2px solid #0000cc !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.pricing-launch-inner .pricing-launch-cta::after {
    content: '→';
    color: #0000cc !important;
    animation: arrowPulse 1.6s ease-in-out infinite;
}
.pricing-launch-inner .pricing-launch-cta:hover {
    background: #f0f0ff !important;
}
.pricing-launch-inner .pricing-launch-cta:hover::after {
    animation: none !important;
    transform: translateX(4px) !important;
    opacity: 1 !important;
    transition: transform 0.2s ease !important;
}

/* ── ABOUT PAGE — OUR NAME / OUR MISSION / OUR VALUES ─────── */
.about-name-story {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
.about-name-story h2 {
    color: #0000cc !important;
    font-size: clamp(1.2rem, 2.5vw, 1.6rem) !important;
    letter-spacing: 3px !important;
}
.about-name-story p {
    color: #1d1d1f !important;
}
.about-name-story p strong {
    color: #1d1d1f !important;
}
.about-name-story p em,
.about-name-story .about-blue-word,
.about-name-story .about-blue-word strong,
.about-name-story .about-blue-word em {
    color: #0000cc !important;
}
/* OUR MISSION section — white bg, dark text */
.about-photo-hero {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
.about-photo-mission {
    color: #6e6e73 !important;
}
/* OUR VALUES section — white bg, dark text */
.about-values {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
.about-values h2 {
    font-size: 1.6rem !important;
    letter-spacing: 3px !important;
    font-family: 'Space Grotesk', sans-serif !important;
    color: #1d1d1f !important;
}
.vn-label {
    color: #1d1d1f !important;
}
.vn-desc {
    color: #6e6e73 !important;
}
.vn-circle {
    background: #0000cc !important;
}
/* All three section labels — identical size, weight, colour */
.about-name-story .about-eyebrow,
.about-photo-eyebrow,
.about-values h2 {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #1d1d1f !important;
    margin-bottom: 16px !important;
    font-family: 'Space Grotesk', sans-serif !important;
}

/* ── ECO EXPAND READ MORE BUTTON — blue bg + white text ───── */
.eco-expand-btn {
    background: #0000cc !important;
    color: #ffffff !important;
    border: none !important;
}
.eco-expand-btn:hover {
    background: #0000aa !important;
    color: #ffffff !important;
}

/* ── ECO CARD OVERLAY TEXT — white on image ───────────────── */
.eco-content-card-title-wrap h3 {
    color: #ffffff !important;
}
.eco-content-card-title-wrap .eco-intro-overlay,
.eco-content-card-title-wrap p {
    color: rgba(255,255,255,0.88) !important;
}

/* ── HOW IT WORKS — white cards, blue numbers ─────────────── */
.hiw-section.hiw-premium {
    background: transparent !important;
}
.hiw-card {
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
.hiw-card:hover {
    box-shadow: 0 12px 36px rgba(0,0,204,0.1) !important;
}
.hiw-card-step {
    color: #0000cc !important;
}
.hiw-card h3 {
    color: #1d1d1f !important;
}
.hiw-card-desc,
.hiw-points li {
    color: #6e6e73 !important;
}
.hiw-connector-line {
    background: rgba(0,0,204,0.2) !important;
}
.hiw-header .section-heading,
.hiw-header .section-subheading {
    color: #1d1d1f !important;
}
.hiw-header .section-subheading {
    color: #6e6e73 !important;
}

/* ══ FOOTER CTA BUTTONS — white bg + blue text [FINAL OVERRIDE] ══ */
.btn.btn-cta-blue,
.btn.btn-cta-white,
.btn.btn-cta-outline {
    background: #ffffff !important;
    color: #0000cc !important;
    border: 2px solid #ffffff !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
}
.btn.btn-cta-blue:hover,
.btn.btn-cta-white:hover,
.btn.btn-cta-outline:hover {
    background: rgba(255,255,255,0.88) !important;
    color: #0000cc !important;
}

/* ══ INSIGHTS NEWSLETTER STRIP ══════════════════════════════ */
.insights-newsletter-strip {
    background: #0000cc !important;
    border-radius: 16px !important;
    padding: 44px 32px !important;
    text-align: center !important;
    margin-top: 64px !important;
}
.insights-nl-eyebrow {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    margin-bottom: 10px !important;
    opacity: 0.85 !important;
}
.insights-nl-heading {
    font-size: 1.7rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 10px !important;
}
.insights-nl-sub {
    color: #ffffff !important;
    font-size: 0.95rem !important;
    margin-bottom: 28px !important;
    opacity: 0.85 !important;
}
button.insights-nl-btn,
button[type="submit"].insights-nl-btn {
    padding: 12px 24px !important;
    background: #ffffff !important;
    color: #0000cc !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
button.insights-nl-btn:hover,
button[type="submit"].insights-nl-btn:hover {
    background: rgba(255,255,255,0.9) !important;
    color: #0000cc !important;
}

/* ══ FOOTER TEXT — full white [FINAL OVERRIDE] ══════════════ */
.site-footer, footer {
    background: #0000cc !important;
}
.footer-col h4 {
    color: #ffffff !important;
    opacity: 1 !important;
}
.footer-col a,
.footer-col p,
.footer-col-brand p,
.footer-content p {
    color: rgba(255,255,255,0.9) !important;
}
.footer-col a:hover {
    color: #ffffff !important;
    opacity: 1 !important;
}
.footer-logo span {
    color: #ffffff !important;
}
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.15) !important;
}
.footer-bottom p {
    color: rgba(255,255,255,0.8) !important;
}

/* ══ UNIFIED PAGE TITLE BLOCK ════════════════════════════ */
.page-title-block {
    text-align: center !important;
    padding: 64px 24px 48px !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.page-title-block h1 {
    font-family: 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
    font-weight: 800 !important;
    color: #1d1d1f !important;
    text-transform: uppercase !important;
    letter-spacing: -0.5px !important;
    margin: 0 0 16px !important;
    line-height: 1.1 !important;
}
.page-title-block p {
    font-size: 1.05rem !important;
    color: #6e6e73 !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
}
.page-title-badge {
    display: inline-block !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #0000cc !important;
    background: #f0f0ff !important;
    border: 1px solid #d0d0ff !important;
    border-radius: 20px !important;
    padding: 5px 16px !important;
    margin-bottom: 20px !important;
}

/* ══ NEWSLETTER SECTION — full white on blue [FINAL] ══════ */
.newsletter-section {
    background: #0000cc !important;
}
.newsletter-section h2,
.newsletter-text h2 {
    color: #ffffff !important;
}
.newsletter-text p,
.newsletter-section p {
    color: rgba(255,255,255,0.88) !important;
}
.nl-benefit {
    color: #ffffff !important;
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
}
.nl-privacy {
    color: rgba(255,255,255,0.7) !important;
}
.nl-select {
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    color: #ffffff !important;
}
.nl-select option {
    background: #0000cc !important;
    color: #ffffff !important;
}
.nl-input {
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    color: #ffffff !important;
}
.nl-input::placeholder {
    color: rgba(255,255,255,0.6) !important;
}
button.nl-submit-btn,
button[type="submit"].nl-submit-btn {
    background: #ffffff !important;
    color: #0000cc !important;
    border: none !important;
}
button.nl-submit-btn:hover,
button[type="submit"].nl-submit-btn:hover {
    background: rgba(255,255,255,0.9) !important;
    color: #0000cc !important;
}

/* ══════════════════════════════════════════════════════════════
   LAYOUT EXPANSION — Option A (1400px wide, full-width nav)
   v285
   ══════════════════════════════════════════════════════════════ */

/* Full-width nav — logo sits at the true left edge */
#navbar {
    padding: 0 !important;
}
.nav-inner {
    max-width: none !important;
    width: 100% !important;
    padding: 0 40px !important;
    box-sizing: border-box !important;
}

/* Show brand name next to logo */
.nav-brand-name {
    display: inline !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    color: #1d1d1f !important;
    white-space: nowrap !important;
}

/* Widen all main content containers to 1400px */
.container {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.hero-content,
.hero-centered-layout,
.page-wrapper, .page-content, .main-content,
.page-inner, .page-body, .content-area, .inner-wrap,
.section-inner, .section-content, .section-wrap,
.features-grid-wrap, .pm-hero-content {
    max-width: 1400px !important;
}

/* Hero section — let it breathe full-width */
.hero,
.hero-section,
.hero.hero-cinematic {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Responsive: keep sensible padding on smaller screens */
@media (max-width: 768px) {
    .nav-inner {
        padding: 0 16px !important;
    }
    .nav-brand-name {
        display: none !important;
    }
    .hero,
    .hero-section,
    .hero.hero-cinematic {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* Nav brand name — blue accent */
.nav-brand-name {
    color: #0000cc !important;
}

/* ══════════════════════════════════════════════════════════════
   HERO — CENTRED SINGLE-COLUMN LAYOUT  v288
   ══════════════════════════════════════════════════════════════ */
.hero-centered-layout {
    align-items: center !important;
}

.hero-bottom-split {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 48px !important;
    text-align: center !important;
    width: 100% !important;
}

.hero-left {
    max-width: 760px !important;
    text-align: center !important;
}

.hero-left .hero-badge,
.hero-left .hero-hook,
.hero-left .hero-title-animated,
.hero-left .hero-value-prop,
.hero-left .hero-tagline,
.hero-left .hero-desc-main,
.hero-left .hero-buttons,
.hero-left .hero-trust-line,
.hero-value-prop,
.hero-desc-main {
    text-align: center !important;
}

.hero-left .hero-buttons,
.hero-buttons {
    justify-content: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.hero-right {
    padding-top: 0 !important;
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

/* ══════════════════════════════════════════════════════════════
   HOME PAGE — CENTRE ALL SECTIONS  v289
   ══════════════════════════════════════════════════════════════ */

/* Section headings and subheadings */
#page-home .section-heading,
#page-home .section-subheading,
#page-home .section-eyebrow,
#page-home .section-label,
#page-home .hiw-header,
#page-home .hiw-header h2,
#page-home .hiw-header p {
    text-align: center !important;
}

/* Feature cards grid — centre within page */
#page-home .features {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Founding member banner — centre inner content */
#page-home .pricing-launch-banner {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
}

/* How It Works section — centre everything */
#page-home .hiw-section {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Why / comparison / testimonials / ecosystem sections */
#page-home .why-section,
#page-home .comparison-section,
#page-home .testimonials-section,
#page-home .ecosystem-section,
#page-home .cta-section,
#page-home .trust-section,
#page-home .stats-section {
    text-align: center !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Any remaining generic section headings */
#page-home h2,
#page-home h3 {
    text-align: center !important;
}

/* Keep card text centred but card grids auto-flow */
#page-home .feature-card,
#page-home .hiw-card {
    text-align: center !important;
}

/* ══════════════════════════════════════════════════════════════
   HOME SECTION CENTERING — CORRECTED  v290
   ══════════════════════════════════════════════════════════════ */

/* Fix: feature card premium content should be centred */
.feature-card-premium,
.feature-card-highlight.feature-card-premium {
    text-align: center !important;
    align-items: center !important;
}
.feature-card-premium h3,
.fcp-desc,
.fcp-cta {
    text-align: center !important;
}
.fcp-cta {
    justify-content: center !important;
}

/* Fix: don't override the tight 860px features-2 width */
#page-home .features.features-2 {
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Centre the founding member banner text */
.pricing-launch-inner {
    text-align: center !important;
    flex-direction: column !important;
    align-items: center !important;
}
.pricing-launch-heading,
.pricing-launch-sub {
    text-align: center !important;
}

/* Centre all section headings on home page */
#page-home .section-heading,
#page-home .section-subheading,
#page-home .hiw-header h2,
#page-home .hiw-header p,
#page-home h2 {
    text-align: center !important;
}

/* ══════════════════════════════════════════════════════════════
   NAVBAR TALLER + HERO SPLIT RESTORE + LARGER SCANNER  v291
   ══════════════════════════════════════════════════════════════ */

/* ── Taller navbar ── */
#navbar {
    height: 68px !important;
    min-height: 68px !important;
}
.nav-inner {
    height: 68px !important;
}
.nav-logo {
    height: 52px !important;
}

/* ── Hero: restore left/right split row layout ── */
.hero-bottom-split {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: left !important;
    gap: 64px !important;
}

.hero-left {
    flex: 1 1 0 !important;
    max-width: 580px !important;
    text-align: left !important;
}

.hero-left .hero-value-prop,
.hero-value-prop {
    text-align: left !important;
    white-space: normal !important;
}

.hero-left .hero-desc-main,
.hero-desc-main {
    text-align: left !important;
    margin-bottom: 8px !important;
}

.hero-left .hero-buttons,
.hero-buttons {
    justify-content: flex-start !important;
}

/* ── Larger scanner card on the right ── */
.hero-right {
    flex-shrink: 0 !important;
    width: auto !important;
    padding-top: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.hero-scanner-card {
    width: 320px !important;
    padding: 28px 24px 22px !important;
    background: #ffffff !important;
    border: 1px solid #e8e8ed !important;
    box-shadow: 0 8px 40px rgba(0,0,80,0.12) !important;
    border-radius: 24px !important;
}

.hero-scan-label {
    color: #0000cc !important;
    font-size: 0.72rem !important;
}

.hero-scanner-frame {
    width: 260px !important;
    height: 260px !important;
    background: #f5f5f7 !important;
    border-radius: 16px !important;
}

.hero-qr-img {
    width: 220px !important;
    height: 220px !important;
}

.hero-scan-verified {
    background: #f0fff4 !important;
    border: 1px solid #c3e6cb !important;
}

.hero-scan-verified-text strong,
.hero-scan-verified-text span {
    color: #1d1d1f !important;
}

.hero-scan-brand-name {
    color: #1d1d1f !important;
}

/* ── Responsive: stack on mobile ── */
@media (max-width: 900px) {
    .hero-bottom-split {
        flex-direction: column !important;
        text-align: center !important;
        gap: 40px !important;
    }
    .hero-left {
        max-width: 100% !important;
        text-align: center !important;
    }
    .hero-value-prop,
    .hero-desc-main {
        text-align: center !important;
    }
    .hero-buttons {
        justify-content: center !important;
    }
    .hero-scanner-card {
        width: 280px !important;
    }
    .hero-scanner-frame {
        width: 220px !important;
        height: 220px !important;
    }
}

/* ── Hero headline: right-sized for two clean single lines ── */
.hero-value-prop,
.hero-left .hero-value-prop {
    font-size: clamp(1.5rem, 2.4vw, 2.1rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    max-width: 700px !important;
    color: #1d1d1f !important;
    letter-spacing: -0.3px !important;
    text-align: left !important;
}

.hero-left {
    max-width: 700px !important;
}

/* ══════════════════════════════════════════════════════════════
   HERO COORDINATION + FEATURE CARD FIX  v293
   ══════════════════════════════════════════════════════════════ */

/* 1. Reduce hero top gap — content starts close to nav like Datadog */
.hero.hero-cinematic,
.hero,
.hero-section {
    padding: 72px 40px 72px !important;
    min-height: unset !important;
    align-items: flex-start !important;
    justify-content: center !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
}

/* 2. Hero content — vertically aligned pair (text + scanner same midpoint) */
.hero-centered-layout {
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

.hero-bottom-split {
    align-items: center !important;
    width: 100% !important;
}

/* 3. Feature cards — properly centred, snug below hero with no gap */
.features.features-2.features-premium {
    max-width: 900px !important;
    margin: 48px auto 60px !important;
    padding: 0 24px !important;
}

/* Remove the wide override that was breaking the 2-card grid */
#page-home .features {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#page-home .features.features-2 {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ── Hero: align text and scanner from the top edge, not centre ── */
.hero-bottom-split {
    align-items: flex-start !important;
}

/* Reduce total gap from nav to content */
.hero.hero-cinematic,
.hero,
.hero-section {
    padding-top: 56px !important;
}

/* Offset the container's own top padding so hero sits close to nav */
#page-home .hero.hero-cinematic {
    margin-top: -20px !important;
}

/* ══════════════════════════════════════════════════════════════
   HERO LEFT: push buttons to bottom of scanner card  v295
   ══════════════════════════════════════════════════════════════ */

/* Make left column a flex column so buttons can be pushed down */
.hero-left {
    display: flex !important;
    flex-direction: column !important;
}

/* Spacer between description and buttons */
.hero-desc-main + .hero-desc-main {
    margin-bottom: 0 !important;
}

/* Push buttons to the bottom — aligned with scanner card bottom */
.hero-buttons {
    margin-top: auto !important;
    padding-top: 32px !important;
}

/* Left column height matches scanner card */
.hero-bottom-split {
    align-items: stretch !important;
}

/* ══════════════════════════════════════════════════════════════
   HERO: BOTTOM-ALIGNED, SCANNER SCALED TO MATCH TEXT BLOCK  v296
   ══════════════════════════════════════════════════════════════ */

/* Bottom-align columns so scanner base = button base */
.hero-bottom-split {
    align-items: flex-end !important;
}

/* Reasonable gap between description and buttons — not auto push */
.hero-buttons {
    margin-top: 24px !important;
    padding-top: 0 !important;
}

/* Scale scanner down so it ends at the same level as the buttons */
.hero-scanner-card {
    width: 260px !important;
    padding: 18px 18px 14px !important;
}
.hero-scan-label {
    font-size: 0.65rem !important;
    margin-bottom: 10px !important;
}
.hero-scanner-frame {
    width: 200px !important;
    height: 170px !important;
}
.hero-qr-img {
    width: 160px !important;
    height: 160px !important;
}
.hero-scan-verified {
    padding: 8px 12px !important;
    margin-top: 10px !important;
}
.hero-scan-verified-text strong {
    font-size: 0.78rem !important;
}
.hero-scan-verified-text span {
    font-size: 0.7rem !important;
}
.hero-scan-brand {
    margin-top: 8px !important;
    padding-top: 8px !important;
}

/* Reduce gap between text and scanner */
.hero-bottom-split {
    gap: 32px !important;
}

/* Constrain hero pair width so scanner stays close to text */
.hero-bottom-split {
    max-width: 900px !important;
    gap: 40px !important;
}

.hero-left {
    flex: 0 0 auto !important;
    width: 580px !important;
    max-width: 580px !important;
}

/* All hero text starts on the exact same left edge */
.hero-left > *,
.hero-left h1,
.hero-left p,
.hero-left .hero-value-prop,
.hero-left .hero-desc-main,
.hero-left .hero-buttons {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
}

/* Show scanner card on mobile — centred below the text */
@media (max-width: 900px) {
    .hero-right {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
}

@media (max-width: 768px) {
    .hero-right {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
    .hero-scanner-card {
        width: 240px !important;
    }
    .hero-scanner-frame {
        width: 180px !important;
        height: 150px !important;
    }
    .hero-qr-img {
        width: 140px !important;
        height: 140px !important;
    }
}

/* ── Mobile hero: full-width text, no overflow ── */
@media (max-width: 900px) {
    .hero-left {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
    }
    .hero-bottom-split {
        max-width: 100% !important;
        width: 100% !important;
    }
    .hero.hero-cinematic,
    .hero,
    .hero-section {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* Show brand name on all screen sizes */
.nav-brand-name {
    display: inline !important;
    font-size: 0.8rem !important;
}

/* ── Mobile nav: slim bar, hide overflow links ── */
@media (max-width: 900px) {
    #navbar {
        height: auto !important;
        min-height: 56px !important;
    }
    .nav-inner {
        height: auto !important;
        min-height: 56px !important;
        flex-wrap: nowrap !important;
        padding: 0 16px !important;
        overflow: visible !important;
    }
    .nav-center {
        display: none !important;
    }
    .nav-logo {
        height: 36px !important;
    }
    .nav-brand-name {
        font-size: 0.75rem !important;
    }
    .nav-lang-selector {
        display: none !important;
    }
}

/* ── Mobile: remove negative hero margin that hides content under nav ── */
@media (max-width: 900px) {
    #page-home .hero.hero-cinematic {
        margin-top: 0 !important;
    }
    html {
        scroll-padding-top: 56px;
    }
}

/* ══════════════════════════════════════════════════════════════
   HAMBURGER MOBILE NAV  v305
   ══════════════════════════════════════════════════════════════ */

/* Hamburger button — hidden on desktop */
.nav-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    margin-left: auto;
    flex-shrink: 0;
}
.nav-hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: #1d1d1f;
    border-radius: 2px;
    transition: transform 0.22s ease, opacity 0.22s ease;
}
.nav-hamburger.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.nav-hamburger.open span:nth-child(2) {
    opacity: 0;
}
.nav-hamburger.open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* Mobile menu drawer */
.nav-mobile-drawer {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(0,0,0,0.08);
    padding: 12px 20px 20px;
    z-index: 8999;
    flex-direction: column;
    gap: 2px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.nav-mobile-drawer.open {
    display: flex;
}
.nav-mobile-drawer a {
    display: block;
    padding: 11px 4px;
    font-size: 0.95rem;
    font-weight: 500;
    color: #1d1d1f !important;
    text-decoration: none;
    border-bottom: 1px solid #f0f0f5;
}
.nav-mobile-drawer a:last-child {
    border-bottom: none;
}
.nav-mobile-drawer a:hover {
    color: #0000cc !important;
}
.nav-mobile-drawer .mob-demo-link {
    margin-top: 8px;
    text-align: center;
    background: #0000cc;
    color: #fff !important;
    border-radius: 10px;
    padding: 12px 20px;
    font-weight: 600;
    border-bottom: none !important;
}
.nav-mobile-drawer .mob-demo-link:hover {
    color: #fff !important;
    opacity: 0.9;
}

/* Show hamburger on mobile, hide it on desktop */
@media (max-width: 900px) {
    .nav-hamburger {
        display: flex !important;
    }
    #navbar {
        position: relative;
    }
}

/* ── Mobile: hide auth buttons from top bar, blue hamburger ── */
@media (max-width: 900px) {
    #authLinks {
        display: none !important;
    }
    .nav-hamburger span {
        background: #0000cc !important;
    }
    .nav-hamburger {
        border: 1.5px solid #0000cc !important;
        border-radius: 8px !important;
        width: 38px !important;
        height: 34px !important;
    }
}
