/* ARQORA v13 FINAL — small conversion, accessibility and motion polish only. */
html{scroll-padding-top:96px}
section[id],#contact,[data-form-step]{scroll-margin-top:108px}

/* Keep interaction latency feeling immediate on touch devices. */
.service-option,.contact-steps button,.gbp-price-button,.btn{touch-action:manipulation}

/* Final form polish: calmer validation, clearer completion and submission state. */
.contact-card-v2 input,.contact-card-v2 textarea{caret-color:var(--orange)}
.contact-card-v2 input.invalid,.contact-card-v2 textarea.invalid{
  background:linear-gradient(0deg,rgba(179,38,30,.025),rgba(179,38,30,.025)),#fffdf8;
}
.contact-card-v2 [data-submit-button]:disabled{
  cursor:wait;
  opacity:.72;
  transform:none!important;
  box-shadow:none;
}
.form-ready.is-ready{animation:form-ready-settle .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes form-ready-settle{
  0%{box-shadow:0 0 0 0 rgba(29,122,69,0)}
  45%{box-shadow:0 0 0 5px rgba(29,122,69,.08)}
  100%{box-shadow:0 0 0 0 rgba(29,122,69,0)}
}

/* The step controls read as navigation, not decorative pills. */
.contact-steps button[aria-current="step"]{box-shadow:0 5px 15px rgba(255,90,0,.08)}
.service-options[role="radiogroup"] .service-option[aria-checked="true"]{
  box-shadow:0 0 0 2px rgba(255,90,0,.12),0 12px 26px rgba(80,45,22,.07);
}

/* Restrained desktop depth cues — the page already has enough animation. */
@media(hover:hover) and (pointer:fine){
  .gbp-metric,.gbp-rating-panel,.gbp-price{
    transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
  }
  .gbp-metric:hover,.gbp-rating-panel:hover{
    transform:translateY(-2px);
    border-color:#4a4a4a;
    box-shadow:0 12px 28px rgba(0,0,0,.13);
  }
  .gbp-price:hover{transform:translateY(-2px)}
}

/* A slightly tighter mobile rhythm without reducing usable touch targets. */
@media(max-width:700px){
  html{scroll-padding-top:82px}
  section[id],#contact,[data-form-step]{scroll-margin-top:92px}
  .contact-card-v2 .form-section{scroll-margin-top:92px}
  .form-status:not(:empty){padding-top:2px}
}

@media(prefers-reduced-motion:reduce){
  .form-ready.is-ready{animation:none!important}
  .gbp-metric,.gbp-rating-panel,.gbp-price{transition:none!important}
}
