/* ARCO v46: product-led equipment cards and a purposeful, accessible footer. */
.solutions .solution-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:22px; margin:0; padding:4px 0 12px; overflow:visible; }
.solutions .solution-card:nth-child(n) { position:relative; display:grid; grid-template-columns:1fr; grid-template-rows:245px 1fr; grid-column:span 2; min-height:0; width:auto; overflow:hidden; border:1px solid #243654; border-radius:22px; background:linear-gradient(145deg,#152741,#091629); color:#fff; box-shadow:0 10px 30px rgba(11,31,72,.09); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.solutions .solution-card:nth-child(n+4) { grid-column:span 3; grid-template-columns:minmax(190px,.85fr) minmax(0,1.15fr); grid-template-rows:1fr; }
.solutions .solution-card:hover,.solutions .solution-card:focus-within { transform:translateY(-5px); border-color:#8a466d; box-shadow:0 22px 45px rgba(11,31,72,.17); }
.solutions .solution-card .card-visual { position:relative; height:auto; min-height:245px; overflow:hidden; background:linear-gradient(135deg,#f8fafc,#e8eff5); }
.solutions .solution-card:nth-child(n) .card-visual img { top:0; left:0; width:100%; height:100%; padding:19px; object-fit:contain; mix-blend-mode:multiply; transition:transform .65s cubic-bezier(.2,.8,.2,1); }
.solutions .solution-card:hover .card-visual img,.solutions .solution-card:focus-within .card-visual img { transform:scale(1.055); }
.solutions .solution-card .card-visual>span { left:17px; top:17px; width:38px; height:38px; border:1px solid #dae3ee; border-radius:10px; background:#fff; color:#263d5f; font-size:11px; box-shadow:none; }
.solutions .solution-card .card-copy { padding:25px 24px 23px; min-width:0; gap:0; }
.solutions .solution-card .card-copy>p { margin-bottom:10px; color:#ff78b5; font-size:10px; font-weight:800; letter-spacing:.15em; }
.solutions .solution-card .card-copy h3 { color:#fff; font-size:25px; line-height:1.13; letter-spacing:-.035em; margin:0 0 13px; }
.solutions .solution-card .card-copy>span { color:#bdc9da; font-size:14px; line-height:1.65; }
.solutions .equipment-models { gap:6px; margin-top:18px; }
.solutions .equipment-models>small,.solutions .equipment-brands>small { color:#97acc9; font-size:9px; letter-spacing:.11em; margin-bottom:3px; }
.solutions .equipment-models>span { color:#d8e4f4; background:#233752; border:1px solid #344966; padding:5px 8px; border-radius:6px; font-size:11px; }
.solutions .equipment-brands { margin-top:18px; display:flex; flex-wrap:wrap; gap:7px; }
.solutions .equipment-brands>small { flex:0 0 100%; }
.solutions .brand-mark { width:auto; min-width:70px; max-width:105px; min-height:32px; padding:4px 8px; border:1px solid #d7e0e9; border-radius:6px; background:#f8fafc; }
.solutions .brand-mark img { width:auto; max-width:86px; height:23px; object-fit:contain; mix-blend-mode:multiply; }
.solutions .brand-mark>span { color:#2c4161; font-size:12px; }
.solutions .equipment-actions { padding-top:22px; gap:8px; grid-template-columns:1fr 1fr; }
.solutions .equipment-actions button { min-height:45px; padding:10px 8px; border:1px solid #63748e; border-radius:9px; background:transparent; color:#fff; font:700 11px Montserrat,Avenir,'Segoe UI',Arial,sans-serif; cursor:pointer; white-space:normal; transition:background .2s ease,border-color .2s ease; }
.solutions .equipment-actions button:hover { background:#2b415f; border-color:#aebdd2; }
.solutions .equipment-actions button:last-child { border-color:#e4006d; background:#e4006d; color:#fff; }
.solutions .equipment-actions button:last-child:hover { background:#bd005a; border-color:#bd005a; }
.solutions>.mobile-swipe-cue { display:none; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #f94d9f; outline-offset:4px; }

.arco-footer { position:relative; padding:72px clamp(24px,7.2vw,122px) 25px; background:#081321; color:#fff; overflow:hidden; }
.arco-footer::before { content:''; position:absolute; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,#e4006d, #7b235a 42%,#15283f 80%); }
.arco-footer-inner { max-width:1420px; margin:0 auto; position:relative; }
.arco-footer-top { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-bottom:56px; border-bottom:1px solid #263242; }
.arco-footer-eyebrow { margin:0 0 16px; color:#ff75b2; font-size:10px; letter-spacing:.17em; font-weight:750; }
.arco-footer-top h2 { margin:0; font-size:clamp(35px,4.5vw,66px); line-height:1.06; letter-spacing:-.045em; font-weight:700; color:#fff; }
.arco-footer-top h2>span { color:#f61e88; }
.arco-footer-cta { flex:none; display:flex; align-items:center; justify-content:space-between; gap:36px; padding:19px 24px; border:1px solid #6e7a8b; border-radius:12px; background:transparent; color:#fff; cursor:pointer; font-family:inherit; font-size:14px; font-weight:650; transition:background .2s ease,border-color .2s ease; }
.arco-footer-cta:hover { background:#182a40; border-color:#f24b99; }
.arco-footer-cta>span { color:#ff75b2; font-size:23px; line-height:1; }
.arco-footer-columns { display:grid; grid-template-columns:1.2fr 1fr .8fr 1.25fr; gap:clamp(25px,3vw,48px); padding:47px 0 48px; }
.arco-footer-brand img { display:block; width:136px; height:77px; object-fit:contain; padding:8px 13px; background:#fff; border-radius:10px; }
.arco-footer-brand p { max-width:260px; margin:19px 0 0; color:#98abc2; font-size:13px; line-height:1.75; }
.arco-footer h3 { margin:7px 0 20px; color:#f2f5fa; font-size:12px; font-weight:750; letter-spacing:.02em; }
.arco-footer .arco-footer-nav { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:12px; margin:0; padding:0; overflow:visible; border:0; font-size:13px; white-space:normal; }
.arco-footer-nav h3 { margin-bottom:8px; }
.arco-footer .arco-footer-nav a,.arco-footer .arco-footer-nav button { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0; padding:0; border:0; background:none; text-align:left; color:#a9bacf; font:inherit; line-height:1.6; cursor:pointer; }
.arco-footer .arco-footer-nav a::after { display:none; }
.arco-footer .arco-footer-nav a>span,.arco-footer .arco-footer-nav button>span { color:#6b809d; font-size:14px; }
.arco-footer .arco-footer-nav a:hover,.arco-footer .arco-footer-nav button:hover,.arco-footer-contact a:hover { color:#fff; }
.arco-footer-contact { min-width:0; }
.arco-footer-contact a { display:block; width:fit-content; margin:0 0 12px; color:#a9bacf; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.arco-footer-contact .arco-footer-phone { margin-bottom:8px; color:#fff; font-size:24px; letter-spacing:-.025em; font-weight:650; }
.arco-footer-contact a:nth-of-type(2) { color:#ff91c2; margin-bottom:24px; }
.arco-footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:15px; padding-top:24px; border-top:1px solid #263242; color:#8497b0; font-size:11px; line-height:1.6; }
.arco-footer-bottom p { margin:0; }
.arco-footer-bottom>a { color:#c6d4e5; font-weight:700; }
.arco-footer-bottom>a span { margin-left:12px; color:#ff75b2; font-size:17px; }

@media(max-width:1100px) {
  .solutions .solution-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .solutions .solution-card:nth-child(n) { grid-column:span 1; grid-template-columns:1fr; grid-template-rows:240px 1fr; }
  .solutions .solution-card:last-child { grid-column:1/-1; grid-template-columns:1fr 1fr; grid-template-rows:1fr; }
  .arco-footer-columns { grid-template-columns:1fr 1fr; gap:35px 60px; }
}
@media(max-width:790px) {
  .solutions .solution-grid { display:grid; grid-template-columns:1fr; margin:0; padding:0; overflow:visible; gap:20px; }
  .solutions .solution-card:nth-child(n) { grid-column:1; width:100%; min-height:0; grid-template-columns:36% minmax(0,1fr); grid-template-rows:1fr; }
  .solutions .solution-card .card-visual { height:100%; min-height:260px; }
  .solutions .solution-card .card-copy { padding:24px 22px; }
  .arco-footer { padding:58px 24px 25px; }
  .arco-footer-top { align-items:flex-start; flex-direction:column; gap:28px; padding-bottom:35px; }
  .arco-footer-top h2 { font-size:45px; }
  .arco-footer-cta { width:100%; max-width:350px; font-size:14px; }
}
@media(max-width:520px) {
  .solutions .solution-card:nth-child(n) { grid-template-columns:1fr; grid-template-rows:230px 1fr; border-radius:18px; }
  .solutions .solution-card .card-visual { height:230px; min-height:230px; }
  .solutions .solution-card .card-copy h3 { font-size:26px; }
  .solutions .equipment-actions button { min-height:46px; font-size:12px; }
  .arco-footer { padding:48px 20px 24px; }
  .arco-footer-top h2 { font-size:38px; }
  .arco-footer-eyebrow { font-size:8px; letter-spacing:.12em; }
  .arco-footer-columns { grid-template-columns:1fr 1fr; gap:30px 25px; padding:34px 0; }
  .arco-footer-brand,.arco-footer-contact { grid-column:1/-1; }
  .arco-footer-brand { display:grid; grid-template-columns:115px 1fr; align-items:center; gap:18px; }
  .arco-footer-brand img { width:115px; height:67px; }
  .arco-footer-brand p { margin:0; font-size:11px; line-height:1.65; }
  .arco-footer-contact { border-top:1px solid #263242; padding-top:23px; }
  .arco-footer-bottom { gap:10px; font-size:10px; }
  .arco-footer-bottom>span { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .solutions .solution-card:nth-child(n),.solutions .solution-card:nth-child(n) .card-visual img,.arco-footer-cta,.solutions .equipment-actions button { transition:none; }
  .solutions .solution-card:hover,.solutions .solution-card:focus-within,.solutions .solution-card:hover .card-visual img,.solutions .solution-card:focus-within .card-visual img { transform:none; }
}
