
:root{
  --orange:#ff6500; --orange2:#ff9a1f; --yellow:#ffc342;
  --pink:#c83d87; --blue:#3975ad; --gold:#e7aa35;
  --text:#191919; --muted:#666; --line:rgba(0,0,0,.10); --soft:#fff5eb;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text);background:#fff;overflow-x:hidden}
.ambient{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 14% 8%,rgba(255,101,0,.14),transparent 28rem),radial-gradient(circle at 90% 28%,rgba(255,195,66,.18),transparent 25rem),linear-gradient(180deg,#fff,#fffaf6);pointer-events:none}
.ambient:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.055) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(to bottom,black,transparent 75%);opacity:.28}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 7vw;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);box-shadow:0 10px 38px rgba(0,0,0,.06)}
.logo img{height:62px;display:block}
nav{display:flex;align-items:center;gap:8px}
nav a{color:#222;text-decoration:none;font-weight:850;font-size:14px;padding:10px 12px;border-radius:999px}
nav a.active,nav a:hover{color:var(--orange);background:var(--soft)}
.area{background:var(--orange)!important;color:#111!important;font-weight:1000!important;padding:12px 18px!important}
.facebook-top{width:36px;height:36px;background:#315da8!important;color:white!important;display:grid;place-items:center;font-size:21px;padding:0!important}
.whatsapp-top{display:inline-flex;align-items:center;gap:6px;color:#111!important}
.wa-icon{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#25d366;color:white;font-size:15px}
#menu{display:none;border:0;background:white;font-size:28px}

.hero{min-height:74vh;display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:48px;padding:70px 7vw}
.page-hero{min-height:58vh}
.hero-copy{max-width:760px}
.tag{display:inline-block;background:var(--soft);color:var(--orange);font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.08em;padding:9px 13px;border-radius:999px}
h1{font-size:clamp(46px,7vw,84px);line-height:.93;letter-spacing:-.065em;margin:22px 0}
h1 span,h2 span{color:var(--orange)}
.hero-copy p{font-size:21px;color:var(--muted);line-height:1.55}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 24px;border-radius:14px;font-weight:1000;text-decoration:none;border:0;cursor:pointer;transition:.22s;position:relative;overflow:hidden}
.btn:hover{transform:translateY(-3px)}
.btn.primary{background:linear-gradient(135deg,var(--orange),var(--yellow));color:#111}
.btn.dark{background:#191919;color:white}
.btn.ghost{background:#fff;color:#111;border:1px solid var(--orange)}
.btn:after{content:"";position:absolute;top:0;bottom:0;width:35px;left:-55px;background:rgba(255,255,255,.45);transform:skewX(-20deg);transition:.5s}
.btn:hover:after{left:120%}
.hero-points{display:flex;flex-wrap:wrap;gap:24px;margin-top:30px}
.hero-points div{display:grid;justify-items:center;gap:8px;color:var(--orange);font-size:26px}
.hero-points small{color:#111;font-size:13px;font-weight:850}
.hero-slider{position:relative;min-height:430px;border-radius:34px;overflow:hidden;box-shadow:0 28px 90px rgba(255,101,0,.16);border:1px solid var(--line);background:#fff}
.hero-slide{position:absolute;inset:0;padding:42px;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateX(40px) scale(.97);transition:.7s ease}
.hero-slide.active{opacity:1;transform:translateX(0) scale(1);z-index:2}
.hero-slide small{text-transform:uppercase;font-weight:1000;letter-spacing:.08em}
.hero-slide h2{font-size:clamp(48px,6vw,84px);letter-spacing:-.07em;line-height:.9;margin:18px 0}
.hero-slide h2 span{display:block;font-size:26px;letter-spacing:0;color:inherit}
.hero-slide p{font-size:20px;max-width:440px}
.hero-slide a{color:#111;font-weight:1000;text-decoration:none;margin-top:18px}
.fiber-slide{background:linear-gradient(135deg,var(--orange),var(--yellow));color:white}
.mobile-slide{background:linear-gradient(135deg,#fff,#fff0f7);color:var(--pink)}
.tv-slide{background:linear-gradient(135deg,#fff,#fff4df);color:#222}
.slider-progress{position:absolute;left:42px;right:42px;bottom:28px;height:5px;background:rgba(0,0,0,.12);border-radius:999px;z-index:5;overflow:hidden}
.slider-progress span{display:block;height:100%;width:0;background:#111;border-radius:999px;animation:progress 4.6s linear infinite}
@keyframes progress{to{width:100%}}

.services-reel{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:28px 7vw 70px}
.service-pill{background:white;border:1px solid var(--line);box-shadow:0 18px 45px rgba(0,0,0,.06);border-radius:24px;padding:22px;text-decoration:none;color:#111;transition:.25s}
.service-pill:hover{transform:translateY(-6px);border-color:rgba(255,101,0,.35)}
.service-pill span{display:block;color:var(--orange);font-weight:1000;margin-bottom:8px}
.service-pill b{font-size:24px}
.why{background:#fafafa;text-align:center;padding:80px 7vw}
.why h2,.fiber-conditions h2,.simple-cta h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.04em}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:38px}
.why-grid div{padding:34px 24px;border-right:1px solid var(--line)}
.why-grid div:last-child{border-right:0}
.why-grid i{display:block;font-size:42px;font-style:normal;color:var(--orange);margin-bottom:18px}
.why-grid b{display:block;font-size:19px;margin-bottom:10px}
.why-grid p,.coverage-help p,.fiber-conditions p,.simple-cta p,.tv-card p{color:var(--muted);line-height:1.6}
.coverage-help{display:grid;grid-template-columns:1.55fr .95fr;gap:24px;padding:70px 7vw}
.coverage-box,.help-box,.fiber-card,.tv-card,.lead-form,.condition-grid div,.simple-cta,.tariff{border:1px solid var(--line);border-radius:28px;box-shadow:0 22px 65px rgba(0,0,0,.08)}
.coverage-box,.help-box{padding:38px}
.coverage-box{background:linear-gradient(135deg,#fff,#f8f8f8)}
.help-box{background:linear-gradient(135deg,var(--orange),var(--orange2));color:white}
.help-box p{color:white}.help-box a{color:white;font-size:32px;font-weight:1000;text-decoration:none}
.fiber-visual{position:relative;min-height:470px;display:grid;place-items:center}
.fiber-orbit{position:absolute;width:92%;height:120px;border-radius:50%;border:2px solid rgba(255,101,0,.25);animation:orbit 6s linear infinite}
.fiber-orbit:after{content:"";position:absolute;inset:24px;border-radius:50%;border:2px solid rgba(255,195,66,.35)}
@keyframes orbit{to{transform:rotate(360deg)}}
.floating-card{animation:float 4.5s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-14px)}}
.fiber-card,.tv-card{padding:34px;background:white;z-index:2}
.fiber-card small{font-weight:1000;text-transform:uppercase;color:var(--orange)}
.fiber-card strong{display:block;font-size:110px;line-height:.9;color:var(--orange);letter-spacing:-.075em}
.fiber-card span{font-size:24px;font-weight:1000}.fiber-card ul,.tv-card ul{list-style:none;padding:0}.fiber-card li,.tv-card li{margin:11px 0}.fiber-card li:before,.tv-card li:before{content:"✓";margin-right:8px;color:var(--orange);font-weight:1000}
.fiber-conditions{padding:80px 7vw}
.condition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}
.condition-grid div{padding:25px;background:white}.condition-grid b{font-size:19px}
.simple-cta{margin:10px 7vw 70px;padding:40px;text-align:center;background:linear-gradient(135deg,#fff,var(--soft))}
.mobile-stack{position:relative;min-height:420px}
.stack-card{position:absolute;width:240px;height:150px;border-radius:28px;background:white;display:grid;place-items:center;font-size:42px;font-weight:1000;box-shadow:0 24px 70px rgba(0,0,0,.12);border:1px solid var(--line);animation:float 4s ease-in-out infinite}
.stack-card.one{left:0;top:30px;color:#e67625}.stack-card.two{right:30px;top:80px;color:var(--pink);animation-delay:.3s}.stack-card.three{left:40px;bottom:75px;color:var(--blue);animation-delay:.6s}.stack-card.four{right:0;bottom:35px;color:var(--gold);animation-delay:.9s}
.mobile-tariffs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:20px 7vw 80px}
.tariff{padding:30px;min-height:320px;background:white;position:relative;overflow:hidden;transition:.25s}
.tariff:hover{transform:translateY(-10px) rotate(-1deg);box-shadow:0 28px 85px rgba(0,0,0,.12)}
.tariff:before{content:"";position:absolute;right:-22px;top:-22px;width:115px;height:115px;border-radius:32px;background:currentColor;opacity:.9}
.tariff small{text-transform:uppercase;font-weight:1000;color:#333;font-size:18px}
.tariff h2{font-size:46px;line-height:.95;color:currentColor;letter-spacing:-.05em;margin:48px 0 10px}
.tariff strong{display:block;font-size:42px;margin-bottom:25px}.tariff strong span{font-size:18px}
.tariff.orange{color:#e67625}.tariff.pink{color:var(--pink)}.tariff.blue{color:var(--blue)}.tariff.gold{color:var(--gold)}
.lead-form{padding:30px;background:white;display:grid;gap:14px}
input,select,textarea{width:100%;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit}
textarea{min-height:120px}
.contact-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 7vw 80px}
.contact-shortcuts a{padding:28px;background:white;border:1px solid var(--line);border-radius:22px;color:#111;text-align:center;text-decoration:none;font-weight:1000;box-shadow:0 20px 55px rgba(0,0,0,.08)}
.footer{display:grid;grid-template-columns:1.2fr 1fr 1fr .9fr;gap:34px;padding:58px 7vw;background:linear-gradient(135deg,#c98f4b,#cf934d);color:white}
.footer img{height:62px;background:rgba(255,255,255,.95);border-radius:14px;padding:7px}
.footer a{color:white;font-weight:900;text-decoration:none}.footer p{line-height:1.45}
.footer h3{font-size:24px;letter-spacing:.04em}.footer-hours p{margin:8px 0;font-size:17px}.footer-hours b{display:inline-block;width:48px}
.footer-social{display:flex;gap:10px;flex-wrap:wrap}.footer-social a{background:rgba(255,255,255,.18);padding:9px 12px;border-radius:999px}
.reveal{opacity:0;transform:translateY(22px);transition:.65s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1180px){nav{gap:4px}.condition-grid,.mobile-tariffs{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr 1fr}}
@media(max-width:880px){
  #menu{display:block}
  nav{display:none;position:absolute;left:16px;right:16px;top:86px;background:white;border:1px solid var(--line);border-radius:24px;padding:14px;flex-direction:column;align-items:stretch;box-shadow:0 20px 60px rgba(0,0,0,.12)}
  nav.open{display:flex}.topbar{padding:14px 18px}.logo img{height:48px}
  .hero,.coverage-help,.services-reel,.why-grid,.condition-grid,.mobile-tariffs,.contact-shortcuts,.footer{grid-template-columns:1fr}
  .hero{padding:42px 24px}.hero-slider{min-height:360px}.page-hero{padding-top:58px}
  .why-grid div{border-right:0;border-bottom:1px solid var(--line)}
  .stack-card{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%;margin-bottom:14px}
}


/* ===== V10 CLEAN PREMIUM HOME + ICONS ===== */
.topbar{
  overflow:visible;
}
.icon-only{
  width:42px!important;
  height:42px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  line-height:1!important;
}
.whatsapp-top{
  background:#25D366!important;
  color:#fff!important;
}
.facebook-top{
  background:#315DA8!important;
  color:#fff!important;
}
.whatsapp-svg,
.footer-wa-icon{
  width:23px;
  height:23px;
  display:inline-block;
  background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.04 3C8.91 3 3.1 8.77 3.1 15.86c0 2.27.6 4.49 1.74 6.44L3 29l6.9-1.8a12.96 12.96 0 0 0 6.14 1.56C23.17 28.76 29 23 29 15.86S23.17 3 16.04 3zm0 23.57c-1.93 0-3.82-.52-5.46-1.5l-.39-.23-4.1 1.07 1.1-3.98-.26-.41a10.64 10.64 0 0 1-1.63-5.66c0-5.88 4.82-10.67 10.74-10.67 5.93 0 10.76 4.79 10.76 10.67 0 5.88-4.83 10.71-10.76 10.71zm5.9-8.02c-.32-.16-1.9-.93-2.19-1.04-.3-.11-.51-.16-.73.16-.21.31-.83 1.03-1.02 1.24-.19.21-.38.24-.7.08-.32-.16-1.36-.5-2.59-1.59-.96-.85-1.61-1.9-1.8-2.22-.19-.32-.02-.5.14-.65.14-.14.32-.38.48-.57.16-.19.21-.32.32-.54.11-.22.05-.41-.03-.57-.08-.16-.73-1.75-1-2.4-.26-.63-.53-.54-.73-.55h-.62c-.21 0-.57.08-.86.41-.3.32-1.13 1.1-1.13 2.68 0 1.58 1.16 3.11 1.32 3.32.16.21 2.29 3.48 5.54 4.88.77.33 1.37.53 1.84.68.77.24 1.48.21 2.04.13.62-.09 1.9-.78 2.17-1.53.27-.75.27-1.4.19-1.53-.08-.13-.29-.21-.62-.37z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.04 3C8.91 3 3.1 8.77 3.1 15.86c0 2.27.6 4.49 1.74 6.44L3 29l6.9-1.8a12.96 12.96 0 0 0 6.14 1.56C23.17 28.76 29 23 29 15.86S23.17 3 16.04 3zm0 23.57c-1.93 0-3.82-.52-5.46-1.5l-.39-.23-4.1 1.07 1.1-3.98-.26-.41a10.64 10.64 0 0 1-1.63-5.66c0-5.88 4.82-10.67 10.74-10.67 5.93 0 10.76 4.79 10.76 10.67 0 5.88-4.83 10.71-10.76 10.71zm5.9-8.02c-.32-.16-1.9-.93-2.19-1.04-.3-.11-.51-.16-.73.16-.21.31-.83 1.03-1.02 1.24-.19.21-.38.24-.7.08-.32-.16-1.36-.5-2.59-1.59-.96-.85-1.61-1.9-1.8-2.22-.19-.32-.02-.5.14-.65.14-.14.32-.38.48-.57.16-.19.21-.32.32-.54.11-.22.05-.41-.03-.57-.08-.16-.73-1.75-1-2.4-.26-.63-.53-.54-.73-.55h-.62c-.21 0-.57.08-.86.41-.3.32-1.13 1.1-1.13 2.68 0 1.58 1.16 3.11 1.32 3.32.16.21 2.29 3.48 5.54 4.88.77.33 1.37.53 1.84.68.77.24 1.48.21 2.04.13.62-.09 1.9-.78 2.17-1.53.27-.75.27-1.4.19-1.53-.08-.13-.29-.21-.62-.37z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.footer-wa-icon{
  background:#fff;
  margin-right:10px;
  vertical-align:-4px;
}
.facebook-svg{
  font-family:Arial, sans-serif;
  font-size:25px;
  font-weight:1000;
  color:#fff;
}

.hero-v10{
  position:relative;
  min-height:82vh;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:58px;
  align-items:center;
  padding:78px 7vw 66px;
  overflow:hidden;
}
.hero-v10:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 75% 18%,rgba(255,101,0,.16),transparent 28rem),
    radial-gradient(circle at 88% 82%,rgba(255,195,66,.2),transparent 22rem);
  pointer-events:none;
}
.home-copy{
  position:relative;
  z-index:2;
}
.home-copy p{
  font-size:21px;
  line-height:1.55;
  color:var(--muted);
  max-width:670px;
}
.mini-trust{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  max-width:610px;
  margin-top:30px;
}
.mini-trust div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:18px;
  box-shadow:0 16px 44px rgba(0,0,0,.055);
}
.mini-trust b{
  display:block;
  font-size:28px;
  letter-spacing:-.04em;
}
.mini-trust span{
  color:var(--muted);
  font-weight:750;
  font-size:14px;
}
.floating-dashboard{
  position:relative;
  min-height:560px;
  perspective:1100px;
}
.dash-card{
  position:absolute;
  border:1px solid rgba(0,0,0,.08);
  border-radius:34px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(20px);
  box-shadow:0 34px 100px rgba(0,0,0,.11);
  transition:.3s ease;
}
.dash-card:hover{
  transform:translateY(-10px) rotate(0deg)!important;
}
.fiber-dashboard{
  left:4%;
  top:6%;
  width:380px;
  min-height:420px;
  padding:32px;
  color:white;
  background:linear-gradient(135deg,#ff6500,#ffb12a);
  animation:floatA 5.6s ease-in-out infinite;
}
.dash-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:26px;
}
.dash-top span{
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:13px;
}
.dash-top i{
  font-style:normal;
  background:rgba(255,255,255,.22);
  border-radius:999px;
  padding:8px 11px;
  font-weight:1000;
}
.fiber-dashboard strong{
  display:inline-block;
  font-size:118px;
  line-height:.82;
  letter-spacing:-.08em;
}
.fiber-dashboard small{
  font-size:22px;
  font-weight:900;
}
.fiber-dashboard ul{
  list-style:none;
  padding:0;
  margin:26px 0;
}
.fiber-dashboard li{
  margin:12px 0;
  font-weight:850;
}
.fiber-dashboard li:before{
  content:"✓";
  margin-right:9px;
}
.dash-card a{
  display:inline-flex;
  background:#191919;
  color:white;
  text-decoration:none;
  border-radius:15px;
  padding:15px 20px;
  font-weight:1000;
}
.mobile-dashboard{
  right:1%;
  top:18%;
  width:340px;
  padding:28px;
  color:#c83d87;
  animation:floatB 6s ease-in-out infinite;
}
.mobile-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:18px 0 22px;
}
.mobile-list div{
  background:#fff7fb;
  border:1px solid rgba(200,61,135,.16);
  border-radius:17px;
  padding:15px 10px;
  text-align:center;
}
.mobile-list b{
  display:block;
  font-size:26px;
  letter-spacing:-.04em;
}
.mobile-list span{
  color:#222;
  font-weight:1000;
  font-size:14px;
}
.tv-dashboard{
  right:9%;
  bottom:5%;
  width:370px;
  min-height:220px;
  padding:28px;
  color:#111;
  background:linear-gradient(135deg,#fff,#fff4de);
  animation:floatC 5.8s ease-in-out infinite;
}
.tv-dashboard span{
  color:#ff6500;
  font-weight:1000;
  text-transform:uppercase;
  font-size:13px;
}
.tv-dashboard h2{
  margin:10px 0;
  font-size:32px;
  line-height:1;
}
.tv-dashboard p{
  color:var(--muted);
  line-height:1.5;
}
@keyframes floatA{50%{transform:translateY(-18px) rotate(-1deg)}}
@keyframes floatB{50%{transform:translateY(16px) rotate(1.5deg)}}
@keyframes floatC{50%{transform:translateY(-12px) rotate(.8deg)}}

.premium-services{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  padding:26px 7vw 76px;
}
.premium-services a{
  min-height:230px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:30px;
  padding:30px;
  text-decoration:none;
  color:#111;
  box-shadow:0 24px 68px rgba(0,0,0,.07);
  transition:.25s;
}
.premium-services a:hover{
  transform:translateY(-8px);
  border-color:rgba(255,101,0,.32);
}
.premium-services span{
  color:#ff6500;
  font-weight:1000;
}
.premium-services h2{
  font-size:40px;
  margin:14px 0;
}
.premium-services p{
  color:var(--muted);
  font-size:18px;
  line-height:1.5;
}

@media(max-width:1080px){
  .hero-v10{
    grid-template-columns:1fr;
  }
  .floating-dashboard{
    min-height:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
  }
  .dash-card{
    position:relative;
    inset:auto!important;
    width:100%!important;
    animation:none!important;
  }
}
@media(max-width:860px){
  .hero-v10{
    padding:42px 24px;
  }
  .mini-trust,
  .premium-services{
    grid-template-columns:1fr;
  }
  .fiber-dashboard strong{
    font-size:92px;
  }
}


/* ===== V11 FINAL REFINEMENTS ===== */
.premium-services{display:none!important}

.clean-dashboard{
  display:grid!important;
  grid-template-columns:1.05fr .95fr;
  grid-template-rows:auto auto;
  gap:22px;
  min-height:auto!important;
  perspective:none!important;
}
.clean-dashboard .dash-card{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-height:auto!important;
  animation:none!important;
  transform:none!important;
}
.clean-dashboard .fiber-dashboard{
  grid-row:1 / span 2;
  padding:38px;
}
.clean-dashboard .mobile-dashboard,
.clean-dashboard .tv-dashboard{
  padding:30px;
}
.clean-dashboard .fiber-dashboard strong{
  font-size:118px;
}
.clean-dashboard .mobile-list{
  grid-template-columns:1fr;
}
.clean-dashboard .mobile-list div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-align:left;
  padding:17px 18px;
}
.clean-dashboard .mobile-list b{
  font-size:30px;
}
.clean-dashboard .tv-dashboard h2{
  max-width:320px;
}

.three-tariffs{
  grid-template-columns:repeat(3,1fr)!important;
  max-width:1180px;
  margin:auto;
}
.simple-mobile-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  min-height:auto!important;
}
.simple-mobile-stack .stack-card{
  position:relative!important;
  inset:auto!important;
  width:100%;
}
.simple-tv{
  display:grid;
  gap:18px;
  align-content:center;
}
.simple-tv ul{display:none}

@media(max-width:1080px){
  .clean-dashboard{
    grid-template-columns:1fr;
  }
  .clean-dashboard .fiber-dashboard{
    grid-row:auto;
  }
  .three-tariffs{
    grid-template-columns:1fr!important;
  }
}


/* ===== V12 AIRY MINIMAL HOME ===== */
.home-air{
  position:relative;
  min-height:82vh;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  align-items:center;
  gap:48px;
  padding:78px 7vw 64px;
  overflow:hidden;
}
.home-air:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 76% 22%, rgba(255,101,0,.14), transparent 25rem),
    radial-gradient(circle at 58% 82%, rgba(255,195,66,.18), transparent 23rem);
  pointer-events:none;
}
.air-copy{
  position:relative;
  z-index:2;
  max-width:720px;
}
.air-copy h1{
  font-size:clamp(52px,7.8vw,92px);
}
.air-copy p{
  color:var(--muted);
  font-size:22px;
  line-height:1.55;
  max-width:620px;
}
.air-space{
  position:relative;
  z-index:2;
  min-height:570px;
}
.air-card{
  position:absolute;
  display:block;
  text-decoration:none;
  color:#111;
  border:1px solid rgba(0,0,0,.08);
  border-radius:34px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(18px);
  box-shadow:0 32px 90px rgba(0,0,0,.10);
  padding:30px;
  transition:.3s ease;
}
.air-card:hover{
  transform:translateY(-12px) scale(1.02)!important;
  box-shadow:0 38px 110px rgba(255,101,0,.18);
}
.air-card small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--orange);
  font-weight:1000;
  margin-bottom:16px;
}
.air-card strong{
  display:block;
  font-size:clamp(48px,5.5vw,82px);
  line-height:.86;
  letter-spacing:-.08em;
}
.air-card span{
  display:block;
  color:var(--muted);
  font-weight:900;
  margin-top:8px;
}
.air-card p{
  color:var(--muted);
  margin:24px 0;
}
.air-card b{
  color:#111;
}
.air-fibra{
  left:4%;
  top:3%;
  width:min(390px,90%);
  min-height:370px;
  color:white;
  background:linear-gradient(135deg,#ff6500,#ffb12a);
  animation:airFloat1 5.5s ease-in-out infinite;
}
.air-fibra small,.air-fibra span,.air-fibra p,.air-fibra b{color:white}
.air-fibra strong{font-size:108px}
.air-movil{
  right:2%;
  top:18%;
  width:min(340px,88%);
  min-height:315px;
  animation:airFloat2 6.2s ease-in-out infinite;
}
.air-movil strong{
  color:#c83d87;
  font-size:72px;
}
.air-tv{
  left:20%;
  bottom:5%;
  width:min(360px,88%);
  min-height:260px;
  background:linear-gradient(135deg,#fff,#fff4de);
  animation:airFloat3 5.9s ease-in-out infinite;
}
.air-tv strong{
  color:var(--orange);
}
@keyframes airFloat1{50%{transform:translateY(-18px) rotate(-1.2deg)}}
@keyframes airFloat2{50%{transform:translateY(16px) rotate(1.2deg)}}
@keyframes airFloat3{50%{transform:translateY(-12px) rotate(.8deg)}}

.air-benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  padding:24px 7vw 78px;
}
.air-benefits div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  padding:28px 24px;
  box-shadow:0 20px 55px rgba(0,0,0,.06);
}
.air-benefits i{
  display:block;
  font-size:36px;
  color:var(--orange);
  font-style:normal;
  margin-bottom:16px;
}
.air-benefits b{
  display:block;
  font-size:19px;
  margin-bottom:8px;
}
.air-benefits p{
  color:var(--muted);
  margin:0;
  line-height:1.5;
}

/* mobile page: keep smaller floating square feel */
.mobile-mini-stack{
  position:relative!important;
  min-height:420px!important;
  display:block!important;
}
.mobile-mini-stack .stack-card{
  position:absolute!important;
  width:230px!important;
  height:150px!important;
  border-radius:28px;
  display:grid;
  place-items:center;
}
.mobile-mini-stack .stack-card.one{
  left:0!important;
  top:45px!important;
}
.mobile-mini-stack .stack-card.two{
  right:40px!important;
  top:95px!important;
}
.mobile-mini-stack .stack-card.four{
  left:95px!important;
  bottom:50px!important;
}
.three-tariffs .tariff{
  min-height:300px;
}

@media(max-width:1080px){
  .home-air{
    grid-template-columns:1fr;
  }
  .air-space{
    min-height:760px;
  }
  .air-card{
    width:100%!important;
    max-width:520px;
  }
  .air-fibra{left:0;top:0}
  .air-movil{right:0;top:270px}
  .air-tv{left:0;bottom:0}
  .air-benefits{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:860px){
  .home-air{
    padding:42px 24px 54px;
  }
  .air-space{
    min-height:auto;
    display:grid;
    gap:18px;
  }
  .air-card{
    position:relative;
    inset:auto!important;
    max-width:none;
    min-height:auto;
    animation:none!important;
  }
  .air-benefits{
    grid-template-columns:1fr;
    padding-inline:24px;
  }
  .mobile-mini-stack{
    min-height:auto!important;
    display:grid!important;
    gap:14px;
  }
  .mobile-mini-stack .stack-card{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
  }
}


/* ===== V13 FERRARI FIBRA HOME ===== */
.ferrari-space{
  min-height:620px;
}
.ferrari-space .air-card{
  overflow:hidden;
}
.ferrari-fibra{
  left:0!important;
  top:0!important;
  width:min(460px,94%)!important;
  min-height:455px!important;
  background:
    radial-gradient(circle at 75% 25%, rgba(255,255,255,.42), transparent 12rem),
    linear-gradient(135deg,#ff4f00,#ff8a00 48%,#ffc13d)!important;
  box-shadow:
    0 38px 120px rgba(255,101,0,.28),
    inset 0 1px 0 rgba(255,255,255,.4)!important;
  border:1px solid rgba(255,255,255,.35)!important;
}
.ferrari-fibra:before{
  content:"";
  position:absolute;
  inset:-40% -20% auto -20%;
  height:240px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transform:rotate(-18deg);
  animation:ferrariShine 4.5s ease-in-out infinite;
}
.ferrari-fibra:after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-80px;
  width:260px;
  height:260px;
  border-radius:50%;
  border:34px solid rgba(255,255,255,.16);
}
@keyframes ferrariShine{
  0%,55%{transform:translateX(-55%) rotate(-18deg)}
  100%{transform:translateX(125%) rotate(-18deg)}
}
.ferrari-fibra .fiber-glow{
  position:absolute;
  right:34px;
  top:38px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.7),rgba(255,255,255,.08) 58%,transparent);
  filter:blur(1px);
  animation:pulseFiber 3s ease-in-out infinite;
}
@keyframes pulseFiber{50%{transform:scale(1.13);opacity:.65}}
.ferrari-fibra small,
.ferrari-fibra strong,
.ferrari-fibra span,
.ferrari-fibra p,
.ferrari-fibra b{
  position:relative;
  z-index:2;
  color:white!important;
}
.ferrari-fibra strong{
  font-size:126px!important;
  text-shadow:0 18px 40px rgba(0,0,0,.16);
}
.ferrari-fibra p{
  font-size:18px;
  max-width:310px;
}
.fiber-badges{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 22px;
}
.fiber-badges em{
  background:rgba(255,255,255,.18);
  color:white;
  border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(8px);
  border-radius:999px;
  padding:8px 11px;
  font-size:12px;
  font-style:normal;
  font-weight:1000;
}
.ferrari-fibra b{
  display:inline-flex;
  background:#191919;
  padding:14px 18px;
  border-radius:14px;
}
.ferrari-movil{
  right:0!important;
  top:42px!important;
}
.ferrari-tv{
  left:auto!important;
  right:70px!important;
  bottom:18px!important;
}

@media(max-width:1080px){
  .ferrari-space{
    min-height:820px;
  }
  .ferrari-fibra{left:0!important;top:0!important}
  .ferrari-movil{right:0!important;top:330px!important}
  .ferrari-tv{left:0!important;right:auto!important;bottom:0!important}
}
@media(max-width:860px){
  .ferrari-space{
    min-height:auto;
  }
  .ferrari-fibra,
  .ferrari-movil,
  .ferrari-tv{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
  }
  .ferrari-fibra strong{
    font-size:96px!important;
  }
}


/* ===== V14 ROTATING MOBILE CARD ===== */
.rotating-mobile-card{
  min-height:330px!important;
}
.rotating-mobile-card small,
.rotating-mobile-card b{
  position:relative;
  z-index:3;
}
.mobile-rotator{
  position:relative;
  min-height:190px;
  margin:18px 0 10px;
}
.mobile-plan{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateY(18px) scale(.96);
  transition:opacity .55s ease, transform .55s ease;
  pointer-events:none;
}
.mobile-plan.active{
  opacity:1;
  transform:translateY(0) scale(1);
}
.mobile-plan strong{
  display:block;
  color:#c83d87!important;
  font-size:76px!important;
  line-height:.86;
  letter-spacing:-.08em;
}
.mobile-plan span{
  display:block;
  color:#111!important;
  font-size:25px;
  font-weight:1000;
  margin-top:8px;
}
.mobile-plan p{
  color:var(--muted)!important;
  margin-top:20px;
}
.rotating-mobile-card:after{
  content:"";
  position:absolute;
  right:22px;
  top:24px;
  width:52px;
  height:52px;
  border-radius:50%;
  background:radial-gradient(circle,#c83d87,rgba(200,61,135,.12));
  opacity:.18;
  animation:mobilePulse 2.8s ease-in-out infinite;
}
@keyframes mobilePulse{50%{transform:scale(1.25);opacity:.32}}


/* ===== V16 PREMIUM POLISH ===== */
#networkBg{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:-2;
  pointer-events:none;
  opacity:.42;
}
.ambient{
  z-index:-1;
}
.topbar{
  border-bottom:1px solid rgba(255,101,0,.08);
}
.air-card,
.fiber-card,
.tariff,
.lead-form,
.coverage-box,
.help-box,
.tv-card,
.condition-grid div{
  backdrop-filter: blur(18px) saturate(130%);
}
.air-card,
.dash-card,
.tariff{
  will-change: transform;
}
.air-card:focus-visible,
.btn:focus-visible,
nav a:focus-visible{
  outline:3px solid rgba(255,101,0,.45);
  outline-offset:4px;
}
.form-success{
  display:none;
  margin:6px 0 0;
  padding:14px 16px;
  border-radius:14px;
  background:#eafff0;
  color:#116b2d;
  font-weight:900;
}
.form-success.show{
  display:block;
}
.lead-form.sending button{
  opacity:.72;
  pointer-events:none;
}
@media (prefers-reduced-motion: reduce){
  *, *:before, *:after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}


/* ===== V17 FINAL SPEED + LEGAL ===== */
.speed-label{
  display:inline-flex;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  color:white;
  border-radius:999px;
  padding:9px 13px;
  font-weight:1000;
  margin:14px 0 8px;
}
.speed-section{
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:32px;
  align-items:center;
  padding:30px 7vw 70px;
}
.speed-copy h2{
  font-size:clamp(42px,6vw,74px);
  line-height:.95;
  letter-spacing:-.06em;
  margin:20px 0;
}
.speed-copy h2 span{
  color:var(--orange);
}
.speed-copy p,
.speedometer-box p{
  color:var(--muted);
  font-size:19px;
  line-height:1.55;
}
.speedometer-box{
  background:white;
  border:1px solid var(--line);
  border-radius:34px;
  padding:34px;
  box-shadow:0 28px 85px rgba(255,101,0,.12);
  text-align:center;
}
.speedometer{
  position:relative;
  width:min(330px,100%);
  aspect-ratio:1;
  border-radius:50%;
  margin:auto;
  background:
    conic-gradient(from 230deg, #ff6500 0deg, #ffc342 210deg, rgba(0,0,0,.08) 211deg 360deg);
  display:grid;
  place-items:center;
}
.speedometer:before{
  content:"";
  position:absolute;
  inset:24px;
  border-radius:50%;
  background:#fff;
}
.speed-needle{
  position:absolute;
  width:43%;
  height:5px;
  background:#191919;
  border-radius:999px;
  left:50%;
  top:50%;
  transform-origin:left center;
  transform:rotate(-140deg);
  animation:needleSweep 2.3s ease forwards;
  z-index:2;
}
@keyframes needleSweep{
  to{transform:rotate(38deg)}
}
.speed-center{
  position:relative;
  z-index:3;
}
.speed-center strong{
  display:block;
  font-size:64px;
  letter-spacing:-.06em;
}
.speed-center span{
  color:var(--muted);
  font-weight:1000;
}
.highlight-condition{
  background:linear-gradient(135deg,#fff,#fff4e8)!important;
  border-color:rgba(255,101,0,.25)!important;
}
.coverage-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:10px 7vw 60px;
  padding:32px;
  border-radius:30px;
  background:linear-gradient(135deg,#fff,#fff4e8);
  border:1px solid rgba(255,101,0,.16);
  box-shadow:0 22px 70px rgba(255,101,0,.10);
}
.coverage-status span{
  display:inline-block;
  color:var(--orange);
  font-weight:1000;
  margin-bottom:8px;
}
.coverage-status h2{
  margin:0 0 8px;
}
.coverage-status p{
  margin:0;
  color:var(--muted);
}
.footer{
  position:relative;
}
.footer-legal{
  grid-column:1 / -1;
  border-top:1px solid rgba(255,255,255,.25);
  padding-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:center;
}
.footer-legal a,
.footer-legal span{
  color:white;
  text-decoration:none;
  font-weight:850;
}
.legal-page{
  padding:90px 7vw;
  max-width:980px;
  margin:auto;
}
.legal-page h1{
  font-size:clamp(44px,6vw,72px);
}
.legal-page p{
  color:var(--muted);
  font-size:19px;
  line-height:1.65;
}

@media(max-width:900px){
  .speed-section{
    grid-template-columns:1fr;
    padding-inline:24px;
  }
  .coverage-status{
    margin-inline:24px;
    flex-direction:column;
    align-items:flex-start;
  }
}


/* ===== V18 FINAL HOME + PREMIUM SPEED CARD ===== */
.home-air .hero-actions{
  margin-bottom:20px;
}
.home-air .hero-actions .btn.ghost[href="cobertura.html"]{
  display:none!important;
}
.coverage-status{
  display:none!important;
}

.premium-speed-section{
  padding-top:40px;
}
.premium-speed-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 22%,rgba(255,255,255,.42),transparent 10rem),
    linear-gradient(135deg,#ff6500,#ff9a1f 55%,#ffc342);
  color:white;
  border-radius:36px;
  border:1px solid rgba(255,255,255,.35);
  padding:38px;
  box-shadow:0 35px 105px rgba(255,101,0,.24);
  min-height:390px;
}
.premium-speed-card:before{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-90px;
  width:300px;
  height:300px;
  border-radius:50%;
  border:38px solid rgba(255,255,255,.15);
}
.speed-shine{
  position:absolute;
  inset:-50% -30% auto -30%;
  height:260px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  transform:rotate(-18deg);
  animation:speedShine 4.4s ease-in-out infinite;
}
@keyframes speedShine{
  0%,55%{transform:translateX(-58%) rotate(-18deg)}
  100%{transform:translateX(125%) rotate(-18deg)}
}
.premium-speed-card small,
.premium-speed-card strong,
.premium-speed-card .live-band,
.premium-speed-card ul{
  position:relative;
  z-index:2;
}
.premium-speed-card small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:1000;
  opacity:.92;
}
.premium-speed-card strong{
  display:block;
  font-size:clamp(64px,8vw,118px);
  line-height:.86;
  letter-spacing:-.08em;
  margin:12px 0 28px;
  text-shadow:0 18px 45px rgba(0,0,0,.14);
}
.live-band{
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.24);
  overflow:hidden;
  margin:0 0 28px;
}
.live-band span{
  display:block;
  height:100%;
  width:42%;
  border-radius:999px;
  background:#191919;
  box-shadow:0 0 24px rgba(255,255,255,.7);
  animation:liveSpeed 2.8s ease-in-out infinite;
}
@keyframes liveSpeed{
  0%{width:48%}
  45%{width:96%}
  70%{width:84%}
  100%{width:98%}
}
.premium-speed-card ul{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  list-style:none;
  padding:0;
  margin:0;
}
.premium-speed-card li{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  border-radius:16px;
  padding:13px 14px;
  font-weight:1000;
  backdrop-filter:blur(8px);
}
.premium-speed-card li:before{
  content:"⚡";
  margin-right:8px;
}
.speedometer-box,
.speedometer{
  display:none!important;
}
@media(max-width:700px){
  .premium-speed-card ul{
    grid-template-columns:1fr;
  }
}


/* ===== V20 SPEEDTEST STYLE FOR FIBER ===== */
.speedtest-section{
  align-items:center;
  padding-top:42px;
}
.speedtest-card{
  position:relative;
  overflow:hidden;
  min-height:440px;
  border-radius:38px;
  padding:34px;
  background:
    radial-gradient(circle at 50% 38%,rgba(255,101,0,.16),transparent 15rem),
    linear-gradient(180deg,#ffffff,#fff7ef);
  border:1px solid rgba(255,101,0,.16);
  box-shadow:0 34px 100px rgba(255,101,0,.16);
}
.speedtest-card:before{
  content:"";
  position:absolute;
  inset:auto -20% -35% -20%;
  height:220px;
  background:repeating-radial-gradient(ellipse at center,rgba(255,101,0,.08) 0 2px,transparent 2px 12px);
}
.speedtest-title{
  position:relative;
  z-index:2;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:13px;
  font-weight:1000;
  color:var(--orange);
  margin-bottom:8px;
}
.gauge-wrap{
  position:relative;
  z-index:2;
  width:min(430px,100%);
  margin:0 auto 20px;
  aspect-ratio:1.45;
}
.speed-gauge{
  width:100%;
  height:100%;
  overflow:visible;
}
.gauge-bg{
  fill:none;
  stroke:rgba(0,0,0,.08);
  stroke-width:16;
  stroke-linecap:round;
}
.gauge-fill{
  fill:none;
  stroke:url(#gaugeGradient);
  stroke-width:16;
  stroke-linecap:round;
  stroke-dasharray:283;
  stroke-dashoffset:34;
  filter:drop-shadow(0 0 10px rgba(255,101,0,.45));
  animation:gaugeGlow 3.4s ease-in-out infinite;
}
@keyframes gaugeGlow{
  0%,100%{stroke-dashoffset:42}
  50%{stroke-dashoffset:18}
}
.ticks line{
  stroke:#191919;
  stroke-width:3;
  stroke-linecap:round;
  opacity:.38;
}
.speed-gauge text{
  font-size:13px;
  font-weight:900;
  fill:#555;
}
.needle{
  position:absolute;
  left:50%;
  bottom:19%;
  width:39%;
  height:5px;
  border-radius:999px;
  background:#191919;
  transform-origin:left center;
  transform:rotate(28deg);
  box-shadow:0 0 18px rgba(255,101,0,.28);
  animation:needleLive 3.4s ease-in-out infinite;
}
.needle:before{
  content:"";
  position:absolute;
  left:-11px;
  top:50%;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#191919;
  transform:translateY(-50%);
  box-shadow:0 0 0 7px rgba(255,101,0,.14);
}
@keyframes needleLive{
  0%,100%{transform:rotate(23deg)}
  45%{transform:rotate(37deg)}
  70%{transform:rotate(31deg)}
}
.speed-readout{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-35%);
  text-align:center;
}
.speed-readout strong{
  display:block;
  font-size:clamp(52px,6vw,82px);
  line-height:.9;
  letter-spacing:-.08em;
  color:#191919;
}
.speed-readout span{
  display:block;
  color:var(--muted);
  font-weight:1000;
  margin-top:8px;
}
.speedtest-features{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.speedtest-features div{
  background:#fff;
  border:1px solid rgba(255,101,0,.13);
  border-radius:18px;
  padding:14px 10px;
  text-align:center;
  box-shadow:0 12px 32px rgba(0,0,0,.05);
}
.speedtest-features b{
  display:block;
  font-size:14px;
}
.speedtest-features span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  margin-top:4px;
}
.premium-speed-card,
.performance-card,
.speedometer-box,
.speedometer{
  display:none!important;
}
@media(max-width:720px){
  .speedtest-card{
    padding:24px;
  }
  .speedtest-features{
    grid-template-columns:1fr 1fr;
  }
}


/* ===== V21 INTERACTIVE SPEEDTEST ===== */
.speedtest-card.interactive{
  cursor:pointer;
}
.speedtest-card.interactive .gauge-fill{
  transition:stroke-dashoffset .45s ease, filter .45s ease;
  animation:none;
}
.speedtest-card.interactive .needle{
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
  animation:none;
}
.speedtest-card.interactive .speed-readout strong{
  transition:transform .25s ease;
}
.speedtest-card.interactive.testing .speed-readout strong{
  transform:scale(1.05);
}
.speedtest-card.interactive .speed-status{
  position:relative;
  z-index:3;
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:8px;
  color:var(--orange);
  font-weight:1000;
}
.speedtest-card.interactive .speed-status i{
  width:8px;
  height:8px;
  margin-top:8px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 16px rgba(255,101,0,.55);
}
.speedtest-card.interactive.testing .speed-status i{
  animation:statusPulse .55s infinite alternate;
}
@keyframes statusPulse{
  to{transform:scale(1.55);opacity:.55}
}
.speedtest-card.interactive .test-button{
  position:relative;
  z-index:3;
  display:flex;
  justify-content:center;
  margin:18px auto 4px;
}
.speedtest-card.interactive .test-button button{
  border:0;
  border-radius:999px;
  background:#191919;
  color:white;
  padding:13px 20px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.speedtest-card.interactive .test-button button:hover{
  transform:translateY(-2px);
}


/* ===== V22 PROMOTIONAL SPEEDTEST - NO BUTTON ===== */
.speedtest-card.promo{
  cursor:default!important;
  min-height:430px;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,101,0,.14),transparent 15rem),
    linear-gradient(180deg,#ffffff,#fff6ed);
}
.speedtest-card.promo .test-button,
.speedtest-card.promo .speed-status{
  display:none!important;
}
.promo-fill{
  stroke-dasharray:283;
  animation:promoGauge 3.8s ease-in-out infinite!important;
}
@keyframes promoGauge{
  0%{stroke-dashoffset:74}
  38%{stroke-dashoffset:18}
  62%{stroke-dashoffset:36}
  100%{stroke-dashoffset:20}
}
.promo-needle{
  animation:promoNeedle 3.8s ease-in-out infinite!important;
}
@keyframes promoNeedle{
  0%{transform:rotate(-92deg)}
  38%{transform:rotate(38deg)}
  62%{transform:rotate(24deg)}
  100%{transform:rotate(36deg)}
}
.promo-readout{
  top:52%;
}
.promo-readout small{
  display:block;
  color:var(--orange);
  text-transform:uppercase;
  font-size:13px;
  font-weight:1000;
  letter-spacing:.12em;
}
.promo-readout strong{
  font-size:clamp(48px,6vw,78px);
}
.promo-readout span{
  color:#191919;
}
.speed-promo-line{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:10px;
}
.speed-promo-line span{
  display:block;
  background:#fff;
  border:1px solid rgba(255,101,0,.14);
  border-radius:999px;
  padding:12px 10px;
  text-align:center;
  font-weight:1000;
  font-size:13px;
  color:#191919;
  box-shadow:0 12px 32px rgba(0,0,0,.05);
}
.speed-promo-line span:before{
  content:"⚡";
  color:var(--orange);
  margin-right:6px;
}
@media(max-width:720px){
  .speed-promo-line{
    grid-template-columns:1fr 1fr;
  }
}


/* ===== V23 EXPERIENCE POLISH ===== */
@media (pointer:fine){
  body{
    cursor:none;
  }
  a, button, .air-card, .tariff, .fiber-card, .speedtest-card{
    cursor:none!important;
  }
  .custom-cursor{
    position:fixed;
    left:0;
    top:0;
    width:18px;
    height:18px;
    border-radius:50%;
    border:2px solid rgba(255,101,0,.85);
    background:rgba(255,101,0,.08);
    pointer-events:none;
    z-index:9999;
    transform:translate(-50%,-50%);
    transition:width .2s ease,height .2s ease,background .2s ease,border-color .2s ease;
    mix-blend-mode:multiply;
  }
  .custom-cursor.is-hover{
    width:48px;
    height:48px;
    background:rgba(255,101,0,.14);
    border-color:rgba(255,101,0,.55);
  }
}
.speed-toast{
  position:fixed;
  left:50%;
  top:92px;
  transform:translate(-50%,-16px);
  opacity:0;
  pointer-events:none;
  z-index:9998;
  background:#191919;
  color:#fff;
  border-radius:999px;
  padding:14px 20px;
  font-weight:1000;
  box-shadow:0 22px 60px rgba(0,0,0,.22);
  transition:.35s ease;
}
.speed-toast.show{
  opacity:1;
  transform:translate(-50%,0);
}
body.speed-boost *{
  animation-duration:.55s!important;
}

.logo img{
  animation:logoIntro .7s ease both;
}
@keyframes logoIntro{
  from{opacity:0;transform:scale(.92);filter:drop-shadow(0 0 0 rgba(255,101,0,0))}
  to{opacity:1;transform:scale(1);filter:drop-shadow(0 8px 18px rgba(255,101,0,.16))}
}

/* sliding nav underline */
nav a:not(.icon-only):not(.area){
  position:relative;
}
nav a:not(.icon-only):not(.area):after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:4px;
  height:2px;
  background:var(--orange);
  transform:scaleX(0);
  transform-origin:center;
  transition:.25s ease;
}
nav a.active:after,
nav a:not(.icon-only):not(.area):hover:after{
  transform:scaleX(1);
}

/* cursor-light cards */
.air-card,
.tariff,
.fiber-card,
.speedtest-card,
.coverage-box,
.help-box,
.lead-form{
  --mx:50%;
  --my:50%;
}
.air-card:before,
.tariff:after,
.fiber-card:before{
  pointer-events:none;
}
.air-card:hover,
.tariff:hover,
.fiber-card:hover{
  background-image:
    radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.32),transparent 12rem);
}

/* home fiber "Ferrari" detail */
.fiber-main-speed{
  position:relative;
  z-index:2;
  margin:16px 0 10px;
}
.fiber-main-speed small{
  display:block;
  color:white!important;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:13px;
  font-weight:1000;
}
.fiber-main-speed strong{
  color:white!important;
  font-size:122px!important;
}
.fiber-main-price{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:flex-end;
  gap:8px;
  background:#191919;
  color:white;
  border-radius:18px;
  padding:12px 16px;
  font-size:40px;
  font-weight:1000;
  letter-spacing:-.05em;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.fiber-main-price span{
  color:white!important;
  font-size:16px;
  margin-bottom:5px;
  letter-spacing:0;
}

/* mobile rotating tone */
.rotating-mobile-card{
  transition:background .45s ease,border-color .45s ease,box-shadow .45s ease,transform .3s ease;
}
.rotating-mobile-card.tone-pink{
  background:linear-gradient(135deg,#fff,#fff0f7)!important;
}
.rotating-mobile-card.tone-orange{
  background:linear-gradient(135deg,#fff,#fff4e8)!important;
}
.rotating-mobile-card.tone-gold{
  background:linear-gradient(135deg,#fff,#fff8df)!important;
}

/* Speedtest promotional metric cycling */
.cycling-readout small,
.cycling-readout strong,
.cycling-readout span{
  transition:opacity .28s ease, transform .28s ease;
}
.cycling-readout.swap small,
.cycling-readout.swap strong,
.cycling-readout.swap span{
  opacity:0;
  transform:translateY(8px);
}
.cycling-readout strong{
  font-size:clamp(50px,6vw,78px)!important;
}

/* Footer refinements */
.footer{
  grid-template-columns:1.15fr .95fr .95fr .9fr;
}
.footer h3{
  margin-top:0;
}
.footer-legal{
  justify-content:space-between;
}
@media(max-width:900px){
  .footer-legal{
    justify-content:flex-start;
  }
  .fiber-main-speed strong{
    font-size:88px!important;
  }
}


/* ===== V24 FIXES: forms, cursor, compact home fiber ===== */
body,
a,
button,
.air-card,
.tariff,
.fiber-card,
.speedtest-card{
  cursor:auto!important;
}
.custom-cursor,
.speed-toast{
  display:none!important;
}

.lead-form{
  background:#fff!important;
  border:1px solid rgba(0,0,0,.10)!important;
  box-shadow:0 28px 85px rgba(255,101,0,.12)!important;
  border-radius:30px!important;
  padding:32px!important;
}
.lead-form h2{
  margin:0 0 8px!important;
  font-size:30px!important;
}
.lead-form input,
.lead-form select,
.lead-form textarea{
  background:#fff!important;
  color:#111!important;
  border:1px solid rgba(0,0,0,.14)!important;
}
.lead-form .btn{
  width:100%;
}

.ferrari-space{
  min-height:560px!important;
}
.compact-fiber-card{
  width:min(390px,92%)!important;
  min-height:380px!important;
  padding:30px!important;
}
.compact-fiber-card .fiber-glow{
  width:90px!important;
  height:90px!important;
}
.compact-speed{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  gap:10px;
  margin:20px 0 14px;
}
.compact-speed strong{
  color:white!important;
  font-size:92px!important;
  line-height:.78!important;
  letter-spacing:-.08em!important;
}
.compact-speed span{
  color:white!important;
  font-size:16px!important;
  font-weight:1000!important;
  text-transform:uppercase;
  margin-bottom:8px!important;
}
.compact-price{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:flex-end;
  gap:6px;
  background:#191919;
  color:white;
  border-radius:16px;
  padding:10px 14px;
  font-size:34px;
  font-weight:1000;
  letter-spacing:-.05em;
  margin-bottom:18px;
}
.compact-price span{
  color:white!important;
  font-size:15px!important;
  margin-bottom:4px!important;
}
.compact-fiber-card p{
  font-size:16px!important;
  margin:14px 0 22px!important;
}
.compact-fiber-card b{
  display:inline-flex;
  background:#191919;
  color:white!important;
  border-radius:14px;
  padding:13px 17px;
}
.fiber-main-speed,
.fiber-main-price,
.fiber-badges{
  display:none!important;
}

@media(max-width:1080px){
  .ferrari-space{
    min-height:760px!important;
  }
}
@media(max-width:860px){
  .ferrari-space{
    min-height:auto!important;
  }
}


/* ===== V25 DEFINITIVE FORMS ===== */
.final-form{
  display:grid!important;
  gap:14px!important;
  align-self:center;
  background:#fff!important;
  border:1px solid rgba(0,0,0,.10)!important;
  box-shadow:0 30px 95px rgba(255,101,0,.14)!important;
  border-radius:32px!important;
  padding:34px!important;
  min-width:0;
}
.final-form h2{
  margin:0!important;
  font-size:clamp(28px,3vw,38px)!important;
  letter-spacing:-.04em;
}
.final-form .form-intro{
  margin:0 0 10px!important;
  color:var(--muted)!important;
  line-height:1.5!important;
}
.final-form label{
  display:grid;
  gap:7px;
  color:#191919;
  font-weight:900;
  font-size:14px;
}
.final-form input,
.final-form select,
.final-form textarea{
  width:100%!important;
  min-height:52px;
  padding:15px 16px!important;
  border-radius:15px!important;
  border:1px solid rgba(0,0,0,.14)!important;
  background:#fff!important;
  color:#111!important;
  font:inherit!important;
  font-weight:650;
  outline:none;
}
.final-form textarea{
  min-height:118px!important;
  resize:vertical;
}
.final-form input:focus,
.final-form select:focus,
.final-form textarea:focus{
  border-color:var(--orange)!important;
  box-shadow:0 0 0 4px rgba(255,101,0,.12);
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.final-form .btn{
  width:100%;
  margin-top:4px;
}
.final-form .form-success{
  display:none;
  margin:0;
  padding:14px 16px;
  background:#ecfff2;
  color:#116b2d;
  border-radius:14px;
  font-weight:900;
}
.final-form .form-success.show{
  display:block;
}
@media(max-width:760px){
  .form-row{
    grid-template-columns:1fr;
  }
  .final-form{
    padding:24px!important;
  }
}


/* ===== V26 DEFINITIVE VISIBLE FORM PAGES ===== */
.form-page{
  position:relative;
  z-index:2;
  min-height:calc(100vh - 96px);
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:52px;
  align-items:center;
  padding:76px 7vw;
}
.form-copy h1{
  font-size:clamp(46px,7vw,82px);
  line-height:.92;
  letter-spacing:-.065em;
  margin:22px 0;
}
.form-copy p{
  color:var(--muted);
  font-size:21px;
  line-height:1.6;
}
.form-copy a{
  color:var(--orange);
  font-weight:1000;
}
.always-visible-form{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  position:relative!important;
  z-index:5!important;
  background:#fff!important;
  border:1px solid rgba(0,0,0,.10)!important;
  box-shadow:0 34px 100px rgba(255,101,0,.16)!important;
  border-radius:34px!important;
  padding:36px!important;
  gap:14px!important;
}
.always-visible-form h2{
  margin:0!important;
  font-size:clamp(30px,3vw,42px)!important;
  letter-spacing:-.045em!important;
}
.always-visible-form .form-intro{
  margin:0 0 10px!important;
  color:var(--muted)!important;
  font-size:17px!important;
}
.always-visible-form label{
  display:grid!important;
  gap:7px!important;
  color:#191919!important;
  font-weight:950!important;
  font-size:14px!important;
}
.always-visible-form input,
.always-visible-form select,
.always-visible-form textarea{
  display:block!important;
  width:100%!important;
  min-height:52px!important;
  border:1px solid rgba(0,0,0,.14)!important;
  background:#fff!important;
  color:#111!important;
  border-radius:15px!important;
  padding:15px 16px!important;
  font:inherit!important;
  font-weight:650!important;
}
.always-visible-form textarea{
  min-height:120px!important;
  resize:vertical!important;
}
.always-visible-form input:focus,
.always-visible-form select:focus,
.always-visible-form textarea:focus{
  outline:none!important;
  border-color:var(--orange)!important;
  box-shadow:0 0 0 4px rgba(255,101,0,.12)!important;
}
.always-visible-form .btn{
  width:100%!important;
  margin-top:4px!important;
}
.always-visible-form .form-success{
  display:none;
  margin:0;
  padding:14px 16px;
  background:#ecfff2;
  color:#116b2d;
  border-radius:14px;
  font-weight:900;
}
.always-visible-form .form-success.show{
  display:block!important;
}
@media(max-width:900px){
  .form-page{
    grid-template-columns:1fr;
    padding:42px 24px;
  }
  .always-visible-form{
    padding:24px!important;
  }
}


/* ===== V27 PRODUCTION POLISH ===== */
.logo picture,
.footer-brand picture{
  display:block;
}
.logo img{
  animation:brandPulse 1.15s cubic-bezier(.2,.8,.2,1) both;
  transform-origin:center;
}
@keyframes brandPulse{
  0%{opacity:0;transform:translateY(-4px) scale(.94);filter:drop-shadow(0 0 0 rgba(255,101,0,0))}
  70%{opacity:1;transform:translateY(0) scale(1.035);filter:drop-shadow(0 8px 18px rgba(255,101,0,.20))}
  100%{opacity:1;transform:scale(1);filter:drop-shadow(0 5px 12px rgba(255,101,0,.12))}
}
.logo:hover img{
  animation:logoGlow .9s ease both;
}
@keyframes logoGlow{
  50%{transform:scale(1.035);filter:drop-shadow(0 8px 24px rgba(255,101,0,.34))}
}

.cookie-banner{
  position:fixed;
  left:24px;
  right:24px;
  bottom:20px;
  z-index:9997;
  display:none;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:22px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  box-shadow:0 22px 70px rgba(0,0,0,.16);
}
.cookie-banner.show{
  display:grid;
}
.cookie-banner p{
  margin:5px 0 0;
  color:var(--muted);
}
.cookie-actions{
  display:flex;
  gap:10px;
}
.cookie-actions button{
  border:0;
  border-radius:999px;
  padding:12px 16px;
  font-weight:1000;
  cursor:pointer;
}
#acceptCookies{
  background:linear-gradient(135deg,var(--orange),var(--yellow));
  color:#111;
}
#rejectCookies{
  background:#f1f1f1;
  color:#111;
}

/* Mobile-first polish */
@media(max-width:860px){
  .topbar{
    position:sticky;
    top:0;
    padding:12px 16px;
  }
  .logo img{
    height:44px!important;
  }
  .home-air,
  .hero,
  .page-hero,
  .form-page{
    padding-top:34px!important;
  }
  h1{
    font-size:clamp(40px,13vw,58px)!important;
    letter-spacing:-.055em!important;
  }
  .air-card,
  .fiber-card,
  .tariff,
  .lead-form,
  .always-visible-form,
  .final-form{
    border-radius:24px!important;
  }
  .hero-actions,
  .footer-social,
  .cookie-actions{
    width:100%;
  }
  .hero-actions .btn,
  .cookie-actions button{
    flex:1;
  }
  .footer{
    grid-template-columns:1fr!important;
    padding:38px 24px!important;
  }
  .footer img{
    height:52px!important;
  }
  .footer-legal{
    gap:12px!important;
    flex-direction:column;
    align-items:flex-start;
  }
  .cookie-banner{
    left:12px;
    right:12px;
    bottom:12px;
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .mini-trust,
  .air-benefits,
  .why-grid,
  .mobile-tariffs,
  .contact-shortcuts{
    grid-template-columns:1fr!important;
  }
  .speedtest-features,
  .speed-promo-line{
    grid-template-columns:1fr!important;
  }
  .form-row{
    grid-template-columns:1fr!important;
  }
}
