/*
Theme Name: Radionetwork Clean
Theme URI: https://radionetwork.com.ua/
Author: Radionetwork
Description: Clean custom WordPress theme for Radionetwork. Palantir-style UI. CPT and ACF are managed by plugins.
Version: 1.3.0
Text Domain: radionetwork
*/

:root {
  --rn-blue: #377FBE;
  --rn-blue-2: #2E65AE;
  --rn-blue-dark: #102944;
  --rn-cyan: #7FD2FF;
  --rn-deep: #050B13;
  --rn-deep-2: #081421;
  --rn-panel: #0D1927;
  --rn-panel-2: #111F30;
  --rn-black: #1D1D1B;
  --rn-white: #FFFFFF;
  --rn-ink: #101923;
  --rn-text: #516070;
  --rn-muted: #8793A2;
  --rn-light: #F4F7FA;
  --rn-line: rgba(127, 210, 255, .18);
  --rn-line-strong: rgba(127, 210, 255, .34);
  --rn-soft-line: #DDE6EF;
  --rn-container: 1180px;
  --rn-cut: 22px;
  --rn-cut-sm: 14px;
  --rn-shadow: 0 28px 100px rgba(5, 11, 19, .28);
  --rn-glow: 0 0 52px rgba(55, 127, 190, .32);
  --rn-font-heading: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rn-font-body: "Golos Text", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--rn-deep); }
body {
  margin: 0;
  color: var(--rn-text);
  background:
    radial-gradient(circle at 70% 0%, rgba(55, 127, 190, .08), transparent 30%),
    linear-gradient(180deg, #F2F6FA 0%, #F8FAFC 45%, #EEF3F8 100%);
  font-family: var(--rn-font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.rn-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--rn-blue); }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.rn-container {
  width: min(calc(100% - 42px), var(--rn-container));
  margin-inline: auto;
}
.rn-site-main { min-height: 65vh; overflow: hidden; }

/* Shared technical primitives */
.rn-cut,
.rn-card,
.rn-footer-card,
.rn-filter-bar,
.rn-modal-dialog,
.rn-hero-stat {
  clip-path: polygon(0 0, calc(100% - var(--rn-cut)) 0, 100% var(--rn-cut), 100% 100%, var(--rn-cut) 100%, 0 calc(100% - var(--rn-cut)));
}

.rn-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--rn-blue);
  font-family: var(--rn-font-heading);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.rn-kicker::before {
  width: 20px;
  height: 1px;
  background: currentColor;
  box-shadow: 10px 0 0 rgba(55,127,190,.28);
  content: "";
}

/* Sections */
.rn-section { position: relative; padding: 104px 0; }
.rn-section::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(55,127,190,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(55,127,190,.045) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity: .58;
  mask-image: linear-gradient(180deg, transparent, #000 20%, #000 80%, transparent);
  content: "";
}
.rn-section > .rn-container { position: relative; z-index: 1; }
.rn-section-muted {
  color: rgba(255,255,255,.78);
  background:
    radial-gradient(circle at 78% 22%, rgba(55,127,190,.22), transparent 30%),
    linear-gradient(135deg, var(--rn-deep), var(--rn-panel) 60%, #07101D);
}
.rn-section-head { display: grid; gap: 15px; max-width: 760px; margin-bottom: 40px; }
.rn-section-title,
.rn-page-title,
.rn-hero-title {
  margin: 0;
  color: var(--rn-ink);
  font-family: var(--rn-font-heading);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.06em;
}
.rn-section-title { font-size: clamp(34px, 4.4vw, 62px); }
.rn-page-title { font-size: clamp(42px, 6vw, 76px); }
.rn-hero-title { color: #fff; font-size: clamp(48px, 7.4vw, 96px); max-width: 850px; }
.rn-section-text,
.rn-hero-text {
  margin: 0;
  max-width: 690px;
  color: rgba(255,255,255,.70);
  font-size: clamp(17px, 2vw, 21px);
}
.rn-section-head .rn-section-text { color: var(--rn-text); }
.rn-section-muted .rn-section-title { color: #fff; }
.rn-section-muted .rn-section-text { color: rgba(255,255,255,.70); }

/* Buttons */
.rn-btn,
.rn-btn-secondary,
.rn-btn-ghost {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 0;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
  font-family: var(--rn-font-heading);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}
.rn-btn::before,
.rn-btn-secondary::before,
.rn-btn-ghost::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,.28) 50%, transparent 100%);
  transform: translateX(-130%);
  transition: transform .55s ease;
  content: "";
}
.rn-btn:hover::before,
.rn-btn-secondary:hover::before,
.rn-btn-ghost:hover::before { transform: translateX(130%); }
.rn-btn {
  color: #fff;
  background: linear-gradient(135deg, var(--rn-blue), var(--rn-blue-2));
  box-shadow: 0 16px 42px rgba(55,127,190,.30), inset 0 1px 0 rgba(255,255,255,.20);
}
.rn-btn:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 22px 54px rgba(55,127,190,.42); }
.rn-btn-secondary {
  color: var(--rn-ink);
  background: #fff;
  border-color: rgba(55,127,190,.18);
}
.rn-btn-secondary:hover { color: var(--rn-blue); transform: translateY(-2px); box-shadow: var(--rn-shadow); }
.rn-btn-ghost {
  color: #fff;
  border-color: rgba(127,210,255,.26);
  background: rgba(127,210,255,.07);
}
.rn-btn-ghost:hover { color: #fff; border-color: rgba(127,210,255,.52); background: rgba(127,210,255,.12); transform: translateY(-2px); }

/* Header */
.rn-header {
  position: sticky;
  top: 0;
  z-index: 80;
  min-height: 82px;
  padding: 10px 0;
  background: rgba(8, 16, 26, .88);
  border-bottom: 1px solid rgba(127,210,255,.14);
  backdrop-filter: blur(18px);
  transition: box-shadow .22s ease, background .22s ease, border-color .22s ease;
}
.rn-header.is-scrolled {
  background: rgba(5,11,19,.90);
  border-color: rgba(127,210,255,.22);
  box-shadow: 0 18px 58px rgba(0,0,0,.24);
}
.rn-header-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 62px;
}
.rn-logo-wrap,
.rn-logo,
.rn-logo-wrap .custom-logo-link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  width: auto;
  max-width: 214px;
  min-width: 150px;
  height: 58px;
  line-height: 1;
  overflow: hidden;
  color: #fff;
}
.rn-logo-wrap .custom-logo-link { min-width: 0; }
.rn-logo-wrap img,
.rn-logo img,
.rn-logo-wrap .custom-logo,
.rn-logo-wrap .custom-logo-link img {
  display: block;
  width: auto !important;
  max-width: 190px !important;
  height: auto !important;
  max-height: 56px !important;
  object-fit: contain;
  filter: none;
}
.rn-logo-mark {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  color: #fff;
  background: linear-gradient(135deg, var(--rn-blue), var(--rn-blue-2));
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  font-family: var(--rn-font-heading);
  font-weight: 800;
  box-shadow: var(--rn-glow);
}
.rn-nav { display: flex; align-items: center; justify-content: center; flex: 1; min-width: 0; }
.rn-menu, .rn-menu ul { margin: 0; padding: 0; list-style: none; }
.rn-menu { display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; gap: 4px; }
.rn-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 9px 10px;
  color: rgba(255,255,255,.78);
  border: 1px solid transparent;
  font-family: var(--rn-font-heading);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .02em;
  white-space: nowrap;
}
.rn-menu a:hover { color: #fff; background: rgba(127,210,255,.08); border-color: rgba(127,210,255,.16); }
.rn-menu .menu-item-has-children { position: relative; }
.rn-menu .menu-item-has-children::after { position: absolute; inset: 100% 0 auto 0; height: 16px; content: ""; }
.rn-menu .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 246px;
  padding: 10px;
  background: rgba(8,20,33,.96);
  border: 1px solid rgba(127,210,255,.18);
  box-shadow: 0 22px 70px rgba(0,0,0,.34);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: .18s ease;
}
.rn-menu .menu-item-has-children:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.rn-menu .sub-menu a { width: 100%; justify-content: flex-start; }
.rn-header-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.rn-header-link,
.rn-header-cta { min-height: 40px; padding: 9px 13px; white-space: nowrap; }
.rn-header-link {
  display: inline-flex;
  align-items: center;
  color: rgba(255,255,255,.80);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(127,210,255,.16);
  font-family: var(--rn-font-heading);
  font-size: 12px;
  font-weight: 700;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}
.rn-header-link:hover { color: #fff; border-color: rgba(127,210,255,.34); }
.rn-menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(127,210,255,.20);
  background: rgba(255,255,255,.05);
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}
.rn-menu-toggle span { display: block; width: 18px; height: 2px; margin: 4px auto; background: #fff; }
.rn-mobile-panel { display: none; }

/* Hero base */
.rn-hero {
  position: relative;
  min-height: 820px;
  display: grid;
  align-items: center;
  color: #fff;
  background: linear-gradient(135deg, #03070D 0%, #071321 52%, #03070D 100%);
  overflow: hidden;
  isolation: isolate;
}
.rn-hero-inner {
  position: relative;
  z-index: 3;
  max-width: 850px;
  padding: 146px 0 120px;
  animation: rn-hero-enter .8s ease both;
}
.rn-hero .rn-kicker { color: var(--rn-cyan); }
.rn-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.rn-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
  max-width: 760px;
  margin-top: 48px;
}
.rn-hero-stat {
  --rn-cut: 18px;
  position: relative;
  padding: 18px;
  border: 1px solid rgba(127,210,255,.18);
  background: linear-gradient(135deg, rgba(127,210,255,.10), rgba(255,255,255,.035));
  backdrop-filter: blur(12px);
  overflow: hidden;
}
.rn-hero-stat::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(127,210,255,.16), transparent 70%);
  transform: translateX(-120%);
  animation: rn-card-sweep 6s ease-in-out infinite;
  content: "";
}
.rn-hero-stat strong {
  position: relative;
  z-index: 1;
  display: block;
  color: #fff;
  font-family: var(--rn-font-heading);
  font-size: 27px;
  line-height: 1;
}
.rn-hero-stat span {
  position: relative;
  z-index: 1;
  color: rgba(255,255,255,.68);
  font-size: 13px;
}

/* Cards */
.rn-grid { display: grid; gap: 18px; }
.rn-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.rn-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.rn-card {
  --rn-cut: 20px;
  position: relative;
  padding: 28px;
  border: 1px solid rgba(55,127,190,.18);
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(245,249,253,.88));
  box-shadow: 0 1px 0 rgba(255,255,255,.88) inset;
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease;
}
.rn-section-muted .rn-card { color: rgba(255,255,255,.78); background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035)); border-color: rgba(127,210,255,.18); }
.rn-card::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(127,210,255,.16), transparent 36%),
    linear-gradient(110deg, transparent 28%, rgba(255,255,255,.34), transparent 68%);
  opacity: 0;
  transform: translateX(-10%);
  transition: opacity .24s ease, transform .45s ease;
  content: "";
}
.rn-card:hover { transform: translateY(-6px); border-color: rgba(55,127,190,.36); box-shadow: 0 24px 70px rgba(16,41,68,.15); }
.rn-card:hover::before { opacity: 1; transform: translateX(0); }
.rn-card > * { position: relative; z-index: 1; }
.rn-card h3 { margin: 0 0 10px; color: var(--rn-ink); font-family: var(--rn-font-heading); font-size: 22px; line-height: 1.12; letter-spacing: -.035em; }
.rn-section-muted .rn-card h3 { color: #fff; }
.rn-card p { margin: 0; }
.rn-card-icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 20px;
  color: #fff;
  background: linear-gradient(135deg, var(--rn-blue), var(--rn-blue-2));
  clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 13px 100%, 0 calc(100% - 13px));
  font-family: var(--rn-font-heading);
  font-weight: 800;
  box-shadow: var(--rn-glow);
}

