/* Poprawki dostępności i krótszego formularza; zachowują istniejący wygląd. */
html { scroll-padding-top: 90px; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #a96800; outline-offset: 4px; }
button:disabled { opacity: .72; cursor: default; transform: none; }
.brand { white-space: nowrap; gap: 10px; font-size: 1.32rem; font-weight: 800; letter-spacing: -.025em; line-height: 1.15; }
.brand-mark { flex-shrink: 0; width: 40px; height: 44px; border-radius: 0; background: transparent; box-shadow: none; }
.brand-mark svg { width: 40px; height: 44px; }
.brand-name { color: #fff; }
.brand-connector { color: var(--orange-2); margin-inline: .04em; }
.brand-domain { color: #a9bed1; font-size: .85em; font-weight: 700; letter-spacing: 0; }
.grant-amount { white-space: nowrap; }
.hero-asterisk { font-size: .45em; line-height: 0; vertical-align: super; margin-left: .05em; }
.icon-currency { font-size: 1.45rem; font-weight: 800; line-height: 1; }
.nav-links { gap: 18px; }
.nav-links a { white-space: nowrap; }
.hero-note, .mini, .source-note, .consent, .form-admin, .legal { font-size: .9rem !important; }
.hero-note { color: #c6d2de; }
.visual-note { font-size: .8rem; }
.field-help { color: #d4dfeb; margin: 9px 0 0; font-size: .9rem; }
.extra-fields { margin-top: 18px; }
.extra-fields summary { cursor: pointer; padding: 10px 0; font-weight: 700; }
.extra-fields[open] .form-grid { margin-top: 12px; }
.form-admin { color: var(--muted); }
.form-status:focus { outline-offset: 2px; }
.company-line { font-size: .95rem; margin-top: 24px; }
.text-button { color: inherit; background: transparent; border: 0; text-decoration: underline; cursor: pointer; padding: 0; font: inherit; }
.privacy-dialog { background: #fff; color: var(--ink, #10243b); width: min(720px, calc(100% - 30px)); max-height: 85dvh; padding: 32px; border: 1px solid #dbe3ea; border-radius: 20px; font: 1rem/1.65 system-ui; }
.privacy-dialog::backdrop { background: rgba(2, 10, 18, .77); }
.privacy-dialog h2 { margin: 0 42px 18px 0; font-size: 1.6rem; line-height: 1.25; }
.privacy-dialog h3 { margin: 20px 0 5px; font-size: 1.1rem; }
.privacy-dialog p { margin: 8px 0; }
.dialog-close { position: absolute; right: 12px; top: 12px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: #eef2f6; font-size: 1.6rem; cursor: pointer; }
.cookie-choice { display: flex; align-items: flex-start; gap: 12px; margin: 20px 0; }
.cookie-choice input { width: 21px; height: 21px; margin: 2px 0 0; flex-shrink: 0; }
.cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.cookie-actions .text-button { grid-column: 1 / -1; padding: 12px; }
.btn-choice { background: #e9eff5; color: #071425; border: 1px solid #8fa3b8; padding: 14px; }
.reference-photo { margin: 0 0 32px; }
.reference-photo img { border-radius: 18px; width: 100%; max-height: 480px; object-fit: cover; }
.reference-photo figcaption { margin-top: 8px; font-size: .9rem; color: var(--muted); }
@media (max-width: 1100px) { .nav-links a:not(.nav-phone):not(.nav-cta) { display: none; } }
@media (max-width: 640px) {
  .brand { font-size: 1.13rem; gap: 8px; }
  .brand-mark, .brand-mark svg { width: 34px; height: 38px; }
  .nav-inner { flex-wrap: wrap; justify-content: center; gap: 8px 16px; padding: 9px 0; }
  .nav-cta { font-size: .85rem !important; }
  .hero { padding: 0; }
  h1 { line-height: 1.06; }
  .privacy-dialog { padding: 24px; }
  .cookie-actions { grid-template-columns: 1fr; }
  .mobile-bar { padding-bottom: max(9px, env(safe-area-inset-bottom)); }
  .contact-direct a { overflow-wrap: anywhere; }
}
