/* Site adaptation of Kaleido: readable editorial scale and explicit UI roles.
   Scoped overrides resolve typography inherited from legacy component layers. */
body.k-type {
  --ink: #102b43;
  --muted: #486174;
  --type-body: 16px;
  --type-small: 13px;
  font-family: "Inter Kaleido", Arial, sans-serif;
  font-size: var(--type-body);
  font-weight: 400;
  line-height: 1.7;
}
.k-type :is(h1, h2, h3, h4) {
  font-family: "Inter Kaleido", Arial, sans-serif !important;
  font-weight: 550 !important;
  letter-spacing: -.04em !important;
  line-height: 1.15 !important;
  text-wrap: balance;
}
.k-type :is(h1, .hero-marketing-title) {
  font-size: clamp(42px, 4.4vw, 68px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
.k-type h2 { font-size: clamp(30px, 3.05vw, 44px) !important; }
.k-type h3 { font-size: 22px !important; font-weight: 550 !important; line-height: 1.3 !important; letter-spacing: -.025em !important; }
.k-type h4 { font-size: 17px !important; font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: -.015em !important; }
.k-type :is(strong, b) { font-weight: 600 !important; }
.k-type :is(h1, h2, h3, h4) :is(strong, b, em, span):not(.material-symbols-outlined) { font-weight: inherit !important; letter-spacing: inherit !important; }
.k-type p {
  font-size: var(--type-body) !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: normal !important;
}
.k-type p:is(.hero-lead, .ds-hero-lead, .section-intro, .ai-spot-lead),
.k-type .thanks-intro > p:not(.eyebrow) {
  max-width: 60ch;
  font-size: 17px !important;
  line-height: 1.7 !important;
}
.k-type :is(.eyebrow, .form-kicker, .adserver-label),
.k-type .trust-grid small {
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}
.k-type .eyebrow { color: #075b96 !important; }
.k-type .eyebrow-light { color: #c3e5f5 !important; }
.k-type :is(.hero, .ds-hero, .ai-spot-section, .ds-config-result, .ds-ledwall, .ds-final, .final-cta, .thanks-intro, .policy-hero) > .eyebrow,
.k-type :is(.ai-spot-copy, .ds-final-copy, .ds-contact-copy, .ds-ledwall-copy, .final-grid > div:first-child) .eyebrow { color: #b9e1f2 !important; }
.k-type .section-intro { color: #486174; }
.k-type :is(.hero-copy, .ds-hero-copy, .ai-spot-copy, .ds-final-copy, .final-grid > div:first-child, .thanks-intro, .policy-hero) > p:not(.eyebrow) { color: #e0edf5 !important; }
.k-type .hero-accessibility strong { color: #fff !important; font-size: 20px; font-weight: 500 !important; }
.k-type .hero-accessibility p { color: #e0edf5 !important; }
/* UI controls use their own scale; FAQ and configurator buttons remain text. */
.k-type :is(button, input, select, textarea) { font-family: "Inter Kaleido", Arial, sans-serif; }
.k-type .button {
  min-height: 48px !important;
  padding: 13px 20px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: normal !important;
  text-align: center;
  white-space: normal;
  box-shadow: none !important;
  animation: none !important;
  transition: background-color .18s, border-color .18s, color .18s, box-shadow .18s;
}
.k-type .button::before { display: none; }
.k-type .button:hover, .k-type .button:hover span { transform: none !important; }
.k-type .button.button-primary,
.k-type .ds-price-action .button.button-lime {
  color: #fff !important;
  border: 1px solid #075b96 !important;
  background: #075b96 !important;
}
.k-type .button.button-primary:hover,
.k-type .ds-price-action .button.button-lime:hover { background: #064777 !important; border-color: #064777 !important; }
.k-type .button:is(.button-white, .button-lime) { color: #102b43 !important; border: 1px solid #fff !important; background: #fff !important; }
.k-type .button:is(.button-white, .button-lime):hover { background: #eaf3f9 !important; border-color: #eaf3f9 !important; }
.k-type .button.button-ghost,
.k-type .policy-actions .button.button-outline { color: #075b96 !important; border: 1px solid #8ca9bd !important; background: #fff !important; }
.k-type .button.button-ghost:hover { background: #edf4f9 !important; border-color: #075b96 !important; }
.k-type .button.button-outline { color: #fff !important; border: 1px solid #9ab7cb !important; background: #123a56 !important; }
.k-type .button.button-outline:hover { background: #1d4c6b !important; border-color: #d4e7f3 !important; }
.k-type :is(.site-header, .radio-nav-actions) .button { min-height: 44px !important; padding: 10px 14px !important; font-size: 13px !important; }
.k-type :is(.radio-nav, .ds-nav) > a { font-size: 13px !important; font-weight: 500 !important; }
.k-type :is(.radio-menu-toggle, .ds-menu-toggle) { font-size: 14px !important; font-weight: 500 !important; }
.k-type :is(.button, button, a, input, select, textarea):focus-visible { outline: 3px solid #1683c4; outline-offset: 4px; }
.k-type .button:disabled { opacity: .7; cursor: wait; }
/* Light glass keeps a substantial tint behind form text. */
.k-type :is(.form-card, .ds-form-card) { color: #102b43; background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(228,244,255,.88)) !important; border-color: rgba(255,255,255,.78) !important; backdrop-filter: blur(24px) saturate(140%) !important; -webkit-backdrop-filter: blur(24px) saturate(140%) !important; }
.k-type :is(.form-card, .ds-form-card, .thanks-card, .quote-dialog, .consent-summary) :is(h2, h3, .radio-form-title),
.k-type :is(#consent-title, #network-programming-title) { font-size: 24px !important; font-weight: 500 !important; line-height: 1.25 !important; letter-spacing: -.025em !important; }
.k-type .field label { color: #263f53; font-size: 13px !important; font-weight: 600 !important; }
.k-type :is(input, select, textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) { color: #102b43; font-size: 16px !important; font-weight: 400; line-height: 1.5; background: #fff !important; border-color: #9fb3c3 !important; }
.k-type :is(input, textarea)::placeholder { color: #526b7d !important; font-size: 14px !important; opacity: 1 !important; }
.k-type .field-hint { color: #486174; font-size: 12px !important; line-height: 1.5; }
.k-type .privacy-check { color: #40596d; font-size: 13px !important; line-height: 1.55; }
.k-type .privacy-check a { color: #075b96; text-underline-offset: 3px; }
.k-type p:is(.form-microcopy, .form-privacy, .ds-price-microcopy, .ds-hardware-note, .policy-updated),
.k-type .client-logos-caption { color: #486174 !important; font-size: 12px !important; line-height: 1.6 !important; }
.k-type p.consent-copy { color: #40596d; font-size: 14px !important; line-height: 1.6 !important; }
.k-type :is(.optional-field, .ds-contact-details) summary { font-size: 14px !important; font-weight: 500 !important; }
.k-type :is(.faq-list, .faq-item, .ds-faq) :is(h3, button) { font-size: 17px !important; font-weight: 500 !important; line-height: 1.45 !important; letter-spacing: -.015em !important; }
.k-type .ds-config-option { font-size: 15px !important; font-weight: 500 !important; }
.k-type .ds-config-option small { color: #486174; font-size: 13px; font-weight: 400; line-height: 1.5; }
.k-type .ds-config-result :is(.privacy-check, label) { color: #e0edf5; }
.k-type .ds-config-result .privacy-check a { color: #c3e5f5; }
.k-type .ds-config-result .eyebrow { color: #c3e5f5 !important; }
.k-type .ds-contact-reminder p { max-width: 65ch; }
/* Small informational typography keeps a readable floor without competing with H2. */
.k-type footer :is(h2, h3) { font-size: 14px !important; font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: .04em !important; }
.k-type footer { color: #bdcede; font-size: 13px; }
.k-type footer p { color: #bdcede; font-size: 13px !important; line-height: 1.65 !important; }
.k-type .footer-details strong { color: #d5e2ec; font-size: 12px; letter-spacing: .03em; }
.k-type .footer-contact-button { min-height: 44px; font-size: 13px; font-weight: 600; }
.k-type .footer-phone { font-weight: 500; }
.k-type .thanks-steps strong { font-size: 15px; }
.k-type .thanks-steps span:not(.thanks-step-icon) { color: #486174; font-size: 14px; line-height: 1.55; }
.k-type .trust-grid small { color: #486174; }
.k-type .trust-grid strong { font-weight: 500 !important; }
.k-type .trust-grid p { color: #486174; font-size: 14px !important; line-height: 1.6 !important; }
@media (max-width: 1100px) and (min-width: 801px) {
  .k-type :is(.radio-nav, .ds-nav) > a { font-size: 12px !important; }
}
@media (max-width: 800px) {
  body.k-type { --type-body: 15px; }
  .k-type :is(h1, .hero-marketing-title) { font-size: clamp(36px, 10vw, 46px) !important; line-height: 1.1 !important; letter-spacing: -.04em !important; }
  .k-type h2 { font-size: 32px !important; }
  .k-type h3 { font-size: 21px !important; }
  .k-type p:is(.hero-lead, .ds-hero-lead, .section-intro, .ai-spot-lead), .k-type .thanks-intro > p:not(.eyebrow) { font-size: 16px !important; }
  .k-type :is(.eyebrow, .form-kicker, .adserver-label) { font-size: 10.5px !important; letter-spacing: .1em !important; }
  .k-type :is(.radio-nav, .ds-nav) > a { font-size: 15px !important; }
  .k-type .button { padding-inline: 18px !important; }
}
/* Supporting roles previously carried weights up to 850. */
.k-type :is(small, summary, th, dt, dd, code) { font-weight: 600 !important; }
.k-type a:not(.button):not(.brand):not(.footer-phone) { font-weight: 500 !important; }
.k-type :is(.ds-detail-title, .ds-detail-open-label, .ds-detail-action, .service-bridge-action, .adserver-badge, .ds-price-saving, .ds-countdown, .value-reassurance-points span, .ds-cms-benefits span, .ds-installation-types span, .ds-content-tags span, .ds-queue-tags span) { font-weight: 600 !important; }
.k-type :is(.ds-offer-specs dt, .ds-client-story figcaption span) { color: #486174 !important; font-size: 13px !important; line-height: 1.55 !important; }
.k-type :is(.ds-offer-specs dd, .ds-tech-specs dd) { font-size: 14px !important; }
.k-type .hero-accessibility strong { font-weight: 500 !important; }
.k-type :is(.header-contact-copy small, .header-contact-copy strong) { font-weight: 500 !important; }
.k-type .header-contact-copy small { color: #c3d6e5; font-size: 10px; }
.k-type :is(.ai-service-modes small, .responsibility-grid small, .license-answers article small, .network-programming-heading small) { font-size: 11px !important; line-height: 1.5 !important; }
.k-type .ds-contact-badges li { color: #40596d; font-size: 12px; }
.k-type .ds-config-result .privacy-check a { color: #c3e5f5 !important; }
.k-type .ds-config-result .field label { color: #e0edf5 !important; }
/* Contrast on the radio technology section and the opening CTA. */
.k-type .technology-section .eyebrow { color: #b9e1f2 !important; }
.k-type .technology-section .section-intro { color: #e0edf5 !important; }
.k-type .hero-actions .button.button-primary { color: #102b43 !important; background: #fff !important; border-color: #fff !important; }
.k-type .hero-actions .button.button-primary:hover { background: #eaf3f9 !important; border-color: #eaf3f9 !important; }
.k-type .faq-group > h3 { font-size: 11px !important; font-weight: 600 !important; line-height: 1.5 !important; letter-spacing: .1em !important; }
.k-type .ds-detail-title { font-size: 17px; line-height: 1.4; }
.k-type :is(.contact-desktop-sticky, .contact-mobile-sticky) {
  color: #fff !important;
  background: #075b96 !important;
  border-color: #8bb9d5 !important;
  box-shadow: 0 8px 24px rgba(4, 26, 56, .18) !important;
  text-decoration: none;
}
.k-type .contact-desktop-sticky { min-width: 0; max-width: 320px; gap: 12px; padding: 14px 18px; }
.k-type .contact-desktop-sticky:hover { background: #064777 !important; transform: none; }
.k-type .contact-sticky-copy strong { font-size: 15px !important; font-weight: 600 !important; line-height: 1.35; }
.k-type .contact-sticky-copy > span { font-size: 13px !important; line-height: 1.4; }
.k-type .contact-sticky-icon { color: #075b96; }

/* Shared glass material: Radio, sectors, Digital Signage and utility pages. */
body.k-type {
  --glass-light: linear-gradient(135deg, rgba(255,255,255,.94), rgba(228,244,255,.88));
  --glass-dark: linear-gradient(135deg, rgba(28,69,101,.88), rgba(5,28,51,.9));
  --glass-light-shadow: inset 0 1px 0 rgba(255,255,255,.96), inset 1px 0 0 rgba(255,255,255,.55), 0 18px 48px rgba(7,40,68,.15);
  --glass-dark-shadow: inset 0 1px 0 rgba(222,246,255,.28), inset 1px 0 0 rgba(222,246,255,.12), 0 18px 48px rgba(0,17,35,.24);
}
body.k-type .site-header {
  background: linear-gradient(115deg, rgba(19,47,72,.91), rgba(7,28,49,.85)) !important;
  border-bottom: 1px solid rgba(204,235,255,.32);
  backdrop-filter: blur(22px) saturate(150%);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 8px 28px rgba(0,18,38,.14);
}
body.k-type :is(.form-card, .ds-form-card, .thanks-card, .policy-card, .quote-dialog, .consent-card) {
  background: var(--glass-light) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  box-shadow: var(--glass-light-shadow) !important;
  backdrop-filter: blur(24px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(140%) !important;
}
body.k-type :is(.form-card, .ds-form-card):focus-within {
  box-shadow: var(--glass-light-shadow), 0 0 0 3px rgba(119,213,250,.22) !important;
}
body.k-type :is(.form-card, .ds-form-card, .thanks-card)::before {
  height: 2px;
  background: linear-gradient(90deg, rgba(255,255,255,.25), #b3e9ff 50%, rgba(255,255,255,.25));
}
body.k-type :is(.ds-cost-option, .radio-playlist-points article, .ds-configurator-start, .ds-migration-box) {
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(225,241,252,.8)) !important;
  border: 1px solid rgba(180,211,231,.75);
  box-shadow: inset 0 1px 0 #fff, 0 12px 32px rgba(12,57,89,.09);
  backdrop-filter: blur(16px) saturate(135%);
  -webkit-backdrop-filter: blur(16px) saturate(135%);
}
body.k-type :is(.hero-accessibility, .network-monitor, .ds-project-card, .timed-trial-banner) {
  background: var(--glass-dark) !important;
  border: 1px solid rgba(179,224,249,.36) !important;
  box-shadow: var(--glass-dark-shadow) !important;
  backdrop-filter: blur(22px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
}
body.k-type :is(.contact-desktop-sticky, .contact-mobile-sticky) {
  background: linear-gradient(120deg, rgba(10,119,174,.94), rgba(5,70,119,.94)) !important;
  border: 1px solid rgba(190,234,255,.65) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 12px 32px rgba(0,44,77,.3) !important;
  backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
}
body.k-type .button {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 5px 15px rgba(3,45,73,.12) !important;
}
@media (max-width: 1280px) {
  body.k-type :is(.radio-header, .ds-header).has-menu :is(.radio-nav, .ds-nav) {
    background: linear-gradient(135deg, rgba(22,59,88,.96), rgba(5,25,45,.96)) !important;
    border-color: rgba(184,225,249,.4);
    box-shadow: var(--glass-dark-shadow);
    backdrop-filter: blur(22px) saturate(145%);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
  }
}
@media (max-width: 680px) {
  body.k-type :is(.form-card, .ds-form-card, .thanks-card, .policy-card, .quote-dialog, .consent-card, .hero-accessibility, .network-monitor, .ds-project-card, .timed-trial-banner) {
    backdrop-filter: blur(14px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
  }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.k-type { --glass-light: #f1f8fc; --glass-dark: #0d304c; }
}
@media (prefers-reduced-transparency: reduce) {
  body.k-type { --glass-light: #f1f8fc; --glass-dark: #0d304c; }
  body.k-type .site-header { background: #102d46 !important; }
}

/* Radio trial: compact terms below the footer brand, on its dark background. */
body[data-landing-variant] .footer-brand-block { display: grid; grid-template-columns: auto 1fr; gap: 24px 30px; }
body.k-type[data-landing-variant] .footer-brand-block > .radio-trial-terms { grid-column: 1 / -1; max-width: none; margin: 0; padding-top: 14px; border-top: 1px solid rgba(181, 197, 214, .22); color: #a8bbcd !important; font-size: 12px !important; line-height: 1.6 !important; text-align: left; white-space: normal; }
body[data-landing-variant] footer .footer-details { border-top: 0; padding-top: 0; }
body.k-type[data-landing-variant] .radio-form-invitation { font-size: 14px !important; line-height: 1.6 !important; }
@media (max-width: 800px) {
  body[data-landing-variant] .footer-brand-block { grid-template-columns: 1fr; }
  body[data-landing-variant] .footer-brand-block > .radio-trial-terms { grid-row: 2; }
}
