html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
button, fieldset, form, input, label, legend, textarea,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
}

input {
  border: 1px solid #000;
}

img {
  display: block;
  max-width: 100%;
}

html {
  height: 100%;
  font-size: 62.5%;
}

body {
  min-height: 100%;
  /*padding: 1.5rem;*/
}

a {
  color: hsla(var(--primary), 1);
  text-decoration: none;
}

a.inherit-color {
  color: inherit;
}

button, .button {
  display: inline-flex;
  justify-content: center;
  gap: 20px;
  padding: 2rem 6rem;
  background: hsla(var(--highlight), 1);
  border-radius: var(--border-radius);
  color: hsla(var(--darker), 1);
  font: bold 1.6rem/2rem "Hind", sans-serif;
}

.button.medium {
  padding: 3rem 5rem;
  font: bold 2rem/2.5rem "Hind", sans-serif;
}

.button.large {
  padding: 4rem 8rem;
  font: bold 4rem/4.5rem "Hind", sans-serif;
}

button.inverted,
.button.inverted {
  background: hsla(var(--darker), 1);
  border-radius: var(--border-radius);
  color: hsla(var(--lightest), 1);
}

input[type=submit],
button.submit,
a.submit {
  padding: 2rem 6rem;
  width: 100%;
  height: auto;
  background: hsla(var(--primary), 1);
  color: hsla(var(--lightest), 1);
  border: none;
  font: bold 1.6rem/3rem "Hind", sans-serif;
}

.button.submit.green,
button.submit.green {
  padding: 2rem 6rem;
  width: calc(100% - 1rem);
  height: auto;
  background: var(--green);
  color: hsla(var(--lightest), 1);
  border: none;
  font: bold 1.6rem/3rem "Hind", sans-serif;
}

ul {
  list-style: none;
}

.container {
  margin: 0 auto;
  max-width: 1200px;
}

.shadow {
  /*box-shadow: 0 2px 12px rgb(53 69 90 / 8%);*/
  box-shadow: 0 0 46px 0 rgb(62 62 62 / 9%)
}

.rounded {
  overflow: hidden;
  border-radius: var(--border-radius);
}

.rounded.large {
  border-radius: var(--border-radius-large);
}

.round {
  border-radius: 9999px;
  overflow: hidden;
}

