:root {
    --sc-primary: #4f46e5;
    --sc-primary-dark: #3730a3;
    --sc-primary-soft: #eef2ff;
    --sc-navy: #172033;
    --sc-ink: #25324b;
    --sc-muted: #667085;
    --sc-border: #e4e7ec;
    --sc-surface: #ffffff;
    --sc-canvas: #f7f8fc;
    --sc-success: #168267;
    --sc-warning: #b54708;
    --sc-danger: #c4324a;
    --sc-radius-sm: .65rem;
    --sc-radius: 1rem;
    --sc-radius-lg: 1.5rem;
    --sc-shadow-sm: 0 1px 2px rgba(16, 24, 40, .05), 0 2px 8px rgba(16, 24, 40, .04);
    --sc-shadow: 0 12px 30px rgba(37, 50, 75, .09);
}

html { scroll-behavior: smooth; }
body {
    background: var(--sc-canvas);
    color: var(--sc-ink);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
a { color: var(--sc-primary); text-underline-offset: 3px; }
a:hover { color: var(--sc-primary-dark); }
h1, h2, h3, h4, h5, h6 { color: var(--sc-navy); font-weight: 750; letter-spacing: -.025em; }
.text-muted { color: var(--sc-muted) !important; }

.site-main { min-height: 62vh; }
.site-main > .container { padding-top: 2.5rem; padding-bottom: 3.5rem; }
.page-heading { margin-bottom: 2rem; }
.page-eyebrow { color: var(--sc-primary); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.page-subtitle { color: var(--sc-muted); font-size: 1.05rem; max-width: 46rem; }
.section-heading { max-width: 44rem; margin: 0 auto 2.25rem; text-align: center; }
.section-heading h2 { font-size: clamp(1.75rem, 4vw, 2.35rem); }

.btn {
    border-radius: .7rem;
    font-weight: 700;
    padding: .68rem 1rem;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:focus-visible, .form-control:focus, .form-select:focus, .form-check-input:focus, a:focus-visible {
    box-shadow: 0 0 0 .25rem rgba(79, 70, 229, .2) !important;
    outline: 0;
}
.btn-primary { background: var(--sc-primary); border-color: var(--sc-primary); box-shadow: 0 6px 14px rgba(79, 70, 229, .2); }
.btn-primary:hover, .btn-primary:focus { background: var(--sc-primary-dark); border-color: var(--sc-primary-dark); }
.btn-outline-primary { border-color: #a5b4fc; color: var(--sc-primary-dark); }
.btn-outline-primary:hover { background: var(--sc-primary-soft); border-color: var(--sc-primary); color: var(--sc-primary-dark); }
.btn-light { color: var(--sc-primary-dark); }
.btn-lg { padding: .82rem 1.3rem; font-size: 1rem; }

.card {
    background: var(--sc-surface);
    border: 1px solid var(--sc-border);
    border-radius: var(--sc-radius);
    box-shadow: var(--sc-shadow-sm);
    overflow: hidden;
}
.card-header { background: #fbfcfe; border-bottom: 1px solid var(--sc-border); padding: 1rem 1.25rem; }
.card-body { padding: 1.35rem; }
.card-footer { background: #fbfcfe; border-top: 1px solid var(--sc-border); padding: 1rem 1.25rem; }
.interactive-card { height: 100%; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.interactive-card:hover { transform: translateY(-4px); border-color: #c7d2fe; box-shadow: var(--sc-shadow); }
.icon-tile {
    align-items: center; background: var(--sc-primary-soft); border-radius: .85rem; color: var(--sc-primary);
    display: inline-flex; height: 3rem; justify-content: center; width: 3rem;
}

.form-label { color: #344054; font-size: .9rem; font-weight: 700; }
.form-control, .form-select {
    background-color: #fff; border: 1px solid #d0d5dd; border-radius: .7rem; min-height: 45px;
}
.form-control::placeholder { color: #98a2b3; }
.input-group .btn { transform: none; }
.auth-shell { padding: 1.5rem 0 3rem; }
.auth-card { max-width: 570px; margin: 0 auto; }
.auth-card .card-body { padding: clamp(1.5rem, 5vw, 2.5rem); }
.auth-icon { align-items: center; background: var(--sc-primary-soft); border-radius: 50%; color: var(--sc-primary); display: inline-flex; height: 3.5rem; justify-content: center; width: 3.5rem; }

.alert { border: 1px solid transparent; border-radius: var(--sc-radius-sm); }
.alert-success { background: #ecfdf3; border-color: #abefc6; color: #067647; }
.alert-danger { background: #fef3f2; border-color: #fecdca; color: #b42318; }
.alert-info { background: #eff8ff; border-color: #b2ddff; color: #175cd3; }
.badge { border-radius: 999px; font-weight: 700; letter-spacing: .01em; padding: .42em .68em; }
.bg-primary { background-color: var(--sc-primary) !important; }
.bg-success { background-color: var(--sc-success) !important; }
.bg-info { background-color: #176b87 !important; }
.bg-warning { background-color: #f5b942 !important; }
.test-type-badge-practice { background: var(--sc-primary); color: #fff; }
.test-type-badge-mock { background: #f59e0b; color: #172033; }

.site-navbar { background: rgba(255,255,255,.95); border-bottom: 1px solid rgba(228,231,236,.9); backdrop-filter: blur(14px); }
.site-navbar .navbar-brand { color: var(--sc-navy); font-size: 1.35rem; font-weight: 850; letter-spacing: -.04em; }
.brand-mark { align-items: center; background: linear-gradient(135deg, var(--sc-primary), #7c3aed); border-radius: .7rem; color: #fff; display: inline-flex; height: 2.25rem; justify-content: center; margin-right: .55rem; width: 2.25rem; }
.brand-mark-img { display: inline-block; height: 2.25rem; margin-right: .55rem; object-fit: contain; width: 2.25rem; }
.site-navbar .nav-link { color: #475467; font-size: .94rem; font-weight: 650; padding: .7rem .8rem !important; }
.site-navbar .nav-link:hover, .site-navbar .nav-link.active { color: var(--sc-primary); }
.site-navbar .dropdown-menu { border: 1px solid var(--sc-border); border-radius: .85rem; box-shadow: var(--sc-shadow); padding: .45rem; }
.site-navbar .dropdown-item { border-radius: .55rem; padding: .6rem .75rem; }
.site-navbar .dropdown-item:hover { background: var(--sc-primary-soft); color: var(--sc-primary-dark); }

.hero {
    background: linear-gradient(135deg, #172033 0%, #312e81 62%, #4f46e5 100%);
    border-radius: var(--sc-radius-lg); color: #fff; overflow: hidden; padding: clamp(2.25rem, 7vw, 5rem);
    position: relative;
}
.hero::after { background: radial-gradient(circle, rgba(255,255,255,.2), transparent 65%); content: ""; height: 28rem; position: absolute; right: -10rem; top: -15rem; width: 28rem; }
.hero-content { max-width: 720px; position: relative; z-index: 1; }
.hero h1 { color: #fff; font-size: clamp(2.35rem, 6vw, 4.6rem); line-height: 1.05; }
.hero .lead { color: #dbe4ff; max-width: 620px; }
.hero-kicker { color: #c7d2fe; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hero-exam-search { max-width: 620px; position: relative; }
.hero-exam-search-control { position: relative; }
.hero-exam-search-control > i { color: #667085; left: 1rem; pointer-events: none; position: absolute; top: 50%; transform: translateY(-50%); }
.hero-exam-search-control input { background: #fff; border: 1px solid rgba(255,255,255,.65); border-radius: .85rem; box-shadow: 0 14px 35px rgba(15,23,42,.2); color: var(--sc-ink); font-size: 1rem; min-height: 3.35rem; outline: 0; padding: .8rem 1rem .8rem 2.75rem; width: 100%; }
.hero-exam-search-control input:focus { border-color: #a5b4fc; box-shadow: 0 0 0 .2rem rgba(199,210,254,.3), 0 14px 35px rgba(15,23,42,.2); }
.hero-exam-search-results { background: #fff; border: 1px solid var(--sc-border); border-radius: .85rem; box-shadow: 0 18px 40px rgba(15,23,42,.28); left: 0; max-height: 19rem; overflow-y: auto; position: absolute; right: 0; top: calc(100% + .45rem); z-index: 10; }
.hero-exam-search-option { align-items: center; border-bottom: 1px solid #eef0f3; color: var(--sc-ink); display: flex; gap: .75rem; justify-content: space-between; padding: .75rem 1rem; text-decoration: none; }
.hero-exam-search-option:last-of-type { border-bottom: 0; }
.hero-exam-search-option:hover, .hero-exam-search-option:focus { background: var(--sc-primary-soft); color: var(--sc-primary-dark); }
.hero-exam-search-option span { font-weight: 700; }
.hero-exam-search-text { display: block; min-width: 0; }
.hero-exam-search-description { color: var(--sc-muted); display: block; font-size: .78rem; font-weight: 500 !important; line-height: 1.35; margin-top: .12rem; max-width: 34rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hero-exam-search-option small { color: var(--sc-muted); text-align: right; }
.hero-exam-search-empty { color: var(--sc-muted); padding: .9rem 1rem; }
.hero-trust { color: #dbe4ff; display: flex; flex-wrap: wrap; font-size: .85rem; gap: 1rem; margin-top: 1.25rem; }
.hero-trust i { color: #6ee7b7; }
.metric-strip { background: #fff; border: 1px solid var(--sc-border); border-radius: var(--sc-radius); box-shadow: var(--sc-shadow); margin: -1.6rem auto 0; max-width: 940px; padding: 1.1rem; position: relative; z-index: 2; }
.metric-item { padding: .6rem 1rem; text-align: center; }
.metric-item strong { color: var(--sc-navy); display: block; font-size: 1.2rem; }
.metric-item span { color: var(--sc-muted); font-size: .82rem; }

.category-card .card-body { display: flex; flex-direction: column; gap: 1rem; }
.category-card-summary { align-items: flex-start; display: flex; gap: .85rem; }
.category-card-summary .icon-tile { flex: 0 0 3rem; }
.category-card-summary h3 { margin-bottom: .3rem; }
.exam-test-section { margin-bottom: 2.25rem; }
.exam-test-section:last-child { margin-bottom: 0; }
.exam-test-section-header {
    align-items: center;
    border-bottom: 1px solid var(--sc-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.25rem;
    padding-bottom: .85rem;
}
.exam-test-section-header h2 i { color: var(--sc-primary); }
.test-exam-description { line-height: 1.45; }
.test-card .test-meta { color: var(--sc-muted); display: flex; flex-wrap: wrap; font-size: .83rem; gap: .85rem; }
.feature-panel { background: linear-gradient(180deg, #fff, #f6f7ff); border: 1px solid var(--sc-border); border-radius: var(--sc-radius-lg); padding: clamp(1.5rem, 4vw, 3rem); }
.feature-item { padding: 1rem; }
.feature-item i { color: var(--sc-primary); font-size: 1.35rem; }

.stat-card { border: 1px solid var(--sc-border); border-radius: var(--sc-radius); box-shadow: var(--sc-shadow-sm); padding: 1.25rem; }
.stat-card .stat-label { color: var(--sc-muted); font-size: .82rem; font-weight: 700; }
.stat-card .stat-value { color: var(--sc-navy); font-size: 1.75rem; font-weight: 800; line-height: 1.2; }
.stat-card .stat-icon { align-items: center; background: var(--sc-primary-soft); border-radius: .75rem; color: var(--sc-primary); display: flex; height: 2.7rem; justify-content: center; width: 2.7rem; }
.quick-link { align-items: center; border: 1px solid var(--sc-border); border-radius: .75rem; color: var(--sc-ink); display: flex; font-weight: 650; justify-content: space-between; padding: .8rem .95rem; text-decoration: none; }
.quick-link:hover { background: var(--sc-primary-soft); border-color: #c7d2fe; color: var(--sc-primary-dark); }
.analysis-mini-stat { background: #f8f9fc; border: 1px solid var(--sc-border); border-radius: .7rem; padding: .7rem; }
.analysis-mini-stat strong { color: var(--sc-navy); display: block; font-size: 1.15rem; }
.analysis-mini-stat span { color: var(--sc-muted); display: block; font-size: .72rem; }
.analysis-hero { align-items: center; background: linear-gradient(135deg, #172033, #312e81); border-radius: var(--sc-radius-lg); color: #dbe4ff; display: flex; gap: 1rem; justify-content: space-between; padding: clamp(1.5rem, 4vw, 2.5rem); }
.analysis-hero h1 { color: #fff; }
.analysis-hero .page-eyebrow { color: #a5b4fc; }
@media (max-width: 575.98px) { .analysis-hero { align-items: flex-start; flex-direction: column; }.analysis-hero .btn { width: 100%; } }

.pricing-card { position: relative; }
.pricing-card.featured { border: 2px solid var(--sc-primary); box-shadow: var(--sc-shadow); }
.pricing-card.featured .card-body { padding-top: 3.5rem !important; }
.pricing-ribbon { background: var(--sc-primary); box-shadow: 0 5px 12px rgba(79, 70, 229, .24); color: #fff; font-size: .72rem; font-weight: 800; left: 50%; letter-spacing: .08em; padding: .38rem 1rem; position: absolute; text-transform: uppercase; top: .9rem; transform: translateX(-50%); white-space: nowrap; z-index: 2; }
.price { color: var(--sc-navy); font-size: 2.7rem; font-weight: 850; letter-spacing: -.05em; }
.price small { color: var(--sc-muted); font-size: .9rem; font-weight: 600; letter-spacing: 0; }
.plan-feature { align-items: flex-start; display: flex; gap: .65rem; margin-bottom: .7rem; }
.plan-feature i { color: var(--sc-success); margin-top: .25rem; }
.pricing-support-section { margin-top: 2.5rem; padding: .75rem; }
.pricing-usp-grid { --bs-gutter-x: 2rem; --bs-gutter-y: 1.75rem; justify-content: center; }
.pricing-usp-card { aspect-ratio: 1 / 1; margin: 0 auto; max-width: 17rem; width: 100%; }
.pricing-usp-card .card-body { display: flex; flex-direction: column; justify-content: center; padding: 1.5rem; }
.pricing-usp-card h2 { font-size: 1.05rem; margin-bottom: .5rem; }
.faq-section { margin: 3rem auto 0; max-width: 900px; }
.styled-faq .accordion-item { background: #fff; border: 1px solid var(--sc-border); border-radius: .85rem; box-shadow: var(--sc-shadow-sm); margin-bottom: .75rem; overflow: hidden; }
.styled-faq .accordion-button { color: var(--sc-navy); font-weight: 750; padding: 1rem 1.15rem; }
.styled-faq .accordion-button:not(.collapsed) { background: var(--sc-primary-soft); color: var(--sc-primary-dark); box-shadow: none; }
.styled-faq .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(79, 70, 229, .18); }
.styled-faq .accordion-body { color: var(--sc-muted); padding: 1rem 1.15rem; }

.result-hero { background: linear-gradient(135deg, #172033, #312e81); border-radius: var(--sc-radius-lg); color: #fff; padding: clamp(1.5rem, 5vw, 3rem); }
.result-hero h1, .result-hero h2, .result-hero h3 { color: #fff; }
.score-ring { align-items: center; background: conic-gradient(#6ee7b7 var(--score), rgba(255,255,255,.14) 0); border-radius: 50%; display: flex; height: 150px; justify-content: center; margin: 0 auto; position: relative; width: 150px; }
.score-ring::before { background: #24245d; border-radius: 50%; content: ""; inset: 10px; position: absolute; }
.score-ring-value { color: #fff; font-size: 2.2rem; font-weight: 850; position: relative; z-index: 1; }
.result-option { align-items: flex-start; border: 1px solid var(--sc-border); border-radius: .7rem; display: flex; gap: .7rem; margin: .45rem 0; padding: .75rem .9rem; width: 100%; }
.option-badge-area { flex: 0 0 125px; }.option-text { flex: 1; }
.result-option.user-correct, .result-option.correct-answer { background: #ecfdf3; border-color: #6ce9a6; }
.result-option.user-wrong { background: #fef3f2; border-color: #fda29b; }
.result-option.unselected { color: var(--sc-muted); }
.q-review-card { background: #fff; border: 1px solid var(--sc-border); border-left: 4px solid; border-radius: .75rem; padding: 1.1rem; }
.q-review-card.correct { border-left-color: var(--sc-success); }.q-review-card.wrong { border-left-color: var(--sc-danger); }.q-review-card.unattempted { border-left-color: #f79009; }
@media (max-width: 575.98px) { .result-option { display: block; }.option-badge-area { display: block; margin-bottom: .35rem; width: auto; } }

.empty-state { padding: 3rem 1.5rem; text-align: center; }
.empty-state .icon-tile { height: 4rem; width: 4rem; }
.table { color: var(--sc-ink); vertical-align: middle; }
.table thead th { background: #f9fafb; border-bottom: 1px solid var(--sc-border); color: #475467; font-size: .75rem; letter-spacing: .04em; padding: .85rem; text-transform: uppercase; }
.table tbody td { border-color: #eef0f3; padding: .9rem .85rem; }
.table-hover tbody tr:hover > * { background: #fafaff; }
.breadcrumb { font-size: .86rem; }
.breadcrumb-item + .breadcrumb-item::before { color: #98a2b3; }

.site-footer { background: #111827; color: #cbd5e1; margin-top: 3rem; padding: 3.5rem 0 1.5rem; }
.site-footer h5 { color: #fff; font-size: .95rem; }
.site-footer a { color: #cbd5e1; text-decoration: none; }
.site-footer a:hover { color: #fff; }
.site-footer li { margin-bottom: .45rem; }
.footer-bottom { border-top: 1px solid #334155; color: #94a3b8; font-size: .85rem; margin-top: 2rem; padding-top: 1.25rem; }

.scroll-top-btn {
    align-items: center;
    background: var(--sc-primary);
    border: 0;
    border-radius: 50%;
    bottom: 1.25rem;
    box-shadow: 0 10px 24px rgba(37, 50, 75, .22);
    color: #fff;
    display: inline-flex;
    height: 2.75rem;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 1.25rem;
    transform: translateY(.5rem);
    transition: opacity .18s ease, transform .18s ease, background-color .18s ease;
    width: 2.75rem;
    z-index: 1030;
}
.scroll-top-btn:hover,
.scroll-top-btn:focus { background: var(--sc-primary-dark); color: #fff; }
.scroll-top-btn:focus-visible { box-shadow: 0 0 0 .25rem rgba(79, 70, 229, .25), 0 10px 24px rgba(37, 50, 75, .22); outline: 0; }
.scroll-top-btn.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }

.policy-header { margin: 0 auto 2rem; max-width: 850px; text-align: center; }
.policy-updated { background: var(--sc-primary-soft); border-radius: 999px; color: var(--sc-primary-dark); display: inline-block; font-size: .78rem; font-weight: 700; margin-top: .6rem; padding: .38rem .75rem; }
.policy-card { margin: 0 auto; max-width: 900px; }
.policy-card .card-body { padding: clamp(1.4rem, 5vw, 3rem); }
.policy-card section { border-bottom: 1px solid var(--sc-border); margin-bottom: 1.6rem; padding-bottom: 1.35rem; }
.policy-card section:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.policy-card h2 { font-size: 1.1rem; margin-bottom: .6rem; }
.policy-card p { color: #475467; margin-bottom: 0; }
.policy-link-list { list-style: none; margin: 0; padding: 0; }
.policy-link-list li { border-bottom: 1px solid #eef0f3; padding: .55rem 0; }
.policy-link-list li:last-child { border-bottom: 0; }
.policy-link-list a { font-weight: 650; text-decoration: none; }
.free-test-exam-heading { align-items: center; display: flex; flex-wrap: wrap; gap: .35rem 1rem; }
.free-test-exam-heading p { flex: 1 1 18rem; }
.blog-card .icon-tile { flex: 0 0 3rem; }
.blog-meta { color: var(--sc-muted); display: flex; flex-wrap: wrap; font-size: .83rem; gap: .85rem; }
.blog-article { margin: 0 auto; max-width: 900px; }
.blog-article-header { margin: 0 auto 2rem; text-align: center; }
.blog-article-header h1 { font-size: clamp(2rem, 5vw, 3.2rem); }
.blog-article-card .card-body { padding: clamp(1.5rem, 5vw, 3rem); }
.blog-article-card h2 { font-size: 1.25rem; margin: 1.7rem 0 .7rem; }
.blog-article-card h2:first-child { margin-top: 0; }
.blog-article-card p { color: #475467; font-size: 1.02rem; margin-bottom: 1.15rem; }
.blog-article-card p:last-child { margin-bottom: 0; }
.testimonial-card .card-body { display: flex; flex-direction: column; }
.rating-stars { color: #f5b942; display: flex; gap: .18rem; }
.testimonial-author { border-top: 1px solid var(--sc-border); margin-top: auto; padding-top: 1rem; }
.testimonial-author strong { color: var(--sc-navy); display: block; }
.testimonial-author span { color: var(--sc-muted); display: block; font-size: .85rem; }

@media (max-width: 767.98px) {
    .site-main > .container { padding-top: 1.5rem; }
    .site-navbar .navbar-collapse { background: #fff; padding: .7rem 0 1rem; }
    .site-navbar .btn { margin-left: 0 !important; margin-top: .35rem; width: 100%; }
    .hero { border-radius: 1.1rem; }
    .hero-actions .btn { display: block; margin: .55rem 0 !important; width: 100%; }
    .metric-strip { margin-top: 1rem; }
    .metric-item { border-bottom: 1px solid var(--sc-border); }
    .metric-item:last-child { border-bottom: 0; }
    .card-body { padding: 1.1rem; }
    .exam-test-section-header { align-items: flex-start; flex-direction: column; }
    .table-responsive { border: 1px solid var(--sc-border); border-radius: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
