/* Telmark shared styles. Preserve rule order and responsive scopes. */

:root {
  --blue:#284e7c;
  --navy:#142d49;
  --paper:#f3f0e8;
  --ink:#20282f;
  --muted:#59656e;
  --line:#cbd0d2;
  --red:#ad5049;
  --silver:#aab2b8;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:30px;
}

body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:Arial,Helvetica,sans-serif;
  font-size:17px;
  line-height:1.65;
}

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

h1,
h2,
h3 {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
}

h1,
h2 {
  letter-spacing:-.04em;
  line-height:1.08;
}

h1 {
  font-size:clamp(44px,4.5vw,70px);
  margin-bottom:28px;
}

h2 {
  font-size:clamp(36px,3.5vw,52px);
  margin-bottom:26px;
}

h3 {
  font-size:30px;
  line-height:1.2;
  letter-spacing:-.025em;
}

h4 {
  font-weight:500;
}

p {
  margin-bottom:22px;
}

a {
  color:inherit;
}

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

button {
  font:inherit;
}

a,
button {
  -webkit-tap-highlight-color:transparent;
}

.topline {
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding:10px 4.5%;
  background:#232b31;
  color:#d4dade;
  font-size:12px;
  letter-spacing:.08em;
}

header {
  display:flex;
  align-items:center;
  gap:35px;
  padding:24px 4.5%;
  border-bottom:1px solid var(--line);
}

.brand {
  width:160px;
  margin-right:auto;
  display:block;
}

.brand img {
  width:160px;
  height:50px;
  object-fit:contain;
  transform:scale(1.1);
}

nav {
  display:flex;
  gap:30px;
  font-size:14px;
}

nav a {
  text-decoration:none;
  transition:color .2s;
}

nav a:hover {
  color:var(--blue);
}

.button {
  font-weight:600;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 22px;
  border-radius:5px;
  border:1px solid var(--blue);
  text-decoration:none;
  font-size:14px;
  background:var(--blue);
  color:#fff;
  transition:background .2s,transform .2s;
  line-height:1.5;
}

.button:hover {
  background:var(--navy);
  transform:translateY(-2px);
}

.hero {
  display:grid;
  grid-template-columns:1.02fr 1fr;
  min-height:700px;
}

.hero-copy {
  padding:74px 8% 70px 9%;
}

.intro {
  font-size:19px;
  color:var(--muted);
  line-height:1.65;
  max-width:550px;
  margin-bottom:34px;
}

.hero-image {
  position:relative;
  background:var(--navy);
  overflow:hidden;
  min-height:600px;
}

.hero-image>img,
.hero-image>picture>img {
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% center;
}

.shell {
  width:86%;
  max-width:1240px;
  margin-inline:auto;
}

.showcase {
  padding:60px 0 70px;
}

.carrier-offer {
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:8%;
  padding:54px;
  background:#e5e8e7;
  border:1px solid #c7cecf;
}

.offer-copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.offer-copy h2 {
  font-size:39px;
  margin-bottom:25px;
}

.offer-copy h2 br {
  display:none;
}

.offer-copy p {
  font-size:16px;
  color:var(--muted);
  max-width:340px;
}

.offer-copy>img {
  width:115px;
  margin-top:auto;
}

.offering-model {
  align-self:center;
}

.carrier-layer {
  background:var(--navy);
  color:#f3f0e8;
  padding:26px 28px;
  border:1px solid #344c65;
}

.carrier-layer>span,
.layer-heading>span {
  font-size:12px;
  letter-spacing:.08em;
}

.carrier-layer>span {
  color:#b9cadc;
}

.carrier-layer h3 {
  font-size:28px;
  margin:17px 0 10px;
}

.carrier-layer p {
  font-size:13px;
  color:#c4cfdb;
  margin:0;
}

.layer-connection {
  height:30px;
  width:1px;
  background:#8093a1;
  margin:auto;
}

.telmark-layer {
  background:#f9f9f4;
  border:1px solid #bac6ce;
}

.layer-heading {
  display:flex;
  align-items:center;
  gap:15px;
  justify-content:space-between;
  padding:15px 24px;
  border-bottom:1px solid #cfd5d8;
}

.layer-heading img {
  width:94px;
  height:30px;
}

.layer-heading>span {
  font-size:12px;
  color:#637685;
}

.layer-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
}

.layer-columns>div {
  padding:23px;
}

.layer-columns>div+div {
  border-left:1px solid #cfd5d8;
}

.layer-columns h4 {
  font-size:16px;
  margin:0 0 12px;
}

.layer-columns p {
  font-size:14px;
  line-height:1.85;
  color:#63717b;
  margin:0;
}

.under-panel {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding:25px 0;
  border-bottom:1px solid var(--line);
}

.under-panel p {
  font-size:13px;
  margin:0;
  padding:0 20px;
  border-right:1px solid var(--line);
}

.under-panel p:first-child {
  padding-left:0;
}

.under-panel p:last-child {
  border:0;
}

.under-panel strong {
  font-weight:500;
}

.band {
  background:#f6f7f5;
  border-block:1px solid #d8dcdd;
}

.feature-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:10%;
  margin-bottom:120px;
}

.feature-row:last-child {
  margin:0;
}

.feature-copy h3 {
  font-size:36px;
  margin-bottom:24px;
}

.feature-copy p {
  font-size:17px;
  color:var(--muted);
}

.diagram-header>span:last-child:not(:first-child) {
  letter-spacing:0;
  color:#8a969e;
  text-align:right;
}

.capabilities {
  padding:85px 0 95px;
}

.capabilities h2 {
  max-width:750px;
  font-size:40px;
}

.section-deck {
  font-size:17px;
  color:var(--muted);
  max-width:780px;
}

.cap-tabs {
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin:35px 0 55px;
}

.cap-tabs button {
  border:1px solid #bfcbd3;
  background:transparent;
  padding:8px 15px;
  border-radius:22px;
  cursor:pointer;
  font-size:14px;
  color:#52626d;
}

.cap-tabs button[aria-selected=true] {
  background:#252f37;
  border-color:#252f37;
  color:white;
}

.capability-row {
  margin:0;
}

.program-card {
  padding:20px;
  background:#e6e9e7;
  border:1px solid #c8d0d4;
}

.program-card strong {
  font-weight:400;
  color:#627585;
  text-align:right;
}

.questions {
  padding:85px 7%;
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:8%;
  background:#f6f7f5;
  border-block:1px solid #d8dcdd;
}

.questions h2 {
  font-size:40px;
}

.faq-list {
  border-top:1px solid #afbec9;
}

.faq-list details {
  border-bottom:1px solid #becbd4;
}

.faq-list summary {
  cursor:pointer;
  list-style:none;
  padding:24px 28px 24px 0;
  position:relative;
  font-size:16px;
}

.faq-list summary::-webkit-details-marker {
  display:none;
}

.faq-list summary:after {
  content:'+';
  position:absolute;
  right:0;
  color:#70889a;
  font-size:23px;
  top:18px;
}

.faq-list details[open] summary:after {
  content:'−';
}

.faq-list p {
  font-size:16px;
  color:var(--muted);
  padding-right:20px;
}

.closing {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:60px;
  padding:85px 0;
}

.closing>div {
  max-width:730px;
}

.closing h2 {
  font-size:46px;
}

.closing p {
  font-size:17px;
  color:var(--muted);
  max-width:650px;
  margin:0;
}

.closing>.button {
  flex-shrink:0;
}

footer {
  display:flex;
  align-items:center;
  gap:35px;
  padding:35px 7%;
  border-top:1px solid var(--line);
  font-size:12px;
}

footer p {
  margin:0 auto 0 0;
  white-space:pre-line;
  line-height:1.5;
}

.footer-brand {
  color:var(--blue);
  font-size:22px;
  font-weight:bold;
  letter-spacing:.05em;
  text-decoration:none;
}

.skip {
  position:absolute;
  top:-100px;
  left:20px;
  z-index:100;
  background:white;
  padding:10px;
}

.skip:focus {
  top:10px;
}

:focus-visible {
  outline:2px solid var(--red);
  outline-offset:5px;
}

@keyframes panel-in {
  from {
    opacity:.6;
    transform:translateY(5px);
  }

  to {
    opacity:1;
    transform:translateY(0);
  }
}

@media(min-width:1800px) {
  body {
    width:100%;
    max-width:none;
    margin:0;
  }
}

@media(max-width:1100px) {
  header {
    gap:22px;
  }

  nav {
    gap:18px;
  }

  .hero-copy {
    padding-top:55px;
  }

  .carrier-offer {
    padding:35px;
    gap:6%;
  }

  .offer-copy h2 {
    font-size:34px;
  }

  .layer-columns>div {
    padding:18px;
  }

  .layer-heading {
    padding:15px;
  }

  .feature-row {
    gap:6%;
  }

  .closing {
    align-items:flex-start;
    flex-direction:column;
    gap:27px;
  }
}

@media(max-width:720px) {
  .topline {
    padding:9px 6%;
  }

  .topline>span:last-child {
    display:none;
  }

  header {
    padding:15px 6%;
    flex-wrap:wrap;
  }

  .brand,
.brand img {
    width:126px;
    height:39px;
  }

  nav {
    order:3;
    width:100%;
    justify-content:space-between;
    padding-top:12px;
    border-top:1px solid var(--line);
    gap:14px;
    font-size:12px;
  }

  .hero {
    grid-template-columns:1fr;
    min-height:0;
  }

  .hero-copy {
    padding:42px 6% 40px;
  }

  h1 {
    font-size:44px;
  }

  .intro {
    font-size:17px;
  }

  .hero-image {
    min-height:360px;
  }

  .shell {
    width:88%;
  }

  .showcase {
    padding:30px 0 45px;
  }

  .carrier-offer {
    grid-template-columns:1fr;
    padding:27px 20px;
    gap:28px;
  }

  .offer-copy h2 {
    font-size:33px;
  }

  .offer-copy p {
    max-width:none;
  }

  .offer-copy>img {
    display:none;
  }

  .carrier-layer {
    padding:22px;
  }

  .carrier-layer h3 {
    font-size:26px;
  }

  .carrier-layer p {
    font-size:12px;
  }

  .layer-heading {
    padding:12px;
    gap:10px;
    flex-wrap:wrap;
  }

  .layer-heading>span {
    font-size:12px;
  }

  .layer-heading img {
    width:85px;
  }

  .layer-columns>div {
    padding:16px 12px;
  }

  .layer-columns h4 {
    font-size:14px;
  }

  .layer-columns p {
    font-size:12px;
  }

  .under-panel {
    grid-template-columns:1fr;
    gap:12px;
    padding:22px 0;
  }

  .under-panel p {
    padding:0;
    border:0;
    font-size:13px;
  }

  .feature-row {
    grid-template-columns:1fr;
    gap:32px;
    margin-bottom:65px;
  }

  .feature-copy h3 {
    font-size:32px;
  }

  .feature-copy p {
    font-size:16px;
  }

  .capabilities {
    padding:60px 0;
  }

  .capabilities h2 {
    font-size:34px;
  }

  .cap-tabs {
    margin:28px 0 35px;
    gap:8px;
  }

  .cap-tabs button {
    font-size:13px;
    padding:8px 12px;
  }

  .program-card {
    padding:12px;
  }

  .questions {
    padding:60px 6%;
    grid-template-columns:1fr;
    gap:25px;
  }

  .faq-list summary {
    font-size:16px;
  }

  .closing {
    padding:60px 0;
    gap:26px;
  }

  .closing h2 {
    font-size:36px;
  }

  footer {
    flex-wrap:wrap;
    gap:20px;
    padding:30px 6%;
  }

  footer p {
    width:65%;
    margin:0;
  }

  footer>span {
    margin-right:auto;
  }
}

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

  .button:hover {
    transform:none;
  }
}

.modern-hero {
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:740px;
  margin:20px 22px 0;
  overflow:hidden;
  background:#101a20;
  color:#fff;
  border-radius:8px;
}

.modern-hero .hero-image {
  position:absolute;
  inset:0;
  min-height:0;
  z-index:-2;
}

.modern-hero .hero-image img {
  object-position:center 43%;
  height:100%;
  width:100%;
  object-fit:cover;
}

.modern-hero:after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(8,18,25,.94) 0%,rgba(10,20,27,.83) 28%,rgba(10,20,27,.53) 52%,rgba(10,20,27,.03) 78%),linear-gradient(0deg,rgba(8,15,21,.8),transparent 35%);
}

.modern-hero .hero-copy {
  padding:92px 6% 130px;
  max-width:850px;
  align-self:center;
}

.modern-hero h1 {
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(44px,4.65vw,72px);
  line-height:1.035;
  letter-spacing:-.055em;
  font-weight:500;
  max-width:730px;
  margin-bottom:28px;
  text-wrap:balance;
}

.modern-hero .intro {
  font-size:17px;
  line-height:1.75;
  color:#d5dce1;
  max-width:520px;
  margin-bottom:33px;
}

