/* Pricing page: ported from the published Tulvo pricing document, scoped under .tp */
.tp{background:#fff}
/* Undo the site-wide resets that the original document did not have */
.tp{line-height:normal}
.tp svg{display:inline;max-width:none}
.tp h1,.tp h2,.tp h3,.tp h4{letter-spacing:normal;font-weight:700}
.tp button{font-family:inherit}
.tp a{color:#111;text-decoration:none}
.tp{--ink:#111;--body:#3d3d3d;--muted:#6b6b6b;--soft:#8a8a8a;--line:rgba(0,0,0,.09);--wash:#f7f7f8;
--accent:#5423db;--accent-soft:#f1ecff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
.tp *{box-sizing:border-box}
.tp-kicker{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.tp-h2{font-weight:700;font-size:clamp(28px,3.6vw,40px);line-height:1.15;letter-spacing:-.01em;margin:0}
.tp-sub{font-size:16.5px;line-height:1.6;color:var(--muted);margin:0;max-width:560px}
.tp-head{max-width:720px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
/* billing toggle */
.tp-billing{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:6px}
.tp-toggle{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:999px;background:#f1f1f2;border:1px solid var(--line)}
.tp-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--ink);
box-shadow:0 4px 12px rgba(0,0,0,.18);transition:transform .28s cubic-bezier(.3,.7,.2,1)}
[data-billing="yearly"] .tp-thumb{transform:translateX(100%)}
.tp-toggle button{position:relative;z-index:1;appearance:none;border:0;background:transparent;min-width:104px;padding:10px 20px;border-radius:999px;
font:600 14px Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--muted);cursor:pointer;transition:color .2s}
.tp-toggle button[aria-pressed="true"]{color:#fff}
.tp-toggle button:focus-visible,.tp-offer:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.tp-offer{appearance:none;display:inline-flex;align-items:center;gap:7px;border:1px dashed rgba(84,35,219,.45);background:var(--accent-soft);color:var(--accent);
font:700 13px Inter,-apple-system,BlinkMacSystemFont,sans-serif;padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .2s,border-color .2s}
.tp-offer svg{flex-shrink:0}
@media (max-width:520px){.tp-billing{flex-direction:column;gap:10px}.tp-offer svg{transform:rotate(90deg)}}
[data-billing="yearly"] .tp-offer{border-style:solid;border-color:transparent;cursor:default}
[data-billing="monthly"] .tp-offer{animation:tpNudge 2.4s ease-in-out 1s 2}
@keyframes tpNudge{0%,100%{transform:none}50%{transform:translateX(-4px)}}
@media (prefers-reduced-motion:reduce){.tp-thumb{transition:none}.tp-offer{animation:none!important}}
/* cards */
.tp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
@media (max-width:1120px){.tp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tp-jump{display:none}
@media (max-width:620px){
  .tp-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:18px 16px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .tp-grid::-webkit-scrollbar{display:none}
  .tp-card{flex:0 0 86%;scroll-snap-align:center}
  .tp-jump{display:flex;gap:4px;padding:4px;background:#f1f1f2;border-radius:12px;margin-bottom:4px}
  .tp-jump button{flex:1;appearance:none;border:0;background:transparent;padding:9px 2px;border-radius:9px;font:600 13px Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--muted);cursor:pointer}
  .tp-jump button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
  .tp-swipe{display:block!important}
}
.tp-swipe{display:none;text-align:center;font-size:12px;color:var(--soft);margin-top:6px}
.tp-finder{margin:26px 0 0;text-align:center;font-size:15px;color:var(--muted)}
.tp-finder a{font-weight:600;color:var(--ink)!important;border-bottom:1px solid var(--ink);margin-left:4px;white-space:nowrap}
.tp-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px auto 0;padding:0;list-style:none;max-width:980px}
.tp-trust li{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--body);padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff}
.tp-trust svg{color:var(--accent);flex-shrink:0}
.tp-card{position:relative;display:flex;flex-direction:column;padding:28px 24px 26px;border-radius:18px;background:#fff;border:1px solid var(--line);transition:box-shadow .25s,transform .25s}
.tp-card:hover{box-shadow:0 14px 40px rgba(0,0,0,.06)}
.tp-card.is-rec{border:1.5px solid var(--ink);box-shadow:0 22px 60px rgba(0,0,0,.09)}
.tp-badge{position:absolute;top:-12px;left:22px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:.03em;padding:5px 11px;border-radius:999px;white-space:nowrap}
.tp-name{font-size:19px;font-weight:700;margin:0}
.tp-tag{font-size:13.5px;line-height:1.45;color:var(--muted);margin:6px 0 20px;min-height:2.9em}
.tp-price{display:flex;align-items:baseline;gap:8px;min-height:48px}
.tp-amt{font-size:42px;font-weight:800;letter-spacing:-.035em;line-height:1}
.tp-was{font-size:18px;font-weight:500;color:var(--soft);text-decoration:line-through}
[data-billing="monthly"] .tp-was{display:none}
.tp-note{font-size:12.5px;line-height:1.45;color:var(--soft);margin-top:8px}
.tp-saveline{font-size:12.5px;font-weight:600;color:var(--accent);margin-top:3px;min-height:18px}
.tp-btn{display:block;text-align:center;padding:12px 14px;border-radius:10px;font:600 14px Inter,-apple-system,BlinkMacSystemFont,sans-serif;margin-top:18px;border:1px solid var(--line);
color:var(--ink)!important;background:#fff;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s}
.tp-btn:hover{background:var(--wash);transform:translateY(-1px)}
.tp-btn.is-primary{background:linear-gradient(#3c3c3c,#0a0a0a);color:#fff!important;border-color:rgba(0,0,0,.5);
box-shadow:inset 0 1px 1px rgba(255,255,255,.22),0 6px 16px rgba(0,0,0,.2)}
.tp-btn.is-primary:hover{background:linear-gradient(#4a4a4a,#111)}
.tp-micro{font-size:12px;color:var(--soft);text-align:center;margin-top:9px}
.tp-sec{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.tp-sec-h{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin:0 0 12px}
.tp-limits{margin:0;display:flex;flex-direction:column;gap:9px}
.tp-limit{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13.5px}
.tp-limit dt{color:var(--muted);white-space:nowrap}
.tp-limit dd small{display:block;font-size:11.5px;font-weight:500;color:var(--soft);margin-top:1px}
.tp-limit dd{margin:0;font-weight:600;text-align:right;color:var(--ink)}
.tp-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.tp-feats li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.4;color:var(--body)}
.tp-ck{flex-shrink:0;margin-top:3px;color:var(--ink)}
.tp-more{display:inline-block;margin-top:14px;font-size:13px;font-weight:600;color:var(--ink)!important;text-decoration:none;border-bottom:1px solid var(--line)}
/* tooltip terms */
.tp-term{appearance:none;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:help;
text-decoration:underline dotted rgba(0,0,0,.35);text-underline-offset:3px;text-decoration-thickness:1px}
.tp-term:hover,.tp-term:focus-visible{text-decoration-color:var(--ink);outline:none}
/* Touch: tap areas fill the 28px row (terms) or reach 44px (plan links) without moving anything */
@media (pointer:coarse){.tp-term,.pricing-plan-more{position:relative}.tp-term::after{content:"";position:absolute;inset:-4px -6px}.pricing-plan-more::after{content:"";position:absolute;inset:-13px -8px}}
.tp-tip{position:fixed;z-index:9999;max-width:270px;background:#111;color:#fff;font:500 12.5px/1.5 Inter,-apple-system,BlinkMacSystemFont,sans-serif;padding:10px 12px;border-radius:10px;
box-shadow:0 12px 30px rgba(0,0,0,.25);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .12s,transform .12s}
.tp-tip.is-on{opacity:1;transform:none}

.tp-wrap{max-width:1180px;margin:0 auto;padding:0 28px}
@media (max-width:640px){.tp-wrap{padding:0 16px}}
.tp section{scroll-margin-top:20px}
/* hero */
.tp-hero{padding:88px 0 44px;text-align:center}
.tp-hero h1,.tp-hero h2{font-weight:800;font-size:clamp(34px,5vw,56px);line-height:1.07;letter-spacing:-.025em;margin:14px auto 16px;max-width:780px}
.tp-hero .tp-sub{margin:0 auto 26px;max-width:600px;font-size:17.5px}
.tp-plans{padding:18px 0 28px}
/* reassurance */
.assure{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;padding:6px 0 0;margin:0;list-style:none}
.assure li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.assure .tp-ck{margin:0;color:var(--accent)}
.tp-block{padding:96px 0}
.tp-block.tp-wash{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tp-block .tp-head{margin-bottom:44px}
/* calculator */
.tp-calc{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:stretch}
@media (max-width:900px){.tp-calc{grid-template-columns:1fr}}
.tp-calc-in,.tp-calc-out{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}
.tp-field{margin-bottom:26px}
.tp-field-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.tp-field label{font-size:15px;font-weight:600}
.tp-field output{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.tp-field .tp-hint{font-size:12.5px;color:var(--soft);margin-top:8px}
.tp input[type=range]{width:100%;accent-color:#111;height:22px;margin:0}
@media (pointer:coarse){.tp input[type=range]{height:36px}}
.tp-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:520px){.tp-checks{grid-template-columns:1fr}}
.tp-check{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:14px;font-weight:500!important;cursor:pointer;transition:border-color .15s,background .15s}
.tp-check:hover{background:var(--wash)}
.tp-check:has(input:checked){border-color:#111;background:#fafafa}
.tp-check input{accent-color:#111;width:16px;height:16px;margin:0}
.tp-calc-out{display:flex;flex-direction:column;background:#111;color:#fff;border-color:#111}
.tp-calc-out .tp-lbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.tp-calc-plan{font-size:34px;font-weight:800;letter-spacing:-.02em;margin:8px 0 4px}
.tp-calc-total{font-size:17px;color:rgba(255,255,255,.85)}
.tp-calc-total b{font-size:26px;color:#fff}
.tp-calc-sub{font-size:13px;color:rgba(255,255,255,.55);margin-top:4px;min-height:18px}
.tp-calc-list{list-style:none;padding:0;margin:22px 0;display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(255,255,255,.12);padding-top:20px}
.tp-calc-list li{display:flex;justify-content:space-between;gap:14px;font-size:13.5px;color:rgba(255,255,255,.7)}
.tp-calc-list li b{color:#fff;font-weight:600;text-align:right}
.tp-calc-why{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.75);background:rgba(255,255,255,.07);border-radius:12px;padding:12px 14px}
.tp-calc-out .tp-btn{margin-top:auto;background:#fff;color:#111!important;border-color:#fff}
.tp-calc-out .tp-btn:hover{background:#eee}
.tp-calc-foot{font-size:12px;color:rgba(255,255,255,.45);margin-top:10px;text-align:center}
/* comparison */
.tp-cmp-pick{display:none;gap:6px;padding:4px;background:#f1f1f2;border-radius:12px;margin-bottom:14px;position:sticky;top:8px;z-index:3}
.tp-cmp-pick button{flex:1;appearance:none;border:0;background:transparent;padding:10px 4px;border-radius:9px;font:600 13.5px Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--muted);cursor:pointer}
.tp-cmp-pick button[aria-pressed="true"]{background:#fff;color:#111;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.tp-cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;table-layout:fixed}
.tp-cmp th,.tp-cmp td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.tp-cmp th:first-child,.tp-cmp td:first-child{text-align:left;width:28%}
.tp-cmp tbody th{font-weight:500;color:var(--body)}
.tp-cmp thead th{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);z-index:2;border-bottom:1px solid #111;padding:18px 12px;vertical-align:bottom}
.tp-cmp thead .tp-pn{font-size:16px;font-weight:700}
.tp-cmp thead .tp-pp{font-size:13px;color:var(--soft);font-weight:500;margin:4px 0 12px}
.tp-cmp thead .tp-btn{margin:0;padding:9px 10px;font-size:13px}
.tp-cmp thead th.is-rec{box-shadow:inset 0 3px 0 var(--accent)}
.tp-cmp td.is-rec{background:rgba(84,35,219,.035)}
.tp-cmp .tp-cat th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--soft);padding-top:34px;background:#fff}
.tp-cmp td{color:var(--ink);font-weight:500}
.tp-cmp .tp-no{color:#c4c4c4;font-weight:400}
.tp-cmp .tp-ck{margin:0;vertical-align:middle}
@media (max-width:760px){
  .tp-cmp-pick{display:flex}
  .tp-cmp thead{display:none}
  .tp-cmp{table-layout:auto}
  .tp-cmp th:first-child,.tp-cmp td:first-child{width:58%}
  .tp-cmp-wrap[data-show] [data-col]{display:none}
  .tp-cmp-wrap[data-show="free"] [data-col="free"],.tp-cmp-wrap[data-show="pro"] [data-col="pro"],
  .tp-cmp-wrap[data-show="business"] [data-col="business"],.tp-cmp-wrap[data-show="enterprise"] [data-col="enterprise"]{display:table-cell}
  .tp-cmp th,.tp-cmp td{padding:12px 8px}
  .tp-cmp td{text-align:right}
}
.tp-cmp-mob-cta{display:none;margin-top:18px}
.tp-cmp-mob-cta a{display:none!important}
.tp-cmp-wrap[data-show="free"] .tp-cmp-mob-cta a[data-col="free"]{display:block!important}
.tp-cmp-wrap[data-show="pro"] .tp-cmp-mob-cta a[data-col="pro"]{display:block!important}
.tp-cmp-wrap[data-show="business"] .tp-cmp-mob-cta a[data-col="business"]{display:block!important}
.tp-cmp-wrap[data-show="enterprise"] .tp-cmp-mob-cta a[data-col="enterprise"]{display:block!important}
@media (max-width:760px){.tp-cmp-mob-cta{display:block}}
/* app traffic */
.bw{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.bw{grid-template-columns:1fr}}
.bw-card,.tp-obj,.over{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.bw-card .ic{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.bw-card h3{font-size:18px;margin:10px 0 6px}
.bw-card p{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 16px}
.bw-meter{height:8px;border-radius:99px;background:#eee;overflow:hidden}
.bw-meter span{display:block;height:100%;background:#111;border-radius:99px}
.bw-fit{display:flex;justify-content:space-between;font-size:13px;margin-top:10px;color:var(--muted)}
.bw-fit b{color:#111}
.overs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
@media (max-width:1000px){.overs{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.overs{grid-template-columns:1fr}}
.over h4{font-size:15px;margin:0 0 8px}
.over p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0}
.rule{font-size:13px;color:var(--soft);text-align:center;margin-top:18px}
.subhead{font-size:20px;font-weight:700;margin:52px 0 0;text-align:center}
/* objections */
.tp-objs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:980px){.tp-objs{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.tp-objs{grid-template-columns:1fr}}
.tp-obj h3{font-size:16.5px;margin:0 0 10px;line-height:1.35}
.tp-obj p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.tp-obj p b{color:#111;font-weight:600}
/* faq */
.tp-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:64px;align-items:start}
@media (max-width:900px){.tp-faq-grid{grid-template-columns:minmax(0,1fr);gap:36px}}
.tp-faq-side{position:sticky;top:32px;display:flex;flex-direction:column;gap:16px}
@media (max-width:900px){.tp-faq-side{position:static}}
.tp-faq-side .tp-h2{text-align:left}
.tp-faq-side .tp-sub{font-size:15.5px}
.tp-faq-help{margin-top:12px;padding:22px;border-radius:18px;background:var(--wash);border:1px solid var(--line)}
.tp-faq-help h3{font-size:16px;margin:0 0 6px}
.tp-faq-help p{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 16px}
.tp-faq-help .tp-btn{margin:0;display:inline-block;padding:10px 18px;border-radius:999px}
.tp-faq-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.tp-faq-nav a{font-size:13px;font-weight:600;padding:7px 12px;border-radius:999px;border:1px solid var(--line);color:var(--body)}
.tp-faq-nav a:hover{background:var(--wash)}
.tp-faq-group+.tp-faq-group{margin-top:40px}
.tp-faq-group h3{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin:0 0 14px;scroll-margin-top:24px}
.tp-faq-list{display:flex;flex-direction:column;gap:10px}
.tp-faq-item{border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .2s,box-shadow .2s}
.tp-faq-item:hover{border-color:rgba(0,0,0,.18)}
.tp-faq-item[open]{border-color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.06)}
.tp-faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;font-size:15.5px;font-weight:600;line-height:1.4}
.tp-faq-item summary::-webkit-details-marker{display:none}
.tp-faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:14px}
.tp-faq-ic{position:relative;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--wash);border:1px solid var(--line);transition:background .2s,transform .25s}
.tp-faq-ic:before,.tp-faq-ic:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;margin:-1px 0 0 -5.5px;background:var(--ink);border-radius:2px;transition:transform .25s}
.tp-faq-ic:after{transform:rotate(90deg)}
.tp-faq-item[open] .tp-faq-ic{background:var(--ink);transform:rotate(180deg)}
.tp-faq-item[open] .tp-faq-ic:before,.tp-faq-item[open] .tp-faq-ic:after{background:#fff}
.tp-faq-item[open] .tp-faq-ic:after{transform:rotate(0)}
.tp-faq-a{font-size:14.5px;line-height:1.7;color:var(--muted);margin:0;padding:0 20px 20px;max-width:640px}
/* final */
.tp-final{background:#111;color:#fff;border-radius:24px;padding:64px 28px;text-align:center;position:relative;overflow:hidden}
.tp-final:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-160px;top:-300px;background:radial-gradient(circle,rgba(84,35,219,.45),rgba(84,35,219,0) 68%)}
.tp-final h2{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:0 0 12px;position:relative;letter-spacing:-.015em}
.tp-final p{color:rgba(255,255,255,.7);font-size:16.5px;margin:0 0 28px;position:relative}
.tp-final .tp-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative}
.tp-final .tp-btn{margin:0;padding:14px 26px;border-radius:999px;font-size:15px}
.tp-final .tp-b1{background:#fff;color:#111!important;border-color:#fff}
.tp-final .tp-b2{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.3)}
.tp-final .tp-b2:hover{background:rgba(255,255,255,.08)}
.tp-final small{display:block;margin-top:14px;color:rgba(255,255,255,.5);font-size:12.5px;position:relative}
/* sticky mobile cta */
.tp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);
padding:10px 16px;display:none;align-items:center;gap:12px;transform:translateY(100%);transition:transform .25s}
.tp-sticky.is-on{transform:none}
.tp-sticky .tp-t{flex:1;font-size:13px;line-height:1.3;color:var(--muted)}
.tp-sticky .tp-t b{color:#111;display:block;font-size:14px}
.tp-sticky .tp-btn{margin:0;padding:11px 16px;white-space:nowrap}
@media (max-width:760px){.tp-sticky{display:flex}}
.tp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Leave room for the sticky site header (64px) */
.tp section{scroll-margin-top:84px}
.tp .tp-cmp thead th{top:64px}
.tp .tp-cmp-pick{top:64px}
.tp .tp-faq-side{top:96px}
@media (max-width:900px){.tp .tp-faq-side{position:static}}

/* The selected plan card lifts slightly (desktop/tablet only: the phone row would clip it) */
.tp .tp-card{cursor:pointer}
@media (min-width:621px){
  .tp .tp-card.is-rec{transform:translateY(-8px)}
}

/* Breathing room between the closing call-to-action and the site footer */
.tp section.tp-block:last-of-type{padding-bottom:96px}
@media (max-width:640px){.tp section.tp-block:last-of-type{padding-bottom:64px}}

/* =========================================================================
   Pricing section in the Figma layout (css/pricing.css) filled with the current plans.
   ========================================================================= */
.tp .pricing-title { font-size: 48px; font-weight: 500; line-height: 56px; letter-spacing: -1.44px; margin: 0; text-wrap: balance; }
.tp .pricing-plan-name { font-size: 16px; font-weight: 500; line-height: 24px; letter-spacing: -0.08px; margin: 0; }

.pricing-subtitle {
  margin: 0;
  max-width: 560px;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: -0.08px;
  color: #657080;
}

.pricing-plan { cursor: pointer; transition: background-color 0.2s ease; }

.pricing-plan-top { height: auto; min-height: 330px; gap: 14px; }
.pricing-plan-price-block { gap: 8px; }
.pricing-plan-price { align-items: baseline; }

.pricing-plan-was {
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
  color: #A3A3A3;
  text-decoration: line-through;
}
[data-billing="monthly"] .pricing-plan-was { display: none; }

.pricing-plan-note { margin: 0; font-size: 12.5px; line-height: 18px; color: #737373; }
.pricing-plan-save { margin: 0; min-height: 18px; font-size: 12.5px; font-weight: 600; line-height: 18px; color: #0588F0; }
.pricing-plan-btn { margin-top: auto; }
.pricing-plan-micro { margin: -4px 0 0; font-size: 12px; line-height: 16px; color: #A3A3A3; text-align: center; }

.pricing-plan-sec-h {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8A8A8A;
}
.pricing-plan-sec-h:not(:first-child) { margin-top: 10px; padding-top: 18px; border-top: 0.5px solid var(--border-color); }

.pricing-limits { margin: 0; display: flex; flex-direction: column; gap: 9px; }
.pricing-limit { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14px; line-height: 20px; }
.pricing-limit dt { color: #657080; white-space: nowrap; }
.pricing-limit dd { margin: 0; font-weight: 500; text-align: right; color: var(--text-main); }
.pricing-limit dd small { display: block; font-size: 12px; font-weight: 400; color: #8A8A8A; }

.pricing-plan-features .pricing-feature { align-items: flex-start; }
.pricing-plan-features .pricing-feature-check { margin-top: 4px; }
.pricing-plan-features .pricing-feature-text { font-size: 15px; line-height: 24px; letter-spacing: -0.08px; color: #657080; white-space: normal; }

.pricing-plan-more {
  align-self: flex-start;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-main);
  border-bottom: 1px solid var(--border-color);
}

.pricing-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0 40px 28px;
  list-style: none;
  background: var(--bg-color);
}
.pricing-trust li {
  padding: 9px 14px;
  border: 1px solid var(--border-color);
  border-radius: 999px;
  background: #fff;
  font-size: 13.5px;
  font-weight: 500;
  color: #3D3D3D;
}

@media (max-width: 1024px) {
  .pricing-plan-top { min-height: 0; }
}
@media (max-width: 640px) {
  .tp .pricing-title { font-size: var(--section-title-phone); line-height: var(--section-title-phone-lh); letter-spacing: -0.02em; }
  .pricing-strategy-row { flex-direction: column; align-items: stretch; padding: 24px; }
  .pricing-trust { padding: 0 24px 24px; }
  /* One card per row: the empty "You save" line only exists to align cards side by side */
  .pricing-plan-save:empty { display: none; }
}

/* =========================================================================
   Pricing brief, 10 Nov 2026: New tag, trust pills with tooltips, FAQ tabs
   ========================================================================= */
/* "New" tag: the "Best for growing teams" badge, smaller, right after the bullet text */
.tp-new {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 0 7px;
  vertical-align: 1px;
  background-color: #E6F4FE;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 0;
  color: #0588F0;
  white-space: nowrap;
}

/* Trust pills: the whole pill is the tooltip trigger (the refund pill also links to /refund) */
.pricing-trust li { padding: 0; }
.pricing-trust .pricing-trust-term {
  display: inline-block;
  padding: 9px 14px;
  border-radius: 999px;
  color: inherit;
  text-decoration: none;
  cursor: help;
}
.pricing-trust a.pricing-trust-term { cursor: pointer; }
.pricing-trust .pricing-trust-term:hover,
.pricing-trust .pricing-trust-term:focus-visible { text-decoration: underline dotted rgba(0,0,0,.35); text-underline-offset: 3px; }
.pricing-trust .pricing-trust-term:focus-visible { outline: 2px solid var(--accent, #0588F0); outline-offset: 2px; }

/* FAQ tabs. Without JS every group shows; with JS only the selected tab's group does. */
.tp-faq-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.tp-faq-tab {
  appearance: none;
  font: inherit;
  font-size: 13.5px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--body);
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.tp-faq-tab:hover { background: var(--wash); }
.tp-faq-tab[aria-selected="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.tp-faq-tab:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.tp-faq-tabs-on .tp-faq-group { display: none; margin-top: 0; }
.tp-faq-tabs-on .tp-faq-group.is-active { display: block; }
.tp-faq-tabs-on .tp-faq-group h3 { display: none; }
.tp-faq-group:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; border-radius: 14px; }
@media (max-width: 640px) {
  .tp-faq-tabs { flex-wrap: nowrap; overflow-x: auto; margin-left: -16px; margin-right: -16px; padding: 0 32px 4px 16px; scrollbar-width: none; scroll-padding-inline: 16px; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); }
  .tp-faq-tabs::-webkit-scrollbar { display: none; }
  .tp-faq-tab { flex-shrink: 0; }
}

/* Six bullets on every card: the "See everything" links sit on one line across the row,
   even when a description or bullet wraps to an extra line. */
.pricing-plan-features { flex-grow: 1; }
.pricing-plan-features .pricing-plan-more { margin-top: auto; }
.pricing-plan-features .pricing-feature:last-of-type { margin-bottom: 4px; }

/* Touch screens: plan buttons, billing switch and FAQ tabs reach a 40px tap height */
@media (pointer: coarse) {
  .pricing-plan-btn, .pricing-toggle-option, .pricing-strategy-btn, .tp-faq-tab { min-height: 40px; }
}