.rn-rate-card { display: grid; gap: 15px; }
.rn-rate-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.rn-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  color: var(--rn-blue-dark);
  background: rgba(55,127,190,.09);
  border: 1px solid rgba(55,127,190,.14);
  clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
  font-family: var(--rn-font-heading);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.rn-section-muted .rn-pill { color: var(--rn-cyan); background: rgba(127,210,255,.08); border-color: rgba(127,210,255,.18); }
.rn-rate-price { color: var(--rn-ink); font-family: var(--rn-font-heading); font-size: 38px; font-weight: 700; line-height: 1; letter-spacing: -.05em; }
.rn-section-muted .rn-rate-price { color: #fff; }
.rn-rate-price small { color: var(--rn-muted); font-size: 14px; font-weight: 600; letter-spacing: 0; }
.rn-rate-desc { color: var(--rn-text); }
.rn-section-muted .rn-rate-desc { color: rgba(255,255,255,.72); }

.rn-settlement-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.rn-settlement-card strong { display: block; color: var(--rn-ink); font-family: var(--rn-font-heading); font-size: 18px; letter-spacing: -.025em; }
.rn-settlement-card span { color: var(--rn-muted); font-size: 14px; }
.rn-arrow {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  color: #fff;
  background: var(--rn-blue);
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  flex: 0 0 auto;
  box-shadow: var(--rn-glow);
}

/* Page hero */
.rn-page-hero {
  position: relative;
  padding: 112px 0 84px;
  color: #fff;
  background:
    radial-gradient(circle at 74% 22%, rgba(55,127,190,.30), transparent 30%),
    linear-gradient(135deg, #050B13, #0B1928 60%, #050B13);
  overflow: hidden;
}
.rn-page-hero::before {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(127,210,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127,210,255,.045) 1px, transparent 1px);
  background-size: 72px 72px;
  animation: rn-grid-drift 30s linear infinite;
  content: "";
}
.rn-page-hero .rn-container { position: relative; z-index: 1; }
.rn-page-hero .rn-page-title { color: #fff; }
.rn-page-hero p { max-width: 720px; color: rgba(255,255,255,.72); font-size: 19px; }

.rn-filter-bar {
  --rn-cut: 18px;
  display: grid;
  grid-template-columns: 1.6fr .9fr auto;
  gap: 12px;
  padding: 16px;
  margin: -38px auto 38px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(55,127,190,.16);
  box-shadow: 0 18px 60px rgba(16,41,68,.13);
  position: relative;
  z-index: 3;
}
.rn-filter-bar input,
.rn-filter-bar select,
.rn-form input,
.rn-form textarea,
.rn-form select {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid var(--rn-soft-line);
  border-radius: 0;
  outline: none;
  background: #fff;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}
.rn-filter-bar input:focus,
.rn-filter-bar select:focus,
.rn-form input:focus,
.rn-form textarea:focus,
.rn-form select:focus { border-color: var(--rn-blue); box-shadow: 0 0 0 4px rgba(55,127,190,.10); }

/* Coverage map — current colored real SVG version */
.rn-coverage-map-section {
  position: relative;
  color: #fff;
  background:
    radial-gradient(circle at 82% 28%, rgba(55,127,190,.20), transparent 28%),
    linear-gradient(135deg, #03070D 0%, #071321 55%, #03070D 100%);
  overflow: hidden;
}
.rn-coverage-map-section::before {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(127,210,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127,210,255,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity: .65;
  content: "";
}
.rn-coverage-map-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 44px;
  align-items: center;
}
.rn-coverage-map-copy .rn-section-title { color: #fff; }
.rn-coverage-map-copy .rn-section-text { color: rgba(255,255,255,.72); margin-bottom: 28px; }
.rn-coverage-map {
  position: relative;
  min-height: 580px;
  border: 1px solid rgba(127,210,255,.16);
  background:
    radial-gradient(circle at 50% 50%, rgba(55,127,190,.18), transparent 44%),
    linear-gradient(135deg, rgba(7,19,33,.94), rgba(3,7,13,.96));
  clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 34px, 100% 100%, 34px 100%, 0 calc(100% - 34px));
  overflow: hidden;
  box-shadow: 0 32px 90px rgba(0,0,0,.28);
}
.rn-coverage-map-grid {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(rgba(127,210,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127,210,255,.045) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: .62;
  animation: rn-coverage-grid 24s linear infinite;
}
.rn-coverage-real-map-svg {
  position: absolute;
  inset: 6% 8%;
  z-index: 1;
  display: grid;
  place-items: center;
  pointer-events: none;
  opacity: .92;
  filter: drop-shadow(0 0 34px rgba(55,127,190,.22));
}
.rn-coverage-real-map-svg svg {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}
.rn-coverage-real-map-svg svg rect { fill: transparent !important; stroke: transparent !important; }
.rn-coverage-real-map-svg svg path,
.rn-coverage-real-map-svg svg polygon {
  fill: rgba(55,127,190,.16) !important;
  stroke: rgba(127,210,255,.44) !important;
  stroke-width: 1.25 !important;
  vector-effect: non-scaling-stroke;
}
.rn-coverage-real-map-svg svg line,
.rn-coverage-real-map-svg svg polyline {
  fill: none !important;
  stroke: rgba(127,210,255,.24) !important;
  stroke-width: .85 !important;
  vector-effect: non-scaling-stroke;
}
.rn-coverage-real-map-svg svg text { fill: rgba(255,255,255,.44) !important; font-family: var(--rn-font-heading) !important; }
.rn-coverage-map::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 48% 44%, rgba(127,210,255,.16), transparent 24%),
    linear-gradient(90deg, rgba(3,7,13,.16), transparent 28%, transparent 72%, rgba(3,7,13,.28));
  mix-blend-mode: screen;
  content: "";
}
.rn-coverage-map::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3,7,13,.28), transparent 32%, transparent 70%, rgba(3,7,13,.32)),
    linear-gradient(180deg, rgba(3,7,13,.20), transparent 26%, transparent 72%, rgba(3,7,13,.30));
  content: "";
}
.rn-coverage-map-core {
  position: absolute;
  left: 53%;
  top: 51%;
  z-index: 5;
  width: 16px;
  height: 16px;
  transform: translate(-50%, -50%);
  background: #7FD2FF;
  box-shadow:
    0 0 0 10px rgba(127,210,255,.10),
    0 0 36px rgba(127,210,255,.74);
  clip-path: polygon(0 0, calc(100% - 5px) 0, 100% 5px, 100% 100%, 5px 100%, 0 calc(100% - 5px));
}
.rn-coverage-point {
  position: absolute;
  left: var(--x);
  top: var(--y);
  z-index: 7;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  transform: translate(-50%, -50%);
  color: #fff;
}
.rn-coverage-dot {
  width: 9px;
  height: 9px;
  background: #7FD2FF;
  border: 1px solid rgba(255,255,255,.88);
  box-shadow:
    0 0 0 8px rgba(127,210,255,.12),
    0 0 26px rgba(127,210,255,.78);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.rn-coverage-point::before {
  position: absolute;
  inset: -11px;
  border: 1px solid rgba(127,210,255,.14);
  opacity: 0;
  transform: scale(.72);
  transition: opacity .22s ease, transform .22s ease;
  content: "";
}
.rn-coverage-point.is-core .rn-coverage-dot {
  width: 12px;
  height: 12px;
  background: #fff;
  animation: rn-coverage-pulse 2.8s ease-in-out infinite;
}
.rn-coverage-label {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 13px);
  min-width: max-content;
  max-width: 180px;
  padding: 7px 9px;
  color: rgba(255,255,255,.88);
  background: rgba(5,12,22,.72);
  border: 1px solid rgba(127,210,255,.16);
  font-family: var(--rn-font-heading);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 6px);
  transition: opacity .18s ease, transform .18s ease;
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.rn-coverage-point:hover,
.rn-coverage-point:focus-visible { z-index: 8; }
.rn-coverage-point:hover .rn-coverage-dot,
.rn-coverage-point:focus-visible .rn-coverage-dot {
  transform: scale(1.45);
  background: #fff;
  box-shadow:
    0 0 0 10px rgba(127,210,255,.14),
    0 0 34px rgba(127,210,255,.78);
}
.rn-coverage-point:hover::before,
.rn-coverage-point:focus-visible::before { opacity: 1; transform: scale(1); }
.rn-coverage-point:hover .rn-coverage-label,
.rn-coverage-point:focus-visible .rn-coverage-label { opacity: 1; transform: translate(-50%, 0); }
.rn-coverage-empty {
  position: absolute;
  inset: auto 24px 24px;
  z-index: 8;
  margin: 0;
  color: rgba(255,255,255,.66);
}
.rn-map-attribution {
  position: absolute;
  right: 18px;
  bottom: 12px;
  z-index: 9;
  margin: 0;
  color: rgba(255,255,255,.34);
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: .02em;
}
.rn-map-attribution a { color: rgba(255,255,255,.44); text-decoration: none; }
.rn-map-attribution a:hover { color: rgba(255,255,255,.72); }

/* Modal */
.rn-modal { position: fixed; inset: 0; z-index: 120; display: none; align-items: center; justify-content: center; padding: 24px; }
.rn-modal.is-open { display: flex; }
.rn-modal-backdrop { position: absolute; inset: 0; background: rgba(5,11,19,.74); backdrop-filter: blur(10px); }
.rn-modal-dialog {
  --rn-cut: 24px;
  position: relative;
  width: min(100%, 560px);
  padding: 30px;
  background: #fff;
  border: 1px solid rgba(55,127,190,.18);
  box-shadow: 0 40px 130px rgba(0,0,0,.38);
}
.rn-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border: 0;
  color: #fff;
  background: var(--rn-blue);
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
.rn-form { display: grid; gap: 12px; margin-top: 18px; }
.rn-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rn-form textarea { min-height: 100px; resize: vertical; }
.rn-form-message { margin: 0; font-size: 14px; }

