.home-services-page .home-unifi{background:#fff;color:#0b2035;padding-block:clamp(64px,7vw,112px);border-top:1px solid #e3ecf2}
.home-unifi .unifi-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;margin-bottom:48px}
.home-unifi .eyebrow{color:#00748d;letter-spacing:.13em;font-size:.75rem;margin:0 0 20px}
.home-unifi h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 24px;text-wrap:balance}
.home-unifi .unifi-lead{color:#4c6173;font-size:1.05rem;line-height:1.75;margin:0 0 28px;max-width:60ch}
.home-unifi .unifi-contact{background:#0d2b43;color:#fff;border:1px solid #0d2b43;display:inline-flex;gap:28px;align-items:center;padding:15px 22px;border-radius:8px;text-decoration:none}
.home-unifi .unifi-contact:hover{background:#075b73;border-color:#075b73}
.home-unifi .unifi-contact:focus-visible{outline:3px solid #0088a8;outline-offset:4px}
.home-unifi .unifi-visual{margin:0;border:1px solid #e0e9ef;border-radius:22px;background:linear-gradient(145deg,#f7fafc,#edf4f8);padding:24px 20px 20px;overflow:hidden}
.home-unifi .unifi-visual-heading{display:flex;align-items:center;gap:9px;color:#314c62;font-size:.8rem;line-height:1.5}
.home-unifi .unifi-status{width:7px;height:7px;flex:none;background:#008ba5;border-radius:50%}
.home-unifi .unifi-visual>svg{display:block;width:100%;height:auto;margin-top:16px}
.home-unifi .unifi-visual-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;text-align:center;font-size:.72rem;font-weight:600;color:#264b65;line-height:1.4;margin-top:8px}
.home-unifi figcaption{text-align:center;color:#537085;font-size:.75rem;padding-top:22px;margin-top:22px;border-top:1px solid #d9e5ed}
.home-unifi .unifi-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-unifi .unifi-service{padding:28px;border:1px solid #dce6ed;border-radius:14px;background:#fff;display:flex;flex-direction:column;min-width:0}
.home-unifi .unifi-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}
.home-unifi .unifi-card-top svg{width:28px;height:28px;color:#007c96}
.home-unifi .unifi-card-top>span{color:#7b8d9b;font-size:.75rem;font-variant-numeric:tabular-nums}
.home-unifi h3{font-size:1.16rem;line-height:1.3;letter-spacing:-.02em;margin:0 0 12px;color:#102c43}
.home-unifi .unifi-service p{font-size:.94rem;line-height:1.65;margin:0 0 24px;color:#506477;flex:1}
.home-unifi .unifi-service-tag{font-size:.75rem;font-weight:600;color:#00758c;border-top:1px solid #e8eef3;padding-top:16px}
.home-unifi .unifi-delivery{margin-top:32px;padding:25px 28px;background:#f3f7fa;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.home-unifi .unifi-delivery>p{font-size:.85rem;font-weight:700;margin:0;color:#19394f}
.home-unifi .unifi-delivery ol{list-style:none;display:flex;flex-wrap:wrap;gap:12px 20px;padding:0;margin:0;color:#345569;font-size:.84rem}
.home-unifi .unifi-delivery li:not(:last-child):after{content:'→';color:#007c96;padding-left:20px}
.home-unifi .unifi-scope{font-size:.76rem;line-height:1.6;color:#657888;margin:18px 0 0}
@media(max-width:1050px){.home-unifi .unifi-delivery{align-items:flex-start;flex-direction:column;gap:14px}}
@media(max-width:800px){.home-unifi .unifi-intro{grid-template-columns:1fr}.home-unifi .unifi-visual{max-width:560px;width:100%;box-sizing:border-box;justify-self:center}.home-unifi .unifi-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.home-unifi .unifi-services-grid{grid-template-columns:1fr}.home-unifi .unifi-service{padding:24px}.home-unifi .unifi-visual{padding:20px 12px}.home-unifi .unifi-visual-labels{font-size:.69rem}.home-unifi .unifi-delivery{padding:22px}.home-unifi .unifi-delivery ol{display:grid;gap:12px;counter-reset:unifi-step}.home-unifi .unifi-delivery li{counter-increment:unifi-step}.home-unifi .unifi-delivery li:before{content:counter(unifi-step,decimal-leading-zero);color:#007c96;font-size:.75rem;margin-right:14px}.home-unifi .unifi-delivery li:not(:last-child):after{display:none}}

.home-unifi .unifi-extras{margin-top:44px;padding-top:36px;border-top:1px solid #dce6ed}
.home-unifi .unifi-extras-heading{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;margin-bottom:24px}
.home-unifi .unifi-extras-heading h3{font-size:clamp(1.4rem,2.2vw,1.9rem);max-width:26ch;margin:0}
.home-unifi .unifi-extras-heading p{color:#506477;line-height:1.65;font-size:.95rem;margin:0}
.home-unifi .unifi-extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0;margin:0;list-style:none}
.home-unifi .unifi-extras-grid li{padding:22px;background:#f4f8fa;border:1px solid #e5edf2;border-radius:12px;min-width:0}
.home-unifi .unifi-extras-grid h4{font-size:1rem;line-height:1.35;color:#14374e;margin:0 0 10px}
.home-unifi .unifi-extras-grid p{font-size:.85rem;line-height:1.6;color:#52697b;margin:0}
@media(max-width:900px){.home-unifi .unifi-extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.home-unifi .unifi-extras-heading{grid-template-columns:1fr;gap:12px}.home-unifi .unifi-extras-grid{grid-template-columns:1fr}.home-unifi .unifi-extras-grid li{padding:20px}}

.home-unifi .unifi-extras-grid .unifi-extra-with-image{position:relative;overflow:hidden;isolation:isolate;min-height:235px;box-sizing:border-box;background:linear-gradient(135deg,#f8fafc,#eaf1f6)}
.home-unifi .unifi-extra-image{position:absolute;right:-22px;bottom:16px;width:210px;max-width:60%;height:auto;object-fit:contain;transform:rotate(-8deg);opacity:.9;z-index:-2;pointer-events:none}
.home-unifi .unifi-extra-with-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6f9fc 0%,#f6f9fcf5 32%,#f6f9fc9e 52%,#f6f9fc00 72%);z-index:-1;pointer-events:none}
.home-unifi .unifi-extra-with-image .unifi-extra-copy{position:relative;max-width:58%}
@media(max-width:1100px) and (min-width:901px){.home-unifi .unifi-extras-grid .unifi-extra-with-image{min-height:270px}.home-unifi .unifi-extra-image{bottom:8px}}
@media(max-width:540px){.home-unifi .unifi-extras-grid .unifi-extra-with-image{min-height:230px}}
@media(hover:hover) and (pointer:fine){
  .home-unifi .unifi-extra-image{transition:transform .3s ease,opacity .3s ease}
  .home-unifi .unifi-extra-with-image:hover .unifi-extra-image{transform:rotate(-8deg) scale(1.12);opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .home-unifi .unifi-extra-image{transition:none}
  .home-unifi .unifi-extra-with-image:hover .unifi-extra-image{transform:rotate(-8deg)}
}

.home-unifi-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.home-unifi .unifi-more{display:inline-flex;align-items:center;gap:24px;padding:15px 22px;border:1px solid #0d2b43;border-radius:8px;background:#fff;color:#0d2b43;text-decoration:none}
.home-unifi .unifi-more:hover{background:#edf4f8}.home-unifi .unifi-more:focus-visible{outline:3px solid #0088a8;outline-offset:4px}

.home-unifi .unifi-service h3 a,.home-unifi .unifi-extra-link{color:inherit;text-decoration:none}
.home-unifi .unifi-service-tag{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
.home-unifi .unifi-service-tag a{color:inherit;text-decoration:none}
.home-unifi .unifi-service a:hover,.home-unifi .unifi-extra-link:hover{text-decoration:underline;text-underline-offset:4px}
.home-unifi .unifi-service a:focus-visible,.home-unifi .unifi-extra-link:focus-visible{outline:3px solid #0088a8;outline-offset:4px}
.home-unifi .unifi-extra-link::after{content:"";position:absolute;inset:0}
.home-unifi .unifi-extra-copy{position:static}

/* Extend the main link to the full card, retaining independent secondary links. */
.home-unifi .unifi-service,.home-unifi .unifi-extras-grid li{position:relative}
.home-unifi .unifi-service h3 a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:14px}
.home-unifi .unifi-service-tag a{position:relative;z-index:2}
.home-unifi .unifi-extra-with-image .unifi-extra-copy{position:static}
.home-unifi .unifi-extra-link::after{z-index:1;border-radius:14px}
.home-unifi .unifi-service:hover,.home-unifi .unifi-service:focus-within,.home-unifi .unifi-extras-grid li:hover,.home-unifi .unifi-extras-grid li:focus-within{border-color:#0088a8;box-shadow:0 6px 18px rgba(13,43,67,.08)}
.home-unifi .unifi-service h3 a:hover,.home-unifi .unifi-extra-link:hover{text-decoration:none}

/* Homepage UniFi: original media with readable text over each service image. */
.home-unifi .unifi-visual{padding:0;background:#f5f8fa}
.home-unifi .unifi-visual-heading{padding:22px 24px}
.home-unifi .home-unifi-film{height:420px;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#f5f5f5;overflow:hidden}
.home-unifi .home-unifi-film video{display:block;width:100%;height:100%;object-fit:contain;opacity:0}
.home-unifi .home-unifi-film.is-playing video{opacity:1}
.home-unifi .unifi-visual-labels{padding:16px 16px 0;margin:0}
.home-unifi .unifi-visual figcaption{padding:18px;margin:18px 24px 0}
.home-unifi .unifi-service-photo{isolation:isolate;overflow:hidden;background:#0b2035;min-height:330px;border-color:#24445a}
.home-unifi .unifi-service-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}
.home-unifi .unifi-service-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,23,39,.50),rgba(6,23,39,.86) 40%,rgba(6,23,39,.96));z-index:-1;pointer-events:none}
.home-unifi .unifi-service-photo h3{color:#fff}
.home-unifi .unifi-service-photo p{color:#e4edf3}
.home-unifi .unifi-service-photo .unifi-card-top svg,.home-unifi .unifi-service-photo .unifi-service-tag{color:#b9edff}
.home-unifi .unifi-service-photo .unifi-card-top>span{color:#e4edf3}
.home-unifi .unifi-service-photo .unifi-service-tag{border-color:#ffffff38}
.home-unifi .unifi-service-photo a:focus-visible{outline-color:#b9edff}
@media(max-width:540px){.home-unifi .home-unifi-film{height:340px}.home-unifi .unifi-service-photo{min-height:310px}}

/* Keep the equipment recognisable above the text, with a soft transition. */
.home-unifi .unifi-service-photo{min-height:425px}
.home-unifi .unifi-service-background{height:230px;object-position:center top}
.home-unifi .unifi-service-photo::before{background:linear-gradient(180deg,rgba(6,23,39,.06) 0,rgba(6,23,39,.16) 115px,rgba(6,23,39,.92) 205px,#061727 245px)}
.home-unifi .unifi-service-photo .unifi-card-top{margin-bottom:115px;text-shadow:0 1px 4px #000}
.home-unifi .unifi-visual-labels{gap:10px}
.home-unifi .unifi-visual-labels img{display:block;width:100%;height:95px;object-fit:contain;margin-bottom:8px;border-radius:10px;background:#fff}
@media(max-width:540px){.home-unifi .unifi-visual-labels img{height:74px}.home-unifi .unifi-service-photo{min-height:410px}}

/* Smaller topic thumbnails, keeping the existing tile and label alignment. */
.home-unifi .unifi-visual-labels img{box-sizing:border-box;padding:24px 25%}
@media(max-width:540px){.home-unifi .unifi-visual-labels img{padding-block:18px}}

/* Identify the active service card with pointer and keyboard. */
.home-unifi .unifi-service-photo{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.home-unifi .unifi-service-background{transition:transform .35s ease;transform-origin:center top}
.home-unifi .unifi-service-photo:focus-within{border-color:#a8df39;box-shadow:0 0 0 2px #a8df39,0 12px 26px #0b20352b}
.home-unifi .unifi-service-photo:focus-within .unifi-service-tag{color:#c5f36b}
@media(hover:hover) and (pointer:fine){
 .home-unifi .unifi-service-photo:hover{transform:translateY(-5px);border-color:#a8df39;box-shadow:0 0 0 2px #a8df39,0 12px 26px #0b20352b}
 .home-unifi .unifi-service-photo:hover .unifi-service-background{transform:scale(1.045)}
 .home-unifi .unifi-service-photo:hover .unifi-service-tag{color:#c5f36b}
}
@media(prefers-reduced-motion:reduce){
 .home-unifi .unifi-service-photo,.home-unifi .unifi-service-background{transition:none}
 .home-unifi .unifi-service-photo:hover,.home-unifi .unifi-service-photo:hover .unifi-service-background{transform:none}
}

/* Compact topic tiles while retaining the thumbnail size and full width. */
.home-unifi .unifi-visual-labels img{height:70px;padding-block:11.5px}
@media(max-width:540px){.home-unifi .unifi-visual-labels img{height:56px;padding-block:9px}}

.home-unifi .unifi-visual-labels>a{display:block;min-width:0;color:inherit;text-decoration:none;border-radius:10px}
.home-unifi .unifi-visual-labels>a:hover{color:#00748d;text-decoration:underline;text-underline-offset:4px}
.home-unifi .unifi-visual-labels>a:hover img,.home-unifi .unifi-visual-labels>a:focus-visible img{box-shadow:inset 0 0 0 2px #0088a8}
.home-unifi .unifi-visual-labels>a:focus-visible{outline:2px solid #0088a8;outline-offset:4px}
