/* Begin Digital — production additions on top of the design styles */
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
input::placeholder { color: #8A8FB3; }
input:focus-visible, button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #6E80FF; outline-offset: 3px; }

/* case filter tabs */
.case-tab { min-height: 72px; padding: 0 44px; border-radius: 999px; font-family: inherit; font-size: 19px; cursor: pointer;
  border: 1px solid #D5D7E5; background: #FFFFFF; color: #060C36; transition: background .2s, color .2s; }
.case-tab:hover { border-color: #060C36; }
.case-tab.is-on { border-color: #060C36; background: #060C36; color: #FFFFFF; }
.case-card[hidden] { display: none !important; }

/* lead forms */
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form-msg { margin: 0; font-size: 15px; grid-column: 1 / -1; min-height: 0; }
.form-msg:empty { display: none; }
.form-msg.is-error { color: #FF9C9C; }
.lead-form input.is-invalid { border-color: #FF7A7A !important; }
.lead-form button[disabled] { opacity: .6; cursor: progress; }

/* scroll reveal fallback for browsers without scroll-driven animations */
@supports not (animation-timeline: view()) {
  .js .reveal { opacity: 0; transform: translateY(40px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
  .js .reveal.is-in { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .js .reveal { opacity: 1 !important; transform: none !important; transition: none !important; } }

/* mobile menu */
.burger { display: none; width: 48px; height: 48px; border-radius: 50%; border: 1px solid #2A3375; background: transparent; color: #FFFFFF; cursor: pointer; align-items: center; justify-content: center; }

@media (max-width: 960px) {
  header nav[aria-label="Основна навігація"] { display: none !important; order: 3; width: 100%; flex-direction: column; gap: 4px !important; padding: 8px 0 12px; }
  header nav[aria-label="Основна навігація"] a { padding: 12px 0; font-size: 18px; border-bottom: 1px solid #1A2260; }
  header.menu-open nav[aria-label="Основна навігація"] { display: flex !important; }
  .burger { display: inline-flex; }
  header > div > a.btn-grad { display: none !important; }
}

@media (max-width: 760px) {
  section > div, header > div, footer > div { padding-left: 20px !important; padding-right: 20px !important; }
  section > div { padding-top: 72px !important; padding-bottom: 72px !important; }
  [style*="minmax(360px"], [style*="minmax(340px"], [style*="minmax(320px"], [style*="minmax(280px"], [style*="minmax(260px"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr)"] { grid-template-columns: 1fr !important; gap: 48px !important; }
  [style*="padding-left: 56px; border-left"] { padding-left: 0 !important; border-left: 0 !important; padding-top: 40px; border-top: 1px solid #2A3375; }
  /* hero */
  #top [style*="grid-template-columns: minmax(0, 1fr) 40px"] { grid-template-columns: 1fr !important; }
  #top [aria-hidden="true"][style*="align-items: center"] { display: none !important; }
  #top [style*="border-left: 1px solid #2A3375"] { border-left: 0 !important; border-top: 1px solid #2A3375; }
  #top > div:first-child { padding-top: 56px !important; }
  #top a.pop { width: 150px !important; height: 150px !important; font-size: 14px !important; bottom: -75px !important; left: 20px !important; }
  #top + section > div:first-child { padding-top: 110px !important; }
  [style*="border-radius: 48px"] { border-radius: 28px !important; }
  footer[style*="border-radius: 48px 48px 0 0"] { border-radius: 28px 28px 0 0 !important; }
  .case-tab { min-height: 52px; padding: 0 22px; font-size: 16px; }
  [style*="padding: 48px;"], [style*="padding: 48px 40px"], [style*="padding: 40px;"] { padding: 28px !important; }
  [style*="min-height: 72px; padding: 0 56px"], [style*="min-height: 72px; padding: 0 48px"] { padding: 0 28px !important; text-align: center; }
  ol[style*="repeat(2, minmax(0, 1fr))"] { grid-template-columns: 1fr !important; }
  [style*="min-width: 260px; height: 120px"] { min-width: 200px !important; height: 90px !important; font-size: 20px !important; }
  [style*="min-height: 72px; padding: 0 40px; border: 1px solid #D5D7E5"] { min-height: 56px !important; padding: 0 24px !important; font-size: 17px !important; }
  a.pulse { width: 60px !important; height: 60px !important; right: 16px !important; bottom: 16px !important; }
}