/* Footer */
.rn-footer {
  position: relative;
  padding: 86px 0 28px;
  color: rgba(255,255,255,.72);
  background:
    radial-gradient(circle at 78% 8%, rgba(55,127,190,.30), transparent 28%),
    linear-gradient(135deg, #050B13, #0B1724 60%, #050B13);
  overflow: hidden;
}
.rn-footer::before {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(127,210,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127,210,255,.04) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity: .85;
  animation: rn-grid-drift 34s linear infinite;
  content: "";
}
.rn-footer-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr 1.45fr; gap: 58px; }
.rn-footer h2, .rn-footer h3 { margin: 0 0 16px; color: #fff; font-family: var(--rn-font-heading); letter-spacing: -.04em; }
.rn-footer-title { font-size: clamp(32px, 4vw, 48px); line-height: 1; }
.rn-footer-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.rn-footer-card {
  --rn-cut: 18px;
  padding: 18px;
  border: 1px solid rgba(127,210,255,.15);
  background: rgba(255,255,255,.055);
}
.rn-footer-card a { color: #fff; }
.rn-footer-bottom { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 20px; margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(127,210,255,.14); font-size: 14px; }
.rn-scroll-top {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 70;
  display: none;
  width: 48px;
  height: 48px;
  border: 0;
  color: #fff;
  background: var(--rn-blue);
  clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 13px 100%, 0 calc(100% - 13px));
  box-shadow: var(--rn-glow);
}
.rn-scroll-top.is-visible { display: grid; place-items: center; }

/* WordPress */
.alignwide, .alignfull { max-width: none; }
.rn-content { padding: 78px 0; }
.rn-content-body { max-width: 820px; }
.rn-content-body h1, .rn-content-body h2, .rn-content-body h3 { color: var(--rn-ink); font-family: var(--rn-font-heading); letter-spacing: -.04em; }
.rn-content-body a { color: var(--rn-blue); }
.rn-pagination { display: flex; gap: 8px; margin-top: 34px; }
.rn-pagination .page-numbers { display: grid; place-items: center; min-width: 40px; height: 40px; background: #fff; border: 1px solid var(--rn-soft-line); clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px)); }
.rn-pagination .current { color: #fff; background: var(--rn-blue); border-color: var(--rn-blue); }

/* Keyframes */
@keyframes rn-grid-drift { from { background-position: 0 0, 0 0; } to { background-position: 72px 72px, 72px 72px; } }
@keyframes rn-coverage-grid { from { background-position: 0 0, 0 0; } to { background-position: 48px 48px, 48px 48px; } }
@keyframes rn-card-sweep { 0%, 48% { transform: translateX(-130%); opacity: 0; } 60% { opacity: 1; } 100% { transform: translateX(130%); opacity: 0; } }
@keyframes rn-hero-enter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes rn-coverage-pulse {
  0%, 100% { box-shadow: 0 0 0 8px rgba(127,210,255,.12), 0 0 26px rgba(127,210,255,.78); }
  50% { box-shadow: 0 0 0 14px rgba(127,210,255,.04), 0 0 38px rgba(127,210,255,.90); }
}

/* Responsive */
@media (max-width: 1180px) {
  .rn-nav, .rn-header-actions { display: none; }
  .rn-menu-toggle { display: inline-block; }
  .rn-header { min-height: 74px; }
  .rn-header-shell { min-height: 54px; }
  .rn-logo-wrap,
  .rn-logo,
  .rn-logo-wrap .custom-logo-link { height: 52px; max-width: 178px; min-width: 124px; }
  .rn-logo-wrap img,
  .rn-logo img,
  .rn-logo-wrap .custom-logo,
  .rn-logo-wrap .custom-logo-link img { max-width: 158px !important; max-height: 50px !important; }
  .rn-mobile-panel {
    position: fixed;
    inset: 76px 16px auto 16px;
    z-index: 90;
    display: none;
    padding: 18px;
    background: rgba(8,20,33,.98);
    border: 1px solid rgba(127,210,255,.18);
    box-shadow: 0 24px 80px rgba(0,0,0,.32);
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
  }
  .rn-mobile-panel.is-open { display: block; }
  .rn-mobile-menu, .rn-mobile-menu ul { margin: 0; padding: 0; list-style: none; }
  .rn-mobile-menu a { display: flex; padding: 12px 10px; color: rgba(255,255,255,.82); font-family: var(--rn-font-heading); font-weight: 700; }
  .rn-mobile-menu a:hover { background: rgba(127,210,255,.08); color: #fff; }
  .rn-mobile-actions { display: grid; gap: 10px; margin-top: 16px; }
  .rn-coverage-map-layout { grid-template-columns: 1fr; }
  .rn-coverage-map { min-height: 470px; }
}

@media (max-width: 860px) {
  .rn-container { width: min(calc(100% - 28px), var(--rn-container)); }
  .rn-section { padding: 72px 0; }
  .rn-hero { min-height: auto; }
  .rn-hero-inner { padding: 104px 0 78px; }
  .rn-hero-stats, .rn-grid-3, .rn-grid-4, .rn-footer-inner, .rn-footer-grid, .rn-filter-bar { grid-template-columns: 1fr; }
  .rn-form-row { grid-template-columns: 1fr; }
  .rn-footer-bottom { flex-direction: column; }
  .rn-logo img { width: 140px; }
}

@media (max-width: 640px) {
  .rn-coverage-map { min-height: 380px; }
  .rn-coverage-label { display: none; }
  .rn-map-attribution {
    right: 14px;
    bottom: 10px;
    max-width: 210px;
    text-align: right;
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   Coverage map inline targeted SVG styling
   Uses actual ids from Lviv_Oblast_location_map.svg.
   ========================================================================== */
.rn-coverage-inline-map {
  min-height: 580px;
  background:
    radial-gradient(circle at 50% 50%, rgba(55,127,190,.20), transparent 43%),
    linear-gradient(135deg, rgba(5,13,23,.98), rgba(2,7,13,.99));
}
.rn-coverage-inline-wrap {
  position: absolute;
  inset: 6% 8%;
  z-index: 4;
  display: grid;
  place-items: center;
  pointer-events: auto;
  filter: drop-shadow(0 0 34px rgba(55,127,190,.22));
}
.rn-lviv-inline-svg {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  display: block;
  overflow: visible;
}

/* Everything around Lviv Oblast — muted */
.rn-lviv-inline-svg #Poland_border,
.rn-lviv-inline-svg #Zakarpatkaya_oblast_border {
  fill: rgba(12, 27, 42, .66) !important;
  stroke: rgba(127, 210, 255, .12) !important;
  stroke-width: 1.1 !important;
  opacity: .75 !important;
}

/* Actual Lviv Oblast district polygons */
.rn-lviv-inline-svg #path4729,
.rn-lviv-inline-svg #path4731,
.rn-lviv-inline-svg #path4733,
.rn-lviv-inline-svg #path4735,
.rn-lviv-inline-svg #path4739,
.rn-lviv-inline-svg #path4741,
.rn-lviv-inline-svg #path4743 {
  fill: rgba(55, 127, 190, .22) !important;
  stroke: rgba(127, 210, 255, .34) !important;
  stroke-width: .9 !important;
  opacity: .96 !important;
  vector-effect: non-scaling-stroke;
}

/* Border / district lines from the source SVG */
.rn-lviv-inline-svg #path4510,
.rn-lviv-inline-svg #path4514,
.rn-lviv-inline-svg #path4518,
.rn-lviv-inline-svg #path4522,
.rn-lviv-inline-svg #path4526,
.rn-lviv-inline-svg #path4530 {
  fill: none !important;
  stroke: rgba(127, 210, 255, .82) !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: .96 !important;
  filter: drop-shadow(0 0 10px rgba(127,210,255,.35));
  vector-effect: non-scaling-stroke;
}

/* Remove irrelevant SVG background rectangles if present */
.rn-lviv-inline-svg rect {
  fill: transparent !important;
  stroke: transparent !important;
}

.rn-coverage-inline-map::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(127,210,255,.14), transparent 27%),
    linear-gradient(90deg, rgba(3,7,13,.18), transparent 30%, transparent 70%, rgba(3,7,13,.30));
  mix-blend-mode: screen;
  content: "";
}
.rn-coverage-inline-map::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3,7,13,.36), transparent 28%, transparent 70%, rgba(3,7,13,.42)),
    linear-gradient(180deg, rgba(3,7,13,.26), transparent 26%, transparent 72%, rgba(3,7,13,.44));
  content: "";
}
.rn-coverage-inline-map .rn-coverage-point {
  position: absolute;
  left: var(--x);
  top: var(--y);
  z-index: 8;
  pointer-events: auto;
}
.rn-coverage-inline-map .rn-map-attribution {
  z-index: 9;
}
@media (max-width: 980px) {
  .rn-coverage-inline-wrap {
    inset: 7% 4%;
  }
}


/* ==========================================================================
   Inline SVG map size fix
   Keeps the uploaded Lviv SVG in its original 1227×1272 proportions.
   ========================================================================== */
.rn-coverage-inline-wrap {
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  width: auto !important;
  height: 88% !important;
  aspect-ratio: 1227 / 1272;
  transform: translate(-50%, -50%);
}

.rn-lviv-inline-svg {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible;
}

@media (max-width: 980px) {
  .rn-coverage-inline-wrap {
    height: 86% !important;
  }
}

@media (max-width: 640px) {
  .rn-coverage-inline-wrap {
    height: 82% !important;
  }
}

/* ========================================================================== 
   Global hero network — fullscreen 2.5D holographic background
   ========================================================================== */
.rn-hero-global {
  --rn-global-tilt-x: 0deg;
  --rn-global-tilt-y: 0deg;
  --rn-global-shift-x: 0px;
  --rn-global-shift-y: 0px;
  position: relative;
  min-height: 880px;
  display: grid;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 50% 48%, rgba(55,127,190,.16), transparent 36%),
    radial-gradient(circle at 16% 82%, rgba(127,210,255,.07), transparent 28%),
    linear-gradient(135deg, #03070D 0%, #071321 52%, #03070D 100%);
}

.rn-global-bg,
.rn-global-grid,
.rn-global-scan,
.rn-global-stage,
.rn-global-aurora {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.rn-global-bg {
  z-index: 1;
  overflow: hidden;
}

.rn-global-grid {
  z-index: 1;
  background-image:
    linear-gradient(rgba(127,210,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127,210,255,.035) 1px, transparent 1px);
  background-size: 82px 82px;
  opacity: .64;
  animation: rn-global-grid-drift 32s linear infinite;
}

.rn-global-grid::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3,7,13,.70), rgba(3,7,13,.18) 42%, rgba(3,7,13,.22) 68%, rgba(3,7,13,.78)),
    linear-gradient(180deg, rgba(3,7,13,.92), transparent 30%, transparent 70%, rgba(3,7,13,.92));
  content: "";
}

.rn-global-aurora {
  z-index: 0;
  opacity: .62;
  filter: blur(22px);
}

.rn-global-aurora-a {
  background: radial-gradient(circle at 48% 48%, rgba(55,127,190,.30), transparent 34%);
  transform: translate3d(var(--rn-global-shift-x), var(--rn-global-shift-y), 0);
}

.rn-global-aurora-b {
  background: radial-gradient(circle at 78% 34%, rgba(127,210,255,.10), transparent 30%);
  transform: translate3d(calc(var(--rn-global-shift-x) * -.6), calc(var(--rn-global-shift-y) * -.5), 0);
}

.rn-global-scan {
  z-index: 5;
  opacity: .26;
  background: linear-gradient(90deg, transparent 0%, rgba(127,210,255,.12) 48%, transparent 100%);
  transform: translateX(-130%);
  animation: rn-global-scan 8.5s ease-in-out infinite;
}

.rn-global-stage {
  z-index: 2;
  perspective: 1400px;
  transform-style: preserve-3d;
}

.rn-global-stage::before,
.rn-global-stage::after {
  position: absolute;
  inset: 7% 9%;
  border: 1px solid rgba(127,210,255,.10);
  background:
    linear-gradient(45deg, transparent 0 48%, rgba(127,210,255,.12) 48.1% 48.35%, transparent 48.6%),
    linear-gradient(135deg, transparent 0 54%, rgba(55,127,190,.10) 54.1% 54.35%, transparent 54.6%);
  clip-path: polygon(0 0, calc(100% - 46px) 0, 100% 46px, 100% 100%, 46px 100%, 0 calc(100% - 46px));
  transform:
    perspective(1400px)
    rotateX(calc(var(--rn-global-tilt-x) * .42))
    rotateY(calc(var(--rn-global-tilt-y) * .42))
    translate3d(calc(var(--rn-global-shift-x) * .26), calc(var(--rn-global-shift-y) * .26), -120px);
  opacity: .42;
  content: "";
}

.rn-global-stage::after {
  inset: 15% 17%;
  opacity: .26;
  transform:
    perspective(1400px)
    rotateX(calc(var(--rn-global-tilt-x) * -.3))
    rotateY(calc(var(--rn-global-tilt-y) * -.3))
    translate3d(calc(var(--rn-global-shift-x) * -.2), calc(var(--rn-global-shift-y) * -.2), -210px);
}

.rn-global-svg {
  position: absolute;
  inset: -4% -3%;
  z-index: 2;
  width: 106%;
  height: 108%;
  overflow: visible;
  transform:
    perspective(1400px)
    rotateX(var(--rn-global-tilt-x))
    rotateY(var(--rn-global-tilt-y))
    translate3d(var(--rn-global-shift-x), var(--rn-global-shift-y), 0);
  transform-origin: center;
  transition: transform .16s linear;
}

.rn-global-orbit {
  fill: none;
  stroke: rgba(127,210,255,.075);
  stroke-width: .9;
  stroke-dasharray: 2 18;
  vector-effect: non-scaling-stroke;
  animation: rn-global-orbit 42s linear infinite;
}

.rn-global-orbit:nth-child(2n) {
  animation-direction: reverse;
  animation-duration: 54s;
}

