:root{
  --hi-green:#abd037;
  --hi-green-strong:#99bf2d;
  --hi-green-soft:#f5f9eb;
  --hi-green-mist:rgba(171,208,55,.12);
  --hi-dark:#242a35;
  --hi-dark-soft:#4f5b67;
  --hi-text:#616c77;
  --hi-text-light:#7b8792;
  --line:#dde5d3;
  --line-strong:#ced9c0;
  --card:#ffffff;
  --bg:#f4f6f1;
  --shadow-card:0 20px 50px rgba(25,31,38,.08);
  --shadow-soft:0 12px 28px rgba(25,31,38,.06);
  --shadow-green:0 18px 44px rgba(171,208,55,.18);
  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size:16px;
  line-height:1.65;
  color:var(--hi-text);
  background:
    radial-gradient(circle at 8% 12%, rgba(171,208,55,.15), transparent 24%),
    radial-gradient(circle at 88% 18%, rgba(171,208,55,.10), transparent 18%),
    linear-gradient(180deg,#f8faf6 0%,#f1f4ee 100%);
  position:relative;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(49,57,66,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(49,57,66,.045) 1px, transparent 1px);
  background-size:48px 48px;
  opacity:.46;
  mask-image:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.45));
}
body::after{
  content:"";
  position:fixed;
  right:-180px;
  bottom:-160px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(171,208,55,.13), transparent 68%);
  pointer-events:none;
  filter:blur(2px);
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1rem}
ul{margin:0;padding-left:1.1rem}
li+li{margin-top:.45rem}
strong{color:var(--hi-dark)}
figure{margin:0}

.wrap{width:min(1240px, calc(100vw - 52px)); margin-inline:auto; position:relative}
.section{padding:96px 0; position:relative}
.section.soft{padding:86px 0}
.section > .wrap{z-index:1}

h1,h2,h3,h4{
  margin:0;
  color:var(--hi-dark);
  font-weight:650;
  letter-spacing:-.045em;
  line-height:1.06;
}
h1{font-size:clamp(2.45rem, 4.6vw, 4.15rem)}
h2{font-size:clamp(1.7rem, 2.6vw, 2.45rem)}
h3{font-size:clamp(1.18rem, 1.55vw, 1.55rem)}
h4{font-size:1.1rem}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 15px;
  border:1px solid rgba(166,194,100,.42);
  border-radius:999px;
  background:rgba(247,250,239,.9);
  color:#6d7d34;
  font-size:12px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--hi-green-strong);box-shadow:0 0 0 0 rgba(171,208,55,.45);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(171,208,55,.42)}70%{box-shadow:0 0 0 11px rgba(171,208,55,0)}100%{box-shadow:0 0 0 0 rgba(171,208,55,0)}}