.modern-hero .button {
  background:#f6f5ee;
  border:1px solid #f6f5ee;
  color:#17222c;
  border-radius:6px;
  font-size:14px;
  padding:14px 21px;
  box-shadow:0 3px 12px #0001;
}

.modern-hero .button:hover {
  background:white;
  box-shadow:0 7px 25px #0002;
}

.hero-edition {
  position:absolute;
  bottom:35px;
  left:6%;
  right:4%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
}

.hero-edition>span {
  display:block;
  width:92px;
  height:3px;
  background:#bc5149;
  box-shadow:0 4px 0 #969da07a;
}

.hero-edition p {
  color:#d3d8d9;
  font-size:12px;
  letter-spacing:.13em;
  margin:0;
}

.modern-showcase {
  width:100%;
  max-width:none;
  margin:0;
  background:#fcfcfa;
  padding:90px 0 0;
}

.modern-section-heading {
  max-width:730px;
  margin:0 auto 65px;
  text-align:center;
  padding-inline:24px;
}

.modern-section-heading h2 {
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(32px,3.2vw,47px);
  font-weight:500;
  letter-spacing:-.055em;
  line-height:1.13;
  color:#172026;
  margin-bottom:21px;
  text-wrap:balance;
}

.modern-section-heading>p {
  font-size:16px;
  line-height:1.65;
  color:#65727b;
  max-width:500px;
  margin:0 auto;
}

.modern-showcase .carrier-offer {
  width:86%;
  max-width:1240px;
  margin:auto;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:9%;
  padding:0;
  border:0;
  background:transparent;
  align-items:center;
}

.modern-showcase .offer-copy {
  padding:0;
  display:block;
}

.modern-showcase .offer-copy h2 {
  font-family:Arial,Helvetica,sans-serif;
  font-size:36px;
  font-weight:500;
  letter-spacing:-.045em;
  line-height:1.13;
  max-width:360px;
  margin-bottom:23px;
}

.modern-showcase .offer-copy>p {
  font-size:16px;
  line-height:1.75;
  max-width:400px;
  color:#64717a;
}

.modern-text-link {
  font-size:14px;
  color:#273f52;
  text-decoration:none;
  border-bottom:1px solid #aab6bc;
  padding-bottom:5px;
  display:inline-block;
  margin-top:10px;
  transition:border-color .2s;
}

.modern-text-link:hover {
  border-color:#273f52;
}

.service-cinema {
  position:relative;
  isolation:isolate;
  padding:45px 34px;
  border-radius:9px;
  overflow:hidden;
  min-height:460px;
  display:flex;
  align-items:center;
  background:#242a2b url('assets/business-phone.webp') center/cover;
  background:#242a2b image-set(url('assets/business-phone.avif') type('image/avif'), url('assets/business-phone.webp') type('image/webp')) center/cover;
  box-shadow:0 12px 35px #1727330b;
}

.service-cinema:before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(145deg,#192a31b8,#23394480 45%,#633f2b99);
  backdrop-filter:blur(2px);
}