.rn-global-link,
.rn-global-link-back {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.rn-global-link-back {
  stroke: rgba(127,210,255,.10);
  stroke-width: .75;
  stroke-dasharray: 1 18;
  animation: rn-global-line-flow 18s linear infinite;
}

.rn-global-link {
  stroke: url(#rnGlobalLine);
  stroke-width: 1.25;
  stroke-dasharray: 1 12;
  stroke-dashoffset: 140;
  opacity: .52;
  filter: drop-shadow(0 0 7px rgba(127,210,255,.22));
  animation: rn-global-line-flow 12s linear infinite;
}

.rn-global-link.is-main {
  stroke-width: 1.75;
  opacity: .78;
  filter: drop-shadow(0 0 12px rgba(127,210,255,.34));
}

.rn-global-pulse {
  fill: #fff;
  opacity: 0;
  filter: drop-shadow(0 0 10px rgba(255,255,255,.76));
  animation: rn-global-pulse-travel 7.5s ease-in-out infinite;
}

.rn-global-node {
  fill: url(#rnGlobalNode);
  opacity: .74;
  transform-box: fill-box;
  transform-origin: center;
  animation: rn-global-node-breathe 4.8s ease-in-out infinite;
}

.rn-global-node.is-hub {
  opacity: .98;
}

.rn-global-labels {
  position: absolute;
  inset: 0;
  z-index: 3;
  transform:
    perspective(1400px)
    rotateX(var(--rn-global-tilt-x))
    rotateY(var(--rn-global-tilt-y))
    translate3d(var(--rn-global-shift-x), var(--rn-global-shift-y), 60px);
  transform-origin: center;
  transition: transform .16s linear;
}

.rn-global-label {
  position: absolute;
  left: var(--x);
  top: var(--y);
  min-width: max-content;
  max-width: 180px;
  padding: 5px 8px;
  color: rgba(255,255,255,.72);
  background: rgba(4,11,20,.56);
  border: 1px solid rgba(127,210,255,.13);
  backdrop-filter: blur(8px);
  clip-path: polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 7px 100%, 0 calc(100% - 7px));
  font-family: var(--rn-font-heading);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: .01em;
  opacity: .42;
  transform: translate(-50%, -50%) translate3d(0, 0, var(--z));
  transition: opacity .2s ease, color .2s ease, border-color .2s ease, background .2s ease;
}

.rn-global-label.is-primary,
.rn-global-label:hover {
  color: rgba(255,255,255,.92);
  border-color: rgba(127,210,255,.32);
  background: rgba(4,14,26,.72);
  opacity: .90;
}

.rn-global-content {
  position: relative;
  z-index: 8;
  display: grid;
  justify-items: center;
  max-width: 980px;
  padding: 164px 0 124px;
  text-align: center;
}

.rn-global-title {
  max-width: 940px;
  text-wrap: balance;
  text-shadow: 0 22px 80px rgba(0,0,0,.42);
}

.rn-global-text {
  max-width: 760px;
  margin-top: 20px;
  color: rgba(255,255,255,.72);
}

.rn-global-actions {
  justify-content: center;
  margin-top: 36px;
}

.rn-global-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: min(100%, 760px);
  margin-top: 56px;
}

.rn-global-metrics div {
  padding: 18px 20px;
  border: 1px solid rgba(127,210,255,.16);
  background: rgba(255,255,255,.045);
  backdrop-filter: blur(12px);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  text-align: left;
}

.rn-global-metrics strong {
  display: block;
  color: #fff;
  font-family: var(--rn-font-heading);
  font-size: 28px;
  line-height: 1;
}

.rn-global-metrics span {
  display: block;
  margin-top: 6px;
  color: rgba(255,255,255,.58);
  font-size: 13px;
}

@keyframes rn-global-grid-drift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 82px 82px, 82px 82px; }
}

@keyframes rn-global-scan {
  0%, 58% { opacity: 0; transform: translateX(-130%); }
  66% { opacity: .26; }
  100% { opacity: 0; transform: translateX(130%); }
}

@keyframes rn-global-orbit {
  from { stroke-dashoffset: 0; transform: rotate(0deg); transform-origin: center; }
  to { stroke-dashoffset: 120; transform: rotate(360deg); transform-origin: center; }
}

@keyframes rn-global-line-flow {
  from { stroke-dashoffset: 160; }
  to { stroke-dashoffset: 0; }
}

@keyframes rn-global-node-breathe {
  0%, 100% { opacity: .54; }
  50% { opacity: .96; }
}

@keyframes rn-global-pulse-travel {
  0%, 18% { opacity: 0; }
  28% { opacity: .9; }
  64% { opacity: .78; }
  82%, 100% { opacity: 0; }
}

@media (max-width: 1180px) {
  .rn-hero-global { min-height: 820px; }
  .rn-global-content { padding-top: 136px; }
  .rn-global-label:not(.is-primary) { display: none; }
  .rn-global-svg { opacity: .72; }
}

@media (max-width: 760px) {
  .rn-hero-global { min-height: auto; }
  .rn-global-content { padding: 110px 0 78px; }
  .rn-global-title { font-size: clamp(42px, 14vw, 68px); }
  .rn-global-stage { opacity: .32; }
  .rn-global-labels { display: none; }
  .rn-global-metrics { grid-template-columns: 1fr; margin-top: 36px; }
  .rn-global-metrics div { text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .rn-global-svg,
  .rn-global-labels,
  .rn-global-link,
  .rn-global-link-back,
  .rn-global-node,
  .rn-global-orbit,
  .rn-global-pulse {
    animation: none !important;
    transition: none !important;
  }
}

/* ========================================================================== 
   Single settlement page — inline rate cards
   ========================================================================== */
.rn-settlement-hero {
  padding: 118px 0 92px;
}

.rn-settlement-hero .rn-page-title {
  max-width: 980px;
}

.rn-settlement-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.rn-settlement-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 32px;
}

.rn-settlement-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  color: rgba(255,255,255,.76);
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(127,210,255,.16);
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  font-family: var(--rn-font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
}

