/* Reference-led WorkVia pricing page. */
@font-face {
  font-family: Inter;
  src: url('../fonts/inter-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  color-scheme: dark;
  --pricing-bg: #03132d;
  --pricing-bg-deep: #020b1d;
  --pricing-panel: rgba(4, 31, 62, .86);
  --pricing-cyan: #0edaf4;
  --pricing-white: #f8fbff;
  --pricing-muted: #aab9d5;
  --pricing-shell: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.pricing-page {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--pricing-bg-deep);
  color: var(--pricing-white);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
.pricing-shell { width: min(var(--pricing-shell), calc(100% - 40px)); margin-inline: auto; }
.pricing-skip {
  position: fixed; top: 10px; left: 10px; z-index: 100;
  padding: 10px 14px; border-radius: 8px; background: #fff; color: #07152d;
  transform: translateY(-160%); transition: transform .2s ease;
}
.pricing-skip:focus { transform: translateY(0); }
.pricing-nav {
  position: absolute; inset: 0 0 auto; z-index: 20;
  border-bottom: 1px solid rgba(61, 154, 232, .16);
  background: rgba(2, 12, 31, .48);
  backdrop-filter: blur(16px);
}
.pricing-nav__inner { min-height: 76px; display: flex; align-items: center; gap: 28px; }
.pricing-brand { display: inline-flex; align-items: center; text-decoration: none; }
.pricing-brand img { display: block; width: 138px; height: auto; }
.pricing-nav__links { display: flex; gap: 28px; margin-left: 18px; }
.pricing-nav__links a, .pricing-link { color: #c3cee2; font-size: .85rem; font-weight: 700; text-decoration: none; }
.pricing-nav__links a:hover, .pricing-nav__links a:focus-visible, .pricing-link:hover, .pricing-link:focus-visible { color: #fff; }
.pricing-nav__actions { margin-left: auto; display: flex; align-items: center; gap: 18px; }
.pricing-hero, .pricing-comparison {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background-color: var(--pricing-bg);
  background-image:
    linear-gradient(rgba(51, 135, 213, .075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(51, 135, 213, .075) 1px, transparent 1px),
    radial-gradient(circle at 50% 8%, rgba(15, 84, 190, .24), transparent 42%);
  background-size: 64px 64px, 64px 64px, auto;
}
.pricing-hero { padding: 150px 0 128px; }
.pricing-comparison { padding: 128px 0 152px; border-top: 1px solid rgba(52, 156, 255, .32); }
.pricing-hero::before, .pricing-comparison::before {
  content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background:
    radial-gradient(circle at 17% 40%, rgba(0, 150, 255, .10), transparent 28%),
    radial-gradient(circle at 78% 35%, rgba(0, 104, 255, .12), transparent 32%),
    linear-gradient(180deg, rgba(2, 9, 24, .04), rgba(2, 9, 24, .5));
}
.pricing-heading { max-width: 760px; margin: 0 auto 42px; text-align: center; }
.pricing-kicker {
  margin: 0 0 8px; color: #23d9ff; font-size: .7rem; font-weight: 900;
  letter-spacing: .18em; line-height: 1.25; text-transform: uppercase;
}
.pricing-heading h1, .pricing-comparison h2, .pricing-custom h2 {
  margin: 0; color: #fff; letter-spacing: -.04em; line-height: 1.06;
}
.pricing-heading h1 { font-size: clamp(2.25rem, 4vw, 3.65rem); text-shadow: 0 5px 30px rgba(0, 0, 0, .36); }
.pricing-heading > p:last-child { max-width: 700px; margin: 14px auto 0; color: var(--pricing-muted); font-size: 1rem; }
.pricing-orbit { position: absolute; z-index: -1; pointer-events: none; border: 1px solid rgba(22, 99, 255, .72); border-radius: 50%; box-shadow: 0 0 36px rgba(34, 88, 255, .22); }
.pricing-orbit--one { width: 1380px; height: 410px; top: -235px; left: 50%; transform: translateX(-50%) rotate(3deg); }
.pricing-orbit--two { width: 1080px; height: 450px; right: -520px; bottom: -340px; transform: rotate(-12deg); }
.pricing-orbit--three { width: 950px; height: 410px; left: -580px; bottom: -300px; transform: rotate(16deg); }
.pricing-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.pricing-card {
  position: relative; display: flex; min-width: 0; flex-direction: column; padding: 28px 24px 20px;
  border: 1px solid rgba(25, 196, 255, .54); border-radius: 16px;
  background: linear-gradient(145deg, rgba(6, 38, 72, .94), rgba(2, 19, 44, .94));
  box-shadow: inset 0 1px rgba(255, 255, 255, .035), 0 18px 48px rgba(0, 8, 28, .34);
}
.pricing-card.is-popular {
  border-color: #9c65ff;
  background: linear-gradient(145deg, rgba(27, 36, 88, .96), rgba(10, 18, 54, .96));
  box-shadow: 0 0 0 1px rgba(182, 67, 255, .25), 0 20px 58px rgba(72, 24, 151, .36), inset 0 1px rgba(255, 255, 255, .07);
}
.pricing-card__badge {
  position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%);
  padding: 5px 20px; border-radius: 999px;
  background: linear-gradient(90deg, #1f9cff, #b73cff); color: #fff;
  box-shadow: 0 0 24px rgba(78, 107, 255, .58); font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap;
}
.pricing-card__header { display: flex; align-items: center; gap: 14px; min-height: 50px; }
.pricing-card__header > span:last-child, .pricing-table__plan > span:last-child { min-width: 0; display: grid; }
.pricing-card__header strong { color: #fff; font-size: 1.02rem; line-height: 1.25; }
.pricing-card__header small, .pricing-table__plan small { color: #b8c8e5; font-size: .72rem; line-height: 1.35; }
.pricing-plan-icon {
  display: inline-flex; width: 50px; height: 50px; flex: 0 0 50px; align-items: center; justify-content: center;
  border: 1px solid rgba(41, 151, 255, .8); border-radius: 11px;
  background: linear-gradient(145deg, rgba(19, 124, 255, .18), rgba(3, 21, 57, .84));
  box-shadow: inset 0 0 15px rgba(21, 119, 255, .16), 0 0 16px rgba(0, 143, 255, .15); color: #20baff;
}
.pricing-card--growth .pricing-plan-icon { border-color: rgba(174, 67, 255, .72); color: #a653ff; background: rgba(83, 29, 140, .22); }
.pricing-plan-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pricing-card__price { display: flex; align-items: baseline; gap: 7px; margin-top: 17px; }
.pricing-card__price strong { font-size: clamp(1.85rem, 3vw, 2.4rem); line-height: 1; letter-spacing: -.04em; }
.pricing-card__price span { color: #c2cee2; font-size: .82rem; }
.pricing-card__billing { margin: 6px 0 0; color: #b9c6dc; font-size: .79rem; }
.pricing-card__saving {
  align-self: flex-start; margin: 5px 0 14px; padding: 4px 14px; border-radius: 999px;
  border: 1px solid rgba(0, 224, 223, .25); background: rgba(0, 188, 188, .2); color: #2cf5df; font-size: .72rem; font-weight: 800;
}
.pricing-card--growth .pricing-card__saving { border-color: rgba(203, 44, 255, .3); background: rgba(155, 25, 206, .26); color: #ef70ff; }
.pricing-card__features {
  display: grid; flex: 1; gap: 8px; margin: 0 0 22px; padding: 16px 0 0; border-top: 1px solid rgba(58, 176, 245, .26); list-style: none;
}
.pricing-card__features li { display: flex; gap: 11px; color: #c8d5e9; font-size: .78rem; line-height: 1.35; }
.pricing-card__features li span { color: var(--pricing-cyan); font-weight: 900; }
.pricing-card--growth .pricing-card__features li span { color: #ef45ff; }
.pricing-button {
  min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  padding: 11px 18px; border: 1px solid transparent; border-radius: 11px;
  color: #fff !important; font-size: .78rem; font-weight: 850; line-height: 1; text-align: center; text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.pricing-button:hover { transform: translateY(-2px); }
.pricing-button--outline { border-color: #3ea5ff; background: rgba(3, 23, 53, .58); }
.pricing-button--outline:hover { background: rgba(27, 102, 188, .18); box-shadow: 0 0 18px rgba(29, 151, 255, .18); }
.pricing-button--primary { background: linear-gradient(100deg, #249fff, #9c43ff 72%, #c32bea); box-shadow: 0 9px 26px rgba(72, 76, 255, .32); }
.pricing-button--primary:hover { box-shadow: 0 12px 34px rgba(97, 61, 255, .46); }
.pricing-button--compact { min-height: 44px; padding: 10px 16px; }
.pricing-compare-bridge { position: relative; z-index: 5; height: 0; }
.pricing-compare-jump {
  position: absolute; left: 50%; top: 0; z-index: 4; transform: translate(-50%, -50%);
  min-width: 316px; min-height: 68px; display: flex; align-items: center; gap: 14px; padding: 9px 22px 9px 9px;
  border: 1px solid #7865ff; border-radius: 999px;
  background: linear-gradient(110deg, rgba(3, 47, 78, .97), rgba(34, 23, 78, .97)); color: #fff; text-decoration: none;
  box-shadow: 0 0 0 6px rgba(2, 28, 57, .88), 0 0 28px rgba(24, 170, 255, .45);
}
.pricing-compare-jump__icon { width: 50px; height: 50px; flex: 0 0 50px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #4f8cff; border-radius: 50%; color: #73a9ff; font-size: 1.7rem; }
.pricing-compare-jump > span:last-child { display: grid; }
.pricing-compare-jump strong { font-size: .83rem; }
.pricing-compare-jump small { color: #b8c7e2; font-size: .63rem; }
.pricing-comparison__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; margin-bottom: 28px; }
.pricing-comparison h2 { font-size: clamp(2rem, 3.3vw, 3rem); }
.pricing-comparison__heading > div > p:last-child, .pricing-custom p { margin: 7px 0 0; color: var(--pricing-muted); font-size: .84rem; }
.pricing-table-wrap { overflow-x: auto; scroll-margin-top: 97px; border: 1px solid rgba(42, 163, 224, .44); border-radius: 15px; background: rgba(2, 23, 50, .78); box-shadow: 0 18px 46px rgba(0, 7, 25, .25); scrollbar-color: #2375bd #061b39; }
.pricing-table { width: 100%; min-width: 850px; border-collapse: collapse; table-layout: fixed; font-size: .75rem; }
.pricing-table th, .pricing-table td { height: 38px; padding: 7px 16px; border-right: 1px solid rgba(46, 125, 186, .20); border-bottom: 1px solid rgba(46, 125, 186, .18); }
.pricing-table th:last-child, .pricing-table td:last-child { border-right: 0; }
.pricing-table tbody tr:last-child th, .pricing-table tbody tr:last-child td { border-bottom: 0; }
.pricing-table thead th { height: 64px; color: #fff; text-align: left; }
.pricing-table thead th:first-child { width: 32%; }
.pricing-table__plan { display: table-cell; background: rgba(12, 56, 91, .43); }
.pricing-table__plan--growth { background: rgba(50, 29, 108, .48); }
.pricing-table__plan > span:last-child { display: inline-grid; vertical-align: middle; }
.pricing-plan-icon--small { width: 37px; height: 37px; margin-right: 9px; flex-basis: 37px; vertical-align: middle; }
.pricing-plan-icon--small svg { width: 22px; height: 22px; }
.pricing-table tbody th { color: #c7d4e8; font-weight: 550; text-align: left; }
.pricing-table tbody td { color: #d7e5f7; text-align: center; }
.pricing-table tbody tr:hover { background: rgba(30, 133, 211, .055); }
.pricing-table__value--starter { background: rgba(8, 48, 80, .16); }
.pricing-table__value--growth { background: rgba(56, 33, 106, .14); }
.pricing-table__value--complete { background: rgba(8, 61, 87, .14); }
.pricing-check { color: var(--pricing-cyan); font-size: 1rem; font-weight: 900; }
.pricing-table__value--growth .pricing-check { color: #e844ff; }
.pricing-dash { color: #7d8ca5; }
.pricing-custom {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px;
  margin-top: 30px; padding: 16px 22px; border: 1px solid rgba(74, 157, 255, .78); border-radius: 15px;
  background: linear-gradient(100deg, rgba(7, 31, 67, .91), rgba(23, 39, 92, .78));
  box-shadow: inset 0 1px rgba(255, 255, 255, .04), 0 17px 40px rgba(0, 5, 24, .24);
}
.pricing-plan-icon--custom { width: 52px; height: 52px; flex-basis: 52px; border-color: rgba(175, 70, 255, .58); background: rgba(82, 31, 140, .28); color: #ad58ff; }
.pricing-custom .pricing-kicker { margin-bottom: 3px; font-size: .6rem; }
.pricing-custom h2 { font-size: 1.28rem; }
.pricing-custom p { margin-top: 3px; }
.pricing-custom .pricing-button { min-width: 240px; }
.pricing-footer { padding: 34px 0; border-top: 1px solid rgba(46, 127, 197, .22); background: #020a19; color: #788aa8; font-size: .78rem; text-align: center; }
a:focus-visible, .pricing-table-wrap:focus-visible { outline: 3px solid #66d9ff; outline-offset: 4px; }
@media (max-width: 920px) {
  .pricing-hero { padding-top: 132px; }
  .pricing-cards { grid-template-columns: 1fr; max-width: 640px; margin-inline: auto; gap: 26px; }
  .pricing-card { padding: 28px; }
  .pricing-nav__links { display: none; }
  .pricing-custom { grid-template-columns: auto 1fr; }
  .pricing-custom .pricing-button { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 640px) {
  .pricing-shell { width: min(100% - 28px, var(--pricing-shell)); }
  .pricing-nav__inner { min-height: 68px; gap: 12px; }
  .pricing-brand img { width: 116px; }
  .pricing-nav__actions { gap: 10px; }
  .pricing-link { display: none; }
  .pricing-nav .pricing-button { min-height: 42px; padding: 9px 12px; font-size: .7rem; }
  .pricing-hero { padding: 116px 0 104px; }
  .pricing-comparison { padding: 104px 0; }
  .pricing-heading { margin-bottom: 38px; }
  .pricing-heading h1 { font-size: 2.15rem; }
  .pricing-heading > p:last-child { font-size: .9rem; }
  .pricing-card { padding: 26px 20px 20px; }
  .pricing-compare-jump { width: calc(100% - 44px); min-width: 0; }
  .pricing-comparison__heading { align-items: flex-start; flex-direction: column; }
  .pricing-comparison__heading .pricing-button { width: 100%; }
  .pricing-table-wrap { margin-right: -14px; border-radius: 12px 0 0 12px; }
  .pricing-custom { grid-template-columns: 1fr; padding: 24px; text-align: center; }
  .pricing-plan-icon--custom { margin: 0 auto; }
  .pricing-custom .pricing-button { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* Uploaded-reference pricing hero. */
:root { --pricing-shell: 1240px; }
.pricing-hero.pricing-hero--reference {
  min-height: 668px;
  overflow: hidden;
  padding: 24px 0 74px;
  background:
    radial-gradient(circle at 50% 14%,rgba(0,116,255,.22),transparent 32%),
    radial-gradient(circle at 92% 10%,rgba(111,38,224,.25),transparent 28%),
    linear-gradient(rgba(51,135,213,.065) 1px,transparent 1px),
    linear-gradient(90deg,rgba(51,135,213,.065) 1px,transparent 1px),
    linear-gradient(180deg,#03152f 0%,#020c22 100%);
  background-size:auto,auto,64px 64px,64px 64px,auto;
}
.pricing-comparison { scroll-margin-top:76px; }
.pricing-hero--reference::before {
  z-index: 0;
  background:
    radial-gradient(ellipse 38% 25% at 9% 38%,rgba(0,146,255,.2),transparent 75%),
    radial-gradient(ellipse 36% 26% at 93% 35%,rgba(91,55,255,.2),transparent 75%),
    linear-gradient(180deg,transparent 55%,rgba(1,8,24,.44));
}
.pricing-hero__inner { position:relative; z-index:3; }
.pricing-heading { max-width:820px; margin:0 auto 17px; }
.pricing-heading .pricing-kicker {
  display:inline-flex; min-height:28px; align-items:center; justify-content:center;
  margin-bottom:5px; padding:4px 23px; border:1px solid rgba(38,143,255,.25); border-radius:999px;
  background:rgba(0,67,137,.3); color:#28c8ff; box-shadow:inset 0 0 16px rgba(19,103,255,.08);
}
.pricing-heading h1 { font-size:clamp(2.6rem,3.55vw,3.45rem); line-height:.94; letter-spacing:-.055em; }
.pricing-heading h1 em {
  position:relative; font-style:normal; background:linear-gradient(90deg,#22c7f2 0%,#2f8dff 52%,#c044f2 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.pricing-heading h1 em::after {
  content:""; position:absolute; left:28%; right:28%; bottom:-7px; height:2px;
  background:linear-gradient(90deg,transparent,#27c5ff,#9a53ff,transparent); box-shadow:0 0 10px rgba(60,127,255,.55);
}
.pricing-heading > p:last-of-type { max-width:720px; margin:10px auto 0; color:#aab9d5; font-size:.88rem; line-height:1.28; }
.pricing-billing-toggle {
  display:grid; grid-template-columns:145px 150px auto; width:max-content; max-width:100%; min-height:44px;
  align-items:center; margin:16px auto 0; padding:3px; border:1px solid rgba(27,145,255,.78); border-radius:999px;
  background:rgba(2,18,47,.9); box-shadow:0 10px 28px rgba(0,3,20,.32);
}
.pricing-billing-toggle button {
  min-height:36px; padding:7px 18px; border:0; border-radius:999px; background:transparent; color:#93a6c4;
  font:800 .72rem/1 Inter,sans-serif; cursor:pointer;
}
.pricing-billing-toggle button.is-active {
  background:linear-gradient(100deg,#24a9ff,#405cff 58%,#a13df0); color:#fff;
  box-shadow:0 0 22px rgba(65,97,255,.48);
}
.pricing-billing-toggle > span {
  margin:0 5px 0 4px; padding:7px 15px; border-radius:999px; background:linear-gradient(100deg,#12d79b,#23e2a7);
  color:#052d28; box-shadow:0 0 20px rgba(24,224,167,.45); font-size:.67rem; font-weight:900; white-space:nowrap;
}
.pricing-cards { position:relative; z-index:4; gap:12px; width:min(100%,1000px); margin-inline:auto; }
.pricing-card {
  min-height:370px; padding:18px 18px 16px; border-radius:15px;
  border-color:rgba(26,180,255,.7); background:linear-gradient(145deg,rgba(5,38,75,.97),rgba(2,18,44,.97));
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 22px 52px rgba(0,4,24,.48),0 0 26px rgba(0,127,255,.09);
}
.pricing-card.is-popular {
  z-index:2; border-color:#a268ff; background:linear-gradient(150deg,rgba(23,32,83,.98),rgba(8,16,52,.98));
  box-shadow:0 0 0 1px rgba(202,68,255,.28),0 20px 55px rgba(80,27,164,.46),inset 0 1px rgba(255,255,255,.08);
}
.pricing-card__badge { padding:5px 18px; font-size:.58rem; }
.pricing-card__header { min-height:39px; gap:11px; }
.pricing-card__header strong { font-size:.94rem; }
.pricing-card__header small { font-size:.66rem; }
.pricing-plan-icon { width:42px; height:42px; flex-basis:42px; }
.pricing-plan-icon svg { width:24px; height:24px; }
.pricing-card__rates { display:grid; grid-template-columns:minmax(0,1fr); min-height:91px; margin-top:9px; }
.pricing-card__rate {
  display:none; min-width:0; padding:12px 14px; border:1px solid transparent; border-radius:11px;
  opacity:0; transform:translateY(4px);
  transition:opacity .18s ease,transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.pricing-card__rate.is-active { display:block; opacity:1; transform:translateY(0); }
.pricing-card__rate--yearly { padding:8px 9px; border-color:rgba(0,218,202,.72); background:rgba(0,111,123,.18); box-shadow:inset 0 0 18px rgba(0,214,205,.08); }
.pricing-card.is-popular .pricing-card__rate--yearly { border-color:rgba(92,213,255,.38); background:rgba(18,73,125,.28); }
.pricing-card__rate--yearly:not(.is-active) { border-color:transparent; background:transparent; box-shadow:none; }
.pricing-card__rate--monthly.is-active { border-color:rgba(49,166,255,.65); background:rgba(18,79,142,.2); }
.pricing-card__rate small { display:block; color:#a9b8d0; font-size:.61rem; font-weight:700; }
.pricing-card__rate small b { color:#33e2bd; font-weight:850; }
.pricing-card__rate > span { display:flex; align-items:baseline; gap:4px; margin-top:4px; white-space:nowrap; }
.pricing-card__rate strong { color:#fff; font-size:1.55rem; line-height:1; letter-spacing:-.045em; }
.pricing-card__rate i { color:#a9b7cc; font-size:.58rem; font-style:normal; }
.pricing-card__rate em { display:block; margin-top:4px; color:#a8b7cf; font-size:.57rem; font-style:normal; }
.pricing-card__rate mark {
  display:block; width:max-content; max-width:100%; margin-top:4px; padding:3px 8px; border-radius:999px;
  background:linear-gradient(90deg,rgba(0,178,177,.72),rgba(31,207,191,.72)); color:#eaffff; font-size:.56rem; font-weight:900; white-space:nowrap;
}
.pricing-card__features { gap:4px; margin-bottom:12px; padding-top:9px; border-top:0; }
.pricing-card__features li { gap:8px; font-size:.64rem; line-height:1.22; }
.pricing-card__features li span { font-size:.9rem; line-height:1; }
.pricing-card .pricing-button { min-height:38px; border-radius:9px; font-size:.67rem; }
.pricing-compare-bridge {
  position:relative;
  z-index:6;
  display:flex;
  height:auto;
  justify-content:center;
  margin-top:20px;
  transform:none;
}
.pricing-compare-jump {
  position:relative;
  top:auto;
  left:auto;
  min-width:280px;
  min-height:48px;
  padding:6px 14px 6px 9px;
  border-color:#159dff;
  transform:none;
  box-shadow:0 0 0 5px rgba(2,28,57,.88),0 0 28px rgba(24,170,255,.4);
}
.pricing-compare-jump__icon { width:34px; height:34px; flex-basis:34px; border:0; color:#18c7ff; font-size:1.4rem; }
.pricing-compare-jump > span:nth-child(2) { display:grid; min-width:0; }
.pricing-compare-jump strong { font-size:.76rem; }
.pricing-compare-jump small { display:none; }
.pricing-compare-jump > b { margin-left:auto; color:#18c7ff; font-size:1.4rem; }
.pricing-hero__curve { position:absolute; left:50%; z-index:1; pointer-events:none; border:2px solid rgba(30,129,255,.72); border-radius:50%; transform:translateX(-50%); box-shadow:0 0 25px rgba(20,91,255,.38); }
.pricing-hero__curve--top {
  top:0;
  width:100%;
  height:150px;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.pricing-hero__curve--top::before,
.pricing-hero__curve--top::after {
  content:"";
  position:absolute;
  top:-238px;
  width:650px;
  height:350px;
  border:2px solid rgba(30,129,255,.72);
  border-radius:50%;
  box-shadow:0 0 25px rgba(20,91,255,.38);
}
.pricing-hero__curve--top::before { left:8vw; }
.pricing-hero__curve--top::after {
  right:8vw;
  border-color:rgba(107,76,255,.82);
  box-shadow:0 0 25px rgba(92,52,255,.42);
}
.pricing-hero__curve--bottom { width:118vw; height:310px; bottom:-252px; border-color:rgba(50,112,255,.72); }
.pricing-device {
  position:absolute;
  z-index:1;
  width:440px;
  pointer-events:none;
  opacity:.96;
  filter:drop-shadow(0 22px 35px rgba(0,0,0,.52));
}
.pricing-device img { display:block; width:100%; height:auto; }
.pricing-device--left { top:94px; left:-6px; }
.pricing-device--right { top:103px; right:-7px; }

@media (max-width: 1350px) {
  .pricing-device { width:400px; opacity:.72; }
  .pricing-device--left { left:-66px; }
  .pricing-device--right { right:-62px; }
}
@media (max-width: 920px) {
  .pricing-hero.pricing-hero--reference { min-height:0; padding:58px 0 112px; }
  .pricing-hero__curve--top { display:none; }
  .pricing-device { display:none; }
  .pricing-heading h1 { font-size:clamp(2.6rem,8vw,4rem); }
  .pricing-cards { max-width:650px; gap:28px; }
  .pricing-card { min-height:0; }
}
@media (max-width: 640px) {
  .pricing-hero.pricing-hero--reference { padding:48px 0 100px; }
  .pricing-heading h1 { font-size:2.42rem; }
  .pricing-heading > p:last-of-type { font-size:.82rem; }
  .pricing-heading > p:last-of-type br { display:none; }
  .pricing-billing-toggle { grid-template-columns:1fr 1fr; width:100%; border-radius:18px; }
  .pricing-billing-toggle > span { grid-column:1 / -1; justify-self:center; margin:5px 0 2px; }
  .pricing-card__rates { grid-template-columns:minmax(0,1fr); }
  .pricing-compare-jump { width:calc(100% - 36px); min-width:0; }
  .pricing-page .wv-public-nav__brand { width:130px; flex-basis:130px; }
  .pricing-page .wv-public-nav__brand img { width:138px; height:92px; margin-left:-4px; }
  .pricing-page .wv-public-nav__links a { padding-inline:5px; }
}

/* Match the landing page's section rhythm at every responsive width. */
.pricing-page .pricing-hero.pricing-hero--reference,
.pricing-page .pricing-comparison {
  padding-top:120px;
  padding-bottom:120px;
}

/* Larger desktop pricing block requested for the primary plan selection. */
@media (min-width:921px) {
  .pricing-page .pricing-heading { margin-bottom:42px; }
  .pricing-page .pricing-heading .pricing-kicker { margin-bottom:12px; }
  .pricing-page .pricing-heading h1 { line-height:1.02; }
  .pricing-page .pricing-heading > p:last-of-type { margin-top:20px; }
  .pricing-page .pricing-billing-toggle { margin-top:28px; }
  .pricing-page .pricing-cards {
    width:min(100%,1180px);
    gap:20px;
  }
  .pricing-page .pricing-card {
    min-height:500px;
    padding:28px 24px 24px;
  }
  .pricing-page .pricing-card__badge {
    padding:6px 20px;
    font-size:.64rem;
  }
  .pricing-page .pricing-card__header {
    min-height:52px;
    gap:15px;
  }
  .pricing-page .pricing-card__header strong { font-size:1.05rem; }
  .pricing-page .pricing-card__header small { font-size:.72rem; }
  .pricing-page .pricing-card .pricing-plan-icon {
    width:48px;
    height:48px;
    flex-basis:48px;
  }
  .pricing-page .pricing-card .pricing-plan-icon svg {
    width:28px;
    height:28px;
  }
  .pricing-page .pricing-card__rates {
    grid-template-columns:minmax(0,1fr);
    min-height:114px;
    margin-top:20px;
  }
  .pricing-page .pricing-card__rate { padding:16px 18px; }
  .pricing-page .pricing-card__rate--yearly { padding:16px 18px; }
  .pricing-page .pricing-card__rate small { font-size:.67rem; }
  .pricing-page .pricing-card__rate strong { font-size:1.82rem; }
  .pricing-page .pricing-card__rate i,
  .pricing-page .pricing-card__rate em { font-size:.63rem; }
  .pricing-page .pricing-card__rate mark {
    margin-top:6px;
    padding:4px 10px;
    font-size:.61rem;
  }
  .pricing-page .pricing-card__features {
    gap:9px;
    margin-bottom:22px;
    padding-top:20px;
  }
  .pricing-page .pricing-card__features li {
    gap:9px;
    font-size:.72rem;
    line-height:1.28;
  }
  .pricing-page .pricing-card__features li span { font-size:1rem; }
  .pricing-page .pricing-card .pricing-button {
    min-height:44px;
    font-size:.74rem;
  }
  .pricing-page .pricing-compare-bridge { margin-top:40px; }
  .pricing-page .pricing-compare-jump {
    min-width:340px;
    min-height:56px;
    padding:7px 18px 7px 11px;
  }
  .pricing-page .pricing-compare-jump__icon {
    width:40px;
    height:40px;
    flex-basis:40px;
    font-size:1.6rem;
  }
  .pricing-page .pricing-compare-jump strong { font-size:.82rem; }
}
