/* Shared interaction and accessibility improvements. */
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #f2c76d; outline-offset: 4px; }
.skip-link { position: fixed; top: 8px; inset-inline-start: 12px; z-index: 10000; padding: 12px 18px; background: #fff; color: #102e32; transform: translateY(-180%); border-radius: 8px; }
.skip-link:focus { transform: translateY(0); }
main, section[id] { scroll-margin-top: 110px; }
.site-shell .menu-toggle { display: none; border: 1px solid #718a8d; border-radius: 10px; padding: 10px 14px; background: #112c31; color: #fff; font: inherit; cursor: pointer; min-height: 44px; }
.lang-btn { min-width: 44px; min-height: 44px; }
.site-shell .nav-links a[aria-current="page"] { color: #9fe7df; text-decoration: underline; text-underline-offset: 8px; }
.request-form { max-width: 760px; margin-inline: auto; }
.request-form .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.request-form .full-width { grid-column: 1 / -1; }
.request-form label { display: block; margin-bottom: 8px; font-weight: 700; }
.request-form input, .request-form select, .request-form textarea { width: 100%; min-height: 46px; border: 1px solid #758c8e; border-radius: 10px; padding: 12px; font: inherit; background: #0b1c22; color: #f6fbfa; }
.request-form textarea { resize: vertical; min-height: 150px; }
.request-form .form-note { color: #bdced0; line-height: 1.8; }
.request-form [role="status"]:not(:empty) { margin-top: 16px; padding: 14px; border: 1px solid #d3a24f; border-radius: 10px; }
.comparison-wrap { overflow-x: auto; border: 1px solid #566b70; border-radius: 14px; }
.comparison-table { width: 100%; border-collapse: collapse; min-width: 650px; text-align: start; }
.comparison-table caption { padding: 18px; text-align: start; font-weight: 700; }
.comparison-table th, .comparison-table td { padding: 18px; border-bottom: 1px solid #415258; vertical-align: top; }
.comparison-table thead { background: #12343a; }
.comparison-table tbody th { text-align: start; }
.comparison-table tr:last-child > * { border-bottom: 0; }
.comparison-table a { color: #9fe7df; text-decoration: underline; text-underline-offset: 4px; }
.site-shell .nav-actions > .btn-outline { white-space: nowrap; }
@media (max-width: 1020px) {
  .site-shell .nav { flex-wrap: wrap; }
  .site-shell .nav-links { flex-wrap: wrap; overflow: visible; width: 100%; gap: 6px 18px; }
  .navigation-ready .site-shell .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .navigation-ready .site-shell .nav-links { display: none; }
  .navigation-ready .site-shell .nav-links.is-open { display: flex; flex-direction: column; align-items: stretch; }
  .site-shell .nav-links a { padding: 12px; }
  .site-shell .nav-actions { margin-inline-start: auto; flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .site-shell .brand-text { display: inline; font-size: 1rem; }
  .site-shell .brand { gap: 8px; }
  .site-shell .brand-mark { width: 36px; height: 36px; }
  .site-shell .nav-actions { width: 100%; margin-inline-start: 0; }
  .site-shell .nav-actions > .btn-outline { width: auto; margin-inline-start: auto; }
  .site-shell .menu-toggle { margin-inline-start: auto; }
  .request-form .form-grid { grid-template-columns: 1fr; }
  .card { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .fade-in, .reveal { opacity: 1 !important; transform: none !important; }
}