.rn-settlement-rates-section {
  background:
    radial-gradient(circle at 78% 12%, rgba(55,127,190,.10), transparent 28%),
    linear-gradient(180deg, #F4F7FA 0%, #FFFFFF 44%, #EEF3F8 100%);
}

.rn-settlement-rate-groups {
  display: grid;
  gap: 54px;
}

.rn-rate-group {
  position: relative;
}

.rn-rate-group + .rn-rate-group {
  padding-top: 8px;
}

.rn-rate-group-head {
  display: grid;
  gap: 10px;
  max-width: 760px;
  margin-bottom: 22px;
}

.rn-rate-group-head h3 {
  margin: 0;
  color: var(--rn-ink);
  font-family: var(--rn-font-heading);
  font-size: clamp(28px, 3.4vw, 46px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.055em;
}

.rn-rate-group-head p {
  margin: 0;
  max-width: 680px;
  color: var(--rn-text);
  font-size: 17px;
  line-height: 1.65;
}

.rn-rate-grid {
  align-items: stretch;
}

.rn-settlement-rate-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 26px;
}

.rn-settlement-rate-card h4 {
  margin: 0;
  color: var(--rn-ink);
  font-family: var(--rn-font-heading);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.rn-settlement-rate-card .rn-rate-meta {
  margin-bottom: 16px;
}

.rn-rate-speed {
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  width: fit-content;
  margin-top: 18px;
  color: var(--rn-blue-dark);
  font-family: var(--rn-font-heading);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.01em;
}

.rn-rate-speed::before {
  width: 8px;
  height: 8px;
  background: var(--rn-blue);
  box-shadow: 0 0 0 6px rgba(55,127,190,.10), 0 0 20px rgba(55,127,190,.40);
  clip-path: polygon(0 0, calc(100% - 3px) 0, 100% 3px, 100% 100%, 3px 100%, 0 calc(100% - 3px));
  content: "";
}

.rn-settlement-rate-card .rn-rate-price {
  margin-top: 14px;
  font-size: clamp(30px, 3.4vw, 42px);
}

.rn-settlement-rate-card .rn-rate-desc {
  margin-top: 14px;
  color: var(--rn-text);
}

.rn-rate-features {
  display: grid;
  gap: 8px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.rn-rate-features li {
  position: relative;
  padding-left: 20px;
  color: var(--rn-text);
  font-size: 14px;
  line-height: 1.45;
}

.rn-rate-features li::before {
  position: absolute;
  left: 0;
  top: .58em;
  width: 8px;
  height: 1px;
  background: var(--rn-blue);
  box-shadow: 6px 0 0 rgba(55,127,190,.25);
  content: "";
}

.rn-rate-order {
  width: 100%;
  margin-top: auto;
  transform: translateY(18px);
}

.rn-settlement-rate-card:hover .rn-rate-order {
  border-color: rgba(55,127,190,.28);
}

.rn-rate-group-private-sector .rn-pill,
.rn-rate-group-apartment-buildings .rn-pill {
  color: var(--rn-blue-dark);
  background: rgba(55,127,190,.095);
  border-color: rgba(55,127,190,.16);
}

.rn-rate-group-business .rn-pill {
  color: #16385D;
  background: rgba(46,101,174,.10);
  border-color: rgba(46,101,174,.18);
}

.rn-rate-group-youtv .rn-pill {
  color: #22405F;
  background: rgba(127,210,255,.15);
  border-color: rgba(127,210,255,.26);
}

.rn-rate-group-additional .rn-pill {
  color: #374151;
  background: rgba(16,25,35,.06);
  border-color: rgba(16,25,35,.12);
}

.rn-empty-rates-card {
  max-width: 760px;
}

.rn-empty-rates-card h2 {
  margin: 0 0 12px;
  color: var(--rn-ink);
  font-family: var(--rn-font-heading);
  font-size: 32px;
  line-height: 1.05;
  letter-spacing: -.045em;
}

.rn-settlement-cta-section .rn-section-head {
  margin-bottom: 28px;
}

.rn-settlement-content-section {
  background: #fff;
}

@media (max-width: 980px) {
  .rn-settlement-hero {
    padding: 96px 0 74px;
  }

  .rn-settlement-meta {
    margin-top: 24px;
  }

  .rn-settlement-rate-groups {
    gap: 44px;
  }
}

@media (max-width: 640px) {
  .rn-settlement-hero-actions {
    display: grid;
  }

  .rn-settlement-hero-actions .rn-btn,
  .rn-settlement-hero-actions .rn-btn-ghost {
    width: 100%;
  }

  .rn-settlement-meta {
    display: grid;
  }

  .rn-settlement-meta span {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .rn-settlement-rate-card {
    padding: 22px;
  }

  .rn-rate-order {
    transform: translateY(12px);
  }
}

/* ========================================================================== 
   Settlement tariff tabs v2
   ========================================================================== */
.rn-rate-main-switcher,
.rn-rate-sub-switcher {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rn-rate-main-switcher {
  margin: -12px 0 42px;
}

.rn-rate-sub-switcher {
  margin: 0 0 28px;
}

.rn-rate-main-switch,
.rn-rate-sub-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid rgba(55,127,190,.16);
  color: var(--rn-blue-dark);
  background: rgba(255,255,255,.78);
  box-shadow: 0 1px 0 rgba(255,255,255,.85) inset;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  font-family: var(--rn-font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}

.rn-rate-sub-switch {
  min-height: 40px;
  padding: 9px 14px;
  background: rgba(55,127,190,.065);
}

.rn-rate-main-switch::before,
.rn-rate-sub-switch::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(127,210,255,.18), transparent 40%),
    linear-gradient(110deg, transparent 28%, rgba(255,255,255,.34), transparent 68%);
  opacity: 0;
  transform: translateX(-12%);
  transition: opacity .22s ease, transform .36s ease;
  content: "";
}

.rn-rate-main-switch:hover,
.rn-rate-main-switch.is-active,
.rn-rate-sub-switch:hover,
.rn-rate-sub-switch.is-active {
  color: #fff;
  background: linear-gradient(135deg, var(--rn-blue), var(--rn-blue-2));
  border-color: rgba(127,210,255,.35);
  box-shadow: 0 18px 46px rgba(55,127,190,.22), inset 0 1px 0 rgba(255,255,255,.20);
  transform: translateY(-2px);
}

.rn-rate-main-switch:hover::before,
.rn-rate-main-switch.is-active::before,
.rn-rate-sub-switch:hover::before,
.rn-rate-sub-switch.is-active::before {
  opacity: 1;
  transform: translateX(0);
}

.rn-rate-main-panel,
.rn-rate-sub-panel {
  transition: opacity .22s ease, transform .22s ease;
}

.rn-rate-main-panel.is-hidden,
.rn-rate-sub-panel.is-hidden {
  display: none;
}

.rn-rate-main-panel.is-filter-enter,
.rn-rate-sub-panel.is-filter-enter {
  animation: rn-rate-filter-enter .28s ease both;
}

.rn-rate-sub-text {
  max-width: 680px;
  margin: -8px 0 22px;
  color: var(--rn-text);
  font-size: 16px;
  line-height: 1.6;
}

@keyframes rn-rate-filter-enter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
  .rn-rate-main-switcher,
  .rn-rate-sub-switcher {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .rn-rate-main-switch,
  .rn-rate-sub-switch {
    width: 100%;
  }
}

/* ========================================================================== 
   Settlement page refinements + package builder v3
   ========================================================================== */
.rn-settlement-hero .rn-page-title {
  max-width: 900px;
  font-size: clamp(38px, 5.1vw, 72px);
  line-height: .98;
}

.rn-rate-group-head h3,
.rn-package-builder-head h3 {
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.rn-settlement-meta {
  display: none !important;
}

.rn-rate-main-switcher {
  margin-bottom: 34px;
}

.rn-rate-group-head {
  margin-bottom: 20px;
}

.rn-rate-sub-text {
  font-size: 15px;
}

/* Premium tariff card motion */
.rn-settlement-rate-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transform: translateY(0);
  transition: transform .34s cubic-bezier(.2,.8,.2,1), border-color .34s ease, box-shadow .34s ease, background .34s ease;
}

.rn-settlement-rate-card::before {
  position: absolute;
  inset: -1px;
  z-index: -1;
  background:
    radial-gradient(circle at 18% 12%, rgba(127,210,255,.24), transparent 28%),
    linear-gradient(115deg, transparent 0%, transparent 38%, rgba(255,255,255,.58) 48%, transparent 58%, transparent 100%);
  opacity: 0;
  transform: translateX(-36%);
  transition: opacity .34s ease, transform .72s cubic-bezier(.2,.8,.2,1);
  content: "";
}

.rn-settlement-rate-card::after {
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(127,210,255,.75), transparent);
  opacity: 0;
  transform: scaleX(.3);
  transition: opacity .3s ease, transform .42s ease;
  content: "";
}

.rn-settlement-rate-card:hover {
  transform: translateY(-8px);
  border-color: rgba(55,127,190,.28);
  box-shadow: 0 28px 70px rgba(29,29,27,.13), 0 0 0 1px rgba(127,210,255,.12) inset;
}

.rn-settlement-rate-card:hover::before {
  opacity: 1;
  transform: translateX(34%);
}

.rn-settlement-rate-card:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.rn-settlement-rate-card:hover .rn-rate-speed::before {
  animation: rn-rate-dot-pulse 1.35s ease-in-out infinite;
}

@keyframes rn-rate-dot-pulse {
  0%, 100% { box-shadow: 0 0 0 6px rgba(55,127,190,.10), 0 0 20px rgba(55,127,190,.40); }
  50% { box-shadow: 0 0 0 10px rgba(55,127,190,.06), 0 0 30px rgba(55,127,190,.62); }
}

/* Package builder */
.rn-package-builder {
  position: relative;
  margin-top: 72px;
  padding: clamp(26px, 4vw, 44px);
  color: #fff;
  background:
    radial-gradient(circle at 80% 10%, rgba(127,210,255,.20), transparent 34%),
    radial-gradient(circle at 12% 20%, rgba(55,127,190,.20), transparent 30%),
    linear-gradient(135deg, #141A22 0%, #1D1D1B 46%, #162538 100%);
  border: 1px solid rgba(127,210,255,.16);
  box-shadow: 0 34px 90px rgba(13,25,39,.28);
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 28px 100%, 0 calc(100% - 28px));
  overflow: hidden;
  isolation: isolate;
}

.rn-package-builder::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(rgba(127,210,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127,210,255,.045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
  content: "";
}

.rn-package-builder-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.rn-package-builder-head h3 {
  margin: 8px 0 10px;
  color: #fff;
  font-family: var(--rn-font-heading);
  font-weight: 700;
}

.rn-package-builder-head p {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 1.65;
}

.rn-package-builder-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 22px;
  align-items: start;
}

.rn-package-options {
  display: grid;
  gap: 16px;
}

.rn-package-option-group,
.rn-package-summary {
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(127,210,255,.14);
  backdrop-filter: blur(14px);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}

.rn-package-option-group {
  padding: 20px;
}

.rn-package-option-group h4,
.rn-package-summary h4 {
  margin: 0 0 16px;
  color: #fff;
  font-family: var(--rn-font-heading);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.035em;
}

.rn-package-subgroup + .rn-package-subgroup {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(127,210,255,.12);
}

.rn-package-subgroup > span {
  display: block;
  margin-bottom: 10px;
  color: rgba(127,210,255,.88);
  font-family: var(--rn-font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.rn-package-choice {
  position: relative;
  display: block;
  cursor: pointer;
}

.rn-package-choice + .rn-package-choice {
  margin-top: 10px;
}

.rn-package-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.rn-package-choice-body {
  position: relative;
  display: grid;
  gap: 4px;
  padding: 14px 14px 14px 42px;
  color: rgba(255,255,255,.82);
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.10);
  transition: background .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}

.rn-package-choice-body::before {
  position: absolute;
  left: 14px;
  top: 17px;
  width: 14px;
  height: 14px;
  border: 1px solid rgba(127,210,255,.42);
  background: rgba(0,0,0,.18);
  content: "";
}

.rn-package-choice-body::after {
  position: absolute;
  left: 18px;
  top: 21px;
  width: 6px;
  height: 6px;
  background: #7FD2FF;
  box-shadow: 0 0 16px rgba(127,210,255,.75);
  opacity: 0;
  transform: scale(.45);
  transition: opacity .2s ease, transform .2s ease;
  content: "";
}

.rn-package-choice-body strong {
  color: #fff;
  font-family: var(--rn-font-heading);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -.015em;
}

.rn-package-choice-body em {
  color: rgba(255,255,255,.62);
  font-size: 13px;
  font-style: normal;
}

.rn-package-choice:hover .rn-package-choice-body,
.rn-package-choice input:checked + .rn-package-choice-body {
  background: rgba(55,127,190,.18);
  border-color: rgba(127,210,255,.32);
  box-shadow: 0 16px 40px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.10);
  transform: translateY(-1px);
}

.rn-package-choice input:checked + .rn-package-choice-body::after {
  opacity: 1;
  transform: scale(1);
}

.rn-package-summary {
  position: sticky;
  top: 98px;
  padding: 24px;
}

.rn-package-total {
  margin: 10px 0 18px;
  color: #fff;
  font-family: var(--rn-font-heading);
  font-size: clamp(34px, 4vw, 48px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.06em;
}

.rn-package-selected {
  display: grid;
  gap: 8px;
  min-height: 86px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

.rn-package-selected li {
  position: relative;
  padding-left: 18px;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.45;
}

.rn-package-selected li::before {
  position: absolute;
  left: 0;
  top: .62em;
  width: 8px;
  height: 1px;
  background: #7FD2FF;
  content: "";
}

.rn-package-order {
  width: 100%;
}

@media (max-width: 980px) {
  .rn-package-builder-layout {
    grid-template-columns: 1fr;
  }

  .rn-package-summary {
    position: relative;
    top: auto;
  }
}

@media (max-width: 640px) {
  .rn-settlement-hero .rn-page-title {
    font-size: clamp(34px, 11vw, 48px);
  }

  .rn-package-builder {
    padding: 24px 18px;
  }

  .rn-package-choice-body {
    padding-right: 12px;
  }
}

/* ========================================================================== 
   Global typography refinement — lighter, calmer, more premium
   Add at the END of style.css
   ========================================================================== */
:root {
  --rn-section-y: 82px;
  --rn-section-y-sm: 64px;
  --rn-heading-tight: -.038em;
  --rn-heading-soft: -.026em;
}

body {
  font-size: 15.5px;
  line-height: 1.62;
}

.rn-section {
  padding: var(--rn-section-y) 0;
}

.rn-section-head {
  gap: 12px;
  max-width: 690px;
  margin-bottom: 30px;
}

.rn-kicker {
  gap: 9px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
}

.rn-kicker::before {
  width: 16px;
  box-shadow: 8px 0 0 rgba(55,127,190,.22);
}

.rn-section-title,
.rn-page-title,
.rn-hero-title,
.rn-global-title {
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: var(--rn-heading-tight);
}

.rn-section-title {
  font-size: clamp(28px, 3.15vw, 44px);
}

.rn-page-title {
  font-size: clamp(34px, 4.25vw, 58px);
}

.rn-hero-title,
.rn-global-title {
  font-size: clamp(40px, 5.5vw, 72px);
  max-width: 820px;
}

.rn-section-text,
.rn-hero-text,
.rn-global-text {
  max-width: 650px;
  font-size: clamp(15px, 1.45vw, 18px);
  line-height: 1.64;
}

.rn-page-hero {
  padding: 86px 0 64px;
}

.rn-page-hero p {
  max-width: 650px;
  font-size: 16px;
  line-height: 1.68;
}

.rn-btn,
.rn-btn-secondary,
.rn-btn-ghost {
  min-height: 46px;
  padding: 11px 18px;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .015em;
}

.rn-card {
  padding: 24px;
}

.rn-card h3 {
  font-size: 19px;
  line-height: 1.18;
  letter-spacing: var(--rn-heading-soft);
}

.rn-card p,
.rn-rate-desc,
.rn-settlement-card span,
.rn-package-builder-head p,
.rn-rate-group-head p,
.rn-rate-sub-text {
  font-size: 14.5px;
  line-height: 1.58;
}

.rn-card-icon {
  width: 46px;
  height: 46px;
  margin-bottom: 16px;
}

.rn-rate-price {
  font-size: 30px;
  letter-spacing: -.04em;
}

.rn-rate-price small {
  font-size: 13px;
}

.rn-pill {
  min-height: 26px;
  padding: 5px 9px;
  font-size: 10px;
  letter-spacing: .035em;
}

/* Hero / global hero */
.rn-hero {
  min-height: 760px;
}

.rn-hero-inner {
  padding: 126px 0 104px;
}

.rn-hero-stat {
  padding: 16px;
}

.rn-hero-stat strong,
.rn-global-metrics strong {
  font-size: 24px;
}

.rn-hero-stat span,
.rn-global-metrics span {
  font-size: 12px;
}

.rn-hero-global {
  min-height: 780px;
}

.rn-global-content {
  max-width: 900px;
  padding: 132px 0 104px;
}

.rn-global-text {
  margin-top: 16px;
}

.rn-global-actions {
  margin-top: 28px;
}

.rn-global-metrics {
  margin-top: 40px;
}

.rn-global-metrics div {
  padding: 16px 18px;
}

/* Settlement page */
.rn-settlement-hero {
  padding: 84px 0 62px;
}

.rn-settlement-hero .rn-page-title {
  max-width: 820px;
  font-size: clamp(32px, 4.1vw, 54px);
  line-height: 1.04;
  letter-spacing: var(--rn-heading-tight);
}

.rn-settlement-hero-actions {
  margin-top: 24px;
}

.rn-settlement-rates-section .rn-section-head {
  margin-bottom: 28px;
}

.rn-rate-main-switcher {
  margin: -4px 0 28px;
}

.rn-rate-sub-switcher {
  margin: 0 0 22px;
}

.rn-rate-main-switch,
.rn-rate-sub-switch {
  min-height: 40px;
  padding: 9px 14px;
  font-size: 11px;
  font-weight: 650;
}

.rn-rate-group-head {
  gap: 8px;
  max-width: 680px;
  margin-bottom: 18px;
}

.rn-rate-group-head h3,
.rn-package-builder-head h3 {
  font-size: clamp(22px, 2.35vw, 32px);
  line-height: 1.08;
  letter-spacing: var(--rn-heading-soft);
}

.rn-settlement-rate-card {
  padding: 22px;
}

.rn-settlement-rate-card h4 {
  font-size: 20px;
  line-height: 1.16;
  letter-spacing: var(--rn-heading-soft);
}

.rn-settlement-rate-card .rn-rate-meta {
  margin-bottom: 12px;
}

.rn-rate-speed {
  margin-top: 14px;
  font-size: 13px;
  font-weight: 650;
}

.rn-settlement-rate-card .rn-rate-price {
  margin-top: 10px;
  font-size: clamp(25px, 2.45vw, 32px);
}

.rn-settlement-rate-card .rn-rate-desc {
  margin-top: 10px;
}

.rn-rate-features {
  gap: 7px;
  margin-top: 16px;
}

.rn-rate-features li {
  font-size: 13px;
  line-height: 1.45;
}

.rn-rate-order {
  transform: translateY(14px);
}

/* Package builder */
.rn-package-builder {
  margin-top: 56px;
  padding: clamp(22px, 3.2vw, 34px);
}

.rn-package-builder-head {
  max-width: 680px;
  margin-bottom: 22px;
}

.rn-package-builder-head h3 {
  margin: 6px 0 8px;
}

.rn-package-builder-layout {
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 18px;
}

.rn-package-option-group {
  padding: 18px;
}

.rn-package-summary {
  padding: 20px;
}

.rn-package-option-group h4,
.rn-package-summary h4 {
  margin-bottom: 13px;
  font-size: 18px;
  letter-spacing: var(--rn-heading-soft);
}

.rn-package-choice-body {
  padding: 12px 12px 12px 38px;
}

.rn-package-choice-body strong {
  font-size: 13px;
  font-weight: 650;
}

.rn-package-choice-body em {
  font-size: 12px;
}

.rn-package-total {
  margin: 8px 0 14px;
  font-size: clamp(28px, 3vw, 38px);
  letter-spacing: -.045em;
}

.rn-package-selected {
  min-height: 72px;
  margin-bottom: 18px;
}

.rn-package-selected li {
  font-size: 13px;
}

/* Footer */
.rn-footer {
  padding: 72px 0 26px;
}

.rn-footer-title {
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.08;
}

.rn-footer h3 {
  font-size: 19px;
}

.rn-footer-card {
  padding: 16px;
}

/* Content */
.rn-content {
  padding: 64px 0;
}

.rn-content-body h1 {
  font-size: clamp(32px, 3.6vw, 48px);
}

.rn-content-body h2 {
  font-size: clamp(26px, 2.8vw, 36px);
}

.rn-content-body h3 {
  font-size: clamp(21px, 2.2vw, 28px);
}

@media (max-width: 1180px) {
  .rn-hero-global {
    min-height: 720px;
  }

  .rn-global-content {
    padding-top: 118px;
  }
}

@media (max-width: 860px) {
  body {
    font-size: 15px;
  }

  .rn-container {
    width: min(calc(100% - 28px), var(--rn-container));
  }

  .rn-section {
    padding: var(--rn-section-y-sm) 0;
  }

  .rn-hero-inner,
  .rn-global-content {
    padding: 94px 0 72px;
  }

  .rn-page-hero,
  .rn-settlement-hero {
    padding: 74px 0 54px;
  }

  .rn-section-title {
    font-size: clamp(26px, 7vw, 38px);
  }

  .rn-page-title,
  .rn-settlement-hero .rn-page-title {
    font-size: clamp(31px, 8.8vw, 46px);
  }

  .rn-hero-title,
  .rn-global-title {
    font-size: clamp(36px, 11vw, 58px);
  }

  .rn-package-builder-layout {
    grid-template-columns: 1fr;
  }

  .rn-package-summary {
    position: relative;
    top: auto;
  }
}

@media (max-width: 640px) {
  .rn-section-head {
    margin-bottom: 24px;
  }

  .rn-btn,
  .rn-btn-secondary,
  .rn-btn-ghost {
    width: 100%;
    min-height: 44px;
  }

  .rn-settlement-rate-card,
  .rn-card,
  .rn-package-option-group,
  .rn-package-summary {
    padding: 18px;
  }

  .rn-rate-main-switcher,
  .rn-rate-sub-switcher {
    gap: 7px;
  }

  .rn-package-builder {
    padding: 20px 16px;
  }
}

/* ========================================================================== 
   youtv page template
   ========================================================================== */
.rn-youtv-hero {
  position: relative;
  min-height: 720px;
  display: grid;
  align-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 76% 28%, rgba(127,210,255,.16), transparent 30%),
    radial-gradient(circle at 20% 76%, rgba(55,127,190,.15), transparent 28%),
    linear-gradient(135deg, #050B13 0%, #0A1725 54%, #050B13 100%);
  overflow: hidden;
  isolation: isolate;
}

.rn-youtv-hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(127,210,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127,210,255,.04) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(180deg, #000, transparent 96%);
  content: "";
}

.rn-youtv-hero::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(5,11,19,.88), rgba(5,11,19,.25) 52%, rgba(5,11,19,.72));
  content: "";
}

.rn-youtv-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(340px, .78fr);
  gap: clamp(34px, 6vw, 78px);
  align-items: center;
  padding: 116px 0 92px;
}

.rn-youtv-copy h1 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-family: var(--rn-font-heading);
  font-size: clamp(38px, 5.2vw, 72px);
  font-weight: 650;
  line-height: 1.02;
  letter-spacing: -.04em;
}