.modern-showcase .offering-model {
  width:100%;
  position:relative;
  transform:perspective(1400px) rotateY(-4deg);
  transition:transform .65s cubic-bezier(.22,1,.36,1);
  filter:drop-shadow(0 18px 25px #050e1640);
}

.service-cinema:hover .offering-model {
  transform:perspective(1400px) rotateY(0);
}

.modern-showcase .carrier-layer {
  background:#13282dd9;
  border:1px solid #d1e5e026;
  padding:25px 25px 23px;
  border-radius:7px;
  backdrop-filter:blur(18px);
  box-shadow:inset 0 1px 0 #ffffff15;
}

.modern-showcase .carrier-layer>span {
  font-size:12px;
  letter-spacing:.08em;
  color:#a9bebf;
}

.modern-showcase .carrier-layer h3 {
  font-family:Arial,Helvetica,sans-serif;
  font-size:27px;
  letter-spacing:-.035em;
  font-weight:400;
  color:#f6f8f3;
  margin:15px 0 10px;
}

.modern-showcase .carrier-layer p {
  font-size:13px;
  color:#a8bdc0;
}

.modern-showcase .layer-connection {
  background:#c2d5ce80;
  height:24px;
}

.modern-showcase .telmark-layer {
  border:1px solid #d1e5e02b;
  border-radius:7px;
  backdrop-filter:blur(20px);
  overflow:hidden;
  box-shadow:inset 0 1px 0 #ffffff15;
}

.modern-showcase .layer-heading {
  border-color:#c1d9d226;
  padding:14px 22px;
  gap:16px;
}

.modern-showcase .layer-heading img {
  filter:brightness(0) invert(1);
  opacity:.9;
  width:85px;
  height:26px;
}

.modern-showcase .layer-heading>span {
  font-size:12px;
  color:#9aafb3;
  letter-spacing:.055em;
}

.modern-showcase .layer-columns>div {
  padding:22px;
}

.modern-showcase .layer-columns>div+div {
  border-color:#c1d9d226;
}

.modern-showcase .layer-columns h4 {
  font-family:Arial,Helvetica,sans-serif;
  font-size:15px;
  font-weight:500;
  color:#f1f5f2;
  margin-bottom:11px;
}

.modern-showcase .layer-columns p {
  font-size:13px;
  color:#a9bfc1;
  line-height:1.9;
}

.modern-showcase .under-panel {
  width:86%;
  max-width:1240px;
  margin:60px auto 0;
  padding:24px 0 30px;
  border-top:1px solid #e0e5e5;
  border-bottom:0;
}

.modern-showcase .under-panel p {
  font-size:13px;
  color:#79838b;
  border-color:#e0e5e5;
}

.modern-showcase .under-panel strong {
  font-weight:500;
  color:#29363f;
  display:block;
  margin-bottom:3px;
}

@media(max-width:1100px) {
  .modern-hero {
    min-height:690px;
  }

  .modern-hero .hero-copy {
    max-width:750px;
    padding-top:75px;
  }

  .modern-hero h1 {
    font-size:59px;
    max-width:620px;
  }

  .modern-hero .intro {
    max-width:480px;
  }

  .modern-showcase .carrier-offer {
    gap:6%;
    grid-template-columns:.8fr 1.2fr;
  }

  .modern-showcase .offer-copy h2 {
    font-size:32px;
  }

  .service-cinema {
    padding:30px 22px;
  }

  .modern-showcase .layer-columns>div {
    padding:18px;
  }

  .modern-showcase .layer-columns h4 {
    font-size:14px;
  }

  .modern-showcase .layer-columns p {
    font-size:12px;
  }
}

@media(max-width:720px) {
  .modern-hero {
    margin:12px 12px 0;
    border-radius:6px;
    align-items:flex-end;
  }

  .modern-hero .hero-image img {
    object-position:67% top;
  }

  .modern-hero:after {
    background:linear-gradient(0deg,#09151bea 0%,#0c181de6 30%,#0c181d70 65%,#0b171d15 100%);
  }

  .modern-hero .hero-copy {
    max-width:none;
    align-self:flex-end;
  }

  .modern-hero h1 {
    line-height:1.06;
    letter-spacing:-.05em;
    margin-bottom:22px;
    max-width:540px;
    text-wrap:initial;
  }

  .modern-hero .intro {
    font-size:16px;
    line-height:1.65;
    margin-bottom:25px;
    max-width:none;
  }

  .modern-hero .button {
    font-size:13px;
    padding:12px 16px;
  }

  .hero-edition {
    bottom:26px;
  }

  .hero-edition>span {
    width:58px;
    height:2px;
  }

  .hero-edition p {
    letter-spacing:.1em;
  }

  .modern-showcase {
    padding-top:60px;
  }

  .modern-section-heading {
    padding-inline:26px;
    margin-bottom:40px;
  }

  .modern-section-heading h2 {
    font-size:33px;
    line-height:1.14;
    letter-spacing:-.045em;
  }

  .modern-section-heading>p {
    font-size:15px;
  }

  .modern-showcase .carrier-offer {
    width:88%;
    grid-template-columns:1fr;
    gap:30px;
  }

  .modern-showcase .offer-copy h2 {
    font-size:29px;
    max-width:none;
  }

  .modern-showcase .offer-copy>p {
    max-width:none;
    font-size:16px;
  }

  .modern-text-link {
    margin-top:0;
  }

  .service-cinema {
    border-radius:7px;
  }

  .modern-showcase .offering-model {
    transform:none;
  }

  .modern-showcase .carrier-layer h3 {
    font-size:24px;
  }

  .modern-showcase .carrier-layer p {
    font-size:12px;
  }

  .modern-showcase .layer-heading {
    padding:13px 16px;
    gap:10px;
    flex-wrap:wrap;
  }

  .modern-showcase .layer-heading>span {
    font-size:12px;
  }

  .modern-showcase .under-panel {
    width:88%;
    margin-top:38px;
    padding-block:22px;
    grid-template-columns:1fr;
    gap:17px;
  }

  .modern-showcase .under-panel p {
    font-size:13px;
    display:flex;
    justify-content:space-between;
    gap:10px;
  }

  .modern-showcase .under-panel strong {
    margin:0;
  }

  .modern-section-heading h2,
.modern-showcase .offer-copy h2 {
    color:#172026;
  }
}

@media(prefers-reduced-motion:reduce) {
  .modern-showcase .offering-model {
    transform:none!important;
    transition:none;
  }
}

.portfolio-section {
  padding:94px 0 82px;
  background:#f1f2ef;
  border-top:1px solid #e1e5e1;
  border-bottom:1px solid #dbe0de;
}

.portfolio-inner {
  width:86%;
  max-width:1240px;
  margin:0 auto;
}

.portfolio-heading {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:10%;
  align-items:center;
  margin-bottom:46px;
}

.portfolio-heading h2 {
  font-family:Arial,Helvetica,sans-serif;
  font-weight:500;
  font-size:clamp(33px,3.2vw,47px);
  letter-spacing:-.05em;
  line-height:1.13;
  color:#17242a;
  margin:0;
}

.portfolio-heading p {
  font-size:16px;
  line-height:1.75;
  color:#627079;
  margin:0;
  max-width:465px;
}

.telecom-products {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:17px;
}

.telecom-product {
  position:relative;
  isolation:isolate;
  min-height:430px;
  overflow:hidden;
  border-radius:8px;
  background:#1b2d35;
  border:1px solid #c3cacc;
  box-shadow:0 7px 23px #12273008;
}

.telecom-product>img,
.telecom-product>picture>img {
  position:absolute;
  inset:0;
  z-index:-2;
  height:100%;
  width:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.22,1,.36,1),filter .8s;
}

.telecom-product:after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(0deg,#0e2028f5 0%,#102730c9 23%,#16343f38 65%,#08202810 100%);
}

.telecom-product:hover>img,
.telecom-product:hover>picture>img {
  transform:scale(1.035);
}

.internet-product>img,
.internet-product>picture>img {
  object-position:50% 30%;
}

.voice-product>img,
.voice-product>picture>img {
  object-position:59% 30%;
  filter:saturate(.6);
}

.voice-product:after {
  background:linear-gradient(0deg,#1b2429f5 0%,#20292bbf 25%,#252e3330 70%,#19262b05);
}

.product-content {
  position:absolute;
  left:26px;
  right:26px;
  bottom:29px;
  color:#f4f7f1;
}

.product-category {
  font-size:12px;
  letter-spacing:.12em;
  color:#b5c6c9;
  display:block;
  margin-bottom:13px;
}

.product-content h3 {
  font-family:Arial,Helvetica,sans-serif;
  font-weight:400;
  font-size:31px;
  line-height:1.15;
  letter-spacing:-.04em;
  margin:0 0 13px;
  color:#f6f7f0;
}

.product-content>p {
  font-size:15px;
  line-height:1.6;
  color:#c0d0d3;
  margin:0;
  max-width:290px;
}

.ai-product-badge {
  position:absolute;
  top:21px;
  left:22px;
  border:1px solid #b8bdc333;
  padding:6px 11px;
  border-radius:5px;
  background:#10151999;
  backdrop-filter:blur(14px);
  font-size:12px;
  color:#eff5ec;
  box-shadow:inset 0 1px 0 #ffffff0d;
}

.ai-product-signature {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:13px;
  margin-top:20px;
}

.ai-product-signature>span {
  font-size:12px;
  line-height:1.5;
  max-width:135px;
}

.ai-product-signature>img,
.ai-product-signature>picture>img {
  position:static;
  width:85px;
  height:29px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.9;
}

.portfolio-foundation {
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:17px;
  margin-top:20px;
}

.portfolio-foundation>div {
  display:flex;
  align-items:center;
  gap:18px;
  font-size:12px;
  color:#718089;
  min-width:0;
}

.portfolio-foundation span {
  white-space:nowrap;
}

.portfolio-foundation i {
  height:1px;
  background:#c7d1d3;
  flex:1;
  position:relative;
}

.portfolio-foundation i:after {
  content:'';
  position:absolute;
  right:0;
  top:-3px;
  width:1px;
  height:7px;
  background:#c7d1d3;
}

.new-portfolio {
  color:#526f75!important;
}

.portfolio-close {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  margin-top:43px;
  padding-top:24px;
  border-top:1px solid #d5dedb;
}

.portfolio-close p {
  font-size:16px;
  line-height:1.6;
  color:#445c66;
  margin:0;
  max-width:700px;
}

.portfolio-close a {
  font-size:14px;
  flex-shrink:0;
  text-decoration:none;
  color:#294852;
  border-bottom:1px solid #9cadb2;
  padding-bottom:4px;
  transition:border-color .2s;
}

.portfolio-close a:hover {
  border-color:#294852;
}

@media(max-width:1100px) {
  .portfolio-heading {
    gap:7%;
  }

  .portfolio-heading h2 {
    font-size:37px;
  }

  .portfolio-heading h2 br {
    display:none;
  }

  .telecom-product {
    min-height:430px;
  }

  .product-content {
    left:20px;
    right:20px;
    bottom:24px;
  }

  .product-content h3 {
    font-size:27px;
  }

  .product-content>p {
    font-size:14px;
  }

  .ai-product-signature {
    gap:7px;
  }

  .ai-product-signature>img,
  .ai-product-signature>picture>img {
    width:68px;
  }

  .ai-product-signature>span {
    font-size:12px;
    max-width:130px;
  }

  .portfolio-foundation span {
    white-space:normal;
  }

  .portfolio-foundation i {
    min-width:15px;
  }

  .portfolio-close p {
    font-size:15px;
  }
}

@media(max-width:720px) {
  .portfolio-section {
    padding:58px 0 48px;
  }

  .portfolio-inner {
    width:88%;
  }

  .portfolio-heading {
    grid-template-columns:1fr;
    gap:23px;
    margin-bottom:30px;
  }

  .portfolio-heading h2 {
    font-size:34px;
    max-width:450px;
    letter-spacing:-.045em;
  }

  .portfolio-heading p {
    font-size:16px;
    max-width:none;
  }

  .telecom-products {
    grid-template-columns:1fr;
    gap:15px;
  }

  .product-content {
    bottom:27px;
  }

  .product-content h3 {
    font-size:32px;
  }

  .product-content>p {
    font-size:16px;
    max-width:330px;
  }

  .product-category {
    font-size:12px;
  }

  .internet-product>img,
  .internet-product>picture>img {
    object-position:50% 38%;
  }

  .voice-product>img,
  .voice-product>picture>img {
    object-position:50% 44%;
  }

  .ai-product>img,
  .ai-product>picture>img {
    object-position:72% 36%;
  }

  .ai-product-signature>img,
  .ai-product-signature>picture>img {
    width:90px;
  }

  .ai-product-signature>span {
    max-width:none;
    font-size:12px;
  }

  .portfolio-foundation {
    display:none;
  }

  .portfolio-close {
    margin-top:29px;
    padding-top:23px;
    align-items:flex-start;
    flex-direction:column;
    gap:20px;
  }

  .portfolio-close p {
    font-size:16px;
    max-width:450px;
  }

  .portfolio-close a {
    font-size:14px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .telecom-product>img,
  .telecom-product>picture>img {
    transition:none;
  }

  .telecom-product:hover>img,
  .telecom-product:hover>picture>img {
    transform:none;
  }
}

.ai-product {
  background:#101519;
  border-color:#747b80;
  box-shadow:0 10px 30px #00000015;
}

.ai-product:after {
  background:linear-gradient(0deg,#090e12f5 0%,#11171bdd 27%,#171c2066 62%,#10151914 100%);
}

.ai-product .product-category {
  color:#bcc1c5;
}

.ai-product .product-content>p {
  color:#c9cdd0;
}

.ai-product-signature {
  border-top:0;
  position:relative;
  padding-top:24px;
}

.ai-product-signature:before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--red);
  box-shadow:0 4px 0 #858b90;
}

.ai-product-signature>span {
  color:#b4bcc1;
}

.ai-product>img,
.ai-product>picture>img {
  object-position:center top;
  filter:saturate(.85);
}

.how-section {
  padding:100px 0 108px;
  background:#fcfcfa;
  color:#17242a;
}

.how-intro {
  width:86%;
  max-width:1240px;
  margin:0 auto 72px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:70px;
}

.how-intro h2 {
  font:500 clamp(36px,3.7vw,54px)/1.1 Arial,Helvetica,sans-serif;
  letter-spacing:-.05em;
  margin:0;
}

.how-intro>p {
  font-size:16px;
  line-height:1.7;
  color:#65727b;
  max-width:370px;
  margin:0;
}

.how-row.feature-row {
  width:86%;
  max-width:1240px;
  margin:0 auto 88px;
  grid-template-columns:.85fr 1.15fr;
  gap:8%;
  align-items:center;
}

.how-row.feature-row:last-child {
  margin:0 auto;
}

.how-copy h3 {
  font:500 clamp(30px,2.65vw,40px)/1.14 Arial,Helvetica,sans-serif;
  letter-spacing:-.045em;
  margin:0 0 25px;
}

.how-copy>p {
  font-size:16px;
  line-height:1.8;
  color:#617079;
  margin:0 0 26px;
}

.how-detail {
  padding:20px 0;
  border-top:1px solid #d7dedc;
  display:grid;
  gap:8px;
}

.how-detail strong {
  font-size:15px;
  font-weight:500;
}

.how-detail span {
  font-size:14px;
  color:#65727b;
  line-height:1.6;
}

.how-visual {
  position:relative;
  isolation:isolate;
  border-radius:12px;
  overflow:hidden;
  min-height:510px;
  padding:42px;
  display:flex;
  align-items:center;
}

.how-visual:before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
}

.call-visual {
  background:#313535 url('assets/call-office-supplied.webp') center/cover;
  background:#313535 image-set(url('assets/call-office-supplied.avif') type('image/avif'), url('assets/call-office-supplied.webp') type('image/webp')) center/cover;
}

.call-visual:before {
  background:linear-gradient(145deg,#171c2210,#182a3233);
}

.call-glass {
  width:100%;
  background:#142429dd;
  backdrop-filter:blur(20px);
  border:1px solid #cbd6d72b;
  border-radius:10px;
  color:#edf2f1;
  box-shadow:0 24px 50px #0003;
  padding:24px;
}

.launch-how .how-copy {
  grid-column:2;
  grid-row:1;
}

.launch-how .launch-visual {
  grid-column:1;
  grid-row:1;
}

.how-row.launch-how {
  grid-template-columns:1.15fr .85fr;
}

.launch-visual {
  background:#6e736a url('assets/main-street.webp') center/cover;
  background:#6e736a image-set(url('assets/main-street.avif') type('image/avif'), url('assets/main-street.webp') type('image/webp')) center/cover;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:20px;
}

.launch-visual:before {
  background:linear-gradient(0deg,#111c25c9,#232d3840 65%,#16212c33);
}

.operations-visual {
  background:#0d141a url('assets/service-operations-1992.webp') center/cover;
  background:#0d141a image-set(url('assets/service-operations-1992.avif') type('image/avif'), url('assets/service-operations-1992.webp') type('image/webp')) center/cover;
}

.operations-visual:before {
  background:linear-gradient(120deg,#10171d26,#10171d38);
}

.ops-glass {
  width:100%;
  border:1px solid #bcc3c030;
  border-radius:10px;
  background:#171d23c9;
  backdrop-filter:blur(22px);
  color:#ebedeb;
  padding:26px;
  box-shadow:0 20px 45px #0004;
}

.ops-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:21px;
  border-bottom:1px solid #b9c0c127;
  font-size:12px;
  color:#b8c0c4;
}

.ops-heading img {
  width:80px;
  filter:brightness(0) invert(1);
  opacity:.9;
}

.ops-work {
  display:grid;
  gap:0;
  margin-bottom:25px;
}

.ops-work>span {
  font-size:13px;
  padding:12px 0;
  border-bottom:1px solid #b9c0c114;
  color:#c4ccce;
}

.ops-review {
  position:relative;
  padding-top:22px;
  margin-top:25px;
}

.ops-review:before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:72px;
  height:2px;
  background:#ad5049;
  box-shadow:0 3px 0 #858b90;
}

.ops-review>span {
  font-size:12px;
  color:#9faeb4;
}

.ops-review p {
  font-size:14px;
  color:#d7dede;
  margin:8px 0 0;
}

@media(max-width:1100px) {
  .how-row.feature-row {
    gap:5%;
  }

  .how-visual {
    padding:25px;
  }

  .how-copy h3 br {
    display:none;
  }

  .how-intro {
    gap:40px;
  }

  .how-intro>p {
    max-width:300px;
  }
}

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

  .how-intro {
    width:88%;
    display:block;
    margin-bottom:42px;
  }

  .how-intro h2 {
    font-size:36px;
    margin-bottom:24px;
  }

  .how-intro>p {
    max-width:none;
  }

  .how-row.feature-row,
.how-row.launch-how {
    width:88%;
    grid-template-columns:1fr;
    gap:28px;
    margin-bottom:55px;
  }

  .launch-how .how-copy,
.launch-how .launch-visual {
    grid-column:auto;
    grid-row:auto;
  }

  .call-glass,
.ops-glass {
    padding:20px;
  }

  .how-copy>p {
    margin-bottom:22px;
  }

  .how-detail {
    padding:16px 0;
  }

  .how-intro h2 br {
    display:none;
  }
}

.ops-services {
  gap:3px;
  margin-bottom:20px;
}

.ops-services>span {
  display:flex;
  align-items:center;
  gap:15px;
  padding:12px 0;
  font-size:14px;
  color:#dde3e3;
}

.ops-services>span>i {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:1px solid #b7c7c426;
  border-radius:8px;
  background:#c5d6d10a;
  color:#bccdc9;
}

.ops-services svg {
  width:20px;
  height:20px;
}

.ops-services>span:last-child {
  border-bottom:0;
}

.barber-demo {
  background:#152429e6;
  border-color:#d1ddd330;
}

.barber-brand {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #d2d9ce26;
}

.barber-wordmark strong {
  display:block;
  font:600 24px/1 Georgia,serif;
  letter-spacing:-.055em;
  color:#e9e8da;
}

.barber-wordmark em {
  font-weight:400;
  font-size:18px;
}

.barber-wordmark>span {
  display:block;
  font-size:12px;
  letter-spacing:.19em;
  color:#b8c1b7;
  margin-top:9px;
  text-align:left;
}

.barber-demo-label {
  font-size:12px;
  color:#99aeae;
}

.barber-stage {
  position:relative;
  display:flex;
}

.barber-stage:after {
  content:'';
  position:absolute;
  left:17px;
  top:36px;
  bottom:0;
  width:1px;
  background:#9bb7ac50;
}

.barber-node {
  width:35px;
  height:35px;
  border:1px solid #b6cdc03d;
  background:#b9cdc20a;
  border-radius:50%;
  flex:0 0 35px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#bdd1c8;
}

.barber-node svg {
  width:17px;
  height:17px;
}

.barber-stage-label {
  font-size:12px;
  color:#9cb4b3;
  display:block;
}

.barber-stage p {
  font-size:17px;
  line-height:1.4;
  letter-spacing:-.025em;
  color:#eef1e9;
  margin:0;
}

.barber-ai {
  gap:2px;
}

.barber-ai i {
  display:block;
  width:2px;
  border-radius:2px;
  height:7px;
  background:#b5d0c4;
}

.barber-ai i:nth-child(2),
.barber-ai i:nth-child(4) {
  height:13px;
}

.barber-ai i:nth-child(3) {
  height:19px;
}

.barber-confirm {
  position:relative;
  background:#e6e9df;
  color:#223a3c;
  border:1px solid #ffffff70;
  border-radius:7px;
  display:grid;
  align-items:center;
  box-shadow:0 8px 22px #0002;
}

.barber-date {
  border-right:1px solid #bdc9bf;
  text-align:center;
}

.barber-date strong {
  font-weight:400;
}

.barber-date>span {
  line-height:1.5;
  display:block;
  margin-top:5px;
  color:#687d77;
}

.barber-appointment {
  display:grid;
}

.barber-confirmed {
  font-size:12px;
  color:#4b7164;
}

.barber-appointment>strong {
  font-size:15px;
  font-weight:500;
  letter-spacing:-.02em;
}

.barber-appointment>span:last-child {
  font-size:12px;
  color:#6b7e77;
  line-height:1.4;
}

@media(max-width:1100px) {
  .barber-wordmark strong {
    font-size:22px;
  }

  .barber-appointment>span:last-child {
    font-size:12px;
  }

  .barber-stage p {
    font-size:16px;
  }
}

@media(max-width:720px) {
  .barber-wordmark strong {
    font-size:22px;
  }

  .barber-stage {
    gap:12px;
  }
}

.barber-date {
  min-width:0;
}

.barber-date strong {
  font-size:22px;
  white-space:nowrap;
  letter-spacing:-.04em;
}

.barber-date strong small {
  font-size:12px;
  letter-spacing:0;
}

.barber-date>span {
  font-size:12px;
  letter-spacing:0;
  white-space:nowrap;
}

.barber-appointment {
  min-width:0;
}

@media(max-width:420px) {
  .barber-date {
    grid-row:1 / span 2;
    align-self:center;
  }
}

.explained-services>span {
  gap:14px;
  padding:9px 0;
  min-height:59px;
}

.ops-services.explained-services>span>i.service-dots,
.service-dots {
  display:grid;
  grid-template-columns:repeat(2,6px);
  grid-template-rows:repeat(2,6px);
  gap:3px;
  width:15px;
  height:15px;
  flex:0 0 15px;
  background:none;
  border:0;
  border-radius:0;
  padding:0;
  align-self:center;
}

.service-dots>b {
  display:block;
  width:6px;
  height:6px;
  border-radius:1.5px;
  background:linear-gradient(135deg,#b9bfc6,#77808a);
  opacity:.5;
}

.service-dots>b.lit {
  background:#c36157;
  opacity:1;
}

.explained-services>span>span {
  display:grid;
  gap:5px;
  min-width:0;
}

.explained-services strong {
  font-size:14px;
  font-weight:500;
  line-height:1.3;
  color:#e4e9e6;
}

.explained-services small {
  font-size:12px;
  line-height:1.4;
  color:#aebebf;
}

@media(max-width:720px) {
  .explained-services>span {
    gap:12px;
  }

  .explained-services small {
    font-size:12px;
  }
}

.adoption-band {
  position:relative;
  overflow:hidden;
  background:#151c1e;
  color:#eeeFE8;
  padding:65px 0 52px;
}

.adoption-band:before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#151c1e 15%,rgba(21,28,30,.8) 55%,rgba(21,28,30,.5)),url('assets/earth-night.webp') 75% 48%/cover;
  background:linear-gradient(90deg,#151c1e 15%,rgba(21,28,30,.8) 55%,rgba(21,28,30,.5)),image-set(url('assets/earth-night.avif') type('image/avif'), url('assets/earth-night.webp') type('image/webp')) 75% 48%/cover;
  opacity:.55;
  pointer-events:none;
}

.adoption-inner {
  position:relative;
}

.adoption-stat {
  display:flex;
  align-items:center;
  gap:38px;
  margin:0;
}

.adoption-number {
  flex:none;
  font-size:clamp(72px,7vw,100px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.065em;
  font-variant-numeric:tabular-nums;
  min-width:2.2em;
}

.adoption-percent {
  font-size:.55em;
  letter-spacing:-.04em;
  margin-left:5px;
  color:#b9c6c8;
}

.adoption-statement {
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(25px,2.6vw,36px);
  line-height:1.22;
  letter-spacing:-.025em;
  max-width:730px;
}

.adoption-source {
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  margin:26px 0 0;
  font-size:11px;
  line-height:1.6;
  letter-spacing:.015em;
  color:#a6b2b4;
}

.adoption-source a {
  text-underline-offset:4px;
  text-decoration-color:#6f8084;
}

.adoption-source a:hover {
  color:#fff;
}

.adoption-source a:focus-visible {
  outline:2px solid #c0d0df;
  outline-offset:5px;
}

@media(max-width:640px) {
  .adoption-band {
    padding:42px 0 35px;
  }

  .adoption-stat {
    align-items:flex-start;
    gap:18px;
  }

  .adoption-number {
    font-size:64px;
    min-width:2.1em;
  }

  .adoption-statement {
    font-size:23px;
  }

  .adoption-source {
    gap:4px;
    flex-direction:column;
    margin-top:22px;
  }
}

@media(max-width:380px) {
  .adoption-stat {
    flex-direction:column;
    gap:18px;
  }
}

#approach .cap-tabs {
  gap:10px;
}

#approach .cap-tabs button {
  padding:10px 16px;
  border-radius:6px;
  border:1px solid #bdc7c9;
}

#approach .cap-tabs button:focus-visible {
  outline:2px solid #284e7c;
  outline-offset:4px;
}

