/* Shared Archive presentation. Standalone test runners do not use this scope. */
body.archive-site {
    --paper: #fff;
    --surface: #fff;
    --ink: #111827;
    --muted: #64748b;
    --green: #2563eb;
    --green-light: #eff6ff;
    --accent: #2563eb;
    --gold: #dbeafe;
    --line: #e5e7eb;
    --radius: 8px;
    --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --serif: var(--sans);
    background: #fff;
    color: var(--ink);
    font-family: var(--sans);
    line-height: 1.6;
}

.archive-site .container:not(.archive-checkout) { width: min(1120px, calc(100% - 48px)); }
.archive-site h1, .archive-site h2, .archive-site h3 { font-family: var(--sans); font-weight: 700; letter-spacing: -.025em; }
.archive-site h1, .archive-site .detail-header h1, .archive-site .reading-header h1, .archive-site .results-header h1, .archive-site .preview-heading h1, .archive-site .error-page h1 { font-size: 32px; line-height: 1.2; }
.archive-site h2, .archive-site .section-heading h2, .archive-site .collection-note h2, .archive-site .prose-section h2, .archive-site .test-start-panel h2 { font-size: 26px; line-height: 1.25; }
.archive-site h3 { font-size: 18px; line-height: 1.35; }
.archive-site .eyebrow { color: #2563eb; font-weight: 600; letter-spacing: .1em; }
.archive-site .lead-copy, .archive-site .prose-section .lead-copy { color: #475569; font-size: 17px; line-height: 1.75; }
.archive-site .prose-section p, .archive-site .detail-subtitle { color: #64748b; }
.archive-site .detail-subtitle { font-family: var(--sans); font-size: 18px; line-height: 1.55; }
.archive-site a:focus-visible, .archive-site button:focus-visible, .archive-site summary:focus-visible { outline-color: #2563eb; }

.archive-site .site-header { position: relative; z-index: 40; background: rgba(255,255,255,.96); border-bottom: 1px solid #dce3ee; }
.archive-site .header-inner { min-height: 72px; padding-block: 12px; gap: 24px; }
.archive-site .brand { flex-shrink: 0; gap: 12px; }
.archive-site .brand-name { color: #111827; font-family: Georgia, "Times New Roman", serif; font-size: 21px; letter-spacing: -.04em; }
.archive-site .brand-name > span { font-size: 19px; letter-spacing: .015em; }
.archive-site .brand-mark i { background: #2563eb; }
.archive-site .brand-mark i:last-child { background: #ad602f; }
.archive-site .site-nav { width: auto; gap: 24px; align-items: center; }
.archive-site .site-nav > a { color: #52627a; font-size: 13px; font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; padding-block: 10px; }
.archive-site .site-nav > a:hover, .archive-site .site-nav > a[aria-current="page"] { color: #2563eb; }
.archive-site .site-nav > a[aria-current="page"]::after { background: #2563eb; }
.archive-site .site-nav .nav-primary { color: #fff; background: #2563eb; border-color: #2563eb; padding: 10px 18px; border-radius: 999px; font-weight: 700; min-height: 44px; margin-left: 0; }
.archive-site .site-nav .nav-primary:hover { color: #fff; background: #1d4ed8; border-color: #1d4ed8; }
.archive-site .archive-mobile-menu { display: none; }
.archive-site .archive-mobile-menu > summary { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #dce3ee; border-radius: 9px; color: #111827; cursor: pointer; list-style: none; background: #fff; }
.archive-site .archive-mobile-menu > summary::-webkit-details-marker { display: none; }
.archive-site .archive-mobile-menu > summary::marker { content: ""; }
.archive-site .archive-mobile-menu > summary svg { width: 22px; height: 22px; }
.archive-site .archive-mobile-menu[open] > summary { color: #2563eb; border-color: #93c5fd; background: #f8fafc; }
.archive-site .mobile-site-nav { position: absolute; top: calc(100% - 1px); left: 16px; right: 16px; z-index: 45; display: flex; flex-direction: column; gap: 4px; padding: 12px; border: 1px solid #dce3ee; border-radius: 0 0 12px 12px; background: #fff; box-shadow: 0 12px 24px rgba(15,23,42,.09); }
.archive-site .mobile-site-nav > a { display: flex; align-items: center; min-height: 44px; padding: 10px 14px; border-radius: 7px; color: #52627a; font-size: 14px; font-weight: 600; text-decoration: none; }
.archive-site .mobile-site-nav > a:hover, .archive-site .mobile-site-nav > a[aria-current="page"] { color: #2563eb; background: #eff6ff; }
.archive-site .mobile-site-nav > .nav-primary { justify-content: center; margin-top: 5px; border-radius: 999px; background: #2563eb; color: #fff; }
.archive-site .mobile-site-nav > .nav-primary:hover { background: #1d4ed8; color: #fff; }
.archive-site input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]):not([type="range"]), .archive-site select, .archive-site textarea { font-size: 16px; }

.archive-site .button { background: #2563eb; border-color: #2563eb; color: #fff; border-radius: 999px; font-size: 14px; font-weight: 600; min-height: 48px; padding: 11px 24px; line-height: 1.6; box-shadow: none; }
.archive-site .button:hover { background: #1d4ed8; border-color: #1d4ed8; }
.archive-site .button-secondary { background: #fff; color: #2563eb; border-color: #bfdbfe; }
.archive-site .button-secondary:hover { background: #eff6ff; color: #1d4ed8; }
.archive-site .button-small { min-height: 44px; padding: 9px 18px; font-size: 13px; }
.archive-site .text-link { color: #2563eb; border-color: #93c5fd; font-weight: 600; }
.archive-site .text-link:hover { color: #1d4ed8; border-color: #1d4ed8; }
.archive-site .breadcrumb { color: #64748b; }
.archive-site .breadcrumb a:hover { color: #2563eb; }

.archive-site .detail-page, .archive-site .reading-page, .archive-site .results-page { padding-top: 36px; padding-bottom: 64px; }
.archive-site .detail-header { margin-bottom: 36px; }
.archive-site .panel { border-color: #e5e7eb; border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(15,23,42,.035); }
.archive-site .test-card { background: #fff; border-color: #e5e7eb; border-radius: 12px; box-shadow: 0 2px 6px rgba(15,23,42,.025); }
.archive-site .test-card:hover { border-color: #93c5fd; box-shadow: 0 8px 22px rgba(15,23,42,.055); }
.archive-site .card-title-row h3 { font-family: var(--sans); font-size: 22px; font-weight: 700; letter-spacing: -.025em; line-height: 1.3; }
.archive-site .card-origin, .archive-site .card-subtitle, .archive-site .card-facts, .archive-site .card-year, .archive-site .catalog-number { color: #64748b; }
.archive-site .tag { background: #eff6ff; border-color: #dbeafe; border-radius: 999px; color: #2563eb; font-weight: 600; }
.archive-site .test-card .card-link { background: #2563eb; border-color: #2563eb; color: #fff; border-radius: 999px; padding-left: 18px; font-weight: 600; box-shadow: none; }
.archive-site .test-card .card-link:hover { background: #1d4ed8; border-color: #1d4ed8; transform: none; box-shadow: none; }
.archive-site .test-card .card-link .card-link-icon { background: transparent; color: #fff; border-radius: 50%; }
.archive-site .test-start-panel { background: #f8fafc; border-color: #dbeafe; }
.archive-site .test-facts > div, .archive-site .test-start-panel .detail-price { border-color: #dbeafe; }
.archive-site .test-start-panel > p { color: #64748b; }
.archive-site .collection-note { border-color: #e5e7eb; padding-top: 40px; }
.archive-site .collection-note > div:last-child { color: #64748b; }
.archive-site .reading-header, .archive-site .sources-section { border-color: #e5e7eb; }
.archive-site .hero-price, .archive-site .hero-price strong, .archive-site .detail-price, .archive-site .detail-price strong, .archive-site .archive-pricing-note, .archive-site .archive-pricing-note strong, .archive-site .report-price-amount, .archive-site .price-amount { font-weight: 400; }

.archive-site .site-footer { background: #111827; border-top: 1px solid #1f2937; color: #fff; }
.archive-site .footer-inner { padding-block: 44px; gap: 40px; }
.archive-site .footer-title { font-family: Georgia, "Times New Roman", serif; color: #fff; }
.archive-site .footer-inner p { color: #cbd5e1; font-size: 12px; line-height: 1.7; }
.archive-site .footer-inner nav { gap: 12px 24px; flex-wrap: wrap; }
.archive-site .footer-inner nav a { color: #cbd5e1; font-size: 12px; padding-block: 6px; }
.archive-site .footer-inner nav a:hover { color: #fff; }

@media (max-width: 840px) {
    .archive-site .header-inner { flex-wrap: nowrap; gap: 18px; }
    .archive-site .site-nav { width: auto; gap: 16px; flex-wrap: nowrap; }
}
@media (max-width: 759px) {
    .archive-site .site-nav { display: none; }
    .archive-site .archive-mobile-menu { display: block; margin-left: auto; }
}
@media (max-width: 540px) {
    .archive-site .container:not(.archive-checkout) { width: calc(100% - 32px); }
    .archive-site h1, .archive-site .detail-header h1, .archive-site .reading-header h1, .archive-site .results-header h1, .archive-site .preview-heading h1, .archive-site .error-page h1 { font-size: 26px; }
    .archive-site h2, .archive-site .section-heading h2, .archive-site .collection-note h2, .archive-site .prose-section h2, .archive-site .test-start-panel h2 { font-size: 24px; }
    .archive-site .header-inner { padding-block: 12px; }
    .archive-site .brand-name { font-size: 19px; }
    .archive-site .brand-name > span { font-size: 17px; }
    .archive-site .detail-page, .archive-site .reading-page, .archive-site .results-page { padding-top: 26px; padding-bottom: 44px; }
    .archive-site .card-title-row h3 { font-size: 20px; }
    .archive-site .footer-inner { padding-block: 36px; gap: 24px; }
}
