/* Shared blue palette for primary, secondary and selection buttons. */
.btn,.btn.lime,.header-contact{background:#287cb5;border-color:#287cb5;color:#fff}
.btn:hover,.btn.lime:hover,.header-contact:hover{background:#206b9f;border-color:#206b9f;color:#fff}
.btn.light{background:#e5f0f8;border-color:#bfd5e5;color:#205674}
.btn.light:hover{background:#d5e7f4;border-color:#96bbd6;color:#174761}
.hero .btn:not(.light){box-shadow:0 5px 14px #287cb520}
.btn,.header-contact{justify-content:center;gap:0}
.hero .btn{min-width:164px}
.btn,.header-contact,.filter,.pagination button{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}
.btn:hover{transform:none}
@media(hover:hover){
  .btn:hover,.header-contact:hover,.filter:hover,.pagination button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #20567424}
}
.btn:active,.btn:hover:active,.header-contact:active,.filter:active,.pagination button:active{transform:translateY(0) scale(.97);box-shadow:0 2px 5px #2056741c;transition-duration:.08s}
.filter{background:#e5f0f8;border-color:#bfd5e5;color:#205674}
.filter:hover{background:#d5e7f4}
.filter.selected,.filter.selected:hover{background:#287cb5;border-color:#287cb5;color:white}
.pagination button{background:#e5f0f8;border-color:#bfd5e5;color:#205674}
.pagination button:hover{background:#d5e7f4}
.pagination button[aria-current]{background:#287cb5;border-color:#287cb5;color:white}
.ui-arrow{display:inline-block;vertical-align:middle;width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card-link b{display:inline-flex;align-items:center}
@media(prefers-reduced-motion:reduce){.btn,.header-contact,.filter,.pagination button{transition:none!important;transform:none!important}}

/* Shared spacing and feedback for text-link arrows. */
a.ui-arrow-label,span.ui-arrow-label,b.ui-arrow-label{display:inline-flex;align-items:center;gap:8px}
.ui-arrow-label>.ui-arrow{width:18px;height:18px;flex:0 0 18px;stroke-width:1.8;transition:transform .18s ease}
@media(hover:hover){a:hover .ui-arrow{transform:translateX(3px)}}
@media(prefers-reduced-motion:reduce){.ui-arrow{transition:none!important;transform:none!important}}

/* Service and solution cards share the button palette. */
.service-card{transition:background-color .2s ease,box-shadow .2s ease}
.service-card:hover,.service-card:focus-visible{background:#e5f0f8;box-shadow:inset 0 0 0 1px #bfd5e5}
.service-card:hover h3,.service-card:focus-visible h3,.service-card:hover .card-link,.service-card:focus-visible .card-link{color:#205674}
.service-card:focus-visible{outline:2px solid #287cb5;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.service-card{transition:none}}

/* Resource cards match service-card feedback. */
.library-card{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.library-card:hover,.library-card:focus-visible{background:#e5f0f8;border-color:#bfd5e5;box-shadow:inset 0 0 0 1px #bfd5e5;transform:none}
.library-card:hover h3,.library-card:focus-visible h3,.library-card:hover .library-meta,.library-card:focus-visible .library-meta{color:#205674}
.library-card:focus-visible{outline:2px solid #287cb5;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.library-card{transition:none}}

/* Balanced inquiry fields: name pair, full-width email and message. */
#inquiry-form .form-grid{column-gap:20px;row-gap:24px}
#inquiry-form .field{gap:9px;font-size:14px;font-weight:500;min-width:0}
#inquiry-form .field input,#inquiry-form .field textarea{padding:14px 16px;border-radius:7px;font-weight:400;transition:border-color .18s ease,box-shadow .18s ease}
#inquiry-form .field input:focus,#inquiry-form .field textarea:focus{border-color:#287cb5;outline:2px solid #bfd5e5;outline-offset:2px}
#inquiry-form .field textarea{min-height:160px}

.inquiry-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#inquiry-form button:disabled{opacity:.65;cursor:wait;transform:none}
#inquiry-result[data-state="success"]{background:#e5f0f8;color:#205674}
#inquiry-result[data-state="error"]{background:#fff0ee;color:#9d3629}