#approach .program-card {
  position:relative;
  isolation:isolate;
  border:1px solid #71808670;
  backdrop-filter:blur(22px);
}

#approach .program-card strong {
  text-align:left;
}

#approach .program-card,
#approach .cap-tabs button {
  font-family:Arial,Helvetica,sans-serif;
}

#approach .program-card strong {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:400;
  line-height:1.4;
  letter-spacing:normal;
}

#approach h2 {
  font:500 clamp(36px,3.7vw,54px)/1.1 Arial,Helvetica,sans-serif;
  letter-spacing:-.05em;
  color:#17242a;
}

#approach .feature-copy h3 {
  font:500 clamp(30px,2.65vw,40px)/1.14 Arial,Helvetica,sans-serif;
  letter-spacing:-.045em;
  color:#17242a;
  margin:0 0 25px;
}

#approach .section-deck {
  font:400 16px/1.7 Arial,Helvetica,sans-serif;
  color:#65727b;
}

#approach .feature-copy p {
  font:400 16px/1.8 Arial,Helvetica,sans-serif;
  color:#617079;
  margin:0 0 26px;
}

#approach .cap-tabs button {
  font-family:Arial,Helvetica,sans-serif;
  font-weight:400;
  letter-spacing:normal;
}

@media(max-width:720px) {
  #approach h2 {
    font-size:36px;
  }

  #approach .feature-copy p {
    margin-bottom:22px;
  }
}

.partner-start {
  display:grid;
  padding-block:100px;
}

.partner-start-copy .start-eyebrow {
  display:block;
  font:400 12px/1.5 Arial,Helvetica,sans-serif;
  letter-spacing:.1em;
  color:#65727b;
  margin-bottom:24px;
}

.partner-start-copy h2 {
  font:500 clamp(36px,3.7vw,54px)/1.1 Arial,Helvetica,sans-serif;
  letter-spacing:-.05em;
  color:#17242a;
}

.partner-start-copy>p {
  font:400 16px/1.8 Arial,Helvetica,sans-serif;
  color:#617079;
}

.partner-inquiry {
  padding:30px;
  border:1px solid #71808670;
  border-radius:10px;
  box-shadow:inset 0 1px 0 #ffffff18,0 20px 40px -25px #14232b80;
  color:#e8eeeb;
}

.inquiry-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-bottom:24px;
  border-bottom:1px solid #aebfc14a;
  position:relative;
}

.inquiry-heading:after {
  content:'';
  position:absolute;
  bottom:-1px;
  left:0;
  width:45px;
  height:2px;
  background:#b9655d;
}

.inquiry-heading img {
  width:80px;
  filter:brightness(0) invert(1);
  opacity:.9;
}

.inquiry-heading>span {
  font-size:11px;
  letter-spacing:.08em;
  color:#b3c1c7;
}

.partner-inquiry h3 {
  font:400 24px/1.2 Arial,Helvetica,sans-serif;
  letter-spacing:-.035em;
  margin:25px 0;
}

.inquiry-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 16px;
}

.inquiry-fields label {
  display:flex;
  flex-wrap:wrap;
  align-content:start;
  gap:7px;
  font-size:13px;
  line-height:1.4;
  color:#d4dfdf;
}

.inquiry-fields label>span {
  font-size:12px;
  color:#9faeb4;
}

.inquiry-wide {
  grid-column:1 / -1;
}

.partner-inquiry input,
.partner-inquiry textarea {
  width:100%;
  min-width:0;
  border:1px solid #9eafb438;
  border-radius:5px;
  box-shadow:inset 0 1px 3px #00000010;
  color:#f1f4ef;
  padding:11px 12px;
  font:400 16px/1.4 Arial,Helvetica,sans-serif;
}

.partner-inquiry textarea {
  resize:vertical;
  min-height:90px;
}

.partner-inquiry input::placeholder,
.partner-inquiry textarea::placeholder {
  color:#8fa0a8;
  font-size:14px;
}

.partner-inquiry input:focus,
.partner-inquiry textarea:focus {
  outline:2px solid #98b6ce;
  outline-offset:2px;
}

.partner-inquiry>.button {
  width:100%;
  margin-top:22px;
  background:#e5ebe8;
  color:#20313b;
  border-color:#e5ebe8;
  cursor:pointer;
  padding:13px 20px;
}

.partner-inquiry>.button:hover {
  background:#fff;
  transform:none;
}

.inquiry-note {
  font-size:12px;
  line-height:1.5;
  color:#a7b6bc;
  margin:12px 0 0;
}

.inquiry-status {
  font-size:13px;
  line-height:1.5;
  color:#d2dfde;
  margin:12px 0 0;
}

.inquiry-status:empty {
  display:none;
}

@media(max-width:900px) {
  .partner-inquiry {
    padding:24px;
  }

  .inquiry-fields {
    grid-template-columns:1fr;
  }
}

@media(max-width:720px) {
  .partner-start {
    grid-template-columns:1fr;
    padding-block:60px;
  }

  .partner-start-copy h2 {
    font-size:36px;
  }

  .partner-inquiry {
    padding:24px;
  }

  .partner-start-copy>p {
    max-width:none;
  }
}

.barber-wordmark {
  text-align:left;
}

.ai-product-badge {
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.ai-product-badge svg {
  width:17px;
  height:17px;
  flex:0 0 17px;
}

#approach .program-card {
  box-shadow:inset 0 1px 0 #ffffff20,0 22px 45px -30px #102d3c99;
}

#approach .program-card strong {
  font-size:12px;
  color:#acbdc5;
  white-space:normal;
}

#approach [data-view="onboarding"] strong {
  grid-column:auto;
  color:#acbdc5;
  max-width:114px;
}

@media(max-width:720px) {
  #approach [data-view="onboarding"] strong {
    max-width:95px;
  }
}

#approach .program-card:is([data-view="routing"],[data-view="support"],[data-view="review"]) #program-rows {
  gap:0;
  counter-reset:stage;
}

#approach .program-card:is([data-view="routing"],[data-view="support"],[data-view="review"]) #program-rows:before {
  display:none;
}

#approach .program-card:is([data-view="routing"],[data-view="support"],[data-view="review"]) #program-rows>div {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  grid-column:auto;
  grid-row:auto;
  margin:0;
  padding:18px;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:#e8eeeb;
  gap:9px;
}

#approach .program-card:is([data-view="routing"],[data-view="support"],[data-view="review"]) #program-rows>div:before,
#approach .program-card:is([data-view="routing"],[data-view="support"],[data-view="review"]) #program-rows>div:after {
  display:none;
}

#approach .program-card:is([data-view="routing"],[data-view="support"],[data-view="review"]) #program-rows>div strong {
  color:#acbdc5;
}

#approach .program-card[data-view="review"] #program-rows>div:not(:last-child) {
  grid-column:1;
  display:grid;
  grid-template-columns:18px 1fr;
  align-items:center;
  gap:5px 10px;
  padding:17px 0;
  border-bottom:1px solid #cfdbdd20;
}

#approach .program-card[data-view="review"] #program-rows>div:not(:last-child):before {
  display:block;
  position:static;
  content:counter(stage,decimal-leading-zero);
  width:auto;
  height:auto;
  grid-row:span 2;
  border:0;
  background:none;
  font:400 10px/1.3 Arial,Helvetica,sans-serif;
  color:#8faab7;
  margin:0;
}

#approach .program-card[data-view="review"] #program-rows>div:not(:last-child) strong {
  grid-column:2;
}

#approach .program-card:is([data-view="routing"],[data-view="support"],[data-view="review"]) #program-rows {
  display:block;
  padding:0;
}

#approach .program-card {
  padding:0;
  min-height:0;
  height:auto;
  overflow:hidden;
  border-radius:9px;
}

#approach .capability-row {
  align-items:center;
  min-height:390px;
}

#approach .feature-copy h3 {
  font-size:clamp(30px,2.65vw,40px);
}

#approach .feature-copy p {
  margin-bottom:22px;
}

#cap-benefits {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:14px;
}

#cap-benefits li {
  position:relative;
  padding-left:19px;
  font:400 15px/1.65 Arial,Helvetica,sans-serif;
  color:#617079;
}

#cap-benefits li:before {
  content:'';
  position:absolute;
  left:0;
  top:10px;
  width:5px;
  height:5px;
  background:#9a6860;
  border-radius:1px;
}

.vp-invoice {
  padding:28px 30px;
  background:#e2e8e3;
  color:#263c43;
  min-height:370px;
}

.vp-document-head {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-bottom:18px;
  border-bottom:1px solid #879f9e50;
}

.vp-document-head>span {
  font-size:11px;
  letter-spacing:.1em;
}

.vp-document-head small {
  font-size:11px;
  color:#637f85;
}

.vp-invoice h4,
.vp-managed h4 {
  font:400 27px/1.13 Arial,Helvetica,sans-serif;
  letter-spacing:-.035em;
  margin:24px 0;
}

.vp-bill-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:15px 0;
  border-top:1px solid #879f9e40;
  font-size:14px;
}

.vp-bill-row small {
  font-size:11px;
  color:#637f85;
}

.vp-added {
  margin:0 -12px;
  padding:16px 12px;
  border:1px solid #8da8af50;
  border-radius:3px;
  background:#f5f7f080;
}

