.skip-link { position: absolute; top: -80px; left: 16px; z-index: 100; padding: 12px 20px; background: white; color: #103f91; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid #1769ff; outline-offset: 5px; }
.catalog-crumbs { padding: 18px clamp(18px, 5vw, 72px); font-size: .9rem; }
.catalog-crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.catalog-crumbs li + li::before { content: '/'; padding-right: 8px; color: #667085; }
.catalog-crumbs a { color: #103f91; }
.catalog-hero { padding-top: 48px; }
.catalog-meta { color: #475467; font-size: .9rem; margin-top: 20px; }
.catalog-portrait { width: 100%; max-width: 440px; aspect-ratio: 1; height: auto; object-fit: cover; border-radius: 24px; justify-self: center; box-shadow: var(--shadow); }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.catalog-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; text-decoration: none; background: #fff; transition: transform .15s ease, box-shadow .15s ease; }
.catalog-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.catalog-card > img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; background: #eaf4ff; }
.catalog-card-copy { padding: 24px; flex: 1; }
.catalog-card h3 { font-size: 1.35rem; margin: 12px 0; color: var(--blue-900); }
.catalog-card p { color: #475467; margin: 0 0 20px; }
.catalog-number { display: grid; place-items: center; aspect-ratio: 1; background: linear-gradient(145deg, #103f91, #1769ff); color: #fff; font-size: clamp(2rem, 5vw, 4.5rem); font-weight: 800; letter-spacing: -.06em; }
.catalog-prose { max-width: 1100px; }
.catalog-prose p, .catalog-steps { font-size: 1.08rem; max-width: 800px; }
.catalog-steps { padding-left: 26px; }
.catalog-steps li { padding: 8px 0 8px 8px; }
.catalog-note { background: #eaf4ff; border-block: 1px solid var(--line); }
.catalog-note p { max-width: 900px; }
.catalog-faq details { border-bottom: 1px solid var(--line); padding: 20px 0; max-width: 1000px; }
.catalog-faq summary { cursor: pointer; color: var(--blue-900); font-size: 1.1rem; font-weight: 700; }
.catalog-faq details p { max-width: 800px; }
.catalog-back { margin-top: 28px; }
.catalog-jump { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.catalog-jump a { border: 1px solid #1769ff; border-radius: 24px; padding: 8px 16px; text-decoration: none; color: #103f91; }
.catalog-grid + p { margin-top: 24px; }
section[id] { scroll-margin-top: 100px; }
@media (max-width: 1000px) { .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .catalog-grid { grid-template-columns: 1fr; } .catalog-portrait { max-width: 340px; } .catalog-card-copy { padding: 20px; } .catalog-hero { padding-top: 30px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .catalog-card { transition: none; } .catalog-card:hover { transform: none; } }
