@font-face {
  font-family: Switzer;
  src: url('../fonts/Switzer-VariableItalic.woff2') format('woff2'), url('../fonts/Switzer-VariableItalic.ttf') format('truetype');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Switzer;
  src: url('../fonts/Switzer-Variable.woff2') format('woff2'), url('../fonts/Switzer-Variable.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --900: #101211;
  --100: white;
  --accent-light: #fff0d1;
  --400: #dbdbdb;
  --700: #202221;
  --600: #2e3130;
  --300: #ebebeb;
  --accent: #ffc44d;
  --800: #171918;
  /* vivid, for dark backgrounds only; #e60000 is the AA-legible shade used on white */
  --vodafone-red: #ff0000;
  --ee-teal: #03abc2;
  --bt-purple: #bf40ff;
  --200: #f7f7f7;
  --accent-medium: #ffda8f;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

body {
  background-color: var(--900);
  color: var(--100);
  font-family: Switzer, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
}

h1 {
  color: var(--100);
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  font-size: 4.5rem;
  font-weight: 500;
  line-height: 1;
}

h2 {
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 1.1;
}

h3 {
  letter-spacing: -.03em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
}

h4 {
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
}

h5 {
  letter-spacing: -.03em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.25;
}

h6 {
  letter-spacing: -.03em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.25;
}

p {
  opacity: .72;
  letter-spacing: -.01em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1.5;
}

a {
  color: var(--100);
  letter-spacing: -.01em;
  font-weight: 500;
  text-decoration: none;
  transition: transform .25s, opacity .25s;
  display: inline-block;
}

a:hover {
  opacity: .84;
}

a:active {
  transform: scale(.98);
}

ul, ol {
  margin-top: 0;
  margin-bottom: 1.5rem;
  padding-left: 0;
}

li {
  letter-spacing: .015em;
  margin-bottom: .25rem;
  margin-left: 1.5rem;
  padding-left: 1.25rem;
}

label {
  margin-bottom: .5rem;
  font-weight: 500;
  display: block;
}

strong {
  font-weight: 500;
}

blockquote {
  background-color: var(--accent-light);
  color: var(--900);
  border: .0625rem #000;
  border-radius: .75rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding: 2rem;
  font-family: Switzer, sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}

figcaption {
  color: var(--400);
  text-align: center;
  letter-spacing: .015em;
  margin-top: .75rem;
  font-size: .875rem;
}

.text-input {
  background-color: var(--700);
  min-height: 3.5rem;
  color: var(--100);
  border: .125rem solid #0000;
  border-radius: .5rem;
  margin-bottom: 0;
  padding: 1rem 1.25rem;
  font-size: 1rem;
  line-height: 1.5;
  transition: border .25s, background-color .25s;
}

.text-input:hover {
  background-color: var(--600);
}

.text-input:focus {
  border: .125rem solid var(--400);
}

.text-input::placeholder {
  color: var(--300);
}

.paragraph {
  color: var(--900);
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.5;
}

.paragraph.extra-large {
  font-size: 1.75rem;
  line-height: 1.4;
}

.paragraph.large {
  color: var(--accent);
  font-size: 1.25rem;
  line-height: 1.45;
}

.paragraph.large-dark {
  color: var(--900);
  font-size: 1.25rem;
  line-height: 1.45;
}

.heading {
  letter-spacing: -.02em;
  font-family: Switzer, sans-serif;
  font-weight: 400;
}

.heading.medium {
  letter-spacing: -.03em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
  display: block;
}

.heading.small {
  letter-spacing: -.03em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.25;
}

.heading.small._300 {
  font-weight: 300;
}

.heading.regular {
  color: var(--900);
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
}

.heading.extra-large {
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: .5rem;
  font-family: Switzer, sans-serif;
  font-size: 4.5rem;
  font-weight: 500;
  line-height: 1;
}

.heading.large {
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 1.1;
}

.heading.regular-white {
  color: var(--100);
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Switzer, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
}

.button-secondary {
  min-height: 3.5rem;
  color: var(--100);
  text-align: center;
  background-color: #ffffff14;
  border-radius: .5rem;
  flex: none;
  padding: 1rem 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  transition: transform .25s, opacity .25s;
}

.button-secondary:hover {
  opacity: .72;
}

.button-secondary:active {
  transform: scale(.98);
}

.button-secondary.small {
  border-style: none;
  border-radius: .375rem;
  min-height: 2.5rem;
  padding: .5625rem 1.25rem;
  font-size: .9375rem;
}

.button-secondary.small.hide-mobile-portrait {
  background-color: var(--700);
}

.text-box {
  max-width: 43.75rem;
}

.text-box._600px {
  max-width: 37.5rem;
  min-height: 4rem;
}

.field-label {
  color: var(--100);
  font-size: 1rem;
  font-weight: 500;
}

.section {
  background-color: var(--100);
  padding: 8rem 5rem;
  overflow: hidden;
}

.section.banner {
  background-color: var(--800);
  background-color: var(--100);
  text-align: center;
  justify-content: center;
  align-items: center;
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: .75rem;
  display: flex;
}

.section.is-relative {
  position: relative;
}

.text-color-light-purple {
  color: var(--accent-light);
}

.container-large {
  z-index: 0;
  width: 100%;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}

.container-large.centred {
  margin-left: auto;
  margin-right: auto;
}

.nav-link {
  background-color: var(--100);
  min-height: 2.5rem;
  color: var(--600);
  border-radius: .5rem;
  align-items: center;
  margin-left: .125rem;
  margin-right: .125rem;
  padding: 0 .875rem;
  font-size: .9375rem;
  transition: transform .25s, background-color .25s, opacity .25s;
  display: flex;
}

.nav-link:hover {
  background-color: var(--accent);
  opacity: .84;
}

.nav-link.w--current {
  z-index: 1;
  background-color: var(--700);
  color: var(--100);
}

.nav-link.w--current:hover {
  opacity: 1;
}

.nav-link.hide-extra {
  display: none;
}

/* Burger menu: set the Client Area / Setup Guides CTA group apart from the main nav links with a
   gap. Top-level so it covers the whole burger range (768–1279px, incl. iPad Pro at 1024px) and
   is inert on desktop where .hide-extra is display:none. Margin only — NOT padding/border — so it
   doesn't enlarge Client Area's hover highlight box. */
.nav-link:not(.hide-extra) + .nav-link.hide-extra {
  margin-top: 1.25rem;
}

/* Burger icon: animate the two bars into an X when the menu is open (.w--open is toggled by JS).
   The bars sit ~0.33rem above/below the icon centre, so translate each to the centre + rotate. */
.menu-icon-line-top,
.menu-icon-line-bottom {
  transition: transform .3s ease;
}
.nav-menu-button.w--open .menu-icon-line-top {
  transform: translateY(.328rem) rotate(45deg);
}
.nav-menu-button.w--open .menu-icon-line-bottom {
  transform: translateY(-.328rem) rotate(-45deg);
}

.nav {
  z-index: 2;
  background-color: var(--100);
  -webkit-backdrop-filter: blur(.375rem);
  backdrop-filter: blur(.375rem);
  -webkit-text-fill-color: inherit;
  background-clip: border-box;
  justify-content: space-between;
  align-items: center;
  height: 4.5rem;
  display: flex;
  position: sticky;
  top: 0;
}

.nav-menu {
  margin-right: -.25rem;
  display: flex;
}

.logo {
  margin-bottom: .25rem;
  padding-left: 0;
  display: inline-block;
  position: static;
}

.logo:hover {
  opacity: .72;
}

.nav-container {
  z-index: 0;
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  flex: 1;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  max-width: 100rem;
  height: 100%;
  padding-left: 5rem;
  padding-right: 5rem;
  display: flex;
  position: relative;
}

.logo-wrapper {
  grid-column-gap: 3rem;
  align-items: center;
  display: flex;
}

.footer-link {
  font-weight: 400;
  text-decoration: none;
}

.centre {
  margin-left: auto;
  margin-right: auto;
}

.button {
  background-color: var(--accent);
  min-height: 3.5rem;
  color: var(--900);
  text-align: center;
  border-radius: .5rem;
  flex: none;
  padding: 1rem 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  transition: transform .25s, opacity .25s;
}

.button:hover {
  background-color: var(--600);
  opacity: .88;
  color: var(--accent);
}

.button:active {
  transform: scale(.98);
}

.button.small {
  border-radius: .5rem;
  min-height: 2.5rem;
  padding: .5625rem 1rem;
  font-size: .9375rem;
}

.button.full-width {
  width: 100%;
}

.nav-menu-button {
  padding: 0;
}

.actions-wrapper {
  grid-column-gap: .75rem;
  display: flex;
}

.button-group {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-wrap: wrap;
  display: flex;
}

.faq-question {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 2.25rem 2rem 2.5rem;
  display: flex;
}

.faq-accordion {
  background-color: var(--800);
  border-style: none;
  border-width: .0625rem;
  border-radius: .75rem;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
}

.faq-content {
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  max-width: 33.75rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.faq-wrapper {
  grid-column-gap: 5rem;
  grid-row-gap: 4rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  display: flex;
}

.faq-answer {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  overflow: hidden;
}

.faq-list {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  grid-template-rows: auto;
  grid-template-columns: 100%;
  grid-auto-columns: 100%;
  place-items: start stretch;
  display: grid;
}

.image-wrapper {
  border-radius: .75rem;
  width: 100%;
  overflow: hidden;
}

.feature-content {
  max-width: 34rem;
}

.feature-item {
  grid-column-gap: 6rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-items: center start;
  display: grid;
}

.card-list {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: stretch start;
  display: grid;
}

.card-item {
  background-color: var(--600);
  border-radius: .75rem;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 2.5rem;
  display: flex;
}

.card-item.featured {
  background-color: var(--900);
  position: relative;
  overflow: hidden;
}

.divider-line {
  background-color: #ffffff0f;
  width: 100%;
  height: .0625rem;
}

.footer-column {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  align-items: flex-start;
  font-size: .875rem;
  font-weight: 400;
  display: flex;
}

.icon-large {
  width: 2rem;
  height: 2rem;
  color: var(--accent);
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.features-list {
  grid-column-gap: 3rem;
  grid-row-gap: 12.5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.header-content {
  text-align: left;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 38rem;
  display: flex;
}

.testimonials-list {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: stretch stretch;
  display: grid;
}

.pricing-features-list {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  flex-direction: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  margin-bottom: 2.5rem;
  display: flex;
}

.pricing-feature {
  grid-column-gap: .75rem;
  display: flex;
}

.text-color-accent {
  color: var(--accent);
}

.text-color-accent.text-weight-medium {
  color: var(--900);
}

.gradient-image {
  z-index: 0;
  object-fit: cover;
  background-color: #0a0a0a;
  background-image: radial-gradient(58% 78% at 12% 2%, rgba(255, 196, 77, .28), transparent 60%), radial-gradient(50% 65% at 88% 96%, rgba(3, 171, 194, .16), transparent 60%), radial-gradient(40% 55% at 70% 30%, rgba(191, 64, 255, .10), transparent 60%), linear-gradient(160deg, #202020, #0a0a0a 72%);
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.pricing-card-content {
  z-index: 1;
  flex-flow: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.cta-card-content {
  z-index: 1;
  grid-column-gap: 4rem;
  text-align: center;
  flex-flow: column;
  flex: 1;
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: relative;
}

.footer-grid {
  grid-column-gap: 2rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  align-items: start;
  width: 100%;
  display: grid;
}

.text-weight-medium {
  font-weight: 500;
}

.pricing-list {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: start;
  display: grid;
}

.feature-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.feature-image.luminosity {
  mix-blend-mode: luminosity;
}

.icon-24 {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--accent);
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.hero-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.faq-icon {
  width: 2rem;
  height: 2rem;
  color: var(--accent);
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.text-color-muted {
  opacity: .6;
}

.benefit-item {
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.icon-medium {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--accent);
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.text-gradient-overlay {
  background-image: linear-gradient(90deg, var(--600) 72%, var(--accent));
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.header-layout {
  grid-column-gap: 5rem;
  grid-row-gap: 5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  display: grid;
}

.grid-3-column {
  grid-column-gap: 5rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  align-items: start;
  display: grid;
}

.container-small {
  z-index: 0;
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}

.pricing-card {
  background-color: var(--800);
  border-radius: .75rem;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  height: 100%;
  padding: 2.5rem;
  display: flex;
}

.testimonials-card {
  background-color: var(--800);
  border-radius: 1.25rem;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 2.5rem;
  display: flex;
}

.testimonials-content-top {
  font-weight: 400;
}

.footer-bottom {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  font-size: .875rem;
  font-weight: 400;
  display: flex;
}

.image-grid {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: stretch stretch;
  display: grid;
}

.about-grid-image {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.about-grid-image-wrapper {
  border-radius: .75rem;
  width: 100%;
  overflow: hidden;
}

.background-color-accent {
  background-color: var(--accent);
}

.spacer-8 {
  background-color: #0000;
  flex: none;
  width: .5rem;
  height: .5rem;
}

.spacer-16 {
  background-color: #0000;
  flex: none;
  width: 1rem;
  height: 1rem;
  display: block;
}

.spacer-24 {
  text-transform: uppercase;
  background-color: #0000;
  flex: none;
  width: 1.5rem;
  height: 1.5rem;
}

.spacer-32 {
  background-color: #0000;
  border-radius: .375rem;
  flex: none;
  width: 2rem;
  height: 2rem;
}

.spacer-40 {
  background-color: #0000;
  flex: none;
  width: 2.5rem;
  height: 2.5rem;
}

.spacer-64 {
  background-color: #0000;
  flex: none;
  width: 4rem;
  height: 4rem;
  display: flex;
}

.spacer-80 {
  background-color: #0000;
  flex: none;
  width: 5rem;
  height: 5rem;
}

.spacer-96, .spacer-128 {
  background-color: #0000;
  flex: none;
  width: 6rem;
  height: 6rem;
}

.section-footer {
  background-color: var(--600);
  padding: 8rem 5rem;
  overflow: hidden;
}

.paragraph-white {
  color: var(--100);
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
}

.paragraph-white.extra-large {
  font-size: 1.75rem;
  line-height: 1.4;
}

.container-4 {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 1000px;
  padding-top: 10px;
  font-family: Switzer, sans-serif;
  display: flex;
}

.container-11 {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}

.page---faq-header {
  color: var(--900);
  text-align: left;
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: -.03em;
  line-height: 1.2;
}

.paragraph-3 {
  color: #424242;
  text-align: left;
  margin-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
}

.container-12 {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}

.page---faq-header-2 {
  color: var(--900);
  text-align: left;
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: -.03em;
  line-height: 1.2;
}

.paragraph-4 {
  color: #424242;
  text-align: left;
  margin-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
}

.link {
  color: var(--900);
}

.container-13 {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 1000px;
  padding-top: 10px;
  font-family: Switzer, sans-serif;
  display: flex;
}

.container-14 {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}

.page---faq-header-3 {
  color: var(--900);
  text-align: left;
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: -.03em;
  line-height: 1.2;
}

.paragraph-5 {
  color: #424242;
  text-align: left;
  margin-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
}

.container-15 {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}

.page---faq-header-4 {
  color: var(--900);
  text-align: left;
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: -.03em;
  line-height: 1.2;
}

.grid-4-column-use-case {
  grid-column-gap: 5rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  align-items: start;
  display: grid;
}

.feature-item-copy {
  grid-column-gap: 6rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-items: center start;
  display: grid;
}

.icon-use-cases {
  width: auto;
  height: 10rem;
  color: var(--accent);
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.chat-block {
  background-color: #fff;
  border-radius: 8px;
  width: 80%;
  padding: 15px;
}

.top-section {
  justify-content: space-between;
  align-items: center;
  height: 25%;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
}

.whatsapp-block {
  z-index: 800;
  flex-direction: column;
  align-items: flex-end;
  display: flex;
  position: fixed;
  inset: auto 30px 30px auto;
}

.close-live-chat-container {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 10%;
  height: 100%;
  display: flex;
}

.whatsapp-chat {
  background-color: #fff;
  border: 1px solid #00000029;
  border-radius: 20px;
  flex-direction: column;
  width: 300px;
  height: 315px;
  margin-bottom: 16px;
  display: none;
  position: relative;
  overflow: hidden;
}

.whatsapp-container {
  cursor: pointer;
  background-color: #25d366;
  border: 1px solid #ffffff4d;
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  transition: all .3s cubic-bezier(.45, .182, .111, .989);
  display: flex;
  position: relative;
  inset: auto 0% 0% auto;
}

.whatsapp-container:hover {
  background-color: #1faf55;
  transform: scale(1.05);
}

.small-whatsapp-icon {
  margin-right: 10px;
}

.live-chat-link {
  border-radius: 0;
  justify-content: center;
  align-items: center;
  height: 25%;
  text-decoration: none;
  display: flex;
}

.live-chat-top-text {
  color: var(--600);
  letter-spacing: 0;
  font-size: 12px;
  font-weight: 500;
  position: static;
}

.live-chat-top-text.block {
  color: var(--600);
  margin-bottom: 10px;
  font-size: 12px;
}

.live-icon-chat {
  margin-right: 0;
}

.live-chat-text {
  color: var(--100);
  text-decoration: none;
}

.chat-section {
  background-color: #e6ddd4;
  height: 50%;
  padding: 16px 20px;
}

.live-chat-bottom-text {
  color: var(--600);
  font-size: 10px;
}

.live-chat-bottom-text.block {
  color: var(--600);
  margin-bottom: 5px;
  font-size: 12px;
}

.livechat-button {
  background-color: #25d366;
  border-radius: 200px;
  justify-content: center;
  align-items: center;
  width: 80%;
  height: 42px;
  text-decoration: none;
  display: flex;
}

.livechat-button:hover {
  background-color: #1faf55;
}

.feature-item-index {
  grid-column-gap: 6rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: center start;
  display: grid;
}

.feature-item-index-points {
  grid-column-gap: 6rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-items: center start;
  display: grid;
}

.features-list-index {
  grid-column-gap: 3rem;
  grid-row-gap: 7.5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.vodafone---normal {
  color: var(--vodafone-red);
  font-weight: 600;
}

.ee---medium {
  color: var(--ee-teal);
  font-weight: 600;
}

.bt---medium {
  color: var(--bt-purple);
  font-weight: 600;
}

.bt---bold {
  color: var(--bt-purple);
  font-weight: 700;
}
/* Breadcrumb trail on the use-case pages. Mirrors the BreadcrumbList schema.
   Deliberately quiet: it's wayfinding, not a second eyebrow above the H1.
   The slot has no height — the trail floats up into the hero's existing top
   padding (8rem desktop / 6rem tablet), so it shifts no content down. Below
   the tablet breakpoint there isn't enough padding, so it returns to flow. */
.breadcrumb-slot {
  position: relative;
  height: 0;
}
.breadcrumb-slot .breadcrumb {
  position: absolute;
  bottom: 1.5rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .breadcrumb-slot {
    height: auto;
  }
  .breadcrumb-slot .breadcrumb {
    position: static;
    margin-bottom: 1.5rem;
  }
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: .8125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #5f6463;
}
.breadcrumb a {
  color: #5f6463;
  font-weight: 400;
  text-decoration: none;
}
.breadcrumb a:hover {
  color: var(--900);
  text-decoration: underline;
}
.breadcrumb [aria-current="page"] {
  color: #5f6463;
}
.breadcrumb-sep {
  color: #9ea3a2;
  margin: 0 .45rem;
}

/* Brand-name accents. Only ever used in product chrome — pricing-card headings,
   the "ISP (Provider):" row and buy buttons — never in prose. Darker, AA-legible
   shades on light sections; vivid shades on the dark pricing/CTA cards. */
.vodafone---normal {
  color: #e60000;
}
.ee---medium {
  color: #00767f;
}
.bt---medium,
.bt---bold {
  color: #7509b7;
}
.pricing-card .vodafone---normal,
.cta-card-content .vodafone---normal,
.card-item .vodafone---normal {
  color: var(--vodafone-red);
}
.pricing-card .ee---medium,
.cta-card-content .ee---medium,
.card-item .ee---medium {
  color: var(--ee-teal);
}
.pricing-card .bt---medium,
.pricing-card .bt---bold,
.cta-card-content .bt---medium,
.cta-card-content .bt---bold,
.card-item .bt---medium,
.card-item .bt---bold {
  color: var(--bt-purple);
}

.bold-text, .bold-text-2 {
  font-weight: 700;
}

@media screen and (min-width: 1920px) {
  .livechat-button:hover {
    background-color: #000;
    transform: scale(1.05);
  }
}

@media screen and (max-width: 991px) {
  h2 {
    font-size: 3.5rem;
  }

  .paragraph.extra-large {
    font-size: 1.5rem;
  }

  .button-secondary {
    position: relative;
  }

  .button-secondary.small.hide-mobile-portrait {
    display: none;
  }

  .section {
    padding: 6rem 4rem;
  }

  .container-large {
    overflow: hidden;
  }

  .nav-link {
    margin: .25rem 0;
  }

  .nav-link.hide-extra {
    display: flex;
  }

  .nav-menu {
    border-bottom: .0625rem solid var(--600);
    background-color: var(--100);
    width: 100vw;
    min-width: 100vw;
    color: var(--600);
    align-items: flex-start;
    margin-right: 0;
    padding: 1rem 3.125rem 2rem;
  }

  .nav-container {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .button {
    position: relative;
  }

  .button.small.hide-mobile-portrait {
    display: none;
  }

  .menu-icon {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    padding-bottom: 0;
    padding-right: 0;
    display: flex;
  }

  .nav-menu-button {
    background-color: var(--100);
    flex-direction: row;
    justify-content: center;
    margin-left: 1rem;
    margin-right: -.5rem;
    padding: 0;
    display: flex;
  }

  .nav-menu-button.w--open {
    background-color: #0000;
  }

  .actions-wrapper {
    align-items: center;
  }

  .menu-icon-line-bottom {
    background-color: var(--900);
    border-radius: .0625rem;
    width: 2rem;
    height: .15625rem;
    margin-top: .25rem;
    padding-bottom: 0;
    padding-right: 0;
  }

  .menu-icon-line-top {
    background-color: var(--900);
    border-radius: .0625rem;
    width: 2rem;
    height: .15625rem;
    margin-bottom: .25rem;
    padding-bottom: 0;
    padding-right: 0;
  }

  .faq-wrapper {
    grid-column-gap: 3rem;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: row;
    min-height: auto;
  }

  .faq-answer {
    padding-right: 2.5rem;
  }

  .feature-item {
    grid-column-gap: 3rem;
    grid-auto-flow: row;
    min-height: auto;
  }

  .testimonials-list {
    grid-template-columns: 1fr;
  }

  .cta-card-content {
    grid-column-gap: 2rem;
  }

  .pricing-list {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
  }

  .header-layout {
    grid-template-columns: 1fr;
  }

  .grid-3-column {
    grid-column-gap: 3rem;
    grid-template-columns: 1fr;
  }

  .container-small {
    overflow: hidden;
  }

  .image-grid {
    grid-column-gap: 3rem;
    grid-auto-flow: row;
    min-height: auto;
  }

  .section-footer {
    padding: 6rem 4rem;
  }

  .paragraph-white.extra-large {
    font-size: 1.5rem;
  }

  .container-4, .container-13 {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    max-width: none;
    padding-left: 10px;
    padding-right: 10px;
  }

  .grid-4-column-use-case {
    grid-column-gap: 3rem;
  }

  .feature-item-copy {
    grid-column-gap: 3rem;
    grid-auto-flow: row;
    min-height: auto;
  }

  .whatsapp-block {
    position: fixed;
    bottom: 20px;
    right: 20px;
  }

  .feature-item-index {
    grid-column-gap: 3rem;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    min-height: auto;
  }

  .feature-item-index-points {
    grid-column-gap: 3rem;
    grid-auto-flow: row;
    min-height: auto;
  }

  .features-list-index {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
  }
}

@media screen and (max-width: 767px) {
  h1 {
    font-size: 3.25rem;
  }

  h2 {
    font-size: 2.5rem;
  }

  h3 {
    font-size: 2rem;
  }

  h4 {
    font-size: 1.5rem;
  }

  h6 {
    letter-spacing: -.02em;
  }

  .heading.medium {
    font-size: 2rem;
  }

  .heading.extra-large {
    font-size: 3.25rem;
  }

  .heading.large {
    font-size: 2.5rem;
  }

  .button-secondary.small.hide-mobile-portrait, .section.banner {
    display: none;
  }

  .section.banner {
    display: block;
  }

  .container-large {
    width: 100%;
  }

  .nav-link.w--current {
    background-position: 0%;
  }

  .nav-menu {
    border-right: .0625rem solid var(--700);
    -webkit-backdrop-filter: blur(.375rem);
    backdrop-filter: blur(.375rem);
    margin-right: 0;
  }

  .nav-container {
    padding-left: 1rem;
  }

  .logo-wrapper {
    display: flex;
  }

  .button.small.hide-mobile-portrait {
    display: none;
  }

  .faq-wrapper, .feature-item {
    grid-row-gap: 3rem;
    grid-template-columns: 1fr;
  }

  .card-list {
    grid-template-columns: 1fr;
  }

  .features-list {
    grid-row-gap: 9rem;
  }

  .testimonials-list {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: row;
  }

  .pricing-list {
    grid-template-columns: 1fr;
  }

  .grid-3-column {
    grid-column-gap: 2rem;
    grid-row-gap: 3.5rem;
    grid-template-columns: 1fr;
  }

  .container-small {
    width: 100%;
  }

  .image-grid {
    grid-row-gap: 3rem;
    grid-template-columns: 1fr;
  }

  .spacer-8 {
    height: 1rem;
  }

  .spacer-16 {
    height: 1.25rem;
  }

  .spacer-24, .spacer-32, .spacer-40 {
    height: 2.5rem;
  }

  .spacer-64, .spacer-80 {
    width: 3.5rem;
    height: 3.5rem;
  }

  .spacer-96 {
    width: 4.5rem;
    height: 4.5rem;
  }

  .spacer-128 {
    height: 2.5rem;
  }

  .image {
    padding-right: 20px;
  }

  .container-4, .container-13 {
    flex-direction: column;
    display: flex;
  }

  .grid-4-column-use-case {
    grid-column-gap: 2rem;
    grid-row-gap: 3.5rem;
    grid-template-columns: 1fr;
  }

  .feature-item-copy {
    grid-row-gap: 3rem;
    grid-template-columns: 1fr;
  }

  .whatsapp-block {
    display: flex;
    bottom: 15px;
    right: 15px;
  }

  .feature-item-index, .feature-item-index-points {
    grid-row-gap: 3rem;
    grid-template-columns: 1fr;
  }

  .features-list-index {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
  }
}

@media screen and (max-width: 479px) {
  h1 {
    font-size: 2.5rem;
  }

  h2 {
    font-size: 2.125rem;
  }

  h4 {
    font-size: 1.375rem;
  }

  h5 {
    font-size: 1.25rem;
  }

  h6 {
    font-size: 1.125rem;
  }

  p {
    font-size: .9375rem;
  }

  li {
    padding-left: .75rem;
  }

  blockquote {
    padding-left: 1.5rem;
  }

  .text-input {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 1rem;
  }

  .paragraph {
    font-size: 1rem;
  }

  .paragraph.extra-large {
    font-size: 1.375rem;
  }

  .paragraph.large, .paragraph.large-dark {
    font-size: 1.0625rem;
  }

  .heading.medium {
    font-size: 2rem;
  }

  .heading.small {
    font-size: 1.25rem;
  }

  .heading.regular {
    font-size: 1.375rem;
  }

  .heading.extra-large {
    font-size: 2.5rem;
  }

  .heading.large {
    font-size: 2.125rem;
  }

  .heading.regular-white {
    font-size: 1.375rem;
  }

  .button-secondary {
    font-size: 1rem;
  }

  .button-secondary.small.hide-mobile-portrait {
    display: none;
  }

  .section {
    padding: 3.5rem 2.5rem;
  }

  .nav-menu {
    padding-left: 1.625rem;
    padding-right: 1.625rem;
  }

  .nav-container {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .button {
    font-size: 1rem;
  }

  .button.small.hide-mobile-portrait {
    display: none;
  }

  .nav-menu-button {
    background-color: var(--100);
  }

  .menu-icon-line-bottom, .menu-icon-line-top {
    background-color: var(--900);
  }

  .button-group {
    flex-direction: column;
    flex: 1;
    width: 100%;
  }

  .faq-question {
    padding: 1.5rem 1.75rem 1.5rem 2rem;
  }

  .faq-accordion {
    border-radius: 1rem;
  }

  .faq-wrapper {
    grid-template-columns: 1fr;
  }

  .faq-answer {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .image-wrapper {
    border-radius: 1rem;
  }

  .feature-item, .card-list {
    grid-template-columns: 1fr;
  }

  .card-item {
    border-radius: 1rem;
    padding: 2rem;
  }

  .footer-column {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
  }

  .icon-large {
    width: 2rem;
    height: 2rem;
  }

  .features-list {
    grid-row-gap: 6rem;
  }

  .testimonials-list {
    grid-template-columns: 1fr;
  }

  .pricing-features-list {
    margin-bottom: 2rem;
  }

  .footer-grid {
    grid-column-gap: 1.25rem;
    grid-row-gap: 2.5rem;
    grid-template-columns: 1fr 1fr;
  }

  .pricing-list {
    grid-template-columns: 1fr;
  }

  .benefit-item {
    border-radius: 1rem;
  }

  .header-layout {
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
  }

  .grid-3-column {
    grid-row-gap: 2.5rem;
  }

  .pricing-card, .testimonials-card {
    border-radius: 1rem;
    padding: 2rem;
  }

  .footer-bottom {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
  }

  .image-grid {
    grid-template-columns: 1fr;
  }

  .about-grid-image-wrapper {
    border-radius: 1rem;
  }

  .spacer-64, .spacer-80 {
    width: 3rem;
    height: 3rem;
  }

  .spacer-96 {
    width: 3.5rem;
    height: 3.5rem;
  }

  .section-footer {
    padding: 3.5rem 2.5rem;
  }

  .paragraph-white {
    font-size: .875rem;
  }

  .paragraph-white.extra-large {
    font-size: 1.375rem;
  }

  .image {
    padding-right: 20px;
  }

  .container-4, .container-13 {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-direction: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: space-between;
    align-items: stretch;
    display: block;
  }

  .grid-4-column-use-case {
    grid-row-gap: 2.5rem;
  }

  .feature-item-copy {
    grid-template-columns: 1fr;
  }

  .whatsapp-block {
    z-index: 800;
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    display: flex;
    bottom: 0;
    right: 0;
  }

  .whatsapp-chat {
    width: 100%;
    height: 40vh;
    position: relative;
  }

  .whatsapp-container {
    width: 80px;
    height: 80px;
    bottom: 10px;
    right: 0;
  }

  .feature-item-index, .feature-item-index-points {
    grid-template-columns: 1fr;
  }

  .features-list-index {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
  }
}

#w-node-b0923097-9a1c-2e93-3829-159c5cb4f2a8-67904f40 {
  align-self: stretch;
}

#w-node-_38f718e7-ef7d-cf1b-5d32-9110617504c1-617504ba, #w-node-d05e47e2-aa32-2547-947a-66fd2ccb7be0-617504ba {
  grid-area: span 2 / span 1 / span 2 / span 1;
}

#w-node-abad23f6-3206-d95e-518e-2548f4c4699b-f4c46996 {
  justify-self: center;
}

#w-node-abad23f6-3206-d95e-518e-2548f4c469b0-f4c46996 {
  justify-self: end;
}

#w-node-e7e52461-2e87-3abf-710f-75ecdb9ea0df-67904f49 {
  grid-area: span 2 / span 2 / span 2 / span 2;
}

@media screen and (max-width: 991px) {
  #w-node-b0923097-9a1c-2e93-3829-159c5cb4f2a8-67904f40 {
    order: 9999;
  }
}

@media screen and (max-width: 767px) {
  #w-node-b0923097-9a1c-2e93-3829-159c5cb4f2a8-67904f40 {
    order: 9999;
  }

  #w-node-e7e52461-2e87-3abf-710f-75ecdb9ea0df-67904f49, #w-node-b170b778-91f3-a691-491a-53d43b7c593f-67904f49, #w-node-_167a9262-f5dd-6e48-6c33-3bad0ee38821-67904f49 {
    order: -9999;
  }
}

@media screen and (max-width: 479px) {
  #w-node-b0923097-9a1c-2e93-3829-159c5cb4f2a8-67904f40 {
    order: 9999;
  }
}



/* === StreamVia custom (post-Webflow) ============================== *
 * Entrance reveal — replaces Webflow's IX2 "fade up on load" animation.
 * Applied to the elements that previously carried inline opacity/transform
 * styles (hero heading, buttons, image). If CSS or animations are disabled
 * the element simply renders in its natural, fully-visible state.
 * ================================================================== */
.reveal {
  animation: sv-reveal 0.6s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes sv-reveal {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .reveal { animation: none; }
}

/* FAQ accordion — height + icon-rotation transitions for the JS accordion.
 * (.faq-answer already sets overflow:hidden above.) Answers are collapsed by
 * default so there is no flash-of-open-content before streamvia.js runs; the
 * two FAQ pages carry a <noscript> rule that reopens them when JS is disabled. */
.faq-answer {
  height: 0;
  transition: height 0.3s ease;
}
.faq-icon {
  transition: transform 0.3s ease;
}
.faq-question.faq-open .faq-icon {
  transform: rotate(45deg);
}
/* Keyboard focus indicator for the div-based hamburger button (its default
 * outline is removed in base.css). */
.w-nav-button:focus-visible {
  outline: 2px solid var(--900);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .faq-answer,
  .faq-icon {
    transition: none;
  }
}

/* WhatsApp chat popup — fade + slide-up on open, matching the original
 * Webflow interaction (opacity 0 -> 1, translateY 20px -> 0). streamvia.js
 * toggles display and the .is-open class; the transition does the motion. */
.whatsapp-chat {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.whatsapp-chat.is-open {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .whatsapp-chat {
    transition: none;
  }
}

/* Initial-load top gap — restores the breathing room the (removed) empty
 * announcement bar used to give the nav on first paint. It's a white strip
 * that scrolls away; the sticky nav still pins flush to the top on scroll. */
body::before {
  content: "";
  display: block;
  height: 1.5rem;
  background-color: var(--100);
}

/* Use-case page 2-column hero (text + CTA beside the image) so the intro and
 * trial buttons read as part of the hero rather than floating above it. */
.uc-hero {
  grid-column-gap: 5rem;
  grid-row-gap: 3rem;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  display: grid;
}
@media screen and (max-width: 767px) {
  .uc-hero {
    grid-template-columns: 1fr;
  }
}

/* Secondary trial links inside the (monthly-focused) buy CTA card. */
.trial-link {
  color: var(--accent);
  text-decoration: underline;
}

/* In-content links (e.g. the 'Related use cases' row) sit on white sections,
 * where the site's default white link colour is invisible. Make paragraph
 * links use the brand accent so they're legible. */
.paragraph a {
  color: var(--900);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: .12em;
  text-underline-offset: .15em;
}

/* Visible secondary button for light sections (the stock .button-secondary is
 * white-on-translucent-white and disappears on white). */
.button-line {
  min-height: 3.5rem;
  color: var(--900);
  text-align: center;
  background-color: #0000;
  border: 1px solid var(--900);
  border-radius: .5rem;
  flex: none;
  padding: 1rem 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  transition: transform .25s, opacity .25s;
}
.button-line:hover { opacity: .68; }
.button-line:active { transform: scale(.98); }
/* check icon inside a benefit block */
.benefit-item .icon-24 { width: 1.5rem; height: 1.5rem; }

/* Use-case benefit blocks: relevant icon on the left, heading + text on the right. */
.benefit-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  grid-column-gap: 1rem;
}
.benefit-icon {
  width: 2rem;
  height: 2rem;
  flex: none;
  margin-top: .15rem;
}
/* Use-cases section intros: stretch full-width (heading spans the page),
   with the blurb capped to a readable line length. */
.uc-section-intro {
  max-width: none;
}
.uc-section-intro > .paragraph {
  max-width: 66rem;
}
/* Brand names inside gold buttons: force the dark, legible shades (buttons are light) */
.button .vodafone---normal, .w-button .vodafone---normal { color: #e60000; }
.button .ee---medium, .w-button .ee---medium { color: #00767f; }
.button .bt---medium, .button .bt---bold,
.w-button .bt---medium, .w-button .bt---bold { color: #7509b7; }
/* Button hover flips to a dark background, so brand names switch to the vivid shades */
.button:hover .vodafone---normal, .w-button:hover .vodafone---normal { color: var(--vodafone-red); }
.button:hover .ee---medium, .w-button:hover .ee---medium { color: var(--ee-teal); }
.button:hover .bt---medium, .button:hover .bt---bold,
.w-button:hover .bt---medium, .w-button:hover .bt---bold { color: var(--bt-purple); }
/* CTA (Ready to get started?) buttons: full-width & tidy on mobile */
@media screen and (max-width: 767px) {
  .cta-card-content .button-group {
    align-items: stretch;
  }
  .cta-card-content .button-group .button {
    width: 100%;
  }
}
/* Use-cases section intros: image auto-matches the text-block height (like the index tiles) */
.uc-intro {
  align-items: stretch;
  /* .feature-item's row-gap is 4rem; the generated use-case pages put an 80px
     spacer at the same seam, so top up the difference to match them. */
  margin-bottom: 1rem;
}
.uc-intro .image-wrapper {
  height: 100%;
  min-height: 16rem;
}
.uc-intro .feature-image {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* breadcrumb middle-crumb targets — clear the sticky nav */
#mobile-use-cases, #residential-use-cases { scroll-margin-top: 6rem; }

.pricing-feature a { color: inherit; opacity: .68; text-decoration: underline; text-decoration-style: dotted; text-decoration-thickness: 1px; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: .2em; transition: opacity .15s, color .15s, text-decoration-color .15s; }
.pricing-feature a:hover { opacity: 1; color: var(--accent); text-decoration-color: var(--accent); }
#faq { scroll-margin-top: 6rem; }

#faq-data-limit { scroll-margin-top: 6.5rem; }

/* Tablet / iPad (768–1279px): keep multi-column content 2-up instead of collapsing to a lone
   column. Each page's inline <style> forces these to 1fr across exactly this range (incl. iPad
   Pro 12.9" portrait = 1024px); higher specificity (0,2,0) beats those inline rules (0,1,0)
   without !important — via doubled classes, or :has() for the index cards.
   Applies to: money-page pricing tiles, testimonials, and the use-cases index cards.
   Deliberately EXCLUDES the 3-card grid-3-column rows (article Why/Trust + homepage feature
   trios) — 3 cards at 2-up leaves an awkward lone card, so those stay single-column on tablet.
   The index cards are singled out by :has(> .w-inline-block) (they're anchor cards). */
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .grid-3-column:has(> .w-inline-block),
  .pricing-list.pricing-list { grid-template-columns: 1fr 1fr; }
}

/* Use-cases index cards: "Read more →" affordance, pinned to the bottom of equal-height
   cards so it aligns across each row. Scoped to the anchor cards (.w-inline-block) so the
   article Why/Trust .benefit-item blocks are untouched. */
.grid-3-column:has(> .w-inline-block) { align-items: stretch; }
.benefit-item.w-inline-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
}
.benefit-item.w-inline-block::after {
  content: "Learn more →";
  margin-top: auto;
  padding-top: 1.25rem;
  color: var(--900);
  font-weight: 600;
  font-size: .9375rem;
  opacity: .82;
  transition: opacity .2s, transform .2s;
}
.benefit-item.w-inline-block:hover::after {
  opacity: 1;
  transform: translateX(4px);
}