.vp-added>span {
  color:#284e7c;
}

.vp-brand {
  padding:27px 29px;
  min-height:370px;
}

.vp-eyebrow {
  display:block;
  font-size:10px;
  letter-spacing:.12em;
  color:#abbfc5;
}

.vp-behind {
  display:flex;
  gap:14px;
  align-items:center;
  margin-top:19px;
  font-size:13px;
  color:#cddad9;
}

.vp-behind small {
  font-size:11px;
  color:#91a9b2;
}

.vp-managed {
  min-height:370px;
}

.vp-managed h4 {
  color:#e8eeeb;
  margin:22px 0;
}

.vp-managed-row {
  display:flex;
  gap:17px;
  align-items:center;
  padding:15px 0;
  border-top:1px solid #bdd0cd25;
}

.vp-managed-row>span {
  font-size:10px;
  color:#90a9b5;
}

.vp-managed-row>div {
  display:grid;
}

.vp-managed-row b {
  font-size:14px;
  font-weight:400;
  color:#e2eae5;
}

.vp-managed-row small {
  font-size:11px;
  color:#99afb7;
}

.vp-managed-row:last-child>span {
  color:#c18a7b;
}

@media(max-width:720px) {
  #approach .capability-row {
    min-height:0;
  }

  #approach .program-card {
    padding:0;
  }

  .vp-invoice,
.vp-brand,
.vp-managed {
    padding:25px;
    min-height:350px;
  }

  #cap-benefits li {
    font-size:14px;
  }

  .vp-bill-row {
    flex-wrap:wrap;
    gap:6px;
  }

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

#approach .program-card {
  background:linear-gradient(135deg,#222528,#161c22);
  border-color:#727b823f;
  color:#e8e9eb;
}

#approach .vp-invoice {
  background:#e5e7ea;
  color:#283846;
}

#approach .vp-document-head,
#approach .vp-bill-row {
  border-color:#9ba4ae50;
}

#approach .vp-added {
  background:#f7f8fa;
  border-color:#9eacbb66;
}

#approach .vp-document-head small,
#approach .vp-bill-row small {
  color:#677786;
}

#approach .vp-eyebrow,
#approach .vp-behind small,
#approach .vp-managed-row small {
  color:#aab6c2;
}

#approach .vp-managed h4,
#approach .vp-managed-row b {
  color:#e8e9eb;
}

#approach .vp-managed-row:last-child>span {
  color:#c3796e;
}

#approach .cap-tabs button {
  background:linear-gradient(145deg,#ffffffa8,#e4e9e77a);
  border-color:#bdc7c9;
  color:#43545e;
  box-shadow:inset 0 1px 0 #fff9;
}

#approach .cap-tabs button[aria-selected=true] {
  background:linear-gradient(140deg,#354147,#1b252b);
  border-color:#52646e;
  color:#f1f2ee;
  box-shadow:inset 0 1px 0 #ffffff21;
}

.provider-campaign-ad {
  height:370px;
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  padding:28px 30px;
  color:#f4f1e9;
  background:#161c26;
}

.provider-campaign-ad>img,
.provider-campaign-ad>picture>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:-2;
}

.provider-campaign-ad:before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,#121923c9 0%,#141b2475 55%,#18203018),linear-gradient(0deg,#14191dee 0%,transparent 55%);
}

.campaign-ad-kicker {
  font:400 9px/1.4 Arial,Helvetica,sans-serif;
  letter-spacing:.13em;
  color:#d7dce0;
}

.campaign-ad-copy h4 {
  font:400 39px/.99 Georgia,'Times New Roman',serif;
  letter-spacing:-.05em;
  color:#f5f3eb;
  margin:18px 0 13px;
  text-shadow:0 1px 12px #0002;
}

.campaign-ad-copy p {
  font:400 12px/1.5 Arial,Helvetica,sans-serif;
  color:#d1d7da;
  margin:0;
}

.campaign-ad-rule {
  height:3px;
  background:#b85a52;
  box-shadow:0 3px 0 #b9bfc3;
  margin-bottom:20px;
  max-width:100%;
}

.campaign-ad-signoff>div:not(.campaign-ad-rule) {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
}

.campaign-provider-name {
  font:600 17px/1.2 Arial,Helvetica,sans-serif;
  letter-spacing:.06em;
  color:#eeeef0;
}

.campaign-sample-label {
  font:400 9px/1.3 Arial,Helvetica,sans-serif;
  color:#aeb8c0;
}

.campaign-ad-signoff>small {
  display:block;
  font:400 10px/1.4 Arial,Helvetica,sans-serif;
  letter-spacing:.09em;
  margin-top:7px;
  color:#c1c7cd;
}

@media(max-width:720px) {
  .provider-campaign-ad {
    height:350px;
    padding:25px;
  }

  .campaign-ad-copy h4 {
    font-size:36px;
  }

  .campaign-provider-name {
    font-size:15px;
  }
}

.priced-invoice .vp-bill-row>div {
  display:grid;
  gap:5px;
}

.priced-invoice .vp-bill-row>div>span {
  font-size:14px;
}

.priced-invoice .vp-bill-row .bill-price {
  display:flex;
  align-items:baseline;
  gap:3px;
  font-size:25px;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  color:#283846;
}

.priced-invoice .bill-price small {
  font-size:11px;
  letter-spacing:0;
}

.priced-invoice h4 {
  margin:20px 0;
}

.priced-invoice .vp-bill-row {
  flex-direction:row;
  align-items:center;
  flex-wrap:nowrap;
}

.closing.shell {
  width:100%;
  max-width:none;
  margin:0;
  padding:82px max(7%,calc((100% - 1240px)/2));
  display:flex;
  background:linear-gradient(90deg,rgba(16,23,31,.91) 0%,rgba(16,23,31,.78) 32%,rgba(16,23,31,.25) 64%,rgba(16,23,31,.08) 100%),url('assets/closing-regional-hotel.webp') center 48%/cover no-repeat;
  background:linear-gradient(90deg,rgba(16,23,31,.91) 0%,rgba(16,23,31,.78) 32%,rgba(16,23,31,.25) 64%,rgba(16,23,31,.08) 100%),image-set(url('assets/closing-regional-hotel.avif') type('image/avif'), url('assets/closing-regional-hotel.webp') type('image/webp')) center 48%/cover no-repeat;
  color:#f0f2ef;
}

.closing.shell h2 {
  font:500 clamp(35px,3.4vw,49px)/1.12 Arial,Helvetica,sans-serif;
  margin:0 0 24px;
  color:#f0f2ef;
}

.closing.shell p {
  font:400 16px/1.75 Arial,Helvetica,sans-serif;
  color:#ccd1d6;
}

.closing.shell>.button {
  background:#e5e7e9;
  border-color:#e5e7e9;
  color:#223347;
}

.closing.shell>.button:hover {
  background:#fff;
}

@media(max-width:720px) {
  .closing.shell {
    padding:58px 7%;
    background-image:linear-gradient(90deg,rgba(16,23,31,.88),rgba(16,23,31,.66)),url('assets/closing-regional-hotel.webp');
    background-image:linear-gradient(90deg,rgba(16,23,31,.88),rgba(16,23,31,.66)),image-set(url('assets/closing-regional-hotel.avif') type('image/avif'), url('assets/closing-regional-hotel.webp') type('image/webp'));
  }
}