.rn-youtv-copy p {
  max-width: 650px;
  margin: 20px 0 0;
  color: rgba(255,255,255,.72);
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.68;
}

.rn-youtv-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.rn-youtv-panel {
  position: relative;
  padding: 24px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(127,210,255,.16);
  box-shadow: 0 30px 90px rgba(0,0,0,.24);
  backdrop-filter: blur(16px);
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 28px 100%, 0 calc(100% - 28px));
  overflow: hidden;
}

.rn-youtv-panel::before {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 28%, rgba(127,210,255,.20), transparent 30%),
    linear-gradient(115deg, transparent 0 36%, rgba(255,255,255,.12) 46%, transparent 58%);
  opacity: .72;
  content: "";
}

.rn-youtv-panel > * {
  position: relative;
  z-index: 1;
}

.rn-youtv-screen {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 230px;
  margin-bottom: 18px;
  background:
    radial-gradient(circle at 50% 50%, rgba(127,210,255,.18), transparent 38%),
    linear-gradient(135deg, rgba(5,11,19,.72), rgba(13,25,39,.88));
  border: 1px solid rgba(127,210,255,.18);
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
}

.rn-youtv-screen span {
  position: absolute;
  width: 110px;
  height: 110px;
  border: 1px solid rgba(127,210,255,.30);
  box-shadow: 0 0 45px rgba(127,210,255,.20), inset 0 0 36px rgba(127,210,255,.10);
  transform: rotate(45deg);
  animation: rn-youtv-rotate 12s linear infinite;
}

.rn-youtv-screen strong {
  color: #fff;
  font-family: var(--rn-font-heading);
  font-size: 54px;
  line-height: 1;
  letter-spacing: -.05em;
}

.rn-youtv-screen em {
  margin-top: -62px;
  color: rgba(127,210,255,.82);
  font-family: var(--rn-font-heading);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.rn-youtv-points {
  display: grid;
  gap: 10px;
}

.rn-youtv-point {
  position: relative;
  padding: 13px 14px 13px 38px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(127,210,255,.12);
  font-size: 13px;
  line-height: 1.45;
}

.rn-youtv-point::before {
  position: absolute;
  left: 15px;
  top: 18px;
  width: 8px;
  height: 8px;
  background: var(--rn-cyan);
  box-shadow: 0 0 18px rgba(127,210,255,.75);
  content: "";
}

.rn-youtv-rates-section {
  background:
    radial-gradient(circle at 80% 10%, rgba(55,127,190,.09), transparent 28%),
    linear-gradient(180deg, #F4F7FA 0%, #FFFFFF 44%, #EEF3F8 100%);
}

.rn-youtv-rate-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 24px;
}

.rn-youtv-rate-card h3 {
  font-size: 21px;
}

.rn-youtv-rate-card .rn-rate-price {
  margin-top: 4px;
  font-size: clamp(28px, 3vw, 36px);
}

.rn-youtv-rate-card .rn-rate-features {
  margin-top: 16px;
}

.rn-youtv-rate-card .rn-btn-secondary {
  width: 100%;
  margin-top: auto;
  transform: translateY(14px);
}

.rn-youtv-benefits-section {
  color: #fff;
  background:
    radial-gradient(circle at 18% 18%, rgba(55,127,190,.24), transparent 30%),
    linear-gradient(135deg, var(--rn-deep), #0B1724 58%, #050B13);
}

.rn-youtv-benefits-layout {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
}

.rn-youtv-benefits-copy .rn-section-title {
  color: #fff;
}

.rn-youtv-benefits-copy .rn-section-text {
  color: rgba(255,255,255,.72);
  margin-bottom: 26px;
}

.rn-youtv-benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.rn-youtv-benefit-card {
  position: relative;
  min-height: 136px;
  padding: 20px;
  color: rgba(255,255,255,.76);
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(127,210,255,.14);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  overflow: hidden;
}

.rn-youtv-benefit-card::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent, rgba(127,210,255,.12), transparent);
  opacity: 0;
  transform: translateX(-30%);
  transition: opacity .3s ease, transform .55s ease;
  content: "";
}

.rn-youtv-benefit-card:hover::before {
  opacity: 1;
  transform: translateX(30%);
}

.rn-youtv-benefit-card span,
.rn-youtv-benefit-card p {
  position: relative;
  z-index: 1;
}

.rn-youtv-benefit-card span {
  display: block;
  margin-bottom: 18px;
  color: var(--rn-cyan);
  font-family: var(--rn-font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
}

.rn-youtv-benefit-card p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 14px;
  line-height: 1.55;
}

.rn-youtv-content-section {
  background: #fff;
}

@keyframes rn-youtv-rotate {
  from { transform: rotate(45deg); }
  to { transform: rotate(405deg); }
}

@media (max-width: 980px) {
  .rn-youtv-hero {
    min-height: auto;
  }

  .rn-youtv-hero-inner,
  .rn-youtv-benefits-layout {
    grid-template-columns: 1fr;
  }

  .rn-youtv-hero-inner {
    padding: 92px 0 72px;
  }
}

@media (max-width: 640px) {
  .rn-youtv-copy h1 {
    font-size: clamp(34px, 10vw, 48px);
  }

  .rn-youtv-actions {
    display: grid;
  }

  .rn-youtv-actions .rn-btn,
  .rn-youtv-actions .rn-btn-ghost {
    width: 100%;
  }

  .rn-youtv-panel,
  .rn-youtv-rate-card,
  .rn-youtv-benefit-card {
    padding: 18px;
  }

  .rn-youtv-benefits-grid {
    grid-template-columns: 1fr;
  }
}

/* ========================================================================== 
   Legacy polish merge — selected header/footer/card motion ideas
   Adapted from the older Radionetwork CSS, but kept compatible with current rn-* classes.
   ========================================================================== */
:root {
  --rn-motion-smooth: cubic-bezier(0.16, 1, 0.3, 1);
  --rn-shadow-soft: 0 14px 40px rgba(16, 20, 19, 0.08);
  --rn-shadow-deep: 0 24px 70px rgba(16, 20, 19, 0.12);
  --rn-header-glass: rgba(255, 255, 255, 0.92);
}

/* Header: softer glass, underline navigation, calmer premium motion */
.rn-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  min-height: 78px;
  padding: 8px 0;
  color: var(--rn-ink);
  background:
    linear-gradient(180deg, rgba(246, 248, 251, 0.94), rgba(246, 248, 251, 0.80));
  border-bottom: 1px solid rgba(16, 25, 35, 0.08);
  box-shadow: 0 14px 40px rgba(16, 25, 35, 0.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  animation: rnHeaderIn .72s var(--rn-motion-smooth) both;
}

.rn-header.is-scrolled {
  background: rgba(255, 255, 255, 0.96);
  border-bottom-color: rgba(16, 25, 35, 0.10);
  box-shadow: 0 18px 44px rgba(16, 25, 35, 0.12);
}

