.reviews{background:#101625;color:#fff}.reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:42px}.reviews-heading>p{color:#a5afc2;max-width:260px;line-height:1.7}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{margin:0;padding:30px;display:flex;flex-direction:column;background:#151e30;border:1px solid #2a354b;border-top:2px solid #b9ff66}.review-mark{font:80px Georgia,serif;color:#b9ff66;line-height:.9}.review-card blockquote{margin:16px 0 28px;font-size:15px;line-height:1.8;color:#d0d7e4}.review-card blockquote p{margin:0 0 16px}.review-card blockquote p:last-child{margin-bottom:0}.review-card figcaption{margin-top:auto;border-top:1px solid #303b50;padding-top:22px;display:grid;gap:7px}.review-card figcaption strong{font-size:15px;color:#fff}.review-card figcaption span{font-size:12px;color:#a5afc2;line-height:1.5}@media(max-width:980px){.reviews-grid{grid-template-columns:1fr}.reviews-heading{display:block}.reviews-heading>p{max-width:none}.review-card{padding:28px}.review-card blockquote{font-size:16px}}@media(max-width:680px){.reviews-heading{margin-bottom:28px}.review-card{padding:24px}}
/* Match the real fleet photograph to the cool, low-light AV imagery. */
.service-photo:has(img[src$="white-label-vans.jpg"]){position:relative;background:#10172b}
.service-photo img[src$="white-label-vans.jpg"],.service:hover .service-photo img[src$="white-label-vans.jpg"],body[data-service="white-label-av-installation"] .svc-hero-media img{object-position:50% 48%;filter:brightness(.83) contrast(1.13) saturate(.57)}
.service-photo:has(img[src$="white-label-vans.jpg"]):after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(49,67,140,.28),rgba(80,53,145,.12) 60%,rgba(11,16,28,.22));box-shadow:inset 0 -24px 35px -22px #0b101c}
body[data-service="white-label-av-installation"] .svc-hero-media:after{background:linear-gradient(90deg,#0b101c,transparent 35%),linear-gradient(0deg,rgba(11,16,28,.75),transparent 55%),linear-gradient(135deg,rgba(49,67,140,.28),rgba(80,53,145,.12))}
.brand{display:flex;align-items:center;width:225px;height:78px;overflow:visible;flex:0 0 auto;gap:0;font:inherit;letter-spacing:normal}
.brand img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 10px rgba(92,109,255,.18))}
.footer-brand{width:310px;height:auto}
.hero-visual img{object-position:64% center;opacity:.78;filter:saturate(.82)}
.project-band img{opacity:.48;filter:saturate(.68)}
@media(max-width:680px){.nav .brand{width:165px;height:60px}.footer-brand{width:min(290px,85vw)}}

.service-photo{margin:30px 0 22px;width:100%;height:128px;overflow:hidden;background:#0a0f1a}
.service-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease;filter:saturate(.82) contrast(1.04)}
.service:hover .service-photo img{transform:scale(1.045);filter:saturate(1) contrast(1.04)}
.service.featured .service-photo{height:235px;margin-top:50px}
.service.featured .service-photo img{filter:saturate(.9) contrast(1.03)}
@media(max-width:980px){.service.featured .service-photo{height:128px;margin-top:30px}}
@media(max-width:680px){.service-photo,.service.featured .service-photo{height:170px;margin:28px 0 20px}}

.nav-services{position:relative}.nav-services>a span{font-size:10px;margin-left:4px}.service-dropdown{position:absolute;top:28px;left:-22px;width:255px;background:#111827;border:1px solid #30394d;padding:12px;display:grid;gap:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;box-shadow:0 20px 50px rgba(0,0,0,.35)}.service-dropdown a{padding:10px 12px;font-size:11px;border-bottom:1px solid rgba(255,255,255,.07)}.service-dropdown a:last-child{border-bottom:0}.service-dropdown a:hover{background:#1c2640;color:#b9ff66}.nav-services:hover .service-dropdown,.nav-services:focus-within .service-dropdown{opacity:1;visibility:visible;transform:none}.active-services div{display:flex;align-items:center;justify-content:space-around;gap:20px;padding:0 3vw}.active-services a{padding:3px 8px;border-bottom:1px solid transparent}.active-services a:hover{border-bottom-color:#0b101c}.service{color:white}.service:focus-visible{outline:2px solid #b9ff66;outline-offset:-3px}
@media(max-width:980px){.nav.open .nav-services{display:block}.nav.open .service-dropdown{position:static;width:100%;opacity:1;visibility:visible;transform:none;margin-top:8px;box-shadow:none}.active-services div{justify-content:flex-start;overflow-x:auto;padding:0 22px}.active-services a{flex:0 0 auto}}

.europe-map{height:430px;display:block;background:radial-gradient(circle at 31% 22%,rgba(92,109,255,.18),transparent 28%),linear-gradient(145deg,#111827,#0b101c);border:1px solid rgba(92,109,255,.16);overflow:hidden;padding:12px}.europe-map svg{width:100%;height:100%;display:block}.map-grid path{fill:none;stroke:rgba(119,132,255,.08);stroke-width:1}.europe-land path{fill:url(#land);stroke:#495785;stroke-width:1.4;stroke-linejoin:round}.map-coast path{fill:none;stroke:#7180ff;stroke-width:1.5;opacity:.55}.hamilton-rings circle{fill:none;stroke:#5c6dff;stroke-width:1;opacity:.32;transform-origin:197px 92px;animation:mapPulse 3s ease-out infinite}.hamilton-rings circle:nth-child(2){animation-delay:1s}.hamilton-pin path{fill:#b9ff66;stroke:#0b101c;stroke-width:2}.hamilton-pin circle{fill:#0b101c}.label-line{fill:none;stroke:#b9ff66;stroke-width:1}.map-label text{fill:#fff;font:600 12px 'DM Sans';letter-spacing:.14em}.map-label text+text{fill:#8993aa;font-size:8px}.map-caption text{fill:#677188;font:600 8px 'DM Sans';letter-spacing:.18em}@keyframes mapPulse{0%{transform:scale(.35);opacity:.65}100%{transform:scale(1.35);opacity:0}}@media(max-width:680px){.europe-map{height:330px;padding:0}}

/* Map artwork and marker share one coordinate system so the tip stays on Glasgow. */
.europe-map{position:relative;padding:0;background:linear-gradient(145deg,#111827,#0b101c)}
.europe-map svg.coverage-map-art{display:block;width:100%;height:100%}
.europe-map:before,.europe-map:after{content:none}
.glasgow-halo{animation:glasgowGlow 2.8s ease-in-out infinite}
@keyframes glasgowGlow{50%{opacity:.06}}
@media(prefers-reduced-motion:reduce){.glasgow-halo{animation:none}}
@media(min-width:981px){.service-dropdown{max-height:calc(100dvh - 125px);overflow-y:auto;overscroll-behavior:contain}}

.review-partner{grid-column:1/-1;border-left:3px solid #b9ff66}.review-partner blockquote{max-width:1000px}.partner-rating{color:#b9ff66;letter-spacing:.16em;font-size:20px;margin-bottom:15px}.review-partner .text-link{color:#b9ff66;align-self:flex-start;margin-top:22px}
