:root {
  --spx-focus: #f0c85a;
  --spx-header-shadow: 0 10px 35px rgba(3, 16, 25, .13);
}

html { scroll-padding-top: 92px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: var(--spx-header-shadow);
  backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
}

.admin-bar .site-header { top: 32px; }

.seenopex-skip-link {
  position: fixed;
  z-index: 99999;
  top: 10px;
  left: 10px;
  padding: 12px 18px;
  color: #071722;
  background: #fff;
  border: 2px solid var(--spx-focus);
  border-radius: 4px;
  font-weight: 800;
  transform: translateY(-150%);
  transition: transform .18s ease;
}

.seenopex-skip-link:focus { transform: translateY(0); }

:where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid var(--spx-focus);
  outline-offset: 4px;
}

.service-visual-card {
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}

.service-visual-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 45px rgba(7, 23, 34, .16);
}

.service-card-media {
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}

.service-visual-card:hover .service-card-media { transform: scale(1.025); }

.btn,
.text-link,
.service-card-link { text-underline-offset: .22em; }

.footer-direction,
.footer-social-link { min-height: 44px; display: inline-flex; align-items: center; }

.contact-layout > *,
.contact-copy,
.contact-form-shell,
.wpcf7,
.wpcf7-form { min-width: 0; max-width: 100%; }

.contact-layout { align-items: start; }

.contact-form-shell {
  border: 1px solid rgba(7, 23, 34, .06);
  box-shadow: 0 24px 60px rgba(7, 23, 34, .08);
}

.wpcf7 p { margin: 0 0 22px; }

.wpcf7 label {
  display: block;
  color: #334852;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.45;
}

.wpcf7 .wpcf7-form-control-wrap {
  display: block;
  margin-top: 8px;
}

.wpcf7 input:not([type="checkbox"]):not([type="radio"]),
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  max-width: 100%;
  border: 1px solid #cbd6da;
  border-radius: 0;
  background: #fff;
  color: #102532;
  font: inherit;
  line-height: 1.4;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]),
.wpcf7 select {
  min-height: 52px;
  padding: 13px 15px;
}

.wpcf7 textarea {
  min-height: 170px;
  padding: 14px 15px;
  resize: vertical;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder { color: #71818a; opacity: 1; }

.wpcf7 input:not([type="checkbox"]):not([type="radio"]):focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: #af8b2f;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(240, 200, 90, .24);
  outline: 0;
}

.wpcf7 input[type="file"] {
  min-height: 52px;
  padding: 10px 12px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #cbd6da;
}

.wpcf7 input[type="submit"] {
  min-height: 54px;
  width: auto;
  padding: 0 26px;
  border: 1px solid #d9ad3d;
  background: #d9ad3d;
  color: #071722;
  cursor: pointer;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.wpcf7 input[type="submit"]:hover {
  border-color: #bf9225;
  background: #bf9225;
}

.wpcf7 input[type="submit"]:disabled {
  cursor: wait;
  opacity: .7;
}

.wpcf7 .wpcf7-not-valid-tip {
  margin-top: 7px;
  color: #a12a2a;
  font-size: .88rem;
  font-weight: 650;
}

.wpcf7 form .wpcf7-response-output {
  margin: 22px 0 0;
  padding: 14px 16px;
  border-width: 1px;
  background: #fff;
  font-size: .94rem;
  line-height: 1.55;
}

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 76px; }
  .site-header { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .main-nav.open { max-height: calc(100dvh - 76px); overflow-y: auto; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .service-visual-card:hover { transform: none; }
  .section { padding-top: 60px; padding-bottom: 60px; }
  .split { gap: 42px; }
  .contact-layout { grid-template-columns: minmax(0, 1fr); }
  .contact-form-shell { padding: 30px 20px; }
  .wpcf7 input[type="submit"] { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .service-visual-card:hover,
  .service-visual-card:hover .service-card-media { transform: none; }
}