.rn-header-shell {
  min-height: 60px;
  gap: 22px;
}

.rn-logo-wrap,
.rn-logo,
.rn-logo-wrap .custom-logo-link {
  height: 54px;
}

.rn-logo-wrap img,
.rn-logo img,
.rn-logo-wrap .custom-logo,
.rn-logo-wrap .custom-logo-link img {
  max-height: 52px !important;
  filter:
    drop-shadow(0 0 8px rgba(55, 127, 190, 0.26))
    drop-shadow(0 8px 18px rgba(0, 0, 0, 0.12));
}

.rn-menu a {
  position: relative;
  min-height: 40px;
  padding: 8px 12px;
  color: rgba(16, 25, 35, 0.72);
  background: transparent;
  border-color: transparent;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .015em;
}

.rn-menu a::after {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 4px;
  height: 1px;
  background: var(--rn-blue);
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: opacity .22s ease, transform .22s ease;
  content: "";
}

.rn-menu a:hover,
.rn-menu .current-menu-item > a,
.rn-menu .current-menu-ancestor > a {
  color: var(--rn-ink);
  background: transparent;
  border-color: transparent;
}

.rn-menu a:hover::after,
.rn-menu .current-menu-item > a::after,
.rn-menu .current-menu-ancestor > a::after {
  opacity: 1;
  transform: scaleX(1);
}

.rn-menu .sub-menu {
  top: calc(100% + 8px);
  min-width: 240px;
  padding: 10px;
  color: var(--rn-ink);
  background:
    radial-gradient(circle at 100% 0%, rgba(55, 127, 190, 0.12), transparent 34%),
    rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(16, 25, 35, 0.10);
  box-shadow: 0 22px 52px rgba(16, 25, 35, 0.14);
  clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
}

.rn-menu .sub-menu a {
  color: rgba(16, 25, 35, 0.72);
}

.rn-menu .sub-menu a:hover {
  color: var(--rn-ink);
  background: rgba(55, 127, 190, 0.08);
}

.rn-header-link {
  color: rgba(16, 25, 35, 0.72);
  background: rgba(55, 127, 190, 0.055);
  border-color: rgba(55, 127, 190, 0.16);
}

.rn-header-link:hover {
  color: var(--rn-blue-2);
  border-color: rgba(55, 127, 190, 0.32);
}

.rn-header-cta {
  box-shadow: 0 14px 32px rgba(55, 127, 190, 0.24);
}

.rn-menu-toggle {
  color: var(--rn-ink);
  background: rgba(255, 255, 255, .72);
  border-color: rgba(16, 25, 35, .12);
}

.rn-menu-toggle span {
  background: var(--rn-ink);
}

.rn-mobile-panel {
  top: 78px;
  background: rgba(255, 255, 255, .98);
  border-color: rgba(16, 25, 35, .10);
  box-shadow: 0 24px 80px rgba(16, 25, 35, .16);
}

.rn-mobile-menu a {
  color: rgba(16, 25, 35, .78);
  border: 1px solid rgba(16, 25, 35, .08);
  background: rgba(55, 127, 190, .045);
}

.rn-mobile-menu a:hover {
  color: var(--rn-ink);
  background: rgba(55, 127, 190, .08);
}

/* Footer: old full-width premium panel feeling, adapted to current footer markup */
.rn-footer {
  position: relative;
  overflow: hidden;
  padding: clamp(54px, 7vw, 84px) 0 28px;
  color: rgba(255, 255, 255, 0.76);
  background:
    radial-gradient(circle at 92% 0%, rgba(55, 127, 190, 0.18), transparent 30%),
    radial-gradient(circle at 4% 100%, rgba(46, 101, 174, 0.13), transparent 30%),
    linear-gradient(135deg, #101413 0%, #171B1A 52%, #1D1D1B 100%);
  background-size: 140% 140%;
  animation: rnFooterGradient 14s ease-in-out infinite;
}

.rn-footer::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
  background-size: 68px 68px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
  content: "";
}

.rn-footer-inner,
.rn-footer-bottom {
  position: relative;
  z-index: 1;
}

.rn-footer-card {
  border-color: rgba(255,255,255,.105);
  background:
    radial-gradient(circle at 100% 0%, rgba(55, 127, 190, 0.09), transparent 36%),
    rgba(255, 255, 255, 0.045);
  box-shadow: none;
}

.rn-footer-card:hover {
  border-color: rgba(55,127,190,.30);
  transform: translateY(-4px);
}

.rn-footer h2,
.rn-footer h3 {
  letter-spacing: -.035em;
}

.rn-footer-bottom {
  border-top-color: rgba(255,255,255,.10);
}

/* Scroll top from old version: visible/hidden transition instead of display jump */
.rn-scroll-top {
  display: grid;
  place-items: center;
  right: 24px;
  bottom: 24px;
  z-index: 100;
  width: 48px;
  height: 48px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  border: 1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at 70% 0%, rgba(55, 127, 190, 0.55), transparent 42%),
    linear-gradient(135deg, var(--rn-black), var(--rn-blue-2));
  box-shadow: 0 18px 42px rgba(0,0,0,.24);
  transition: opacity .24s ease, visibility .24s ease, transform .24s ease;
}

.rn-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.rn-scroll-top:hover {
  transform: translateY(-3px);
}

/* Reveal / motion layer */
[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  filter: blur(7px);
  transition:
    opacity .82s var(--rn-motion-smooth),
    transform .82s var(--rn-motion-smooth),
    filter .82s var(--rn-motion-smooth);
  transition-delay: var(--rn-reveal-delay, 0s);
  will-change: opacity, transform, filter;
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

[data-reveal="left"] { transform: translateX(-34px); }
[data-reveal="right"] { transform: translateX(34px); }
[data-reveal="scale"] { transform: translateY(20px) scale(.96); }
[data-reveal="left"].is-visible,
[data-reveal="right"].is-visible { transform: translateX(0); }
[data-reveal="scale"].is-visible { transform: translateY(0) scale(1); }

.rn-header {
  animation: rnHeaderIn .72s var(--rn-motion-smooth) both;
}

.rn-hero-title,
.rn-global-title,
.rn-page-title,
.rn-section-title,
.rn-youtv-copy h1 {
  animation: rnHeroTextIn .86s var(--rn-motion-smooth) .08s both;
}

.rn-hero-text,
.rn-global-text,
.rn-page-hero p,
.rn-youtv-copy p {
  animation: rnHeroTextIn .86s var(--rn-motion-smooth) .18s both;
}

.rn-hero-actions,
.rn-global-actions,
.rn-settlement-hero-actions,
.rn-youtv-actions {
  animation: rnHeroTextIn .86s var(--rn-motion-smooth) .28s both;
}

.rn-card,
.rn-settlement-rate-card,
.rn-youtv-rate-card,
.rn-youtv-benefit-card,
.rn-package-option-group,
.rn-package-summary {
  position: relative;
  overflow: hidden;
  will-change: transform, box-shadow;
}

.rn-card::after,
.rn-settlement-rate-card::after,
.rn-youtv-rate-card::after,
.rn-youtv-benefit-card::after,
.rn-package-option-group::after,
.rn-package-summary::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 0%,
    transparent 35%,
    rgba(55, 127, 190, 0.12) 47%,
    rgba(255, 255, 255, 0.24) 50%,
    rgba(55, 127, 190, 0.10) 53%,
    transparent 66%,
    transparent 100%
  );
  opacity: 0;
  transform: translateX(-82%);
  transition: opacity .25s ease, transform .78s var(--rn-motion-smooth);
  content: "";
}

.rn-card:hover::after,
.rn-settlement-rate-card:hover::after,
.rn-youtv-rate-card:hover::after,
.rn-youtv-benefit-card:hover::after,
.rn-package-option-group:hover::after,
.rn-package-summary:hover::after {
  opacity: 1;
  transform: translateX(82%);
}

.rn-grid > *,
.rn-youtv-benefits-grid > *,
.rn-rate-grid > * {
  animation: rnCardIn .72s var(--rn-motion-smooth) both;
}

.rn-grid > *:nth-child(2),
.rn-youtv-benefits-grid > *:nth-child(2),
.rn-rate-grid > *:nth-child(2) { animation-delay: .06s; }
.rn-grid > *:nth-child(3),
.rn-youtv-benefits-grid > *:nth-child(3),
.rn-rate-grid > *:nth-child(3) { animation-delay: .12s; }
.rn-grid > *:nth-child(4),
.rn-youtv-benefits-grid > *:nth-child(4),
.rn-rate-grid > *:nth-child(4) { animation-delay: .18s; }
.rn-grid > *:nth-child(5),
.rn-youtv-benefits-grid > *:nth-child(5),
.rn-rate-grid > *:nth-child(5) { animation-delay: .24s; }
.rn-grid > *:nth-child(6),
.rn-youtv-benefits-grid > *:nth-child(6),
.rn-rate-grid > *:nth-child(6) { animation-delay: .30s; }

.rn-hero-stat,
.rn-global-metrics div {
  animation: rnFloat 7.5s ease-in-out infinite;
}

.rn-hero-stat:nth-child(2),
.rn-global-metrics div:nth-child(2) { animation-delay: .8s; }
.rn-hero-stat:nth-child(3),
.rn-global-metrics div:nth-child(3) { animation-delay: 1.6s; }

.rn-page-hero::before,
.rn-hero::before,
.rn-youtv-hero::before {
  animation: rn-grid-drift 26s linear infinite, rnGridPulse 7s ease-in-out infinite;
}