.retention-model {
  padding:25px 29px 21px;
  background:linear-gradient(135deg,#24272a,#151a20);
  color:#e8e9eb;
}

.retention-model-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.retention-model-head>span {
  font:400 10px/1.4 Arial,Helvetica,sans-serif;
  letter-spacing:.09em;
  color:#b6bdc5;
}

.retention-model-head small {
  font:400 10px/1.4 Arial,Helvetica,sans-serif;
  color:#aab2bc;
}

.retention-model h4 {
  font:400 24px/1.15 Arial,Helvetica,sans-serif;
  letter-spacing:-.035em;
  margin:19px 0 4px;
}

.retention-arcs svg {
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}

.retention-arcs path {
  fill:none;
  stroke-width:11;
  stroke-linecap:round;
}

.retention-arcs .arc-track {
  stroke:#454a503f;
}

.retention-arcs .arc-ai {
  stroke:#bd6259;
}

.retention-arcs .arc-phone {
  stroke:#9ea7b1;
}

.arc-value {
  font:400 39px Arial,Helvetica,sans-serif;
  letter-spacing:-2px;
  fill:#eceef0;
}

.arc-caption {
  font:400 13px Arial,Helvetica,sans-serif;
  fill:#aeb6c1;
}

.retention-legend {
  display:grid;
  padding-top:14px;
}

.retention-legend>div {
  display:grid;
  grid-template-columns:10px 1fr;
  align-items:center;
}

.retention-legend i {
  height:3px;
  width:9px;
  border-radius:1px;
}

.legend-ai {
  background:#bd6259;
}

.legend-phone {
  background:#9ea7b1;
}

.retention-legend span {
  font:400 11px/1.35 Arial,Helvetica,sans-serif;
  color:#b9c1ca;
}

.retention-legend b {
  grid-column:2;
  font:400 23px/1.1 Arial,Helvetica,sans-serif;
  letter-spacing:-.035em;
  color:#e9ebed;
}

.retention-assumption {
  font:400 10px/1.5 Arial,Helvetica,sans-serif;
  color:#a4aeb9;
  margin:14px 0 0;
}

@media(max-width:450px) {
  .retention-model {
    padding:23px 21px 20px;
  }

  .retention-model-head {
    align-items:flex-start;
  }

  .retention-model-head>span {
    max-width:140px;
  }

  .retention-model h4 {
    font-size:23px;
  }
}

.retention-model {
  display:grid;
  grid-template-columns:minmax(0,1fr) 112px;
  column-gap:19px;
  align-items:center;
}

.retention-model-head,
.retention-model h4,
.retention-assumption {
  grid-column:1 / -1;
}

.retention-arcs {
  width:100%;
  max-width:none;
  margin:10px 0 0;
  min-width:0;
}

.retention-legend {
  grid-template-columns:1fr;
  gap:19px;
  border-top:0;
  border-left:1px solid #b5bec32b;
  padding:0 0 0 15px;
  margin-top:15px;
}

.retention-legend>div {
  gap:5px;
}

.retention-legend span {
  font-size:10px;
  line-height:1.4;
}

.retention-legend b {
  font-size:20px;
}

.retention-assumption {
  margin-top:17px;
}

@media(max-width:450px) {
  .retention-model {
    grid-template-columns:minmax(0,1fr) 96px;
    column-gap:12px;
  }

  .retention-legend {
    padding-left:11px;
    gap:16px;
  }

  .retention-legend b {
    font-size:18px;
  }
}

@media(max-width:900px) {
  .closing.shell {
    flex-direction:column;
    align-items:flex-start;
    gap:23px;
    padding-block:45px;
  }

  .closing.shell>div {
    max-width:630px;
  }
}

.closing.shell {
  min-height:430px;
  padding-block:54px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:24px;
  text-align:left;
}

.closing.shell>div {
  max-width:530px;
}

.closing.shell h2 {
  margin-bottom:20px;
}

.closing.shell p {
  max-width:455px;
}

.closing.shell>.button {
  align-self:flex-start;
}

@media(max-width:720px) {
  .closing.shell {
    gap:23px;
  }

  .closing.shell>div {
    max-width:530px;
  }
}

.closing.shell {
  background-position:center 12%;
}

@media(max-width:720px) {
  .closing.shell {
    background-position:65% center;
  }
}

.partner-inquiry {
  background:linear-gradient(180deg,rgba(19,24,30,.79),rgba(19,24,30,.68) 55%,rgba(19,24,30,.83)),url('assets/form-vintage-office.webp') center 62%/cover no-repeat;
  background:linear-gradient(180deg,rgba(19,24,30,.79),rgba(19,24,30,.68) 55%,rgba(19,24,30,.83)),image-set(url('assets/form-vintage-office.avif') type('image/avif'), url('assets/form-vintage-office.webp') type('image/webp')) center 62%/cover no-repeat;
  border-color:#a1a8b044;
}

.partner-inquiry input,
.partner-inquiry textarea {
  background:#121820b8;
  border-color:#b2bdc34a;
  backdrop-filter:blur(5px);
}

.partner-inquiry .inquiry-fields label {
  color:#e5e8eb;
}

.partner-inquiry .inquiry-note,
.partner-inquiry .inquiry-fields label>span {
  color:#bdc6ce;
}

.partner-inquiry .inquiry-heading>span {
  color:#c4ccd3;
}

.closing.shell h2 {
  font-size:clamp(36px,3.7vw,54px);
  line-height:1.1;
  letter-spacing:-.05em;
}

@media(max-width:720px) {
  .closing.shell h2 {
    font-size:36px;
  }
}

.carrier-layer>.carrier-partner-logo {
  width:140px;
  max-width:100%;
  height:auto;
  margin:0 0 12px;
  object-fit:contain;
  object-position:left center;
}

.modern-showcase .carrier-layer>.carrier-partner-logo {
  margin-bottom:20px;
}

.modern-showcase .carrier-layer>.carrier-price-eyebrow {
  display:block;
  font:400 11px/1.4 Arial,Helvetica,sans-serif;
  letter-spacing:.14em;
  color:#bdc5cc;
}

.operations-visual .ops-glass {
  padding:25px 26px 24px;
}

.operations-visual .ops-heading {
  gap:18px;
  padding-bottom:19px;
  font-size:12px;
  line-height:1.4;
}

.operations-visual .ops-heading img {
  width:72px;
  flex-shrink:0;
}

.operations-visual .ops-heading>span {
  text-align:right;
}

.operations-visual .explained-services {
  margin:8px 0 0;
  gap:0;
}

.operations-visual .explained-services>span {
  gap:15px;
  min-height:68px;
  padding:14px 0;
}

.operations-visual .explained-services>span>span {
  gap:5px;
}

.operations-visual .explained-services strong {
  font-size:15px;
  line-height:1.3;
}

.operations-visual .explained-services small {
  font-size:12px;
  line-height:1.5;
  color:#b6c0c6;
}

.operations-visual .ops-review {
  margin-top:9px;
  padding-top:4px;
  height:4px;
}

.operations-visual .ops-review:before {
  width:48px;
  height:1px;
  box-shadow:0 3px 0 #858b90;
}

@media(max-width:720px) {
  .operations-visual .ops-heading {
    gap:12px;
    font-size:11px;
  }

  .operations-visual .explained-services>span {
    gap:12px;
    padding:13px 0;
    min-height:66px;
  }

  .operations-visual .explained-services strong {
    font-size:14px;
  }
}

.modern-showcase .offering-model,
.modern-showcase .service-cinema:hover .offering-model {
  transform:none;
  transition:none;
  animation:none;
}

.modern-showcase .telmark-layer {
  background:linear-gradient(135deg,#292c30ed,#14181eed);
  border-color:#b8bfc633;
  color:#edf0f3;
}

.modern-showcase .telmark-layer .layer-heading {
  position:relative;
}

.modern-showcase .telmark-layer .layer-heading:after {
  content:'';
  position:absolute;
}

.modern-showcase .telmark-layer .layer-heading>span {
  color:#aeb7c1;
}

.modern-showcase .telmark-layer .layer-columns>div+div {
  border-color:#aab2bb26;
}

.modern-showcase .telmark-layer .layer-columns h4 {
  color:#f0f2f4;
}

.modern-showcase .telmark-layer .layer-columns p {
  color:#b4bdc7;
}

@media(max-width:720px) {
  .modern-showcase .telmark-layer .layer-heading:after {
    left:16px;
  }
}

.modern-showcase .telmark-layer .layer-heading {
  border-bottom:0;
}

.modern-showcase .telmark-layer .layer-heading:after {
  left:0;
  right:0;
  bottom:0;
  width:100%;
  height:2px;
  background:#b76058;
  box-shadow:0 4px 0 #929aa3;
}

footer.site-footer {
  display:block;
  padding:52px 7% 25px;
  background:#e8e9e6;
  color:#4e5d68;
  border-top:1px solid #c5cbd0;
}

.footer-top {
  max-width:1240px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  gap:48px;
  align-items:flex-start;
}

.site-footer .footer-brand {
  display:inline-block;
  line-height:0;
  margin-bottom:18px;
}

.site-footer .footer-brand img {
  width:116px;
  height:auto;
}

.site-footer .footer-identity p {
  width:auto;
  font-size:14px;
  line-height:1.65;
  margin:0;
  color:#62717c;
}

.site-footer .footer-links {
  display:grid;
  grid-template-columns:repeat(2,auto);
  gap:14px 36px;
  font-size:14px;
}

.site-footer a {
  text-decoration:none;
}

.site-footer a:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}

.footer-bottom {
  max-width:1240px;
  margin:36px auto 0;
  padding-top:20px;
  border-top:1px solid #bcc5cb;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:12px;
}

.footer-bottom>div {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
}

.legal-header {
  padding:24px 7%;
  justify-content:space-between;
}

.legal-header>a:last-child {
  font-size:14px;
  text-decoration:none;
  color:#284e7c;
}

.legal-main {
  width:86%;
  max-width:900px;
  margin:0 auto;
  padding:76px 0 90px;
}

.legal-intro {
  padding-bottom:34px;
  border-bottom:1px solid #c5cbd0;
  margin-bottom:36px;
}

.legal-eyebrow {
  font-size:11px;
  letter-spacing:.13em;
  color:#687783;
}

.legal-intro h1 {
  font:500 clamp(38px,5vw,58px)/1.08 Arial,Helvetica,sans-serif;
  letter-spacing:-.045em;
  margin:20px 0;
}

.legal-intro p {
  max-width:640px;
  color:#5e6c77;
  font-size:18px;
  line-height:1.6;
  margin-bottom:20px;
}

.legal-date {
  font-size:13px;
  color:#687783;
}

.legal-body {
  max-width:740px;
}

.legal-body section {
  margin:0 0 30px;
}

.legal-body h2 {
  font:500 22px/1.3 Arial,Helvetica,sans-serif;
  letter-spacing:-.025em;
  margin:0 0 12px;
}

.legal-body p {
  font-size:16px;
  line-height:1.8;
  color:#52616b;
  margin:0;
}

.legal-body a {
  color:#284e7c;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}

.inquiry-note a {
  text-underline-offset:3px;
}

@media(max-width:720px) {
  footer.site-footer {
    padding:36px 6% 24px;
  }

  .footer-top {
    flex-direction:column;
    gap:28px;
  }

  .footer-bottom {
    margin-top:28px;
    flex-direction:column;
    gap:14px;
  }

  .legal-main {
    padding:45px 0 60px;
  }

  .legal-header .brand {
    width:116px;
  }

  .legal-header .brand img {
    width:116px;
    height:auto;
  }

  .legal-body h2 {
    font-size:21px;
  }
}

.questions h2 {
  font:500 clamp(36px,3.7vw,54px)/1.1 Arial,Helvetica,sans-serif;
  letter-spacing:-.05em;
  color:#17242a;
  max-width:390px;
}

.faq-list summary {
  font-family:Arial,Helvetica,sans-serif;
  font-weight:500;
  line-height:1.45;
}

.faq-list p {
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.75;
  margin:0 0 24px;
}

.faq-list summary:focus-visible {
  outline:2px solid #284e7c;
  outline-offset:5px;
}

@media(max-width:720px) {
  .questions h2 {
    font-size:36px;
    max-width:none;
  }
}

.modern-showcase .carrier-layer h3.carrier-service-headline {
  font:500 clamp(23px,2.2vw,29px)/1.15 Arial,Helvetica,sans-serif;
  letter-spacing:-.035em;
  margin:10px 0;
}

.modern-showcase .carrier-layer p.carrier-service-description {
  font-size:12px;
  line-height:1.6;
  color:#b8c3cb;
}

.barber-demo {
  padding:26px;
}

.barber-brand {
  padding-bottom:21px;
}

.barber-chain {
  padding-top:23px;
}

.barber-stage {
  gap:15px;
  padding-bottom:24px;
  align-items:flex-start;
}

.barber-stage>div {
  min-width:0;
  padding-top:1px;
}

.barber-stage-label {
  margin-bottom:5px;
}

.barber-confirm {
  grid-template-columns:82px minmax(0,1fr);
  gap:18px;
  padding:18px 16px;
}

.barber-date {
  grid-row:auto;
  padding-right:16px;
}

.barber-appointment {
  gap:6px;
}

@media(max-width:1100px) {
  .barber-demo {
    padding:23px 20px;
  }

  .barber-confirm {
    grid-template-columns:76px minmax(0,1fr);
    gap:14px;
    padding:17px 13px;
  }
}

@media(max-width:420px) {
  .barber-demo {
    padding:22px 18px;
  }

  .barber-confirm {
    grid-template-columns:70px minmax(0,1fr);
    gap:12px;
    padding:16px 12px;
  }

  .barber-date {
    padding-right:12px;
  }

  .barber-stage {
    gap:12px;
  }
}

.portal-example {
  padding:25px 27px;
  min-height:370px;
}

.white-label-browser {
  border:1px solid #c5cbd2;
  overflow:hidden;
  color:#283846;
  font-family:Arial,Helvetica,sans-serif;
}

.wl-browser-bar {
  border-bottom:1px solid #c9ced5;
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 12px;
}

.wl-browser-dots {
  display:flex;
  gap:4px;
}

.wl-browser-dots i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:#939da8;
}

.wl-browser-dots i:first-child {
  background:#b76b63;
}

.wl-address {
  border:1px solid #cbd1d8;
  border-radius:3px;
  font-size:10px;
  line-height:18px;
  text-align:center;
  flex:1;
  margin-right:26px;
}

.wl-account-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:15px 18px 12px;
}

.wl-account-header>span {
  white-space:nowrap;
}

.wl-navigation {
  display:flex;
  padding:0 18px;
  border-bottom:1px solid #d7dce2;
  color:#788491;
}

.wl-navigation>span {
  padding:0 0 9px;
}

.wl-navigation .wl-selected {
  border-bottom:2px solid #284e7c;
}

.wl-workspace {
  padding:16px 18px 17px;
}

