.api-feature { max-width: 1180px; margin: 0 auto; padding: 64px 32px; }
.api-feature h2 { margin: 0 0 24px; }
.api-catalogs > h2, #catalogs + noscript .api-feature > h2 { display: inline-block; max-width: 100%; box-sizing: border-box; padding: 12px 20px; border-radius: 3px; background: #17394a; color: #fff; }
.api-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.api-catalog-market { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; min-width: 0; border: 1px solid #d4dce4; border-top: 3px solid #60b7da; border-radius: 3px; padding: 14px; background: #f8fafc; }
.api-catalog-market h3 { grid-column: 1 / -1; margin: 0; text-align: center; }
.api-download { display: flex; align-items: center; justify-content: center; text-align: center; height: 60px; width: 100%; min-width: 0; padding: 8px 12px; box-sizing: border-box; background: #fff; border: 1px solid #17394a; border-radius: 3px; font-size: 14px; line-height: 1.3; font-weight: 600; color: #17394a; text-decoration: none; overflow-wrap: anywhere; }
.api-download:hover, .api-download:focus-visible { background: #17394a; border-color: #17394a; color: #fff; }
.api-download:focus-visible { outline: 3px solid #2587b1; outline-offset: 3px; }
#catalogs, #faq { scroll-margin-top: 170px; }
.api-catalog-card h3 { margin: 0; }
.api-catalog-card h4 { min-height: 42px; margin: 0; }
.api-catalog-card .button { min-height: 68px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.api-catalog-empty { margin: 0; color: #536872; }
.api-catalog-note { margin: 12px 0 0; color: #17394a; font-size: 16px; line-height: 1.45; }
.api-faq details { border-top: 1px solid rgba(23, 57, 74, .18); padding: 18px 0; }
.api-faq details:last-child { border-bottom: 1px solid rgba(23, 57, 74, .18); }
.api-faq summary { cursor: pointer; font-weight: 700; }
.api-faq p { max-width: 760px; margin: 12px 0 0; }
.api-privacy-button { margin-inline-start: 18px; background: none; border: 0; color: inherit; text-decoration: underline; cursor: pointer; }
.api-analytics-banner { position: fixed; z-index: 100; inset: auto 16px 16px; padding: 18px; max-height: 70vh; overflow: auto; background: #17394a; color: #fff; box-shadow: 0 8px 30px rgba(0,0,0,.2); border-radius: 10px; }
.api-analytics-banner p { margin: 0 0 12px; }
.api-analytics-banner button, .api-privacy-dialog button { margin-right: 10px; padding: 8px 14px; cursor: pointer; }
.api-privacy-dialog { width: min(560px, calc(100vw - 32px)); max-height: 85vh; overflow: auto; box-sizing: border-box; border: 0; border-radius: 12px; padding: 24px; overflow-wrap: anywhere; }
.api-analytics-actions { display:flex; flex-wrap:wrap; gap:8px; }
.api-accept, .api-reject { min-height:44px; }
.api-privacy-dialog::backdrop { background: rgba(0,0,0,.45); }
.api-privacy-dialog p { line-height: 1.55; }
.api-privacy-close { float: right; }
@media (max-width: 640px) { .api-feature { padding: 42px 20px; } .api-catalog-grid { grid-template-columns:minmax(0,1fr); } .api-catalog-market h3 { font-size:17px; } }
@media (max-width: 900px) { .api-catalog-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 380px) { .api-catalog-market { grid-template-columns: minmax(0, 1fr); } .api-catalog-market h3 { grid-column: auto; } }
@media (max-width: 700px) {
  .site-header { grid-template-columns: minmax(0,1fr) auto; gap:12px; }
  .brand { min-width:0; }
  .brand-stamp { max-width:100%; height:auto; }
  .contact-details, .footer-inner { overflow-wrap:anywhere; }
  .api-privacy-button { margin-inline-start:0; }
  .hero h1 { font-size:clamp(30px,7.5vw,42px); overflow-wrap:anywhere; }
}
@media (min-width: 701px) {
  .site-header { grid-template-columns:minmax(0,1fr) minmax(220px,300px); gap:12px 24px; padding-block:12px; }
  .brand { grid-column:1; grid-row:1; }
  .header-actions { grid-column:2; grid-row:1; display:grid; gap:8px; }
  .main-nav { grid-column:1 / -1; grid-row:2; justify-content:center; flex-wrap:wrap; gap:10px 24px; font-size:16px; }
}