@keyframes rnHeaderIn {
  from { opacity: 0; transform: translateY(-18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes rnHeroTextIn {
  from { opacity: 0; transform: translateY(22px); filter: blur(7px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes rnCardIn {
  from { opacity: 0; transform: translateY(22px); filter: blur(6px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes rnGridPulse {
  0%, 100% { opacity: .42; }
  50% { opacity: .82; }
}

@keyframes rnFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes rnFooterGradient {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 80% 50%; }
}

@media (max-width: 1180px) {
  .rn-header {
    min-height: 74px;
  }

  .rn-header-shell {
    min-height: 54px;
  }

  .rn-mobile-panel {
    inset: 76px 16px auto 16px;
  }
}

@media (max-width: 767px) {
  .rn-header {
    min-height: 72px;
  }

  .rn-logo-wrap img,
  .rn-logo img,
  .rn-logo-wrap .custom-logo,
  .rn-logo-wrap .custom-logo-link img {
    max-width: 146px !important;
    max-height: 48px !important;
  }

  .rn-mobile-panel {
    inset: 74px 14px auto 14px;
  }

  .rn-scroll-top {
    right: 16px;
    bottom: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal],
  .rn-header,
  .rn-hero-title,
  .rn-global-title,
  .rn-page-title,
  .rn-section-title,
  .rn-youtv-copy h1,
  .rn-hero-text,
  .rn-global-text,
  .rn-page-hero p,
  .rn-youtv-copy p,
  .rn-hero-actions,
  .rn-global-actions,
  .rn-settlement-hero-actions,
  .rn-youtv-actions,
  .rn-grid > *,
  .rn-youtv-benefits-grid > *,
  .rn-rate-grid > *,
  .rn-hero-stat,
  .rn-global-metrics div {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }
}

/* ========================================================================== 
   FINAL typography tight fix — must be at the very end of style.css
   ========================================================================== */
:root {
  --rn-heading-tight: -.032em;
  --rn-heading-soft: -.022em;
}

body {
  font-size: 15px;
  line-height: 1.6;
}

h1 {
  font-size: clamp(32px, 4.2vw, 52px);
}

h2 {
  font-size: clamp(25px, 3.1vw, 38px);
}

h3 {
  font-size: clamp(19px, 2vw, 25px);
}

.rn-section {
  padding: 74px 0;
}

.rn-section-head {
  gap: 10px;
  max-width: 660px;
  margin-bottom: 28px;
}

.rn-section-title,
.section-title {
  font-size: clamp(26px, 2.8vw, 38px) !important;
  line-height: 1.08;
  letter-spacing: var(--rn-heading-tight);
}

.rn-page-title,
.page-title,
.archive-title,
.single-title,
.settlement-title,
.documents-title,
.payments-title,
.services-title,
.rates-page-title {
  font-size: clamp(31px, 3.7vw, 48px) !important;
  line-height: 1.06;
  letter-spacing: var(--rn-heading-tight);
}

.rn-hero-title,
.rn-global-title,
.rn-home-hero-v5-title,
.provider-hero-title,
.rn-rates-title,
.rn-youtv-copy h1,
.rn-settlement-hero .rn-page-title {
  font-size: clamp(34px, 4.6vw, 56px) !important;
  line-height: 1.05;
  letter-spacing: var(--rn-heading-tight);
}

.rn-section-text,
.section-description,
.rn-hero-text,
.rn-global-text,
.rn-home-hero-v5-text,
.provider-hero-text,
.rn-rates-description,
.rn-page-hero p,
.rn-youtv-copy p,
.rn-rate-group-head p,
.rn-package-builder-head p,
.rn-youtv-benefit-card p {
  font-size: clamp(14px, 1.15vw, 16px) !important;
  line-height: 1.62;
}

.rn-page-hero,
.rn-settlement-hero {
  padding: 76px 0 56px !important;
}

.rn-hero,
.rn-hero-global,
.rn-youtv-hero {
  min-height: 680px;
}

.rn-hero-inner,
.rn-global-content,
.rn-youtv-hero-inner {
  padding-top: 108px;
  padding-bottom: 82px;
}

.rn-kicker,
.section-kicker,
.archive-kicker {
  margin-bottom: 12px;
  font-size: 10px;
  letter-spacing: .14em;
}

.rn-kicker::before,
.section-kicker::before,
.archive-kicker::before {
  width: 18px;
  height: 1px;
}

.rn-btn,
.rn-btn-secondary,
.rn-btn-ghost,
.rn-button,
.provider-button,
.rates-button,
.rate-card-button,
.wp-block-button__link,
button[type="submit"],
input[type="submit"] {
  min-height: 44px;
  padding: 10px 17px;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .035em;
}

.rn-card,
.rn-settlement-rate-card,
.rn-youtv-rate-card {
  padding: 20px;
}

.rn-card h3,
.rn-settlement-rate-card h4,
.rn-youtv-rate-card h3,
.rn-rate-group-head h3,
.rn-package-builder-head h3,
.rn-youtv-benefits-copy .rn-section-title {
  font-size: clamp(20px, 2.15vw, 30px) !important;
  line-height: 1.12;
  letter-spacing: var(--rn-heading-soft);
}

.rn-rate-price,
.rn-settlement-rate-card .rn-rate-price,
.rn-youtv-rate-card .rn-rate-price {
  font-size: clamp(24px, 2.35vw, 31px) !important;
  letter-spacing: -.035em;
}

.rn-rate-speed,
.rn-rate-features li,
.rn-package-selected li,
.rn-youtv-point,
.rn-card p,
.rn-rate-desc {
  font-size: 13px !important;
  line-height: 1.5;
}

.rn-pill {
  min-height: 24px;
  padding: 5px 8px;
  font-size: 9.5px;
}

.rn-rate-main-switch,
.rn-rate-sub-switch {
  min-height: 38px;
  padding: 8px 12px;
  font-size: 10.5px;
}

.rn-package-builder {
  margin-top: 46px;
  padding: clamp(20px, 2.8vw, 30px);
}

.rn-package-builder-layout {
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 16px;
}

.rn-package-option-group,
.rn-package-summary {
  padding: 16px;
}

.rn-package-option-group h4,
.rn-package-summary h4 {
  margin-bottom: 12px;
  font-size: 17px;
}

.rn-package-choice-body {
  padding: 11px 12px 11px 36px;
}

.rn-package-choice-body strong {
  font-size: 12.5px;
}

.rn-package-choice-body em {
  font-size: 11.5px;
}

.rn-package-total {
  font-size: clamp(26px, 2.7vw, 34px) !important;
}

.rn-youtv-screen {
  min-height: 200px;
}

.rn-youtv-screen strong {
  font-size: 42px !important;
}

.rn-youtv-benefit-card {
  min-height: 118px;
  padding: 18px;
}

.rn-global-metrics strong,
.rn-hero-stat strong {
  font-size: 22px !important;
}

.rn-global-metrics span,
.rn-hero-stat span {
  font-size: 11.5px !important;
}

.rn-footer-title {
  font-size: clamp(26px, 2.8vw, 36px) !important;
}

.rn-footer h3,
.rn-footer-card h3 {
  font-size: 18px !important;
}

.rn-modal-head h2 {
  font-size: clamp(28px, 3.2vw, 42px) !important;
}

@media (max-width: 860px) {
  .rn-section {
    padding: 60px 0;
  }

  .rn-page-hero,
  .rn-settlement-hero {
    padding: 66px 0 48px !important;
  }

  .rn-hero-title,
  .rn-global-title,
  .rn-home-hero-v5-title,
  .provider-hero-title,
  .rn-rates-title,
  .rn-youtv-copy h1,
  .rn-settlement-hero .rn-page-title {
    font-size: clamp(31px, 8.6vw, 46px) !important;
  }

  .rn-section-title,
  .section-title {
    font-size: clamp(24px, 7vw, 34px) !important;
  }

  .rn-page-title,
  .page-title,
  .archive-title,
  .single-title {
    font-size: clamp(28px, 8vw, 40px) !important;
  }

  .rn-package-builder-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  h1 {
    font-size: clamp(30px, 10vw, 42px) !important;
  }

  h2 {
    font-size: clamp(24px, 8vw, 34px) !important;
  }
}


/* ========================================================================== 
   Settlement package builder v6 — 3 service sections + total block below
   ========================================================================== */
.rn-package-builder {
  margin-top: 56px;
}

.rn-package-builder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.rn-package-builder-grid > .rn-package-option-group {
  min-width: 0;
  min-height: 100%;
}

.rn-package-option-group {
  display: flex;
  flex-direction: column;
  padding: 18px;
}

.rn-package-option-group h4 {
  margin-bottom: 14px;
}

.rn-package-subgroup + .rn-package-subgroup {
  margin-top: 16px;
  padding-top: 16px;
}

.rn-package-choice-body {
  min-height: 58px;
  align-content: center;
}

.rn-package-choice-body em {
  margin-top: 2px;
}

.rn-package-total-panel {
  grid-column: 1 / -1;
  position: relative !important;
  top: auto !important;
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin-top: 2px;
  padding: 22px;
  background:
    radial-gradient(circle at 92% 0%, rgba(127,210,255,.16), transparent 36%),
    rgba(255,255,255,.075);
  border-color: rgba(127,210,255,.20);
}

.rn-package-total-panel .rn-kicker {
  grid-column: 1 / -1;
  margin-bottom: -6px;
}

.rn-package-total-panel h4 {
  margin: 0;
  max-width: 260px;
  font-size: 18px;
  line-height: 1.18;
}

.rn-package-total {
  margin: 0;
  white-space: nowrap;
}

.rn-package-selected {
  min-height: auto;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.rn-package-selected li {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 10px 7px 22px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(127,210,255,.13);
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}

.rn-package-selected li::before {
  left: 9px;
}

.rn-package-order {
  width: auto;
  min-width: 160px;
  justify-self: end;
}

@media (max-width: 1100px) {
  .rn-package-builder-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rn-package-total-panel {
    grid-template-columns: 1fr auto;
  }

  .rn-package-total-panel h4,
  .rn-package-total {
    grid-column: auto;
  }

  .rn-package-selected {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .rn-package-builder-grid,
  .rn-package-total-panel {
    grid-template-columns: 1fr;
  }

  .rn-package-total-panel {
    gap: 14px;
  }

  .rn-package-order {
    width: 100%;
    min-width: 0;
    justify-self: stretch;
  }

  .rn-package-selected {
    display: grid;
  }
}

/* ==========================================================================
   Front page coverage map — oversized floating map
   ========================================================================== */

.rn-coverage-map-section,
.rn-coverage-map-layout,
.rn-coverage-map,
.rn-coverage-inline-map {
  overflow: visible !important;
}

.rn-coverage-map-section {
  position: relative;
  z-index: 1;
}

.rn-coverage-map-layout {
  align-items: center;
}

/* прибираємо “коробку” навколо карти */
.rn-coverage-map,
.rn-coverage-inline-map {
  min-height: 680px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
}

/* прибираємо затемнення/рамкові псевдо-шари саме з карти */
.rn-coverage-inline-map::before,
.rn-coverage-inline-map::after,
.rn-coverage-map::before,
.rn-coverage-map::after {
  display: none !important;
}

/* якщо був grid layer всередині карти — прибираємо, щоб карта не сиділа в “екрані” */
.rn-coverage-map-grid {
  display: none !important;
}

/* сама SVG-карта стає значно більшою за контейнер */
.rn-coverage-inline-wrap {
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  width: auto !important;
  height: 140% !important;
  aspect-ratio: 1227 / 1272;
  transform: translate(-50%, -50%) scale(1);
  transform-origin: center center;
  transition:
    transform .55s cubic-bezier(.16, 1, .3, 1),
    filter .55s cubic-bezier(.16, 1, .3, 1);
  filter:
    drop-shadow(0 0 36px rgba(55,127,190,.24))
    drop-shadow(0 26px 70px rgba(0,0,0,.18));
  z-index: 4;
}

/* hover +20% */
.rn-coverage-inline-map:hover .rn-coverage-inline-wrap,
.rn-coverage-map:hover .rn-coverage-inline-wrap {
  transform: translate(-50%, -50%) scale(1.2);
  filter:
    drop-shadow(0 0 54px rgba(127,210,255,.34))
    drop-shadow(0 34px 90px rgba(0,0,0,.24));
}

/* SVG не обмежуємо */
.rn-lviv-inline-svg {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
}

/* точки/мітки лишаються поверх карти */
.rn-coverage-inline-map .rn-coverage-point {
  z-index: 8;
}

.rn-coverage-inline-map .rn-coverage-label {
  z-index: 9;
}

/* мобільна версія — не роздуваємо так сильно */
@media (max-width: 980px) {
  .rn-coverage-map,
  .rn-coverage-inline-map {
    min-height: 560px;
  }

  .rn-coverage-inline-wrap {
    height: 135% !important;
  }

  .rn-coverage-inline-map:hover .rn-coverage-inline-wrap,
  .rn-coverage-map:hover .rn-coverage-inline-wrap {
    transform: translate(-50%, -50%) scale(1.08);
  }
}

@media (max-width: 640px) {
  .rn-coverage-map,
  .rn-coverage-inline-map {
    min-height: 430px;
  }

  .rn-coverage-inline-wrap {
    height: 112% !important;
  }

  .rn-coverage-inline-map:hover .rn-coverage-inline-wrap,
  .rn-coverage-map:hover .rn-coverage-inline-wrap {
    transform: translate(-50%, -50%) scale(1.04);
  }
}

/* Звужуємо колонку з картою, але сама карта лишається великою */
.rn-coverage-map-layout {
  grid-template-columns: minmax(320px, 0.72fr) minmax(260px, 0.48fr) !important;
  gap: 24px !important;
}

/* текстовий блок отримує більше місця */
.rn-coverage-map-copy {
  max-width: 620px;
}

/* блок карти стає вужчим */
.rn-coverage-map,
.rn-coverage-inline-map {
  width: min(100%, 460px);
  justify-self: end;
}

/* але сама карта всередині все одно більша за блок */
.rn-coverage-inline-wrap {
  height: 180% !important;
}

/* hover ще +20% */
.rn-coverage-inline-map:hover .rn-coverage-inline-wrap,
.rn-coverage-map:hover .rn-coverage-inline-wrap {
  transform: translate(-50%, -50%) scale(1.2);
}

@media (max-width: 980px) {
  .rn-coverage-map-layout {
    grid-template-columns: 1fr !important;
  }

  .rn-coverage-map,
  .rn-coverage-inline-map {
    width: 100%;
    justify-self: center;
  }

  .rn-coverage-inline-wrap {
    height: 135% !important;
  }
}