.residential-page{background:#F7F8F2;color:#151515}
.residential-page .site-header{background:#151515;border-bottom:0}
.residential-page .wordmark{color:#F7F8F2}
.residential-page .site-header .menu-toggle span{background:#F7F8F2}
.residential-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#151515 0%,#151515 65%,#054C81 100%);color:#F7F8F2}
.residential-hero-inner{position:relative;width:min(1190px,calc(100% - 72px));min-height:530px;margin:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:75px 0 82px}
.residential-kicker{margin:0 0 20px;color:#FFC20A;font-size:10px;font-weight:700;letter-spacing:2px}
.residential-hero h1{position:relative;z-index:1;margin:0;font:800 clamp(58px,9vw,112px)/.95 Manrope,Arial,sans-serif;letter-spacing:-.075em}
.residential-lead{position:relative;z-index:1;max-width:520px;margin:24px 0 0;color:#e2e4e6;font-size:16px;line-height:1.75}
.residential-cta{position:relative;z-index:1;display:inline-flex;align-items:center;gap:30px;margin-top:28px;padding:0 0 9px;border-bottom:1px solid #FFC20A;color:#F7F8F2;font-size:12px;font-weight:700}
.residential-cta span{color:#F21D32;font-size:16px}
.residential-orbit{position:absolute;right:8%;top:50%;width:clamp(210px,30vw,370px);aspect-ratio:1;transform:translateY(-50%);border:1px solid #ffffff20;border-radius:50%}
.residential-orbit::before,.residential-orbit::after{position:absolute;content:"";inset:11%;border:1px solid #ffffff20;border-radius:50%}.residential-orbit::after{inset:25%;border-color:#FFC20A50}.residential-orbit i{position:absolute;z-index:1;left:50%;top:50%;width:13px;height:13px;transform:translate(-50%,-50%);border-radius:50%;background:#F21D32;box-shadow:0 0 0 7px #f21d3220,0 0 24px #F21D3280}
.residential-services{width:min(1190px,calc(100% - 72px));margin:auto;padding:0 0 92px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.residential-service{min-height:335px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border-top:3px solid #F21D32;background:#fff;box-shadow:0 16px 40px #1515150b}
.telecom-service{background:#151515;color:#F7F8F2;border-top-color:#FFC20A}
.residential-index{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#0876C9}.telecom-service .residential-index{color:#FFC20A}
.residential-service h2{margin:0;font:800 clamp(29px,3.5vw,42px)/1.05 Manrope,Arial,sans-serif;letter-spacing:-.055em}
.residential-service p{max-width:450px;margin:14px 0 0;color:#555b5f;font-size:14px;line-height:1.75}.telecom-service p{color:#d3d6d8}
.residential-partners{display:flex;flex-wrap:wrap;gap:8px}.residential-partners span{padding:8px 12px;border:1px solid #15151526;font-size:12px;font-weight:700;color:#151515}.residential-cta-light{color:#F7F8F2}
@media(max-width:760px){.residential-hero-inner,.residential-services{width:calc(100% - 40px)}.residential-hero-inner{min-height:540px}.residential-hero h1{font-size:clamp(56px,15vw,88px)}.residential-lead{max-width:420px;font-size:14px}.residential-orbit{width:200px;right:-70px;top:auto;bottom:40px;transform:none;opacity:.6}.residential-services{grid-template-columns:1fr;padding-bottom:65px}.residential-service{min-height:290px;padding:24px 21px}}
.residential-kicker{color:#F21D32}

.residential-page:not(.pyme-page) .residential-orbit .place-dot{z-index:2;width:6px;height:6px;transform:translate(-50%,-50%);background:#FFC20A;box-shadow:0 0 0 3px #ffc20a20,0 0 10px #ffc20a60}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(3n){background:#F21D32;box-shadow:0 0 0 3px #f21d321c,0 0 10px #f21d3260}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(4n){background:#0876C9;box-shadow:0 0 0 3px #0876c91c,0 0 10px #0876c960}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(2){left:50%;top:5%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(3){left:70%;top:8%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(4){left:88%;top:22%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(5){left:96%;top:43%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(6){left:91%;top:66%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(7){left:78%;top:84%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(8){left:56%;top:96%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(9){left:34%;top:91%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(10){left:15%;top:80%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(11){left:5%;top:59%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(12){left:8%;top:37%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(13){left:21%;top:17%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(14){left:50%;top:17%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(15){left:75%;top:23%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(16){left:84%;top:50%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(17){left:72%;top:75%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(18){left:48%;top:84%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(19){left:24%;top:72%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(20){left:17%;top:49%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(21){left:30%;top:31%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(22){left:51%;top:34%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(23){left:67%;top:52%}
.residential-page:not(.pyme-page) .residential-orbit .place-dot:nth-of-type(24){left:48%;top:67%}
.residential-page:not(.pyme-page) .energy-service .residential-partners{transform:translateY(-10px)}
@media(max-width:760px){.residential-page:not(.pyme-page) .energy-service .residential-partners{transform:translateY(-10px)}}
.residential-page:not(.pyme-page) .telecom-service .telecom-partners{transform:translateY(2.5px)}
@media(max-width:760px){.residential-page:not(.pyme-page) .telecom-service .telecom-partners{transform:translateY(2.5px)}}


.residential-service,.telecom-service{border-top:0}

.residential-services{width:100%;max-width:none;margin:0;padding:0;gap:0}
.residential-service{min-width:0}
@media(max-width:760px){.residential-services{width:100%;padding:0;gap:0}}

.residential-info-link{display:inline-block;color:#F7F8F2;font-size:13px;font-weight:700;text-decoration:none;transition:color .2s}
.residential-info-link:hover{color:#FFC20A}

.residential-partner{width:118px;height:58px;display:flex;align-items:center;justify-content:center;padding:8px 10px!important;background:#fff;border:1px solid #15151520}
.residential-partner img{display:block;max-width:100%;max-height:38px;width:auto;height:auto;object-fit:contain}
@media(max-width:760px){.residential-partner{width:calc(50% - 5px);height:62px}.residential-partner img{max-width:120px;max-height:40px}}
.residential-partners{width:100%;justify-content:center;align-items:center}
.residential-partner{border:0!important;background:transparent!important;box-shadow:none!important}
.residential-partner{width:138px;height:74px;padding:6px!important}
.residential-partner img{max-width:126px;max-height:50px}
@media(max-width:760px){.residential-partner{width:calc(50% - 4px);height:70px}.residential-partner img{max-width:140px;max-height:48px}}
.residential-partners{display:block;position:relative;width:100%;height:78px;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 91%,transparent 100%)}
.residential-logo-track{display:flex;align-items:center;gap:clamp(24px,4vw,48px);width:max-content;height:100%;animation:residential-logo-loop 26s linear infinite;will-change:transform}
.residential-partner{flex:0 0 138px;width:138px;height:74px;padding:6px!important}
.residential-partner img{max-width:126px;max-height:50px}
@keyframes residential-logo-loop{to{transform:translateX(-50%)}}
@media(max-width:760px){.residential-partners{height:70px}.residential-logo-track{gap:24px;animation-duration:22s}.residential-partner{flex-basis:118px;width:118px;height:68px}.residential-partner img{max-width:110px;max-height:46px}}
@media(prefers-reduced-motion:reduce){.residential-logo-track{animation:none;transform:none}}
.energy-service .residential-partners{width:calc(100% + 60px);height:78px;margin:0 -30px;padding:0 10px;background:#151515;transform:translateY(0)}
.energy-service .repsol-logo{position:relative;display:block;flex:0 0 138px;width:138px;height:74px;padding:0!important}
.energy-service .repsol-logo img{position:absolute;left:50%;top:50%;width:126px;height:50px;max-width:none;max-height:none;transform:translate(-50%,-50%);object-fit:contain}
.energy-service .repsol-logo .repsol-icon{clip-path:inset(0 67% 0 0)}
.energy-service .repsol-logo .repsol-text{clip-path:inset(0 0 0 39%);filter:brightness(0) saturate(100%) invert(40%) sepia(98%) saturate(1778%) hue-rotate(185deg) brightness(101%) contrast(101%);opacity:.78}
.energy-service .residential-logo-track .residential-partner:nth-child(2) img,.energy-service .residential-logo-track .residential-partner:nth-child(6) img{filter:brightness(0) invert(1)}
.energy-service .residential-logo-track .residential-partner:nth-child(4) img,.energy-service .residential-logo-track .residential-partner:nth-child(8) img{filter:saturate(1.8) hue-rotate(-8deg)}
@media(max-width:760px){.energy-service .residential-partners{width:calc(100% + 42px);height:70px;margin:0 -21px;padding:0 8px;transform:translateY(0)}.energy-service .repsol-logo{flex-basis:118px;width:118px;height:68px}.energy-service .repsol-logo img{width:110px;height:46px}}
.energy-service .residential-info-link{color:#151515}
.energy-service .residential-info-link:hover{color:#C9152B}
.telecom-service .telecom-partners{width:calc(100% + 60px);height:78px;margin:0 -30px;padding:0 10px;background:#F7F8F2;transform:translateY(-5px)}
.telecom-service .residential-logo-track{gap:clamp(24px,4vw,48px)}
@media(max-width:760px){.telecom-service .telecom-partners{width:calc(100% + 42px);height:70px;margin:0 -21px;padding:0 8px;transform:translateY(-5px)}.telecom-service .residential-logo-track{gap:24px}}
.residential-page:not(.pyme-page) .residential-kicker{color:#FF5261}