.flat-r {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.flat-l {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.flat-t { border-top-left-radius: 0; border-top-right-radius: 0; }
.flat-b { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }


a.more {
  display: block;
  padding-top: 3rem;
  font-weight: 900;
}

a.more i {
  font-size: 25px;
}

a.more::before {
  display: block;
  position: relative;
  top: -3rem;
  content: "";
  width: 190px;
  height: 5px;
  background: hsla(var(--primary, 1));
  border-radius: var(--border-radius);
}

.pill {
  display: block;
  width: 190px;
  height: 5px;
  background: hsla(var(--primary, 1));
  border-radius: var(--border-radius);
}

.pill-bar {
  display: block;
  width: 100%;
  height: 5px;
  background: hsla(var(--primary, 1));
  border-radius: var(--border-radius);
}

.contain {
  position: relative;
  overflow: hidden;
}

.o-5 { opacity: 5%; }
.o-10 { opacity: 10%; }
.o-25 { opacity: 25%; }

.absolute { position: absolute; }
.relative { position: relative; }

.z-0  { z-index: 0; }
.z-10 { z-index: 10; }

.c-primary { color: hsla(var(--primary), 1); }
.c-lightest { color: hsla(var(--lightest), 1); }

.bg-primary { background: hsla(var(--primary), 1); }
.bg-dark { background: hsla(var(--dark), 1); }
.bg-darker { background: hsla(var(--darker), 1); }
.bg-light { background: hsla(var(--light), 1); }
.bg-lighter { background: hsla(var(--lighter), 1); }
.bg-lightest { background: hsla(var(--lightest), 1); }
.bg-highlight { background: hsla(var(--highlight), 1); }

.bg-white { background: #fff; }
.bg-blue { background: var(--blue); }
.bg-light-blue { background: var(--light-blue); }
.bg-very-light-blue { background: var(--very-light-blue); }
.bg-wc-teal { background: #57acaa; }
.bg-wc-blue { background: #295eab; }
.bg-green { background: var(--green); }
.bg-light-green { background: var(--light-green); }

.bg-dots { background: var(--blue) url('/assets/images/dots.png') 25% 50% no-repeat; background-size: auto 100%; }
.bg-sound { background: var(--blue) url('/assets/images/bg-sound.png') 100% 50% no-repeat; background-size: auto 100%; }
.bg-split { background: linear-gradient(90deg, var(--blue) 50%, var(--green) 50%); }

.wireless-carriers-features .round i {
  color: #fff;
}

.short-code-finder .lookup-intro .round i {
  color: #fff;
}

.short-code-finder .lookup-pair {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 3rem;
  justify-content: center;
}

.short-code-finder .lookup-pair__panel {
  display: flex;
  flex: 1 1 calc(50% - 1.5rem);
  max-width: calc(50% - 1.5rem);
  min-width: min(100%, 280px);
}

.short-code-finder .lookup-pair__panel > .lookup-intro,
.short-code-finder .lookup-pair__panel > .lookup-search {
  flex: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.short-code-finder .lookup-search .lookup-label {
  display: block;
  margin: 0 0 1rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--blue);
  letter-spacing: 0.02em;
}

@media (max-width: 1000px) {
  .short-code-finder .lookup-pair__panel {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.short-code-finder .lookup-result {
  box-sizing: border-box;
  border-radius: var(--border-radius);
  line-height: 1.5;
  font-size: 1.6rem;
  padding: 1.25rem 1.5rem;
  border-style: solid;
  border-width: 1px;
  border-color: transparent;
  border-left-width: 4px;
  border-left-color: transparent;
  min-height: 51px;
}

.short-code-finder .lookup-result.has-message {
  background: hsla(var(--lightest), 1);
  border-color: hsla(var(--darker), 0.1);
}

.short-code-finder .lookup-result.has-message.is-available {
  border-left-color: var(--green);
}

.short-code-finder .lookup-result.has-message.is-unavailable {
  border-left-color: hsla(var(--primary), 1);
}

.short-code-finder .lookup-result.has-message.is-invalid {
  border-left-color: hsla(var(--darker), 0.35);
}

.short-code-finder .lookup-result.is-available a {
  color: hsla(var(--primary), 1);
  font-weight: 700;
  text-decoration: underline;
}

.color-white { color: #fff; }
.color-blue { color: var(--blue); }
.color-light-blue { color: var(--light-blue); }
.color-green { color: var(--green); }
.color-light-green { color: var(--light-green); }

.email-address-rtl {
  display: inline-block;
  direction: rtl;
  unicode-bidi: bidi-override;
}

@media (max-width: 1000px) {
  body {
  }

  .sm-hidden {
    display: none;
  }
}

:root {
  --primary: 209, 100%, 36%;
  --dark: 216, 100%, 26%;
  --darker: 225, 45%, 9%;
  --light: 218, 100%, 90%;
  --lighter: 217, 100%, 97%;
  --lightest: 0, 0%, 100%;
  --highlight: 179, 100%, 36%;
  --blue: #2E4EA1;
  --light-blue: #73A6D8;
  --very-light-blue: #CCD9EB;
  --green: #459C9C;
  --light-green: #ECF5F5;

  --border-radius: 5px;
  --border-radius-large: 20px;
}

form {  
}

fieldset {
  padding: 2.25rem 0 0.75rem;
  border-top: 1px solid #00000011;
}

fieldset:first-child {
  border-top: none;
}

fieldset h1,
fieldset h2,
fieldset h3,
fieldset h4 {
  margin-top: 0;
}

label {
  display: block;
  width: 100%;
  margin: 2rem 0;
  color: hsla(var(--darker), 0.5);
  font-size: 1.5rem;
  font-weight: 300;
}

input,
select,
textarea {
  padding: 1rem 2rem;
  display: block;
  width: 100%;
  height: calc(6rem + 2px);
  font-size: 1.5rem;
  line-height: 4rem;
  border: 1px solid hsla(var(--darker), 0.25);
  border-radius: 5px;
}

textarea {
  height: calc(18rem + 2px);;
}

label.inline {
  margin: 0;
}

input.inline {
  display: inline-block;
  width: auto;
  height: 2rem;
}
input[type=text].inline {
  height: calc(6rem + 2px);
}

input.inline.small {
  max-width: 10rem;
}

label + input,
label + select,
label + textarea {
  margin-top: -0.75rem;
}

label input,
label select,
label textarea {
  margin-top: 0.75rem;
}

input[type=checkbox],
input[type=radio] {
  margin: 0 1rem 0 0;
  display: inline-block;
  width: auto;
  vertical-align: middle;
}

/* Components */
ul.form {
  margin: 0 0 1.5rem;
}

label + ul.form {
  margin-top: -0.75rem 0 1.5rem;
}

ul.form label {
  margin: 0 0 0.75rem;
}

.container {
  padding: 0 2rem;
  max-width: 1250px;
}

/* PADDING ALL */
.p-0  { padding: 0;     }
.p-1  { padding: 1rem;  }
.p-2  { padding: 2rem;  }
.p-3  { padding: 3rem;  }
.p-4  { padding: 4rem;  }
.p-5  { padding: 5rem;  }
.p-6  { padding: 6rem;  }
.p-9  { padding: 9rem;  }
.p-10 { padding: 10rem; }
.p-12 { padding: 12rem; }
.p-18 { padding: 18rem; }

/* PADDING X */
.px-0  { padding-right: 0;     padding-left: 0;     }
.px-1  { padding-right: 1rem;  padding-left: 1rem;  }
.px-2  { padding-right: 2rem;  padding-left: 2rem;  }
.px-3  { padding-right: 3rem;  padding-left: 3rem;  }
.px-4  { padding-right: 4rem;  padding-left: 4rem;  }
.px-5  { padding-right: 5rem;  padding-left: 5rem;  }
.px-6  { padding-right: 6rem;  padding-left: 6rem;  }
.px-9  { padding-right: 9rem;  padding-left: 9rem;  }
.px-10 { padding-right: 10rem; padding-left: 10rem; }
.px-12 { padding-right: 12rem; padding-left: 12rem; }
.px-18 { padding-right: 18rem; padding-left: 18rem; }

/* PADDING RIGHT */
.pr-0  { padding-right: 0;     }
.pr-1  { padding-right: 1rem;  }
.pr-2  { padding-right: 2rem;  }
.pr-3  { padding-right: 3rem;  }
.pr-4  { padding-right: 4rem;  }
.pr-5  { padding-right: 5rem;  }
.pr-6  { padding-right: 6rem;  }
.pr-9  { padding-right: 9rem;  }
.pr-10 { padding-right: 10rem; }
.pr-12 { padding-right: 12rem; }
.pr-18 { padding-right: 18rem; }

/* PADDING LEFT */
.pl-0  { padding-left: 0;     }
.pl-1  { padding-left: 1rem;  }
.pl-2  { padding-left: 2rem;  }
.pl-3  { padding-left: 3rem;  }
.pl-4  { padding-left: 4rem;  }
.pl-5  { padding-left: 5rem;  }
.pl-6  { padding-left: 6rem;  }
.pl-9  { padding-left: 9rem;  }
.pl-10 { padding-left: 10rem; }
.pl-12 { padding-left: 12rem; }
.pl-18 { padding-left: 18rem; }

/* PADDING Y */
.py-0  { padding-top: 0;     padding-bottom: 0;     }
.py-1  { padding-top: 1rem;  padding-bottom: 1rem;  }
.py-2  { padding-top: 2rem;  padding-bottom: 2rem;  }
.py-3  { padding-top: 3rem;  padding-bottom: 3rem;  }
.py-4  { padding-top: 4rem;  padding-bottom: 4rem;  }
.py-5  { padding-top: 5rem;  padding-bottom: 5rem;  }
.py-6  { padding-top: 6rem;  padding-bottom: 6rem;  }
.py-9  { padding-top: 9rem;  padding-bottom: 9rem;  }
.py-10 { padding-top: 10rem; padding-bottom: 10rem; }
.py-12 { padding-top: 12rem; padding-bottom: 12rem; }
.py-18 { padding-top: 18rem; padding-bottom: 18rem; }

/* PADDING TOP */
.pt-0  { padding-top: 0;     }
.pt-1  { padding-top: 1rem;  }
.pt-2  { padding-top: 2rem;  }
.pt-3  { padding-top: 3rem;  }
.pt-4  { padding-top: 4rem;  }
.pt-5  { padding-top: 5rem;  }
.pt-6  { padding-top: 6rem;  }
.pt-9  { padding-top: 9rem;  }
.pt-10 { padding-top: 10rem; }
.pt-12 { padding-top: 12rem; }
.pt-18 { padding-top: 18rem; }

/* PADDING BOTTOM */
.pb-0  { padding-bottom: 0;     }
.pb-1  { padding-bottom: 1rem;  }
.pb-2  { padding-bottom: 2rem;  }
.pb-3  { padding-bottom: 3rem;  }
.pb-4  { padding-bottom: 4rem;  }
.pb-5  { padding-bottom: 5rem;  }
.pb-6  { padding-bottom: 6rem;  }
.pb-9  { padding-bottom: 9rem;  }
.pb-10 { padding-bottom: 10rem; }
.pb-12 { padding-bottom: 12rem; }
.pb-18 { padding-bottom: 18rem; }

/* MARGIN X */
.mx-0  { margin-right: 0;     margin-left: 0;     }
.mx-1  { margin-right: 1rem;  margin-left: 1rem;  }
.mx-2  { margin-right: 2rem;  margin-left: 2rem;  }
.mx-3  { margin-right: 3rem;  margin-left: 3rem;  }
.mx-4  { margin-right: 4rem;  margin-left: 4rem;  }
.mx-5  { margin-right: 5rem;  margin-left: 5rem;  }
.mx-6  { margin-right: 6rem;  margin-left: 6rem;  }
.mx-9  { margin-right: 9rem;  margin-left: 9rem;  }
.mx-10 { margin-right: 10rem; margin-left: 10rem; }
.mx-12 { margin-right: 12rem; margin-left: 12rem; }
.mx-18 { margin-right: 18rem; margin-left: 18rem; }

/* MARGIN RIGHT */
.mr-0  { margin-right: 0;     }
.mr-1  { margin-right: 1rem;  }
.mr-2  { margin-right: 2rem;  }
.mr-3  { margin-right: 3rem;  }
.mr-4  { margin-right: 4rem;  }
.mr-5  { margin-right: 5rem;  }
.mr-6  { margin-right: 6rem;  }
.mr-9  { margin-right: 9rem;  }
.mr-10 { margin-right: 10rem; }
.mr-12 { margin-right: 12rem; }
.mr-18 { margin-right: 18rem; }

/* MARGIN LEFT */
.ml-0  { margin-left: 0;     }
.ml-1  { margin-left: 1rem;  }
.ml-2  { margin-left: 2rem;  }
.ml-3  { margin-left: 3rem;  }
.ml-4  { margin-left: 4rem;  }
.ml-5  { margin-left: 5rem;  }
.ml-6  { margin-left: 6rem;  }
.ml-9  { margin-left: 9rem;  }
.ml-10 { margin-left: 10rem; }
.ml-12 { margin-left: 12rem; }
.ml-18 { margin-left: 18rem; }

/* MARGIN Y */
.my-0  { margin-top: 0;     margin-bottom: 0;     }
.my-1  { margin-top: 1rem;  margin-bottom: 1rem;  }
.my-2  { margin-top: 2rem;  margin-bottom: 2rem;  }
.my-3  { margin-top: 3rem;  margin-bottom: 3rem;  }
.my-4  { margin-top: 4rem;  margin-bottom: 4rem;  }
.my-5  { margin-top: 5rem;  margin-bottom: 5rem;  }
.my-6  { margin-top: 6rem;  margin-bottom: 6rem;  }
.my-9  { margin-top: 9rem;  margin-bottom: 9rem;  }
.my-10 { margin-top: 10rem; margin-bottom: 10rem; }
.my-12 { margin-top: 12rem; margin-bottom: 12rem; }
.my-18 { margin-top: 18rem; margin-bottom: 18rem; }

/* MARGIN TOP */
.mt-n5 { margin-top: -5rem; }
.mt-0  { margin-top: 0;     }
.mt-1  { margin-top: 1rem;  }
.mt-2  { margin-top: 2rem;  }
.mt-3  { margin-top: 3rem;  }
.mt-4  { margin-top: 4rem;  }
.mt-5  { margin-top: 5rem;  }
.mt-6  { margin-top: 6rem;  }
.mt-9  { margin-top: 9rem;  }
.mt-10 { margin-top: 10rem; }
.mt-12 { margin-top: 12rem; }
.mt-18 { margin-top: 18rem; }

/* MARGIN BOTTOM */
.mb-0  { margin-bottom: 0;     }
.mb-1  { margin-bottom: 1rem;  }
.mb-2  { margin-bottom: 2rem;  }
.mb-3  { margin-bottom: 3rem;  }
.mb-4  { margin-bottom: 4rem;  }
.mb-5  { margin-bottom: 5rem;  }
.mb-6  { margin-bottom: 6rem;  }
.mb-9  { margin-bottom: 9rem;  }
.mb-10 { margin-bottom: 10rem; }
.mb-12 { margin-bottom: 12rem; }
.mb-18 { margin-bottom: 18rem; }

@media (max-width: 1000px) {
  /* PADDING ALL */
  .sm-p-0  { padding: 0;     }
  .sm-p-1  { padding: 1rem;  }
  .sm-p-2  { padding: 2rem;  }
  .sm-p-3  { padding: 3rem;  }
  .sm-p-4  { padding: 4rem;  }
  .sm-p-5  { padding: 5rem;  }
  .sm-p-6  { padding: 6rem;  }
  .sm-p-9  { padding: 9rem;  }
  .sm-p-10 { padding: 10rem; }
  .sm-p-12 { padding: 12rem; }
  .sm-p-18 { padding: 18rem; }

  /* PADDING X */
  .sm-px-0  { padding-right: 0;     padding-left: 0;     }
  .sm-px-1  { padding-right: 1rem;  padding-left: 1rem;  }
  .sm-px-2  { padding-right: 2rem;  padding-left: 2rem;  }
  .sm-px-3  { padding-right: 3rem;  padding-left: 3rem;  }
  .sm-px-4  { padding-right: 4rem;  padding-left: 4rem;  }
  .sm-px-5  { padding-right: 5rem;  padding-left: 5rem;  }
  .sm-px-6  { padding-right: 6rem;  padding-left: 6rem;  }
  .sm-px-9  { padding-right: 9rem;  padding-left: 9rem;  }
  .sm-px-10 { padding-right: 10rem; padding-left: 10rem; }
  .sm-px-12 { padding-right: 12rem; padding-left: 12rem; }
  .sm-px-18 { padding-right: 18rem; padding-left: 18rem; }

  /* PADDING RIGHT */
  .sm-pr-0  { padding-right: 0;     }
  .sm-pr-1  { padding-right: 1rem;  }
  .sm-pr-2  { padding-right: 2rem;  }
  .sm-pr-3  { padding-right: 3rem;  }
  .sm-pr-4  { padding-right: 4rem;  }
  .sm-pr-5  { padding-right: 5rem;  }
  .sm-pr-6  { padding-right: 6rem;  }
  .sm-pr-9  { padding-right: 9rem;  }
  .sm-pr-10 { padding-right: 10rem; }
  .sm-pr-12 { padding-right: 12rem; }
  .sm-pr-18 { padding-right: 18rem; }

  /* PADDING LEFT */
  .sm-pl-0  { padding-left: 0;     }
  .sm-pl-1  { padding-left: 1rem;  }
  .sm-pl-2  { padding-left: 2rem;  }
  .sm-pl-3  { padding-left: 3rem;  }
  .sm-pl-4  { padding-left: 4rem;  }
  .sm-pl-5  { padding-left: 5rem;  }
  .sm-pl-6  { padding-left: 6rem;  }
  .sm-pl-9  { padding-left: 9rem;  }
  .sm-pl-10 { padding-left: 10rem; }
  .sm-pl-12 { padding-left: 12rem; }
  .sm-pl-18 { padding-left: 18rem; }

  /* PADDING Y */
  .sm-py-0  { padding-top: 0;     padding-bottom: 0;     }
  .sm-py-1  { padding-top: 1rem;  padding-bottom: 1rem;  }
  .sm-py-2  { padding-top: 2rem;  padding-bottom: 2rem;  }
  .sm-py-3  { padding-top: 3rem;  padding-bottom: 3rem;  }
  .sm-py-4  { padding-top: 4rem;  padding-bottom: 4rem;  }
  .sm-py-5  { padding-top: 5rem;  padding-bottom: 5rem;  }
  .sm-py-6  { padding-top: 6rem;  padding-bottom: 6rem;  }
  .sm-py-9  { padding-top: 9rem;  padding-bottom: 9rem;  }
  .sm-py-10 { padding-top: 10rem; padding-bottom: 10rem; }
  .sm-py-12 { padding-top: 12rem; padding-bottom: 12rem; }
  .sm-py-18 { padding-top: 18rem; padding-bottom: 18rem; }

  /* PADDING TOP */
  .sm-pt-0  { padding-top: 0;     }
  .sm-pt-1  { padding-top: 1rem;  }
  .sm-pt-2  { padding-top: 2rem;  }
  .sm-pt-3  { padding-top: 3rem;  }
  .sm-pt-4  { padding-top: 4rem;  }
  .sm-pt-5  { padding-top: 5rem;  }
  .sm-pt-6  { padding-top: 6rem;  }
  .sm-pt-9  { padding-top: 9rem;  }
  .sm-pt-10 { padding-top: 10rem; }
  .sm-pt-12 { padding-top: 12rem; }
  .sm-pt-18 { padding-top: 18rem; }

  /* PADDING BOTTOM */
  .sm-pb-0  { padding-bottom: 0;     }
  .sm-pb-1  { padding-bottom: 1rem;  }
  .sm-pb-2  { padding-bottom: 2rem;  }
  .sm-pb-3  { padding-bottom: 3rem;  }
  .sm-pb-4  { padding-bottom: 4rem;  }
  .sm-pb-5  { padding-bottom: 5rem;  }
  .sm-pb-6  { padding-bottom: 6rem;  }
  .sm-pb-9  { padding-bottom: 9rem;  }
  .sm-pb-10 { padding-bottom: 10rem; }
  .sm-pb-12 { padding-bottom: 12rem; }
  .sm-pb-18 { padding-bottom: 18rem; }

  /* MARGIN X */
  .sm-mx-0  { margin-right: 0;     margin-left: 0;     }
  .sm-mx-1  { margin-right: 1rem;  margin-left: 1rem;  }
  .sm-mx-2  { margin-right: 2rem;  margin-left: 2rem;  }
  .sm-mx-3  { margin-right: 3rem;  margin-left: 3rem;  }
  .sm-mx-4  { margin-right: 4rem;  margin-left: 4rem;  }
  .sm-mx-5  { margin-right: 5rem;  margin-left: 5rem;  }
  .sm-mx-6  { margin-right: 6rem;  margin-left: 6rem;  }
  .sm-mx-9  { margin-right: 9rem;  margin-left: 9rem;  }
  .sm-mx-10 { margin-right: 10rem; margin-left: 10rem; }
  .sm-mx-12 { margin-right: 12rem; margin-left: 12rem; }
  .sm-mx-18 { margin-right: 18rem; margin-left: 18rem; }

  /* MARGIN RIGHT */
  .sm-mr-0  { margin-right: 0;     }
  .sm-mr-1  { margin-right: 1rem;  }
  .sm-mr-2  { margin-right: 2rem;  }
  .sm-mr-3  { margin-right: 3rem;  }
  .sm-mr-4  { margin-right: 4rem;  }
  .sm-mr-5  { margin-right: 5rem;  }
  .sm-mr-6  { margin-right: 6rem;  }
  .sm-mr-9  { margin-right: 9rem;  }
  .sm-mr-10 { margin-right: 10rem; }
  .sm-mr-12 { margin-right: 12rem; }
  .sm-mr-18 { margin-right: 18rem; }

  /* MARGIN LEFT */
  .sm-ml-0  { margin-left: 0;     }
  .sm-ml-1  { margin-left: 1rem;  }
  .sm-ml-2  { margin-left: 2rem;  }
  .sm-ml-3  { margin-left: 3rem;  }
  .sm-ml-4  { margin-left: 4rem;  }
  .sm-ml-5  { margin-left: 5rem;  }
  .sm-ml-6  { margin-left: 6rem;  }
  .sm-ml-9  { margin-left: 9rem;  }
  .sm-ml-10 { margin-left: 10rem; }
  .sm-ml-12 { margin-left: 12rem; }
  .sm-ml-18 { margin-left: 18rem; }

  /* MARGIN Y */
  .sm-my-0  { margin-top: 0;     margin-bottom: 0;     }
  .sm-my-1  { margin-top: 1rem;  margin-bottom: 1rem;  }
  .sm-my-2  { margin-top: 2rem;  margin-bottom: 2rem;  }
  .sm-my-3  { margin-top: 3rem;  margin-bottom: 3rem;  }
  .sm-my-4  { margin-top: 4rem;  margin-bottom: 4rem;  }
  .sm-my-5  { margin-top: 5rem;  margin-bottom: 5rem;  }
  .sm-my-6  { margin-top: 6rem;  margin-bottom: 6rem;  }
  .sm-my-9  { margin-top: 9rem;  margin-bottom: 9rem;  }
  .sm-my-10 { margin-top: 10rem; margin-bottom: 10rem; }
  .sm-my-12 { margin-top: 12rem; margin-bottom: 12rem; }
  .sm-my-18 { margin-top: 18rem; margin-bottom: 18rem; }

  /* MARGIN TOP */
  .sm-mt-n5 { margin-top: -5rem; }
  .sm-mt-0  { margin-top: 0;     }
  .sm-mt-1  { margin-top: 1rem;  }
  .sm-mt-2  { margin-top: 2rem;  }
  .sm-mt-3  { margin-top: 3rem;  }
  .sm-mt-4  { margin-top: 4rem;  }
  .sm-mt-5  { margin-top: 5rem;  }
  .sm-mt-6  { margin-top: 6rem;  }
  .sm-mt-9  { margin-top: 9rem;  }
  .sm-mt-10 { margin-top: 10rem; }
  .sm-mt-12 { margin-top: 12rem; }
  .sm-mt-18 { margin-top: 18rem; }

  /* MARGIN BOTTOM */
  .sm-mb-0  { margin-bottom: 0;     }
  .sm-mb-1  { margin-bottom: 1rem;  }
  .sm-mb-2  { margin-bottom: 2rem;  }
  .sm-mb-3  { margin-bottom: 3rem;  }
  .sm-mb-4  { margin-bottom: 4rem;  }
  .sm-mb-5  { margin-bottom: 5rem;  }
  .sm-mb-6  { margin-bottom: 6rem;  }
  .sm-mb-9  { margin-bottom: 9rem;  }
  .sm-mb-10 { margin-bottom: 10rem; }
  .sm-mb-12 { margin-bottom: 12rem; }
  .sm-mb-18 { margin-bottom: 18rem; }
}

.gap-1 { grid-gap: 1rem; }
.gap-2 { gap: 2rem; }
.gap-3 { gap: 3rem; }
.gap-4 { gap: 4rem; }
.gap-5 { gap: 4rem; }
.gap-6 { gap: 6rem; }

.grid {
  display: grid;
}

.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.col-span-5 {
  grid-column: span 5 / span 5;
}

.col-span-7 {
  grid-column: span 7 / span 7;
}

.col-span-12 {
  grid-column: span 12 / span 12;
}
	
.flex {
  display: flex;
}

.flex-inline {
  display: inline-flex;
}

.full {
  width: 100%;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-col {
  flex-flow: column wrap;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.flex-grow-1 {
  flex-grow: 1;
}

.flex-equal > * {
  flex: 0 1 1;
}

.float-left {
  float: left;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

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

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-stretch {
  align-items: stretch;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.col-1 { flex: 0 0 8.33%; }
.col-2 { flex: 0 0 16.66%; }
.col-3 { flex: 0 0 25%; }
.col-4 { flex: 0 0 33.33%; }
.col-5 { flex: 0 0 41.66%; }
.col-6 { flex: 0 0 50%; }
.col-7 { flex: 0 0 58.33%; }
.col-8 { flex: 0 0 66.66%; }
.col-9 { flex: 0 0 75%; }
.col-12 { flex: 0 0 100%; }

.bx-1 { border-right: 1px solid #ccc; border-left: 1px solid #ccc; }
.bt-1 { border-top: 1px solid hsla(var(--darker), .1); }
.bb-1 { border-bottom: 1px solid hsla(var(--darker), .1); }

.split > div {
  display: flex;
  width: 50%;
}

.split > .left {
  justify-content: flex-end;
}

.split > .right {
  justify-content: flex-start;
}

.split > .left > div {
  flex-grow: 1;
  width: 100%;
  max-width: 625px;
}

.split > .right > div {
  flex-grow: 1;
  width: 100%;
  max-width: 625px;
}

@media (max-width: 1000px) {
  .flex {
    flex-wrap: wrap;
  }

  [class*="col-"] {
    flex: 0 1 100% !important;
  }

  .sm-flex-order-n1 {
    order: -1;
  }

  .sm-flex-row {
    flex-flow: row nowrap;
  }
}

body {
  color: hsla(var(--darker), .6);
  font-family: 'Hind', sans-serif;
  font-size: 1.6rem;
  line-height: 1.5;
}

h1, h2, h3, h4 {
  color: hsla(var(--darker), 1);
  font-family: 'rotunda-variable';
}

h1 {
  font-size: 4.8rem;
  line-height: 1;
  margin: 0 0 6rem;
}

h1.large {
  font-size: 6.4rem;
}

h2 {
  font-size: 3.2rem;
  line-height: 1.25;
  margin: 0 0 2rem;
}

h3 {
  font-size: 2rem;
  margin: 0 0 1.5rem;
}

h4 {
  font-size: 1.4rem;
  margin: 0 0 1rem;
  letter-spacing: 1px;
}

p {
  margin: 0 0 2rem;
}

p.large {
  font-size: 2rem;
}

p.x-large {
  font-size: 3rem;
}

i {
  color: hsla(var(--primary), 1);
}

i.medium {
  font-size: 3rem;
}

i.large {
  font-size: 6rem;
}

i.x-large {
  font-size: 9rem;
}

i.xxx-large {
  font-size: 60rem;
}

@media (max-width: 1000px) {
  html {
    font-size: 50%;
  }

  h1.large {
    font-size: 4.8rem;
  }

  body, button, button.submit, input, input[type=submit], label, p {
    font-size: 2rem;
  }
}

header {
}

.announcement {
  padding: 0.75rem 0;
  background: hsla(var(--darker), 1);
  color: hsla(var(--lightest), 1);
  font-size: 1.4rem;
  line-height: 1.5rem;
}

.announcement strong {
  display: inline-block;
  margin: 0 1rem 0 0;
  padding: 0 1rem;
  background: hsla(var(--highlight), 1);
  color: hsla(var(--darker), 1);
  border-radius: 5px;
  font-size: 1rem;
}

header nav {
  border-bottom: 1px solid hsla(var(--darker), .1);
  width: 100%;
}

header nav.dark {
  background: var(--blue);
}

header nav .logo.dark,
header nav.dark .logo {
  display: none;
}

header nav.dark .logo.dark {
  display: block;
}

header nav.dark .container > ul > li > a {
  color: hsla(var(--lightest), 1);  
}

header nav.dark .container > ul > li > a i {
  color: var(--green);  
}

header nav .container {
  padding: 0 2rem;
  color: hsla(var(--darker), 1);
  font: bold 1.6rem/1 "Hind", sans-serif;
}

header img {
  height: 50px;
}

nav a.nav-toggle {
  display: none;
}

nav ul {
  justify-content: flex-end;
  z-index: 1000;
}

nav ul li {
  position: relative;
}

nav ul li a {
  display: block;
  padding: 1.5rem 0;
  margin: 0 4rem 0 0;
  color: hsla(var(--darkerer), 1);
  line-height: 2.4rem;
}

nav ul li a:hover {
  color: hsla(var(--primary), 1);
}

nav .expand:hover {
  color: inherit;
}

nav .expand i {
  padding: 0.5rem 1rem;
  vertical-align: middle;
}

nav ul.ul-level-2.hidden {
  display: none;
}

nav ul.ul-level-2 {
  display: block;
  position: absolute;
  left: 50%;
  margin: 0;
  padding: 2rem;
  width: 26rem;
  background: #fff;
  border-radius: 10px;
  border: 1px solid #eee;
  box-shadow: 0px 5px 40px rgba(0, 0, 0, 0.16);
  transform: translate3d(-50%, 0, 0);
  transition: opacity 50ms ease-in-out 0s;
}

nav ul.ul-level-2 a {
  padding: 0.75rem 0;
}

nav ul.ul-level-3.hidden {
  display: none;
}

nav ul.ul-level-3 {
  padding: 0 0 0 1rem;
  font-weight: normal;
  opacity: 1;
  transition: opacity 50ms ease-in-out 0s;
}

nav ul.ul-level-3 a {
  line-height: 1.2rem;
}

nav ul li a.sign-up {
  display: inline-block;

}

footer {
  margin-top: auto;
}

footer a {
  color: hsla(var(--lightest), 1);
  line-height: 2;
}

footer img {
  height: 40px;
}

footer .contact {
  position: relative;
  top: -6rem;
}

@media (max-width: 1000px) {
  footer .contact {
    top: 0;
  }
}

footer .contact h3 {
  color: hsla(var(--lightest), 1);
}

footer .contact p {
  padding-bottom: 2rem;
  color: hsla(var(--lightest), 0.7);
  border-bottom: 1px solid hsla(var(--lightest), 0.1);
}

footer .bg-primary .container.flex > ul {
  padding-inline-end: 1.6rem;
}

footer .footer-ip-notice-outer {
  width: 100%;
  border-top: 1px solid hsla(var(--lightest), 0.1);
}

footer .footer-ip-notice__text {
  font-size: 1.2rem;
  line-height: 1.45;
  color: hsla(var(--lightest), 0.5);
}

footer .copyright {
  color: hsla(var(--lightest), 0.5);
  font-size: 1.4rem;
}

footer .copyright-inner {
  justify-content: space-between;
  gap: 1.6rem 2.4rem;
}

footer .copyright-notice {
  flex: 0 1 auto;
  max-width: 50ch;
  line-height: 1.5;
}

footer .footer-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.8rem 2rem;
  flex: 1 1 24rem;
}

footer .copyright a {
  color: hsla(var(--lightest), 0.75);
  line-height: 1.5;
}

@media (max-width: 1000px) {
  header .announcement {
    display: none;
  }

  header nav.open {
    position: fixed;
    inset: 0;
    z-index: 1000;
    overflow: auto;
    background: #fff;
  }

  header nav.open .container ul {
    display: block;
    position: relative;
    width: calc(100% - 2px);
    box-shadow: none;
  }

  header nav.open a.expand {
    text-decoration: none;
  }

  header nav.open a.expand i {
    display: none;
  }

  header nav .container ul {
    display: none;
    margin: 3rem 0 0;
    padding: 3rem 0 0;
    font-size: 3rem;
    overflow: auto;
  }

  header nav.open .container ul.ul-level-2 {
    margin: 0;
    padding: 0;
  }

  header nav.open .container ul.ul-level-3 {
    margin: 0 0 0 4rem;
    padding: 0;
  }

  header nav .container ul li {
    flex: 0 1 100%;
    margin: 2rem 0 2rem;
  }

  header nav .container ul li a {
    margin: 0 4rem;
  }

  header nav .container a.nav-toggle {
    display: block;
    width: 4rem;
    height: 4rem;
    font-size: 4rem;
    line-height: 4rem;
    text-align: center;
  }

  footer .copyright {
    font-size: 1.6rem;
  }

  footer .copyright-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  footer .footer-legal {
    justify-content: flex-start;
    flex: 1 1 auto;
    width: 100%;
  }
}

.hero {
  background: url(/assets/images/heroes/01a.jpg);
  background-size: cover;
  color: #ffffffcc;
}

.hero h1 {
  color: #fff;
}

.hero-image {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

@media (max-width: 1000px) {
  .hero-image {
    position: relative;
    overflow: hidden;
    max-height: 420px;
    justify-content: center;
  }

  .hero-image:after {
    content: " ";
    position: absolute;
    top: 360px;
    z-index: 100;
    width: 100%;
    height: 60px;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
  }
}

.testimonials figure {
  flex: 0 0 calc(50% - 1rem);
  min-height: 285px;
}

@media (max-width: 1000px) {
  .testimonials figure {
    flex: 0 0 100%;
    min-height: 220px;
  }
}

.carriers .col-4 {
  flex: 0 0 calc(33.33% - 1rem);
  min-height: 315px;
}

.legal-menu {
  border-top: 1px solid hsla(var(--primary), 1);
  font-weight: 600;
}

.legal-menu li {
  border-bottom: 1px solid hsla(var(--primary), 0.1); 
}

.legal-menu li:last-child {
  border: none;
}

ul.bulleted {
  margin: 0 0 2rem;
  padding-left: 2.4rem;
  list-style-type: disc;
  list-style-position: outside;
}

ul.bulleted li {
  margin: 0 0 0.75rem;
  padding-left: 0.35rem;
}

ul.bulleted li:last-child {
  margin-bottom: 0;
}

.contact-us {
  display: grid;
  grid-template-columns: 1fr minmax(auto, 1210px) 1fr;
  justify-content: center;
  background: linear-gradient(90deg, hsla(var(--lightest), 1) 50%, hsla(var(--lighter), 1) 50%);
  border-bottom: 1px solid hsla(var(--primary), 0.1);
}

.contact-us .grid {
  display: grid;
  grid-template: 18rem auto 18rem/ repeat(12, 1fr);

  grid-column: 2 / span 1;
}

.contact-us .grid .intro {
  grid-column: 1 / span 4;
  grid-row: 2;
}

.contact-us .grid .form {
  grid-row: 2;
  grid-column: 7 / span 6;
}

.contact-us .grid .bg-lighter {
  grid-row: 1 / -1;
  grid-column: 6 / span 7;
}

.contact-us .form {
}

@media (max-width: 1000px) {
  .contact-us {
    background: none;
  }

  .contact-us .grid {
    grid-template: auto auto auto auto / repeat(12, 1fr);
    grid-column: 2 / span 1;
  }

  .contact-us .grid .intro {
    grid-row: 2;
    grid-column: 1 / -1;
  }

  .contact-us .grid .form {
    grid-row: 3;
    grid-column: 1 / -1;
    background: hsla(var(--lighter), 1);
  }

  .contact-us .bg-lighter {
    display: none;
  }
}

/* Get Started — confirmation (/get-started/confirmation/) */
.get-started-confirmation {
  border-bottom: 1px solid hsla(var(--primary), 0.08);
}

.get-started-confirmation__header-band {
  border-bottom: 1px solid hsla(var(--primary), 0.06);
}

.get-started-confirmation__header {
  max-width: min(100%, 96rem);
  margin: 0 auto;
}

.get-started-confirmation__header .large {
  color: hsla(var(--darker), 1);
  font-weight: 700;
}

.get-started-confirmation__icon i {
  color: #fff;
}

.get-started-confirmation__message {
  max-width: 48ch;
  margin-left: auto;
  margin-right: auto;
  color: hsla(var(--darker), 0.88);
  line-height: 1.55;
}

.simple {
  background: hsla(var(--lighter), 1);
}

.simple nav {
  border: none;
}

.simple .announcement,
.simple nav ul,
.simple footer > div:first-child {
  display: none;
}

.plans .basic {
  border: 3px solid var(--light-green);
}

.plans .enterprise {
  border: 3px solid hsla(var(--primary), 1);
}

.post-page__content {
  max-width: 90ch;
  margin: 0 auto;
}

.post-page__hero {
  width: 100%;
}

.post-page__title {
  color: hsla(var(--lightest), 1);
  margin-bottom: 0;
}

.post-page__content h2 {
  margin: 3rem 0 2rem;
}

.post-page__content h3 {
  margin: 3rem 0 1.5rem;
}

.post-page__content ol li {
  margin: 0 0 1.5rem;
}

.post-page__back-link {
  max-width: 90ch;
  margin-left: auto;
  margin-right: auto;
}

.root h1 { font-size: 6rem; }
.root h2 span { font-size: 1.6rem; font-weight: 400; }
.root h2 { font-size: 4rem; }
.root h3 { font-size: 3rem; }
.root h4 { font-size: 2.4rem; }
.root h5 { font-size: 1.8rem; }

.root p { font-size: 1.8rem; }
.root p.large { font-size: 2.4rem; }

.root .green { font-style: normal; color: #459C9C !important; }
.root .blue { font-style: normal; color: #A8CFFD !important; }
.root button, .root .button { background: #459C9C; color: #fff; }
.root h2.white { color: #fff; }
.root .c-lightest * { color: #fff; }
.root .blue-number li { position: relative; }
.root .blue-number span {
  position: absolute;
  left: -60px;
  display: inline-flex;
  justify-content: center;
  align-items: baseline;
  width: 40px;
  height: 40px;
  background: #2062AD;
  color: #fff;
  border-radius: 10px;
  line-height: 45px;
}

.root .bg-light-green { background: #ECF5F5; }
.root .bg-darkest { background: #000; }
.root .testimonials figure { box-shadow: 0 0 15px #00000040; }
.root .testimonials figure.fig-blue { --quote-color: #2062AD; }
.root .testimonials figure.fig-green { --quote-color: #459C9C; }
.root .testimonials figcaption { background: var(--quote-color); }
.root .testimonials figcaption img { position: relative; top: -15px; padding-bottom: 15px; }
.root .testimonials h1.x-large { margin-bottom: -3rem; font-size: 12rem; color: var(--quote-color) !important; }
.faq { cursor: pointer; }
.faq p { display: none; }
.root .selected,
.faq.selected { background: #fff; }
.selected p { display: block; }
.selected .ph-caret-down { transform: rotate(180deg); }

/* FAQs page — match homepage .root FAQ heading outside .root */
.faq-page-heading {
  font-size: 4rem;
  line-height: 1.15;
  margin: 0 0 2rem;
}

.faq-page-heading__eyebrow {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 400;
}

span.small { font-size: 1.6rem; font-weight: 400; }

/* Voice for Short Codes — hero (phone + HTML bubbles; edit copy in learn/voice-for-short-codes.md) */
.voice-101-hero {
  padding: 0;
}

.voice-101-hero__inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.voice-101-hero__center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(0.35rem, 1.2vw, 1rem);
  min-width: 0;
}

.voice-101-hero__head {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0;
  width: 100%;
}

.voice-101-hero__title {
  margin: 0;
  padding: 0;
}

.voice-101-hero__stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(auto, max-content) minmax(0, 1fr);
  gap: clamp(0.5rem, 1.5vw, 1.5rem) clamp(0.4rem, 1.2vw, 1.2rem);
  align-items: stretch;
  justify-items: stretch;
  min-height: clamp(30rem, 52vw, 46rem);
  padding: 0;
  margin: 0;
}

/* Message columns: full stage height; rows 10% / 35% / 10% / 35% / 10% (top / bubble / mid / bubble / bottom) */
.voice-101-hero__col {
  display: grid;
  grid-template-rows: 10fr 35fr 10fr 35fr 10fr;
  min-width: 0;
  min-height: 0;
  align-self: stretch;
}

.voice-101-hero__col .voice-101-bubble:first-of-type {
  grid-row: 2;
}

.voice-101-hero__col .voice-101-bubble:last-of-type {
  grid-row: 4;
}

.voice-101-hero__col--left {
  justify-items: end;
}

.voice-101-hero__col--right {
  justify-items: start;
}

/* Phone art: show top third of 02.png (504×1014); bottom is clipped */
.voice-101-hero__phone {
  --voice-101-phone-intrinsic-w: 504;
  --voice-101-phone-intrinsic-h: 1014;
  --voice-101-phone-visible-rows: 3;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
  overflow: hidden;
  width: min(100%, clamp(22rem, 42vw, 40rem));
  margin-inline: auto;
  aspect-ratio: var(--voice-101-phone-intrinsic-w) / calc(var(--voice-101-phone-intrinsic-h) / var(--voice-101-phone-visible-rows));
}

.voice-101-hero__phone-img {
  width: 100%;
  height: auto;
  display: block;
  flex-shrink: 0;
}

.voice-101-bubble {
  --voice-101-bubble-bg: #d1e1ef;
  --bubble-shift-x: 0px;
  position: relative;
  box-sizing: border-box;
  width: auto;
  max-width: min(100%, 38rem);
  min-height: 0;
  height: 100%;
  max-height: 100%;
  padding: clamp(1.4rem, 1.8vw, 2rem) clamp(1.5rem, 2vw, 2.2rem) clamp(1.5rem, 1.9vw, 2.1rem);
  border-radius: 1.5rem;
  background: var(--voice-101-bubble-bg);
  color: var(--blue);
  font-size: clamp(1.35rem, 1.1vw + 1.05rem, 1.75rem);
  line-height: 1.4;
  text-align: left;
  box-shadow: 0 1px 2px rgb(0 35 80 / 8%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: translate(var(--bubble-nudge-x, 0), var(--bubble-nudge-y, 0)) translateX(var(--bubble-shift-x));
}

.voice-101-hero__col--left .voice-101-bubble:first-of-type {
  --bubble-shift-x: -5px;
}

.voice-101-hero__col--left .voice-101-bubble:last-of-type {
  --bubble-shift-x: 6px;
}

.voice-101-hero__col--right .voice-101-bubble:first-of-type {
  --bubble-shift-x: 7px;
}

.voice-101-hero__col--right .voice-101-bubble:last-of-type {
  --bubble-shift-x: -6px;
}

.voice-101-bubble__text {
  margin: 0;
}

.voice-101-bubble__text strong {
  font-weight: 700;
}

/* Border triangle tails (tip toward phone / center) */
.voice-101-bubble--tail-right::after {
  content: "";
  position: absolute;
  right: 1.75rem;
  bottom: -12px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 0 24px;
  border-color: var(--voice-101-bubble-bg) transparent;
  filter: drop-shadow(1px 1px 0 rgb(0 35 80 / 7%));
}

.voice-101-bubble--tail-left::after {
  content: "";
  position: absolute;
  left: 1.75rem;
  bottom: -12px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 24px 0 0;
  border-color: var(--voice-101-bubble-bg) transparent;
  filter: drop-shadow(-1px 1px 0 rgb(0 35 80 / 7%));
}

@media (max-width: 900px) {
  .voice-101-hero__stage {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.2rem;
    min-height: 0;
  }

  .voice-101-hero__col--left,
  .voice-101-hero__col--right,
  .voice-101-hero__center {
    display: contents;
  }

  .voice-101-hero__head {
    order: 1;
    width: 100%;
  }

  .voice-101-hero__col--left .voice-101-bubble:nth-child(1) {
    order: 2;
  }

  .voice-101-hero__col--right .voice-101-bubble:nth-child(1) {
    order: 3;
  }

  .voice-101-hero__phone {
    order: 4;
    width: min(22rem, 88vw);
    align-self: center;
  }

  .voice-101-hero__col--left .voice-101-bubble:nth-child(2),
  .voice-101-hero__col--right .voice-101-bubble:nth-child(2) {
    display: none;
  }

  .voice-101-hero__stage .voice-101-bubble {
    grid-row: auto;
    width: 100%;
    max-width: 36rem;
    height: auto;
    max-height: none;
    margin-inline: auto;
    align-self: center;
  }
}

/* Solution pages — phone (02.png) + editable teal bubble overlay (replaces solutions_*_blank.png) */
.solution-phone-visual {
  position: relative;
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  padding-bottom: 0;
  margin-bottom: 0;
}

/* Desktop: full phone (no crop). Max height 70rem. */
.solution-phone-visual__phone-wrap {
  overflow: visible;
  width: fit-content;
  max-width: 100%;
}

.solution-phone-visual__phone {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 70rem;
  height: auto;
}

.solution-phone-visual__bubble {
  --s-bubble-bg: var(--green);
  position: absolute;
  z-index: 1;
  box-sizing: border-box;
  left: -20%;
  width: 72%;
  top: 40%;
  min-height: min(28%, 11rem);
  padding: clamp(1rem, 2.4vw, 1.55rem) clamp(1.2rem, 2.8vw, 1.85rem);
  border-radius: 1.35rem;
  background: var(--s-bubble-bg);
  color: hsla(var(--lightest), 1);
  font-size: clamp(1.15rem, 1vw + 0.95rem, 1.45rem);
  line-height: 1.38;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  box-shadow: 0 2px 10px rgb(0 40 60 / 14%);
}

.solution-phone-visual__bubble-label {
  margin: 0 0 0.45em;
  font-size: clamp(0.95rem, 0.85vw + 0.8rem, 1.1rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.95;
}

.solution-phone-visual__bubble-text {
  margin: 0;
}

.solution-phone-visual__bubble-text + .solution-phone-visual__bubble-cta {
  margin-top: 0.65em;
}

.solution-phone-visual__bubble-cta {
  margin: 0;
  font-weight: 600;
  font-size: 0.94em;
  line-height: 1.35;
}

.solution-phone-visual__bubble-text strong {
  font-weight: 700;
}

.solution-phone-visual__bubble--tail-br::after {
  content: "";
  position: absolute;
  right: 1.75rem;
  bottom: -12px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 0 24px;
  border-color: var(--s-bubble-bg) transparent;
  filter: drop-shadow(1px 1px 0 rgb(0 35 80 / 12%));
}

@media (max-width: 640px) {
  .solution-phone-visual__phone-wrap {
    overflow: hidden;
    width: min(100%, 42rem);
    max-width: 100%;
    max-height: 70rem;
    aspect-ratio: 504 / 507;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }

  .solution-phone-visual__phone {
    width: 100%;
    max-height: none;
    flex-shrink: 0;
  }

  .solution-phone-visual__bubble {
    left: 2%;
    width: 78%;
    top: 60%;
    min-height: 22%;
    font-size: clamp(1.05rem, 3.4vw, 1.35rem);
    padding: 1rem 1.15rem;
  }

  .solution-phone-visual__bubble--tail-br::after {
    right: 1.2rem;
    bottom: -10px;
    border-width: 10px 0 0 18px;
  }
}

/* Voice for Short Codes — Get Connected */
.voice-get-connected__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 3rem 2.4rem;
  align-items: center;
}

.voice-get-connected__intro {
  grid-column: span 5;
  min-width: 0;
  text-align: center;
}

.voice-get-connected__eyebrow {
  margin: 0 0 1rem;
}

.voice-get-connected__title {
  margin: 0 0 2rem;
  font-size: clamp(2.8rem, 4vw, 4.4rem);
  line-height: 1.15;
  font-weight: 700;
}

.voice-get-connected__visual {
  grid-column: span 7;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
}

.voice-get-connected__phone {
  position: relative;
  width: fit-content;
  max-width: 100%;
  max-height: 900px;
  margin-left: auto;
}

.voice-get-connected__phone-bg {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 900px;
}

@media (max-width: 1000px) {
  .voice-get-connected__layout {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .voice-get-connected__intro,
  .voice-get-connected__visual {
    grid-column: 1 / -1;
  }

  .voice-get-connected__visual {
    justify-content: center;
  }

  .voice-get-connected__phone {
    margin-left: auto;
    margin-right: auto;
  }
}

.voice-get-connected__phone-screen {
  position: absolute;
  left: 9%;
  right: 9%;
  top: 33%;
  bottom: 3%;
  overflow-y: auto;
  padding: 1rem 0.75rem;
  box-sizing: border-box;
  border-radius: 0.4rem;
  background: hsla(var(--lightest), 0.94);
  -webkit-overflow-scrolling: touch;
}

.voice-get-connected__features {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}

.voice-get-connected__feature {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}

.voice-get-connected__icon-wrap {
  flex-shrink: 0;
  box-sizing: border-box;
  width: 5.2rem;
  height: 5.2rem;
  padding: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.voice-get-connected__icon-wrap i {
  font-size: 2.8rem;
  line-height: 1;
  color: #fff;
}

.voice-get-connected__phone-screen h3 {
  margin: 0 0 0.5rem;
  font-size: 1.9rem;
  line-height: 1.3;
  font-weight: 700;
  color: var(--blue);
}

.voice-get-connected__phone-screen p {
  margin: 0;
  font-size: 1.55rem;
  line-height: 1.45;
  color: hsla(var(--darker), 0.85);
}

/* Voice for Short Codes — FAQ intro (boxed list matches /faqs/) */
.voice-faq__head {
  max-width: min(100%, 48rem);
  margin: 0 auto 3rem;
}

.voice-faq__eyebrow {
  margin: 0 0 0.75rem;
}

.voice-faq__title {
  margin: 0 0 1.5rem;
  font-size: clamp(2.4rem, 3.5vw, 3.6rem);
  line-height: 1.2;
  font-weight: 700;
}

.voice-faq__more {
  margin-left: auto;
  margin-right: auto;
  max-width: max-content;
}

.voice-faq__row {
  width: 100%;
}

.voice-faq__box {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
}

/* Content library index — alternating row backgrounds */
.content-library-list > .content-library-item:nth-child(3n + 1) {
  background: var(--blue);
}

.content-library-list > .content-library-item:nth-child(3n + 2) {
  background: var(--green);
}

.content-library-list > .content-library-item:nth-child(3n + 3) {
  background: var(--light-blue);
}

.content-library-item {
  color: hsla(var(--lightest), 1);
}

.content-library-item__heading,
.content-library-item__title {
  color: hsla(var(--lightest), 1);
}

.content-library-item__heading {
  margin-bottom: 1.25rem;
}

.content-library-item__title {
  margin-bottom: 1.5rem;
}

.content-library-item__title a {
  color: hsla(var(--lightest), 1);
  text-decoration: underline;
  text-decoration-color: hsla(var(--lightest), 0.45);
  text-underline-offset: 0.2em;
}

.content-library-item__title a:hover {
  text-decoration-color: hsla(var(--lightest), 0.95);
}

.content-library-item__link {
  color: hsla(var(--lightest), 1);
  text-decoration: none;
}

.content-library-item p a:hover {
  color: hsla(var(--lightest), 0.92);
}