.wl-title {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.wl-title h4 {
  font:500 18px/1.2 Arial,Helvetica,sans-serif;
  margin:0;
}

.wl-status {
  line-height:1.5;
}

.wl-agent {
  display:flex;
  align-items:center;
}

.wl-line-icon {
  display:grid;
  place-items:center;
  flex-shrink:0;
}

.wl-agent p {
  font:400 11px/1.45 Arial,Helvetica,sans-serif;
  margin:2px 0 0;
}

.wl-settings {
  display:grid;
  grid-template-columns:1fr 1fr;
}

.wl-settings>div {
  display:grid;
}

.portal-example .vp-behind {
  gap:12px;
}

.portal-example .vp-behind small {
  font-size:11px;
}

@media(max-width:720px) {
  .portal-example {
    padding:23px;
    min-height:350px;
  }
}

@media(max-width:420px) {
  .portal-example {
    padding:20px 17px;
  }

  .wl-account-header,
.wl-workspace {
    padding-left:13px;
    padding-right:13px;
  }

  .wl-navigation {
    padding-inline:13px;
  }

  .portal-example .vp-behind {
    align-items:center;
  }

  .portal-example .vp-behind small {
    font-size:10px;
  }
}

.portal-example {
  padding-block:22px;
}

.white-label-browser {
  margin-top:14px;
}

.wl-browser-bar {
  height:28px;
}

.portal-example .vp-behind {
  margin-top:14px;
}

.wl-account-header img {
  width:98px;
  height:auto;
}

.launch-how .launch-visual {
  padding:18px;
}

@media(max-width:720px) {
  .launch-how .launch-visual {
    padding:14px;
  }
}

.launch-how .launch-visual {
  gap:14px;
}

@media(max-width:720px) {
  .launch-how .launch-visual {
    gap:12px;
  }
}

.launch-how .retro-office-visual {
  padding:0;
  gap:0;
  min-height:0;
  background:none;
  display:block;
}

.launch-how .retro-office-visual:before {
  display:none;
}

.retro-office-visual>img,
.retro-office-visual>picture>img {
  display:block;
  width:100%;
  height:auto;
}

.monitor-service-visual {
  container-type:inline-size;
  position:relative;
}

.monitor-service-screen {
  position:absolute;
  left:17.2%;
  top:14.5%;
  width:65.6%;
  height:54.3%;
  border-radius:2cqw;
  overflow:hidden;
  background:linear-gradient(135deg,#293039dc,#151c24e8);
  border:1px solid #c8d1da25;
  color:#ecf0f3;
  display:flex;
  flex-direction:column;
  font-family:Arial,Helvetica,sans-serif;
  backdrop-filter:blur(7px);
  box-shadow:inset 0 0 3cqw #0003;
}

.monitor-portal-header {
  display:flex;
  justify-content:space-between;
  padding:2.7cqw 3.2cqw 2cqw;
  gap:2cqw;
  border-bottom:1px solid #b5c0ca30;
  font-size:1.7cqw;
  color:#a7b4c0;
}

.monitor-portal-header strong {
  font-size:2cqw;
  letter-spacing:.12em;
  line-height:1.3;
  font-weight:600;
}

.monitor-portal-header strong span {
  display:block;
  font-size:1.4cqw;
  letter-spacing:.2em;
  margin-top:.4cqw;
}

.monitor-portal-body {
  padding:2.5cqw 3.2cqw 1.7cqw;
  flex:1;
  min-height:0;
}

.monitor-eyebrow {
  font-size:1.45cqw;
  letter-spacing:.13em;
  color:#abb6c2;
  display:block;
}

.monitor-portal-body h4 {
  font:500 3.6cqw/1.14 Arial,Helvetica,sans-serif;
  letter-spacing:-.035em;
  color:#edf0f3;
}

.monitor-service-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2cqw;
  border-top:1px solid #a8b5c32b;
  font-size:2.15cqw;
}

.monitor-service-row small {
  font-size:1.65cqw;
  color:#a8b6c4;
}

.monitor-ai-row {
  border-top-color:#b76b62;
  box-shadow:0 -3px 0 -2px #9ea8b2;
}

.monitor-ai-row small {
  color:#d6e0eb;
}

.monitor-portal-body p {
  font:400 1.65cqw/1.4 Arial,Helvetica,sans-serif;
  color:#a8b5c2;
  margin:1cqw 0 0;
  white-space:nowrap;
  letter-spacing:-.02em;
}

.monitor-portal-footer {
  padding:1.7cqw 3.2cqw;
  border-top:1px solid #a8b5c326;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#9eabb8;
  font-size:1.5cqw;
}

.monitor-portal-footer>span {
  display:flex;
  align-items:center;
  gap:1.3cqw;
}

.monitor-portal-footer img {
  width:7.7cqw;
  height:auto;
  filter:brightness(0) invert(1);
  opacity:.85;
}

.monitor-portal-footer small {
  font-size:1.35cqw;
}

.monitor-portal-header {
  padding-top:2cqw;
  padding-bottom:1.5cqw;
}

.monitor-portal-body {
  padding-top:2cqw;
  padding-bottom:1.5cqw;
}

.monitor-portal-body h4 {
  font-size:3.2cqw;
  margin:.8cqw 0 1.4cqw;
}

.monitor-service-row {
  padding:1cqw 0;
  line-height:1.4;
}

.monitor-portal-footer {
  padding-top:1.2cqw;
  padding-bottom:1.2cqw;
}

.monitor-portal-header strong {
  color:#a7b4c0;
}

.monitor-portal-header {
  align-items:baseline;
}

.monitor-portal-header strong {
  white-space:nowrap;
}

.partner-start-copy>p {
  margin-bottom:0;
}

.partner-start .partner-inquiry {
  width:100%;
}

.partner-start .inquiry-fields {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 24px;
}

.partner-start .partner-inquiry>.button {
  width:auto;
  min-width:240px;
}

@media(max-width:720px) {
  .partner-start {
    gap:28px;
  }

  .partner-start .inquiry-fields {
    gap:18px;
  }

  .partner-start .partner-inquiry>.button {
    width:100%;
    min-width:0;
  }
}

.partner-start {
  grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  gap:clamp(28px,4vw,56px);
  align-items:start;
}

.partner-start-copy {
  max-width:none;
  padding-top:8px;
}

.partner-start-copy h2 {
  font-size:clamp(32px,3vw,43px);
  padding-bottom:25px;
  border-bottom:1px solid #bfc7cd;
  margin-bottom:24px;
}

.partner-start-copy>p {
  max-width:none;
}

.partner-start .partner-inquiry {
  padding:32px;
}

@media(max-width:900px) {
  .partner-start {
    grid-template-columns:minmax(0,1fr);
    gap:30px;
  }

  .partner-start-copy {
    max-width:720px;
    padding-top:0;
  }

  .partner-start-copy h2 {
    font-size:36px;
  }

  .partner-start .partner-inquiry {
    padding:28px;
  }
}

.questions {
  padding-inline:max(7%,calc((100% - 1240px)/2));
}

@media(max-width:720px) {
  .questions {
    padding-inline:6%;
  }
}

.white-label-browser {
  background:linear-gradient(145deg,#f1f3f5,#dfe4e9);
  border-color:#b9c2cd;
  border-radius:8px;
  box-shadow:0 14px 28px #0003,inset 0 1px 0 #fff;
}

.wl-browser-bar {
  background:linear-gradient(#d8dde3,#cbd2da);
  border-bottom-color:#b9c3cd;
}

.wl-address {
  background:#edf0f3a6;
  border-color:#bac4cf80;
  color:#748190;
}

.wl-account-header {
  padding-top:14px;
  padding-bottom:13px;
}

.wl-account-header>span {
  font-size:11px;
  color:#677584;
}

.wl-navigation {
  gap:24px;
  border-bottom-color:#bdc7d15c;
  font-size:11px;
}

.wl-navigation>span {
  padding-bottom:8px;
}

.wl-navigation .wl-selected {
  font-weight:600;
  border-bottom-color:#ac5b54;
  color:#283f5b;
}

.wl-workspace {
  padding-top:15px;
  padding-bottom:16px;
}

.wl-title h4 {
  font-size:19px;
  letter-spacing:-.04em;
  color:#243547;
}

.wl-status {
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:none;
  border:0;
  border-radius:0;
  padding:0;
  font-size:10px;
  color:#62758a;
  letter-spacing:.02em;
}

.wl-status:before {
  content:'';
  width:5px;
  height:5px;
  border-radius:50%;
  background:#446b94;
}

.wl-agent {
  position:relative;
  margin:13px 0 12px;
  padding:13px 12px;
  background:linear-gradient(120deg,#303740,#1c242e);
  border:1px solid #414b56;
  border-radius:5px;
  box-shadow:0 4px 8px #25313b12,inset 0 1px 0 #ffffff0b;
  gap:10px;
  overflow:hidden;
}

.wl-agent:before {
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:#b5675f;
  box-shadow:3px 0 0 #939fa9;
}

.wl-line-icon {
  width:32px;
  height:32px;
  background:none;
  border:0;
  border-radius:0;
  color:#c2d1e1;
}

.wl-line-icon svg {
  width:25px;
  height:25px;
}

.wl-agent strong {
  font-size:14px;
  font-weight:500;
  color:#edf0f3;
  letter-spacing:-.02em;
}

.wl-agent p {
  font-size:11px;
  color:#aeb9c6;
  margin-top:3px;
}

.wl-settings {
  border-top:0;
  padding-top:0;
  gap:18px;
}

.wl-settings>div {
  gap:4px;
}

.wl-settings>div+div {
  border-left:1px solid #b9c4cf75;
  padding-left:18px;
}

.wl-settings span {
  color:#7a8795;
  font-size:10px;
}

.wl-settings strong {
  font-size:12px;
  color:#344b61;
  font-weight:500;
}

@media(max-width:420px) {
  .wl-title h4 {
    font-size:17px;
  }

  .wl-agent {
    padding:11px 10px;
    gap:7px;
  }

  .wl-agent p {
    font-size:10px;
  }

  .wl-settings {
    gap:12px;
  }

  .wl-settings>div+div {
    padding-left:12px;
  }

  .wl-settings strong {
    font-size:11px;
  }
}

.vp-managed {
  background:linear-gradient(135deg,#2a2e34,#191e25);
  padding:28px 30px;
}

#approach .vp-managed h4 {
  font-size:26px;
  line-height:1.2;
  margin:18px 0 23px;
  letter-spacing:-.035em;
}

#approach .vp-managed-row {
  position:relative;
  gap:18px;
  padding:16px 0;
  align-items:flex-start;
  border-color:#b7bec526;
}

#approach .vp-managed-row:first-of-type {
  border-top:2px solid #ae645c;
  box-shadow:0 -4px 0 -3px #9ba4ad;
}

#approach .vp-managed-row>span {
  font-size:11px;
  line-height:1.5;
  letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
  color:#909da9;
  padding-top:2px;
  min-width:20px;
}

.vp-managed-row>div {
  gap:5px;
}

#approach .vp-managed-row b {
  font-size:14px;
  line-height:1.4;
  font-weight:500;
}

#approach .vp-managed-row small {
  font-size:12px;
  line-height:1.5;
  color:#a5b0bc;
}

@media(max-width:720px) {
  .vp-managed {
    padding:25px;
  }

  #approach .vp-managed h4 {
    font-size:24px;
  }

  #approach .vp-managed-row {
    gap:14px;
    padding:14px 0;
  }
}

@media(prefers-reduced-motion:no-preference) {
  #approach .cap-tabs button {
    transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease,transform .25s cubic-bezier(.22,1,.36,1);
  }

  #approach .cap-tabs button:hover {
    transform:translateY(-2px);
    box-shadow:0 4px 10px #20344912;
  }

  #approach .cap-tabs button:active {
    transform:translateY(0);
  }

  .partner-inquiry input,
.partner-inquiry textarea {
    transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease;
  }

  .partner-inquiry input:focus,
.partner-inquiry textarea:focus {
    box-shadow:0 0 0 4px #9bb8d014;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
}

@media(min-width:901px) and (min-height:650px) {
  .questions>div:first-child,
.partner-start-copy {
    position:sticky;
    top:48px;
    align-self:start;
  }
}

main,
section,
article,
form,
.feature-copy,
.how-copy,
.program-card,
.faq-list {
  min-width:0;
}

input,
textarea,
button {
  max-width:100%;
}

@media(max-width:1000px) {
  header {
    flex-wrap:wrap;
    gap:16px;
  }

  header nav {
    order:3;
    width:100%;
    justify-content:space-between;
    border-top:1px solid #cbd0d2;
    padding-top:10px;
  }

  header nav a {
    display:flex;
    align-items:center;
    min-height:44px;
  }

  .modern-showcase .carrier-offer {
    grid-template-columns:minmax(0,1fr);
    gap:30px;
  }

  .modern-showcase .offer-copy h2,
.modern-showcase .offer-copy>p {
    max-width:650px;
  }

  .how-intro {
    display:block;
  }

  .how-intro>p {
    max-width:620px;
    margin-top:22px;
  }

  .how-row.feature-row,
.how-row.launch-how {
    grid-template-columns:minmax(0,1fr);
    gap:28px;
  }

  .launch-how .how-copy,
.launch-how .launch-visual {
    grid-column:auto;
    grid-row:auto;
  }

  .how-visual {
    width:100%;
    max-width:650px;
    justify-self:center;
  }

  #approach .capability-row {
    grid-template-columns:minmax(0,1fr);
    gap:30px;
    min-height:0;
  }

  #approach .program-card {
    width:100%;
    max-width:650px;
    justify-self:center;
  }

  .questions {
    grid-template-columns:minmax(0,1fr);
    gap:28px;
  }

  .questions>div:first-child {
    position:static;
  }

  .questions h2 {
    max-width:none;
  }

  .telecom-products {
    grid-template-columns:minmax(0,1fr);
  }

  .telecom-product {
    min-height:390px;
  }

  .portfolio-foundation {
    display:none;
  }

  .portfolio-heading {
    grid-template-columns:minmax(0,1fr);
    gap:24px;
  }

  .portfolio-close {
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
  }
}