.lead{font-size:1.16rem;color:#36424e;font-weight:500}
.muted{color:var(--hi-text-light)}
.small{font-size:.95rem}
.sub{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--hi-green-soft);
  border:1px solid #d5e4b2;
  color:#607628;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.btn,.btn-secondary,.btn-ghost{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:0 20px;
  border-radius:16px;
  font-size:15px;
  font-weight:600;
  letter-spacing:-.01em;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
  cursor:pointer;
}
.btn{
  color:#1f2a10;
  background:linear-gradient(180deg,#c9e773 0%, #abd037 100%);
  border:1px solid #a8c83d;
  box-shadow:var(--shadow-green);
}
.btn:hover,.btn-secondary:hover,.btn-ghost:hover{transform:translateY(-2px)}
.btn-secondary{
  color:var(--hi-dark);
  background:rgba(255,255,255,.94);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.btn-ghost{
  color:#54606c;
  background:rgba(255,255,255,.6);
  border:1px dashed #cad6bc;
}

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(18px);
  background:rgba(248,250,246,.76);
  border-bottom:1px solid rgba(217,225,206,.72);
}
.nav{
  min-height:102px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  column-gap:28px;
}
.brand-logo{height:48px;width:auto}
.navlinks{display:flex;align-items:center;gap:10px;flex:1;flex-wrap:wrap;justify-content:center}
 .navlinks a{
  padding:12px 16px;
  border-radius:999px;
  color:#5a6671;
  font-size:14px;
  font-weight:600;
  position:relative;
}
.navlinks a:hover,.navlinks a.current{background:rgba(171,208,55,.14);color:var(--hi-dark)}
.lang-switcher{display:flex;gap:8px;align-items:center}
 .flag-link{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--line);background:rgba(255,255,255,.85);box-shadow:var(--shadow-soft);
  transition:.18s ease
}
.flag-link img{width:18px;height:18px}
.flag-link.active,.flag-link:hover{border-color:#c2d79a;transform:translateY(-1px)}

.hero{padding:88px 0 52px; position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:46px;align-items:center}
.hero-copy{position:relative;padding:20px 0}
.hero-copy::before{
  content:"";
  position:absolute;
  left:-22px;
  top:-18px;
  width:min(360px,68vw);
  height:210px;
  border-radius:34px;
  background:rgba(171,208,55,.12);
  z-index:-1;
}
.hero-copy p:not(.lead){font-size:1.08rem;max-width:720px;color:#5b6672}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 18px}
.mini-list,.lang-chips,.active-pkgs,.footer-tags{display:flex;flex-wrap:wrap;gap:10px}
.mini-chip, .lang-chip,.meta-pill,.footer-tag,.panel-badge,.result-kicker{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 12px;border-radius:999px;
  background:rgba(255,255,255,.84);
  border:1px solid var(--line);
  font-size:12px;font-weight:700;color:#5a6671;
}
.hero-panel,.stat,.package-card,.calculator-panel,.calculator-result,.finder-panel,.results-panel,.feature,.support-card,.trust-card,.faq-item,.card,.step,.about-card,.coax-card{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(223,229,211,.95);
  backdrop-filter:blur(18px);
  box-shadow:var(--shadow-card);
  border-radius:var(--radius-xl);
}
.hero-panel{padding:30px;position:relative;overflow:hidden;background:linear-gradient(145deg,#2e3a4b 0%,#3f4d61 100%);color:#eef3e8}
.hero-panel::before{
  content:"";position:absolute;right:-30px;top:-35px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle, rgba(171,208,55,.28), transparent 70%);
}
.panel-top,.mock-top,.results-top,.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.hero-panel h3,.hero-panel strong,.hero-panel .panel-badge{color:#fff}
.signal{display:flex;align-items:flex-end;gap:6px;height:20px}
.signal span{width:6px;border-radius:99px;background:#d0ef76;display:block}
.signal span:nth-child(1){height:6px}.signal span:nth-child(2){height:10px}.signal span:nth-child(3){height:14px}.signal span:nth-child(4){height:18px}
.mock-stream{margin-top:18px;padding:18px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.package-meter{display:grid;gap:14px;margin-top:16px}
.meter-row{display:grid;grid-template-columns:88px 1fr auto;gap:12px;align-items:center;color:#f4f7ef;font-size:14px}
.meter{height:10px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}
.meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d3ef7e 0%, #abd037 100%)}
.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.stat{padding:22px 24px}
.stat strong{display:block;font-size:2rem;font-weight:650;letter-spacing:-.05em;margin-bottom:6px}
.stat span{display:block;color:#68737f}

.section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(290px,.78fr);
  gap:24px;
  align-items:end;
  margin-bottom:30px;
}
.section-head p{font-size:1rem;color:#67727e;max-width:560px}

.cards3,.support-grid,.trust-grid,.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.package-card,.support-card,.about-card,.card,.coax-card{padding:28px}
.package-card{display:grid;gap:16px;align-content:start;position:relative}
.package-card .price{font-size:2rem;color:var(--hi-dark);font-weight:650;letter-spacing:-.05em}
.package-card .per{font-size:13px;color:#7a8692}
.package-card .count{font-size:4rem;color:rgba(36,42,53,.08);font-weight:700;line-height:1;position:absolute;right:22px;top:24px;pointer-events:none}
.package-card ul{color:#60707c;padding-left:1rem}
.package-card .ideal{padding:14px 16px;border-radius:18px;background:var(--hi-green-soft);border:1px solid #dbe8be;color:#566169}
.package-card.popular{border-color:#cddfa7;transform:translateY(-8px)}
.ribbon{position:absolute;top:16px;right:16px;padding:8px 12px;border-radius:999px;background:var(--hi-dark);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.calculator-grid,.contact-grid,.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);gap:24px;align-items:start}
.calculator-panel,.calculator-result{padding:28px}
.calc-label{display:grid;gap:12px;font-size:14px;font-weight:600;color:#495563;margin-bottom:18px}
.room-value strong{font-size:2rem;font-weight:650;letter-spacing:-.05em}
.room-range{width:100%;accent-color:var(--hi-green-strong)}
.range-scale{display:flex;justify-content:space-between;font-size:12px;color:#8a94a0}
.package-selector{display:grid;gap:10px}
.calc-package{
  text-align:left;padding:16px 18px;border-radius:20px;border:1px solid var(--line);background:#fff;display:grid;gap:4px;cursor:pointer;
  transition:.18s ease
}
.calc-package em{font-style:normal;color:#7c8792;font-size:12px}
.calc-package strong{font-size:1rem}
.calc-package.active,.calc-package:hover{border-color:#c8da9d;box-shadow:var(--shadow-soft);background:linear-gradient(180deg,#fff 0%, #f8fbf1 100%)}
.result-main{display:grid;gap:8px;margin:12px 0 20px}
.result-main span,.result-row span{color:#788390}
.result-main strong{font-size:2.4rem;font-weight:650;letter-spacing:-.05em}
.result-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid #eef2e9}

.finder-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}
.finder-panel,.results-panel{padding:26px;position:relative}
.finder-panel{position:sticky;top:98px}
.finder-toolbar-head{margin-bottom:8px}
.finder-panel h3{font-size:2rem;margin-bottom:16px}
.filters{display:grid;gap:14px}
.filters label,form label{display:grid;gap:8px;font-size:13px;font-weight:600;color:#4a5763}
.filters input,.filters select,form input,form select,form textarea{
  width:100%;border:1px solid #d7dfcd;background:rgba(255,255,255,.95);border-radius:16px;padding:14px 15px;font-size:15px;color:var(--hi-dark);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;outline:none
}
.filters input:focus,.filters select:focus,form input:focus,form select:focus,form textarea:focus{border-color:#bfd682;box-shadow:0 0 0 5px rgba(171,208,55,.14)}
form textarea{min-height:150px;resize:vertical}
.filter-actions{display:flex;gap:10px;flex-wrap:wrap}
.finder-note{margin-top:14px;padding:14px 16px;border-radius:18px;background:var(--hi-green-soft);border:1px solid #dbe7c0;color:#5e6a75;font-size:13px}
.quick-language-bar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
 .quick-filter{
  border:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 10px;display:inline-flex;gap:8px;align-items:center;cursor:pointer;color:#55626e;font-weight:600;box-shadow:var(--shadow-soft);transition:.18s ease
}
.quick-filter:hover,.quick-filter.active{border-color:#c6d99e;background:#f8fbf1;transform:translateY(-1px)}
.quick-label{font-size:13px}.quick-count{font-size:11px;color:#7b8691}.quick-filter .flag-badge{width:18px;height:18px}.lang-chip .flag-badge{width:14px;height:14px}.lang-chip{padding:7px 10px;font-size:11px}.active-pkgs .meta-pill{padding:8px 10px;font-size:11px}.quick-language-bar{gap:8px}.quick-filter{padding:8px 10px}
.result-summary{font-size:15px;font-weight:600;color:#54616d}
.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(164px,1fr));gap:10px}
.channel-card{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;
  min-height:68px;padding:10px 12px;border-radius:20px;border:1px solid #e2e8d8;background:linear-gradient(180deg,#fff 0%, #fafcf7 100%);
  box-shadow:0 10px 22px rgba(25,31,38,.05);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease
}
.channel-card:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(25,31,38,.08);border-color:#d0ddb6}
.channel-top{display:flex;align-items:center;gap:10px;min-width:0}
.channel-logo-wrap,.channel-badge{
  flex:0 0 56px;width:56px;height:40px;border-radius:14px;border:1px solid #e4ead9;background:#f9fbf6;display:flex;align-items:center;justify-content:center;overflow:hidden
}
.channel-logo{max-width:42px;max-height:24px;object-fit:contain}
.channel-badge{font-size:11px;font-weight:700;color:#5b6671;letter-spacing:.06em;padding:4px;text-align:center}
.channel-copy{min-width:0}
 .channel-title{font-size:13px;line-height:1.22;color:var(--hi-dark);font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.channel-flag-wrap{display:flex;align-items:center;justify-content:center}
.flag-badge{width:16px;height:16px;border-radius:50%;overflow:hidden;border:1px solid #dde4d2;display:grid;place-items:center;background:#fff;box-shadow:0 4px 10px rgba(25,31,38,.06)}
.flag-badge img{width:100%;height:100%;object-fit:cover}
.flag-badge.emoji{font-size:9px}
.results-footer{display:flex;justify-content:center;margin-top:18px}
.results-footer .btn-secondary{min-width:220px}

.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.feature,.trust-card,.step{padding:24px}
.feature p,.trust-card span,.step p,.about-card p,.card p,.support-card p{color:#65717d}
 .icon,.footer-icon{
  width:68px;height:68px;border-radius:22px;display:grid;place-items:center;
  background:linear-gradient(180deg,#fbfcf7 0%,#edf6db 100%);
  border:1px solid #d9e5b8;
  box-shadow:0 12px 26px rgba(25,31,38,.06), inset 0 1px 0 rgba(255,255,255,.94);
  margin-bottom:16px
}
.icon svg,.footer-icon svg{width:30px;height:30px;stroke:var(--hi-green-strong);fill:none;stroke-width:1.95;stroke-linecap:round;stroke-linejoin:round}

.coax-card{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:center;padding:34px}
.coax-visual{
  min-height:240px;border-radius:28px;background:linear-gradient(145deg,#2f3948 0%,#3e4b5e 100%);position:relative;overflow:hidden;display:grid;place-items:center;
}
.coax-line{display:grid;gap:18px;justify-items:center;color:#fff;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.coax-line i{width:2px;height:34px;background:linear-gradient(180deg,rgba(255,255,255,.35),#d3ee7d)}
.signal-rings{position:absolute;inset:auto 20px 20px auto;display:grid;gap:8px}
.signal-rings b{display:block;width:68px;height:68px;border-radius:50%;border:1px solid rgba(209,236,118,.32)}
.signal-rings b:nth-child(2){width:50px;height:50px;justify-self:end}.signal-rings b:nth-child(3){width:32px;height:32px;justify-self:end}
.coax-list{display:grid;gap:10px;padding-left:1rem}

.casting-scene{margin-top:22px;border-radius:26px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);position:relative}
.casting-scene img{width:100%;aspect-ratio:4/3;object-fit:cover}
.casting-badge-overlay{position:absolute;left:18px;top:18px;z-index:2}
.casting-scene figcaption{padding:14px 16px;font-size:13px;color:#65717d;border-top:1px solid #edf1e8;background:rgba(255,255,255,.9)}
.casting-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}
.solution-card{padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#f8fbf3 100%);border:1px solid #e4ead8;display:grid;align-content:start;gap:8px}
.solution-card .icon{margin-bottom:6px;width:64px;height:64px;border-radius:18px}

.support-card{display:grid;gap:14px}
.support-card ul{color:#61707c}
.support-card.premium{background:linear-gradient(145deg,#303b4c 0%,#415063 100%);border-color:rgba(255,255,255,.08);color:#e8eee2}
.support-card.premium h3,.support-card.premium strong,.support-card.premium .sub,.support-card.premium .ideal,.support-card.premium li{color:#fff}
.support-card.premium .sub{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12)}
.support-card .ideal{padding:14px 16px;border-radius:18px;background:#f7faef;border:1px solid #e0e9ca}
.support-card.premium .ideal{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}

.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;position:relative}
.step{position:relative}
.step-num{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(180deg,#cfe97c 0%,#abd037 100%);color:#1f2b10;font-weight:700;margin-bottom:14px;box-shadow:var(--shadow-green)}

.about-grid{grid-template-columns:1.1fr .9fr}
.about-card{padding:28px}
.about-card.accent{background:linear-gradient(145deg,#2e3948 0%,#414f62 100%);color:#e8eee4;border-color:rgba(255,255,255,.08)}
.about-card.accent h3,.about-card.accent p{color:#fff}
.about-points{display:grid;gap:12px}
.about-point{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:18px;background:#fff;border:1px solid #e7ecde}
.about-point span{width:36px;height:36px;flex:0 0 36px;border-radius:12px;display:grid;place-items:center;background:var(--hi-green-soft);border:1px solid #d6e2b6;font-weight:700;color:#607628}
.about-cta{margin-top:18px}

.trust-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.trust-card strong{display:block;font-size:1.4rem;margin-bottom:6px}

.faq{display:grid;gap:12px}
.faq-item{padding:22px 24px}
.faq-item summary{list-style:none;cursor:pointer;font-size:1rem;font-weight:600;color:var(--hi-dark);display:flex;align-items:center;justify-content:space-between;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:22px;color:#7e8a95}
.faq-item[open] summary::after{content:"–"}
.faq-item p{margin-top:14px;color:#67727f}

.contact-side{display:grid;gap:18px}
.card,.contact-side .card{padding:26px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.contact-checklist{display:grid;gap:12px}
.checkline{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:18px;background:#fff;border:1px solid #e5eadc}
.checkline strong{width:40px;height:40px;flex:0 0 40px;border-radius:14px;display:grid;place-items:center;background:var(--hi-green-soft);border:1px solid #d7e4b9;color:#607628}
.consent{font-size:13px;color:#7c8792;margin:0}

.footer{padding:24px 0 54px}
.footer-premium{padding:30px 32px;background:linear-gradient(180deg,#5a5f67 0%,#474c55 100%);border:1px solid rgba(255,255,255,.07);backdrop-filter:blur(18px);border-radius:32px;box-shadow:0 24px 60px rgba(25,31,38,.18)}
.footer-brand{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.footer-logo{height:62px;width:auto}
.footer-kicker{display:inline-block;margin-bottom:8px;font-size:12px;font-weight:700;color:rgba(233,238,228,.78);letter-spacing:.1em;text-transform:uppercase}
.footer-brand-copy h3{font-size:1.8rem;color:#fff;font-weight:620}
.footer-brand-copy p{margin:0;color:rgba(238,242,234,.82)}
.footer-btn{white-space:nowrap;min-width:230px}
.footer-icon-grid,.footer-tags{display:none !important}
.footer-bottom{padding-top:22px;margin-top:22px;border-top:1px solid rgba(255,255,255,.12)}
.footer-contact{display:grid;gap:4px;font-size:14px;color:#68737f}
.footer-contact strong{font-size:16px}
.footer-contact a{color:#567f22}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease, transform .75s cubic-bezier(.2,.65,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal-media img{transition:transform .75s cubic-bezier(.2,.65,.2,1)}
.reveal-media.is-visible img,.casting-scene:hover img{transform:scale(1.025)}
.hero-panel[data-parallax]{transform:translateY(var(--parallaxY,0))}

.progress,.scroll-progress{position:fixed;left:0;top:0;height:4px;z-index:70;background:linear-gradient(90deg,#d5ee84 0%, #abd037 100%)}
.progress{width:0}.scroll-progress{width:100%;transform-origin:left center;transform:scaleX(0);opacity:.9}
.back-to-top{
  position:fixed;right:24px;bottom:24px;width:48px;height:48px;border:none;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  background:linear-gradient(180deg,#cfe97d 0%, #abd037 100%);color:#22300f;font-size:20px;box-shadow:var(--shadow-green);opacity:0;pointer-events:none;transition:.2s ease;z-index:40
}
.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}


.footer-contact-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.contact-pill{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 16px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#fff;font-weight:500;transition:.18s ease}
.contact-pill:hover{transform:translateY(-2px);background:rgba(255,255,255,.1)}
.contact-pill svg{width:18px;height:18px;stroke:#d8ef89;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 18px}
.footer-address{margin-top:16px;color:rgba(236,241,232,.72);font-size:14px;text-align:center}
.topbar.scrolled{box-shadow:0 12px 28px rgba(25,31,38,.08)}
.package-card .lang-chips{gap:8px}
.feature h3,.support-card h3,.package-card h3,.trust-card strong{font-weight:610}
.hero-panel h3{font-size:1.35rem}
.footer-brand-copy{max-width:620px}
.finder-panel h3{font-size:1.55rem}
.section-head h2{max-width:760px}
.quick-stats .stat strong{font-size:1.7rem}
.navlinks .btn.small{min-height:44px;padding:0 16px;font-size:14px}
@media (max-width:1180px){
  .footer-contact-bar{grid-template-columns:1fr}
}
@media (max-width:560px){
  .contact-pill{justify-content:flex-start}
  .footer-brand-copy h3{font-size:1.45rem}
  .footer-premium{padding:22px}
  .footer-top{gap:16px}
}

@media (max-width:1180px){
  .hero-grid,.section-head,.finder-shell,.coax-card,.calculator-grid,.contact-grid,.split,.about-grid{grid-template-columns:1fr}
  .quick-stats,.cards3,.feature-grid,.support-grid,.trust-grid,.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .finder-panel{position:static}
  .hero-copy::before{width:min(440px,80vw)}
}

@media (max-width:820px){
  .wrap{width:min(1240px, calc(100vw - 30px))}
  .nav{min-height:82px;display:flex;align-items:center;padding:12px 0;flex-wrap:wrap;gap:12px}
  .navlinks{display:none}
  .hero{padding-top:44px}
  .hero-copy p:not(.lead),.section-head p{font-size:1rem}
  .quick-stats,.cards3,.feature-grid,.support-grid,.trust-grid,.timeline,.casting-stack,.grid2{grid-template-columns:1fr}
  .result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coax-card,.package-card,.support-card,.about-card,.card,.stat,.calculator-panel,.calculator-result,.finder-panel,.results-panel,.footer-premium,.faq-item{padding:22px;border-radius:24px}
  .package-card .count{font-size:3rem}
}

@media (max-width:560px){
  body::before{background-size:32px 32px}
  h1{font-size:clamp(2.55rem,11vw,3.4rem)}
  h2{font-size:clamp(1.75rem,8vw,2.2rem)}
  .btn,.btn-secondary,.btn-ghost{width:100%}
  .hero-actions,.filter-actions{flex-direction:column}
  .mini-list,.lang-chips,.active-pkgs,.quick-language-bar{gap:8px}
  .result-grid{grid-template-columns:1fr}
  .channel-card{grid-template-columns:minmax(0,1fr) auto}
  .footer-top{align-items:flex-start}
  .back-to-top{right:16px;bottom:16px}
}

/* --- v4 refinement overrides --- */
.icon,
.footer-icon{
  width:76px;
  height:76px;
  border-radius:28px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#2f3a4d 0%,#3f4d63 100%) !important;
  border:1px solid rgba(156,191,45,.35) !important;
  box-shadow:0 18px 36px rgba(25,31,38,.12), inset 0 1px 0 rgba(255,255,255,.04) !important;
  position:relative;
  overflow:hidden;
}
.icon::before,
.footer-icon::before,
.coax-visual::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:22px;
  border:1px solid rgba(171,208,55,.12);
  pointer-events:none;
}
.icon::after,
.footer-icon::after,
.coax-visual::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  right:-56px;
  top:-56px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(171,208,55,.16), transparent 72%);
  pointer-events:none;
}
.icon svg,
.footer-icon svg{
  width:34px;
  height:34px;
  stroke:#abd037 !important;
  stroke-width:1.85 !important;
  fill:none;
}
.feature,
.solution-card,
.support-card{
  overflow:hidden;
}
.feature .icon,
.solution-card .icon,
.support-card .icon,
.footer-solution-item .footer-icon{
  margin-bottom:0;
}
.feature-grid .feature,
.casting-stack .solution-card{
  display:grid;
  gap:14px;
  align-content:start;
}
.feature h4,
.solution-card strong,
.support-card h3{
  letter-spacing:-.03em;
}

/* casting graphic smaller */
.casting-scene{
  background:linear-gradient(180deg,#ffffff 0%, #f7faf1 100%);
}
.casting-scene img{
  width:min(54%, 360px) !important;
  aspect-ratio:auto;
  object-fit:contain;
  margin:24px auto 6px;
  border-radius:22px;
  box-shadow:0 18px 28px rgba(25,31,38,.08);
}
.casting-scene figcaption{
  text-align:center;
}

/* support cards prettier */
.support-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.support-card{
  padding:30px;
  gap:16px;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbf4 100%);
  border:1px solid #dde7ce;
}
.support-card .sub{
  width:max-content;
}
.support-card-icon{
  margin-bottom:4px;
}
.support-meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  padding:9px 12px;
  border-radius:999px;
  background:#f3f8e8;
  border:1px solid #dbe8be;
  color:#55615c;
  font-size:14px;
  font-weight:700;
}
.support-card ul{
  display:grid;
  gap:8px;
  padding-left:1.15rem;
}
.support-card .ideal{
  margin-top:auto;
}
.support-card.premium{
  background:linear-gradient(145deg,#313c4e 0%,#435267 100%);
  box-shadow:0 24px 60px rgba(25,31,38,.18);
}
.support-card.premium .support-meta{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.16);
  color:#fff;
}
.support-card.premium p,
.support-card.premium li{
  color:rgba(242,245,238,.88);
}

/* footer white with icon strip */
.footer-premium{
  padding:30px 32px;
  background:linear-gradient(180deg,#ffffff 0%, #fbfcf8 100%) !important;
  border:1px solid #dfe6d2 !important;
  box-shadow:0 20px 50px rgba(25,31,38,.08) !important;
}
.footer-kicker{
  color:#7b8b56 !important;
}
.footer-brand-copy h3{
  color:var(--hi-dark) !important;
}
.footer-brand-copy p{
  color:#66717c !important;
}
.footer-solution-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}
.footer-solution-item{
  display:grid;
  justify-items:center;
  gap:10px;
  padding:16px 12px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%, #f7faf1 100%);
  border:1px solid #e2e8d8;
}
.footer-solution-item span{
  text-align:center;
  color:var(--hi-dark);
  font-size:13px;
  font-weight:700;
  line-height:1.25;
}
.footer-bottom{
  padding-top:24px !important;
  margin-top:24px !important;
  border-top:1px solid #edf2e7 !important;
}
.contact-pill{
  background:#fff !important;
  border:1px solid #dfe6d3 !important;
  color:#3f4a56 !important;
  box-shadow:0 12px 24px rgba(25,31,38,.05);
}
.contact-pill:hover{
  background:#f9fbf6 !important;
}
.contact-pill svg{
  stroke:#8fb52a !important;
}
.footer-address{
  color:#73808c !important;
}

/* IP over Coax interactive pulsing graphic */
.coax-card{
  grid-template-columns:minmax(0,1fr) 340px;
}
.coax-visual{
  min-height:300px;
  border-radius:34px;
  background:linear-gradient(145deg,#2f3a4d 0%,#3f4d63 100%) !important;
  box-shadow:0 24px 54px rgba(25,31,38,.18);
}
.coax-line{
  position:absolute;
  inset:26px auto 26px 34px;
  gap:26px;
  align-content:space-between;
  justify-items:start;
  z-index:2;
}
.coax-line span{
  font-size:1.02rem;
  color:#fff;
  letter-spacing:.12em;
}
.coax-line i{
  width:3px;
  height:54px;
  border-radius:999px;
  background:linear-gradient(180deg,#c9e66b 0%, rgba(201,230,107,.55) 100%);
  box-shadow:0 0 0 0 rgba(201,230,107,.45);
  animation:coaxBarPulse 2.2s ease-in-out infinite;
}
.coax-line i:nth-of-type(2){animation-delay:.8s}
.signal-rings{
  position:absolute;
  right:26px;
  top:58px;
  bottom:40px;
  display:grid;
  align-content:space-between;
  justify-items:end;
  z-index:2;
}
.signal-rings b{
  border:2px solid rgba(171,208,55,.55) !important;
  background:radial-gradient(circle, rgba(171,208,55,.12), transparent 72%);
  box-shadow:0 0 0 0 rgba(171,208,55,.18);
  animation:coaxRingPulse 2.8s ease-in-out infinite;
}
.signal-rings b:nth-child(1){width:94px;height:94px}
.signal-rings b:nth-child(2){width:66px;height:66px;animation-delay:.35s}
.signal-rings b:nth-child(3){width:40px;height:40px;animation-delay:.7s}
@keyframes coaxRingPulse{
  0%{transform:scale(.96); box-shadow:0 0 0 0 rgba(171,208,55,.18)}
  50%{transform:scale(1.05); box-shadow:0 0 0 14px rgba(171,208,55,0)}
  100%{transform:scale(.96); box-shadow:0 0 0 0 rgba(171,208,55,0)}
}
@keyframes coaxBarPulse{
  0%,100%{opacity:.82; box-shadow:0 0 0 0 rgba(201,230,107,.36)}
  50%{opacity:1; box-shadow:0 0 0 10px rgba(201,230,107,0)}
}
.coax-visual:hover .signal-rings b,
.coax-visual:hover .coax-line i{
  animation-duration:1.6s;
}

/* footer / card responsiveness */
@media (max-width:1180px){
  .footer-solution-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:820px){
  .support-grid{grid-template-columns:1fr}
  .coax-card{grid-template-columns:1fr}
  .footer-solution-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coax-visual{min-height:260px}
  .casting-scene img{width:min(72%, 320px) !important}
}
@media (max-width:560px){
  .footer-solution-strip{grid-template-columns:1fr}
  .contact-pill{justify-content:flex-start}
}


/* sender logo marquee */
.logo-marquee-section{
  padding-top:18px;
}
.logo-marquee-shell{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  padding:18px 0;
  background:linear-gradient(180deg,#ffffff 0%, #f7faf1 100%);
  border:1px solid #e1e8d6;
  box-shadow:0 16px 36px rgba(25,31,38,.06);
}
.logo-marquee-shell::before,
.logo-marquee-shell::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:120px;
  z-index:2;
  pointer-events:none;
}
.logo-marquee-shell::before{
  left:0;
  background:linear-gradient(90deg,#f7faf1 0%, rgba(247,250,241,0) 100%);
}
.logo-marquee-shell::after{
  right:0;
  background:linear-gradient(270deg,#f7faf1 0%, rgba(247,250,241,0) 100%);
}
.logo-marquee{
  overflow:hidden;
}
.logo-marquee-track{
  display:flex;
  align-items:center;
  gap:14px;
  width:max-content;
  will-change:transform;
  animation:marqueeRight 34s linear infinite;
}
.logo-marquee:hover .logo-marquee-track{
  animation-play-state:paused;
}
.logo-pill{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:132px;
  height:74px;
  padding:14px 20px;
  border-radius:22px;
  background:#fff;
  border:1px solid #e3e8da;
  box-shadow:0 10px 22px rgba(25,31,38,.05);
}
.logo-pill img{
  max-width:100px;
  max-height:38px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:saturate(1.02);
}
@keyframes marqueeRight{
  from{transform:translateX(calc(-50% - 7px));}
  to{transform:translateX(0);}
}
@media (prefers-reduced-motion: reduce){
  .logo-marquee-track{animation:none}
}
@media (max-width:820px){
  .logo-pill{min-width:112px;height:64px;padding:12px 16px}
  .logo-pill img{max-width:84px;max-height:32px}
  .logo-marquee-shell::before,.logo-marquee-shell::after{width:56px}
}


/* --- v6 icon system refresh: use the soft Hotelinnovativ line icons across the whole page --- */
.icon,
.footer-icon,
.support-card-icon{
  width:74px !important;
  height:74px !important;
  border-radius:22px !important;
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(180deg,#f9fbf5 0%, #eef5df 100%) !important;
  border:1px solid #d9e4bd !important;
  box-shadow:0 12px 26px rgba(25,31,38,.06), inset 0 1px 0 rgba(255,255,255,.94) !important;
  position:relative;
  overflow:hidden;
}
.icon::before,
.icon::after,
.footer-icon::before,
.footer-icon::after,
.support-card-icon::before,
.support-card-icon::after{
  display:none !important;
  content:none !important;
}
.icon svg,
.footer-icon svg,
.support-card-icon svg{
  width:31px !important;
  height:31px !important;
  stroke:#a5c238 !important;
  fill:none !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.feature .icon,
.solution-card .icon,
.support-card .icon,
.footer-solution-item .footer-icon{
  margin-bottom:14px !important;
}
.feature-grid .feature,
.casting-stack .solution-card,
.support-card{
  gap:16px !important;
}
.feature h4,
.solution-card strong,
.support-card h3,
.footer-solution-item span{
  letter-spacing:-0.02em;
}
.footer-solution-item{
  background:linear-gradient(180deg,#ffffff 0%, #f7faf1 100%) !important;
  border:1px solid #e1e7d6 !important;
  box-shadow:0 12px 26px rgba(25,31,38,.05) !important;
}
.contact-pill svg{
  stroke:#9fbb33 !important;
}
@media (max-width:560px){
  .icon,.footer-icon,.support-card-icon{width:66px !important;height:66px !important;border-radius:20px !important;}
  .icon svg,.footer-icon svg,.support-card-icon svg{width:28px !important;height:28px !important;}
}


/* --- v7 slimmer duplicate logo marquees --- */
.logo-marquee-section-compact{
  padding:22px 0 !important;
}
.logo-marquee-section-compact .wrap{
  max-width:1320px;
}
.logo-marquee-section-compact .logo-marquee-shell{
  padding:8px 0;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8faf4 100%);
}
.logo-marquee-section-compact .logo-pill{
  min-width:100px;
  height:48px;
  padding:8px 14px;
  border-radius:15px;
}
.logo-marquee-section-compact .logo-pill img{
  max-width:76px;
  max-height:24px;
}
.logo-marquee-section-compact .logo-marquee-track{
  gap:10px;
  animation-duration:62s;
}
.logo-marquee-secondary{
  padding-top:10px !important;
  padding-bottom:24px !important;
}
@media (max-width:820px){
  .logo-marquee-section-compact{padding:16px 0 !important}
  .logo-marquee-section-compact .logo-pill{min-width:88px;height:44px;padding:7px 11px}
  .logo-marquee-section-compact .logo-pill img{max-width:68px;max-height:22px}
  .logo-marquee-section-compact .logo-marquee-track{animation-duration:68s}
}


/* Updated embedded IP over Coax graphic */
.coax-visual{padding:14px;background:linear-gradient(145deg,#2f3a4d 0%,#44536a 100%) !important;display:flex;align-items:center;justify-content:center}
.coax-diagram{display:block;width:100%;max-width:100%;height:auto;border-radius:22px;box-shadow:0 18px 36px rgba(11,17,27,.22);transition:transform .35s ease, filter .35s ease}
.coax-visual:hover .coax-diagram{transform:translateY(-3px) scale(1.01);filter:brightness(1.03)}
@media (max-width:820px){.coax-diagram{border-radius:18px}}


/* Hero portfolio redesign: TV mockup */
.portfolio-top{align-items:center;margin-bottom:18px}
.portfolio-title{margin:10px 0 0;font-size:clamp(1.55rem,1.2rem + 1vw,2rem);line-height:1.08}
.tv-portfolio{position:relative;padding:4px 16px 0;display:flex;flex-direction:column;align-items:center}
.tv-frame{width:100%;position:relative;padding:14px;border-radius:34px;background:linear-gradient(160deg,#111827 0%,#293548 54%,#364960 100%);box-shadow:0 25px 60px rgba(10,15,23,.34), inset 0 1px 0 rgba(255,255,255,.06)}
.tv-frame::before{content:"";position:absolute;inset:12px;border-radius:24px;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.tv-screen{position:relative;border-radius:24px;padding:20px 22px;background:radial-gradient(circle at 78% 18%,rgba(205,232,103,.18),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));min-height:260px;overflow:hidden}
.tv-screen::after{content:"";position:absolute;inset:-10% auto auto -8%;width:58%;height:140%;background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,0));transform:skewX(-18deg);pointer-events:none}
.tv-screen-head{position:relative;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;z-index:1;flex-wrap:wrap}
.tv-kicker{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:6px}
.tv-screen-head strong{font-size:1.5rem;line-height:1.08;color:#fff;display:block}
.tv-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 16px;background:rgba(255,255,255,.94);color:#172033;font-size:.9rem;font-weight:700;box-shadow:0 12px 24px rgba(0,0,0,.16)}
.tv-bars{position:relative;z-index:1;margin-top:28px;display:grid;gap:18px}
.tv-bar-row{display:grid;grid-template-columns:92px 1fr auto;gap:16px;align-items:center;color:#fff;font-size:1.35rem}
.tv-bar-row span:first-child{font-weight:500}
.tv-bar-row .meter{height:16px;background:rgba(255,255,255,.17);border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.12)}
.tv-bar-row .meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#c7eb54 0%,#abd037 100%);box-shadow:0 0 18px rgba(205,232,103,.42)}
.tv-bar-row strong{font-size:1.9rem;color:#fff;letter-spacing:-.02em}
.tv-screen-foot{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.screen-chip{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);backdrop-filter:blur(8px);border-radius:999px;padding:8px 12px;color:#fff;font-size:.82rem;font-weight:700}
.tv-stand-neck{width:96px;height:22px;margin-top:8px;border-radius:0 0 20px 20px;background:linear-gradient(180deg,#243247,#111827);box-shadow:0 10px 18px rgba(12,17,28,.25)}
.tv-stand-base{width:210px;height:18px;border-radius:999px;background:linear-gradient(180deg,#465971,#233142);box-shadow:0 16px 22px rgba(12,17,28,.24);margin-top:-2px}
@media (max-width: 900px){
  .tv-screen{min-height:auto;padding:18px}
  .tv-screen-head strong{font-size:1.2rem}
  .tv-pill{font-size:.78rem;padding:8px 12px}
  .tv-bar-row{grid-template-columns:74px 1fr auto;gap:10px;font-size:1rem}
  .tv-bar-row .meter{height:12px}
  .tv-bar-row strong{font-size:1.25rem}
  .tv-stand-neck{width:72px;height:18px}
  .tv-stand-base{width:170px;height:15px}
}
@media (max-width: 560px){
  .tv-screen-head{gap:10px}
  .tv-screen-head strong{font-size:1.05rem}
  .tv-kicker{font-size:.62rem}
  .tv-pill{font-size:.72rem;max-width:100%;padding:7px 10px}
  .tv-bar-row{grid-template-columns:58px 1fr auto;font-size:.92rem}
  .tv-bar-row strong{font-size:1.05rem}
  .tv-screen-foot{gap:8px;margin-top:20px}
  .screen-chip{font-size:.72rem;padding:6px 10px}
}