@media(max-width:720px) {
  .topline {
    font-size:10px;
    letter-spacing:.065em;
  }

  .topline>span {
    overflow-wrap:anywhere;
  }

  header {
    gap:12px;
  }

  header nav {
    font-size:12px;
    line-height:1.35;
  }

  header nav a {
    flex:1;
  }

  header nav a:last-child {
    justify-content:flex-end;
    text-align:right;
  }

  .modern-hero {
    min-height:0;
  }

  .modern-hero .hero-copy {
    width:100%;
    padding:220px 20px 80px;
  }

  .modern-hero h1 {
    font-size:clamp(34px,8.8vw,46px);
    overflow-wrap:normal;
  }

  .modern-hero .button {
    min-height:48px;
    width:100%;
    text-align:center;
  }

  .hero-edition {
    left:20px;
    right:20px;
    gap:12px;
  }

  .hero-edition p {
    font-size:10px;
  }

  .modern-section-heading h2,
.portfolio-heading h2,
.how-intro h2,
.questions h2,
.partner-start-copy h2,
.closing.shell h2 {
    font-size:clamp(30px,7.7vw,36px);
  }

  .service-cinema {
    padding:22px 14px;
    min-height:0;
  }

  .modern-showcase .carrier-layer {
    padding:20px 16px;
  }

  .modern-showcase .carrier-layer h3.carrier-service-headline {
    font-size:24px;
    line-height:1.2;
  }

  .modern-showcase .layer-columns {
    grid-template-columns:minmax(0,1fr);
  }

  .modern-showcase .layer-columns>div {
    padding:17px;
  }

  .modern-showcase .layer-columns>div+div {
    border-left:0;
    border-top:1px solid #b8bfc633;
  }

  .modern-showcase .layer-columns h4 {
    font-size:15px;
  }

  .modern-showcase .layer-columns p {
    font-size:14px;
    line-height:1.7;
  }

  .telecom-product {
    min-height:350px;
  }

  .ai-product {
    min-height:430px;
  }

  .product-content {
    left:21px;
    right:21px;
  }

  .portfolio-close a {
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }

  .how-visual {
    padding:16px;
    min-height:0;
  }

  .call-visual,
.operations-visual {
    padding-block:32px;
  }

  .how-copy h3 {
    font-size:30px;
  }

  .barber-brand {
    flex-wrap:wrap;
    gap:12px;
  }

  .barber-demo {
    padding:21px 17px;
  }

  .barber-stage p {
    font-size:16px;
  }

  .barber-confirm {
    padding:15px 12px;
    gap:12px;
  }

  .barber-confirmed {
    line-height:1.4;
  }

  .operations-visual .ops-glass {
    padding:22px 17px;
  }

  .ops-heading {
    flex-wrap:wrap;
    gap:12px;
  }

  .operations-visual .explained-services>span {
    min-width:0;
  }

  .operations-visual .explained-services small {
    font-size:13px;
  }

  .launch-how .monitor-service-visual {
    padding:0;
  }

  .monitor-service-visual>img,
  .monitor-service-visual>picture>img {
    width:140%;
    max-width:none;
    margin-left:-20%;
  }

  .monitor-service-screen {
    left:4.08%;
    width:91.84%;
    top:14.5%;
    height:54.3%;
    border-radius:10px;
  }

  .monitor-portal-header {
    padding:8px 12px;
    font-size:10px;
    line-height:1.2;
  }

  .monitor-portal-header strong {
    font-size:11px;
    line-height:1.2;
  }

  .monitor-portal-body {
    padding:7px 12px;
  }

  .monitor-eyebrow,
.monitor-portal-body p {
    display:none;
  }

  .monitor-portal-body h4 {
    font-size:18px;
    line-height:1.15;
    margin:0 0 6px;
  }

  .monitor-service-row {
    font-size:12px;
    line-height:1.3;
    padding:4px 0;
  }

  .monitor-service-row small {
    font-size:10px;
  }

  .monitor-portal-footer {
    padding:6px 12px;
    font-size:9px;
    line-height:1.2;
  }

  .monitor-portal-footer img {
    width:42px;
  }

  .monitor-portal-footer small {
    font-size:9px;
  }

  #approach .cap-tabs {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-bottom:28px;
  }

  #approach .cap-tabs button {
    min-height:46px;
    padding:9px 10px;
    font-size:13px;
    line-height:1.35;
    white-space:normal;
  }

  #approach .cap-tabs button:last-child {
    grid-column:1/-1;
  }

  #approach .feature-copy h3 {
    font-size:30px;
  }

  #approach .program-card strong {
    overflow-wrap:break-word;
  }

  .retention-model {
    grid-template-columns:minmax(0,1fr);
    padding:22px;
  }

  .retention-arcs {
    max-width:330px;
    margin:12px auto 0;
  }

  .retention-legend {
    grid-template-columns:1fr 1fr;
    border-left:0;
    border-top:1px solid #b5bec32b;
    padding:15px 0 0;
    margin-top:5px;
    gap:14px;
  }

  .retention-legend span {
    font-size:12px;
  }

  .retention-legend b {
    font-size:22px;
  }

  .retention-model-head {
    flex-wrap:wrap;
    gap:5px;
  }

  .retention-assumption {
    font-size:11px;
  }

  .priced-invoice {
    padding:24px 20px;
  }

  .priced-invoice .vp-bill-row {
    gap:10px;
  }

  .priced-invoice .bill-price {
    font-size:24px;
  }

  .vp-behind {
    flex-wrap:wrap;
    gap:6px 12px;
  }

  .wl-title {
    gap:8px;
  }

  .wl-agent>div {
    min-width:0;
  }

  .wl-agent p {
    white-space:normal;
  }

  .wl-settings {
    gap:10px;
  }

  .wl-settings>div+div {
    padding-left:10px;
  }

  .partner-start .partner-inquiry {
    padding:24px 20px;
  }

  .partner-start .inquiry-fields {
    grid-template-columns:minmax(0,1fr);
  }

  .partner-inquiry input,
.partner-inquiry textarea {
    font-size:16px;
    min-height:46px;
  }

  .inquiry-fields label {
    font-size:14px;
  }

  .partner-inquiry>.button {
    min-height:48px;
  }

  .partner-start-copy {
    position:static;
  }

  .faq-list summary {
    min-height:52px;
    padding:20px 28px 20px 0;
  }

  .faq-list p {
    padding-right:0;
    font-size:16px;
  }

  .closing.shell {
    min-height:0;
    padding-block:48px;
  }

  .closing.shell>div {
    width:100%;
  }

  .closing.shell>.button {
    min-height:48px;
  }

  .site-footer .footer-links {
    grid-template-columns:1fr;
    gap:8px;
  }

  .site-footer a {
    overflow-wrap:anywhere;
  }

  .site-footer .footer-links a,
.footer-bottom a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }

  .footer-bottom>div {
    flex-wrap:wrap;
    gap:8px 20px;
  }

  .legal-body {
    overflow-wrap:anywhere;
  }
}

@media(max-width:360px) {
  header .brand,
header .brand img {
    width:108px;
  }

  .modern-hero .hero-copy {
    padding-top:180px;
  }

  .modern-hero h1 {
    font-size:33px;
  }

  .hero-edition>span {
    width:35px;
  }

  .barber-confirm {
    grid-template-columns:60px minmax(0,1fr);
    gap:10px;
  }

  .barber-date {
    padding-right:9px;
  }

  .barber-date strong {
    font-size:19px;
  }

  .barber-date>span {
    font-size:10px;
  }

  .barber-appointment>strong {
    font-size:14px;
  }

  .portal-example {
    padding:20px 13px;
  }

  .wl-account-header,
.wl-workspace {
    padding-inline:11px;
  }

  .wl-title h4 {
    font-size:16px;
  }

  .wl-settings strong {
    font-size:11px;
  }

  .vp-managed {
    padding:24px 20px;
  }

  #approach .vp-managed-row {
    gap:10px;
  }

  #approach .vp-managed h4 {
    font-size:23px;
  }
}

@media(hover:none) {
  .telecom-product:hover>img,
  .telecom-product:hover>picture>img {
    transform:none;
  }

  .button:hover,
#approach .cap-tabs button:hover {
    transform:none;
  }
}

@media(min-width:1901px) {
  .topline,
body>header {
    padding-inline:calc((100% - 1729px)/2);
  }

  body>header.legal-header {
    padding-inline:calc((100% - 1634px)/2);
  }

  .modern-hero .hero-copy {
    margin-left:calc((100% - 1856px)/2);
    padding-inline:111.36px;
  }

  .modern-hero .hero-edition {
    left:calc((100% - 1856px)/2 + 111.36px);
    right:calc((100% - 1856px)/2 + 74.24px);
  }
}

.modern-hero {
  margin-bottom:20px;
}

@media(max-width:720px) {
  .modern-hero {
    margin-bottom:12px;
  }
}

@media(max-width:1000px) {
  header nav {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
  }
}

@media(max-width:720px) {
  header nav {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px 12px;
  }

  header nav a,
header nav a:last-child {
    justify-content:flex-start;
    text-align:left;
  }
}

body>header.site-header {
  width:100%;
  padding:24px max(7%,calc((100% - 1240px)/2));
  gap:28px;
  flex-wrap:nowrap;
}

.site-header .brand {
  flex-shrink:0;
}

.site-header .brand img {
  transform:scale(1.03);
}

.site-header nav {
  display:flex;
  gap:24px;
  align-items:center;
  white-space:nowrap;
  order:0;
  width:auto;
  border:0;
  padding:0;
  font-size:14px;
}

.site-header > .header-cta {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 10px 14px;
  font-size: 14px;
  line-height: 1.5;
  white-space: nowrap;
  text-align: center;
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
  transform: none;
}

.site-header > .header-cta:visited,
.site-header > .header-cta:hover,
.site-header > .header-cta:active {
  color: #fff;
  background: var(--blue);
  border-color: var(--blue);
  transform: none;
}

.site-header > .header-cta:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
}

.nav-toggle {
  display:none;
  width:44px;
  height:44px;
  padding:11px;
  border:1px solid #b8c1c7;
  border-radius:5px;
  background:transparent;
  color:var(--navy);
  cursor:pointer;
  flex-shrink:0;
}

.nav-toggle span {
  display:block;
  width:20px;
  height:2px;
  background:currentColor;
  margin:4px 0;
}

.nav-toggle:focus-visible {
  outline:2px solid var(--blue);
  outline-offset:3px;
}

@media(max-width:900px) {
  body>header.site-header {
    flex-wrap:wrap;
    gap:12px;
    padding-block:18px;
  }

  .site-header .nav-toggle {
    display:block;
  }

  .site-header nav {
    display:none;
    order:3;
    width:100%;
    white-space:normal;
    padding-top:12px;
    border-top:1px solid var(--line);
  }

  .site-header[data-menu-open] nav {
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }

  .site-header nav a,
.site-header nav a:last-child {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-height:48px;
    padding:8px 0;
    text-align:left;
    font-size:15px;
  }

  .nav-toggle[aria-expanded="true"] span:nth-child(1) {
    transform:translateY(6px) rotate(45deg);
  }

  .nav-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity:0;
  }

  .nav-toggle[aria-expanded="true"] span:nth-child(3) {
    transform:translateY(-6px) rotate(-45deg);
  }
}

@media(max-width:720px) {
  body>header.site-header {
    padding:15px 6%;
    gap:10px;
  }

  .site-header .brand,
.site-header .brand img {
    width:116px;
  }

  .site-header .nav-toggle {
    width:44px;
    height:44px;
  }
}

.site-header nav a {
  font-weight:600;
}

@media(min-width:721px) {
  .modern-hero .hero-copy {
    width:min(680px,88%);
    max-width:680px;
    margin-left:max(6%,calc((100% - 1240px)/2));
    padding-inline:0;
  }

  .modern-hero .hero-edition {
    left:max(6%,calc((100% - 1240px)/2));
    right:max(6%,calc((100% - 1240px)/2));
  }
}

.topline {
  padding-inline: max(7%, calc((100% - 1240px) / 2));
}

@media (max-width: 720px) {
  .topline {
    padding-inline: 6%;
  }
}

/* Keep responsive picture sources neutral to existing card layouts. */
.photo-source { display: contents; }

/* Partnership inquiry popup shares the existing form and typography. */
body.inquiry-dialog-open { overflow:hidden; }
.inquiry-dialog {
  width:min(640px, calc(100% - 32px));
  max-width:640px;
  max-height:calc(100dvh - 40px);
  margin:auto;
  padding:0;
  border:1px solid #62676b;
  border-radius:14px;
  background:#1c2024;
  color:#f5f5f3;
  box-shadow:0 24px 90px #0008;
  overflow:auto;
  overscroll-behavior:contain;
  color-scheme:dark;
}
.inquiry-dialog::backdrop { background:#101419b8; backdrop-filter:blur(7px); }
.inquiry-dialog .popup-inquiry {
  margin:0;
  padding:32px;
  width:100%;
  max-width:none;
  border:0;
  border-radius:0;
  background:linear-gradient(145deg,#292e33,#181b1f);
  box-shadow:none;
}
.inquiry-close {
  position:absolute;
  right:14px;
  top:14px;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid #747a8040;
  border-radius:50%;
  background:#ffffff07;
  color:#dce0e2;
  cursor:pointer;
}
.inquiry-close:hover { background:#ffffff15; }
.inquiry-dialog .inquiry-heading { padding-right:40px; margin-bottom:20px; }
.inquiry-dialog .inquiry-heading img { width:106px; }
.inquiry-dialog .inquiry-heading>span { font-size:10px; letter-spacing:.12em; max-width:140px; }
.popup-rules { display:grid; gap:4px; margin:0 0 24px; }
.popup-rules span { display:block; height:1px; background:#858b91; }
.popup-rules span:first-child { background:#b85a52; }
.inquiry-dialog h2 { font:500 clamp(27px,4vw,34px)/1.12 Arial,Helvetica,sans-serif; letter-spacing:-.035em; margin:0 0 12px; color:#f4f4f2; }
.inquiry-dialog .popup-intro { font-size:14px; line-height:1.55; color:#bfc5ca; margin:0 0 24px; max-width:490px; }
.inquiry-dialog .inquiry-fields { gap:16px; }
.inquiry-dialog .inquiry-fields label { font-size:13px; }
.inquiry-dialog input,.inquiry-dialog textarea { background:#14171bb3; border:1px solid #626970; border-radius:6px; font-size:16px; padding:11px 12px; }
.inquiry-dialog textarea { min-height:78px; resize:vertical; }
.inquiry-dialog input:focus,.inquiry-dialog textarea:focus { outline:2px solid #94b6de; outline-offset:2px; }
.inquiry-dialog .button { margin-top:20px; min-height:46px; }
.inquiry-dialog .inquiry-note { font-size:12px; line-height:1.5; margin:14px 0 0; }
.inquiry-dialog .inquiry-status:empty { display:none; }
@media(prefers-reduced-motion:no-preference) {
  .inquiry-dialog[open] { animation:inquiry-enter .22s ease-out; }
  @keyframes inquiry-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
}
@media(max-width:540px) {
  .inquiry-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); border-radius:10px; }
  .inquiry-dialog .popup-inquiry { padding:26px 20px 22px; }
  .inquiry-dialog .inquiry-heading>span { display:none; }
  .inquiry-dialog .inquiry-fields { grid-template-columns:1fr; gap:14px; }
  .inquiry-dialog .button { width:100%; }
}
.inquiry-dialog .inquiry-heading { padding-bottom:0; border-bottom:0; }
.inquiry-dialog .inquiry-heading:after { display:none; }
