/* Pricing uses the same brand tokens, type and paper sections as /main. */
.pricing-page { margin:0; }
.pricing-page *, .pricing-page *::before, .pricing-page *::after { box-sizing:border-box; }
.pricing-page [hidden] { display:none!important; }
.pricing-page .nav { min-height:64px;display:flex;align-items:center;gap:24px;padding:12px max(20px,calc((100% - 1184px)/2));border-bottom:1px solid var(--vb-ink-3);background:var(--vb-ink);font:500 15px/1.4 var(--vb-body); }
.pricing-page .nav a { color:var(--vb-muted);text-decoration:none; }
.pricing-page .nav .brand { display:flex;align-items:center;gap:9px;margin-right:auto;color:var(--vb-paper);font:900 26px/1 var(--vb-display);letter-spacing:.05em;text-transform:uppercase; }
.pricing-page .brand img { width:32px;height:32px;object-fit:contain; }
.pricing-page .nav a:last-child { padding:10px 16px;border-radius:99px;background:var(--vb-hi);color:var(--vb-hi-ink);font-weight:600; }
.pricing-skip { position:fixed;left:20px;top:-100px;z-index:2000;padding:12px 18px;background:var(--vb-hi);color:var(--vb-hi-ink);border-radius:8px; }
.pricing-skip:focus { top:12px; }
.pricing-main .pricing-wrap { width:100%;max-width:1280px;margin:0 auto;padding-inline:clamp(20px,4vw,48px); }
.pricing-main [id] { scroll-margin-top:90px; }
.pricing-main .pricing-hero-grid { display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;padding-block:76px 84px; }
.pricing-main .pricing-hero-copy { min-width:0; }
.pricing-main .pricing-hero .slate-line { margin-bottom:24px;font-size:10px; }
.pricing-main .pricing-hero h1 { font-size:clamp(64px,6.8vw,98px);line-height:.94;letter-spacing:-.015em; }
.pricing-main .pricing-lede { max-width:33em;margin:28px 0;color:var(--vb-muted);font-size:18px;line-height:1.6; }
.pricing-shortcuts { display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin-bottom:24px; }
.pricing-main .pricing-text-link { color:var(--vb-paper);font-size:15px;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding:5px 0; }
.pricing-main .pricing-text-link:hover { color:var(--vb-hi); }
.pricing-reassurance { display:flex;flex-wrap:wrap;gap:9px 18px;padding:0;margin:0;list-style:none;font-size:13px;color:var(--vb-muted); }
.pricing-reassurance li::before { content:'✓';margin-right:6px;color:var(--vb-hi); }
.pricing-reel { display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;padding:16px 8px 32px; }
.pricing-main .pricing-reel-card { display:block;position:relative;overflow:hidden;aspect-ratio:1;border:2px solid var(--vb-ink-3);border-radius:18px;background:var(--vb-ink-2);box-shadow:0 16px 32px #0005;text-decoration:none;transition:transform .2s,border-color .2s; }
.pricing-reel-card:nth-child(1) { transform:rotate(-7deg); }
.pricing-reel-card:nth-child(2) { transform:rotate(6deg) translateY(12px); }
.pricing-reel-card:nth-child(3) { transform:rotate(4deg); }
.pricing-reel-card:nth-child(4) { transform:rotate(-5deg) translateY(12px); }
.pricing-main .pricing-reel-card:hover { transform:translateY(-4px);border-color:var(--vb-hi); }
.pricing-reel-card img { width:100%;height:100%;object-fit:cover; }
.pricing-reel-card span { position:absolute;bottom:0;inset-inline:0;display:flex;align-items:center;gap:10px;padding:18px 12px 12px;background:linear-gradient(transparent,#171820ee 35%);color:var(--vb-paper);font:900 clamp(19px,2vw,28px)/1 var(--vb-display);text-transform:uppercase; }
.pricing-reel-card b { color:var(--vb-hi);font:500 10px/1 var(--vb-mono); }
.pricing-main .pricing-handnote { position:absolute;right:8px;bottom:-14px;margin:0;color:var(--vb-hi);font:400 29px/1 var(--vb-pen-font);transform:rotate(-4deg); }
.pricing-ribbon { display:flex;justify-content:center;flex-wrap:wrap;gap:10px 26px;padding:16px 20px;background:var(--vb-hi);color:var(--vb-ink);border-block:2px solid var(--vb-ink);font:900 clamp(20px,2.5vw,30px)/1 var(--vb-display);text-transform:uppercase; }
.pricing-ribbon span+span::before { content:'/';margin-right:26px;color:var(--vb-pen); }
.pricing-main .pricing-notices { position:sticky;top:70px;z-index:50; }
.pricing-notices:has(> [hidden]):not(:has(> :not([hidden]))) { height:0; }
.pricing-error,.pricing-notice { padding:18px 22px;margin:16px 0;border:2px solid var(--vb-hi);border-radius:14px;background:var(--vb-ink);color:var(--vb-paper);font-size:16px; }
.pricing-error { box-shadow:0 8px 24px #0004; }
.pricing-main .pricing-plans { padding-block:72px 56px; }
.pricing-section-head { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px; }
.pricing-main .pricing-section-head h2,.pricing-main .pricing-faq h2 { font-size:clamp(46px,5.6vw,76px);line-height:.94; }
.pricing-main .pricing-section-head .kicker { margin-bottom:16px; }
.pricing-main .pricing-section-head > p { max-width:27em;font-size:16px;color:var(--vb-muted); }
.pricing-main .sheet-paper .pricing-section-head > p { color:var(--vb-muted-light); }
.pricing-main .sheet-paper a { color:var(--vb-pen); }
.pricing-main .sheet-paper :focus-visible { outline-color:var(--vb-pen)!important; }
.pricing-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px; }
.pricing-card { min-width:0;display:flex;flex-direction:column;padding:24px 20px;border:1px solid var(--vb-paper-2);border-radius:18px;background:#fff;color:var(--vb-ink);box-shadow:0 10px 24px #22242b0c; }
.pricing-card.featured { border:2px solid var(--vb-pen);padding:23px 19px;box-shadow:0 10px 28px #a5265114; }
.pricing-card-label { min-height:30px;margin-bottom:10px; }
.pricing-badge { display:inline-block;padding:5px 8px;border-radius:4px;background:#fbe3eb;color:var(--vb-pen);font:500 10px/1.5 var(--vb-mono); }
.pricing-main .pricing-card h3 { margin:0;min-height:68px;font-size:36px;line-height:.95; }
.pricing-main .pricing-audience { margin:10px 0 22px;min-height:64px;color:var(--vb-muted-light);font-size:14px;line-height:1.5; }
.pricing-main .pricing-amount { display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:0 0 12px; }
.pricing-amount strong { font:900 58px/1 var(--vb-display);letter-spacing:-.03em; }
.pricing-amount span { font-size:13px;color:var(--vb-muted-light); }
.pricing-main .pricing-then { min-height:44px;margin:0 0 18px;color:var(--vb-muted-light);font-size:12px;line-height:1.5; }
#plans:has(.on-sale) .pricing-card:not(.on-sale) .pricing-amount { margin-bottom:74px; }
.pricing-main .pricing-credit-count { margin:0;font-size:16px;font-weight:600; }
.pricing-main .pricing-value { margin:6px 0 0;min-height:42px;color:var(--vb-pen);font-size:13px;line-height:1.5; }
.pricing-features { display:grid;gap:13px;list-style:none;padding:22px 0;margin:20px 0 22px;border-top:1px solid var(--vb-paper-2);font-size:14px;line-height:1.45; }
.pricing-features li { display:flex;align-items:baseline;gap:8px; }
.pricing-features li::before { content:'✓';color:var(--vb-pen);font-weight:600; }
.pricing-main .pricing-action { display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 16px;border:2px solid var(--vb-ink-3);border-radius:14px;background:var(--vb-ink-2);color:var(--vb-paper);font:600 15px/1.35 var(--vb-body);text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s; }
.pricing-card .pricing-action { width:100%;margin-top:auto; }
.pricing-main .pricing-action.primary { border-color:var(--vb-hi);background:var(--vb-hi);color:var(--vb-hi-ink); }
.pricing-main .pricing-action:hover:enabled { border-color:var(--vb-hi);background:var(--vb-ink);color:var(--vb-paper); }
.pricing-main a.pricing-action:hover { border-color:var(--vb-paper);background:var(--vb-paper);color:var(--vb-ink); }
.pricing-main .pricing-action:disabled { opacity:.55;cursor:default; }
.pricing-main .pricing-fineprint { margin:22px 0 0;color:var(--vb-muted);font-size:13px;line-height:1.7; }
.pricing-main .sheet-paper .pricing-fineprint { color:var(--vb-muted-light); }
.pricing-main .pricing-workflows { padding-block:32px 80px; }
.pricing-workflow { min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:0 20px 24px;border:1px solid var(--vb-paper-2);border-radius:18px;background:#fff; }
.pricing-main .pricing-workflow-image { width:calc(100% + 40px);max-width:none;height:150px;object-fit:cover;margin:0 -20px 24px; }
.pricing-main .pricing-workflow h3 { margin:0 0 14px;font-size:32px;line-height:1; }
.pricing-main .pricing-workflow p { margin:0 0 18px;color:var(--vb-muted-light);font-size:14px;line-height:1.6; }
.pricing-main .pricing-workflow .pricing-workflow-rate { min-height:48px;color:var(--vb-pen);font-weight:600; }
.pricing-main .pricing-workflow a { margin-top:auto;padding-top:8px;font-size:14px;font-weight:600;text-underline-offset:4px; }
.pricing-packs { padding-block:64px 80px;border-top:22px solid transparent;border-image:repeating-linear-gradient(-55deg,var(--vb-paper) 0 24px,var(--vb-ink) 24px 48px) 22; }
.pricing-credit-guide { display:grid;grid-template-columns:1fr 1.4fr;gap:36px;margin-bottom:64px;padding:28px;border:1px solid var(--vb-ink-3);border-radius:18px;background:var(--vb-ink-2); }
.pricing-main .pricing-credit-guide h3 { margin:0 0 12px;font-size:28px; }
.pricing-main .pricing-credit-guide p { margin:0;color:var(--vb-muted);font-size:15px;line-height:1.65; }
.pricing-main .pricing-pack { border-color:var(--vb-ink-3);background:var(--vb-ink-2);color:var(--vb-paper);box-shadow:var(--vb-raised); }
.pricing-main .pricing-pack h3 { min-height:0;margin-bottom:18px;font-size:34px; }
.pricing-main .pricing-pack .pricing-badge { background:var(--vb-hi-tint);color:var(--vb-hi); }
.pricing-main .pricing-pack .pricing-standard { margin:0 0 10px;font-size:13px;color:var(--vb-muted); }
.pricing-main .pricing-pack .pricing-value { min-height:38px;margin:0 0 20px;color:var(--vb-hi); }
.pricing-pack .pricing-amount span { color:var(--vb-muted); }
.pricing-pack .pricing-amount strong { font-size:48px; }
.pricing-main .pricing-pack .pricing-action { border-color:#55535f; }
.pricing-main .pricing-faq { padding-block:76px 88px; }
.pricing-faq-grid { display:grid;grid-template-columns:1fr 1.7fr;gap:60px; }
.pricing-faq details { border-bottom:1px solid #b8afb9; }
.pricing-faq details:first-child:not([hidden]),.pricing-faq details[hidden]+details { border-top:1px solid #b8afb9; }
.pricing-faq summary { display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;cursor:pointer;list-style:none;font-size:18px;font-weight:600;line-height:1.4; }
.pricing-faq summary::-webkit-details-marker { display:none; }
.pricing-faq summary::after { content:'+';flex-shrink:0;color:var(--vb-pen);font:400 28px/1 var(--vb-body); }
.pricing-faq details[open] summary::after { content:'−'; }
.pricing-main .pricing-faq details p { margin:0 0 24px;color:var(--vb-muted-light);font-size:16px;line-height:1.65; }
.pricing-state { grid-column:1/-1;padding:28px;border:1px solid var(--vb-ink-3);border-radius:16px; }
.pricing-main .pricing-state p { margin:0 0 16px; }
.pricing-footer { display:flex;flex-wrap:wrap;gap:16px 24px;max-width:1280px;margin:auto;padding:30px clamp(20px,4vw,48px);font:400 14px/1.5 var(--vb-body);color:var(--vb-muted); }
.pricing-footer span { margin-right:auto; }
.pricing-footer a { color:var(--vb-paper);text-underline-offset:4px; }
.pricing-main .sale-banner { background:#ffd23f;color:#1f1a05;border-bottom:2px solid var(--vb-ink); }
.pricing-main .sale-layout { display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;padding-block:20px; }
.pricing-main .sale-kicker { display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;font:500 10px/1.5 var(--vb-mono);text-transform:uppercase; }
.sale-kicker i { width:8px;height:8px;background:var(--vb-pen); }
.pricing-main .sale-banner h2 { display:flex;flex-wrap:wrap;gap:8px 24px;font:900 28px/1.2 var(--vb-display);text-transform:uppercase; }
.sale-offer { white-space:nowrap; }
.pricing-main .sale-note { margin:8px 0 0;max-width:750px;font-size:13px;line-height:1.5; }
.sale-timer { display:flex;gap:8px;padding:12px 16px;border-radius:14px;background:var(--vb-ink);color:#ffd23f; }
.sale-timer div { min-width:46px;text-align:center; }
.sale-timer b { display:block;font:500 24px/1.2 var(--vb-mono);font-variant-numeric:tabular-nums; }
.sale-timer span { display:block;margin-top:5px;font:500 8px/1 var(--vb-mono);text-transform:uppercase; }
.pricing-was { position:relative;display:inline-block;margin-right:3px;color:var(--vb-muted-light);font:700 30px/1 var(--vb-display);text-decoration:none; }
.pricing-was::after { content:'';position:absolute;left:-10%;right:-10%;top:50%;height:2px;background:var(--vb-pen);transform:rotate(-18deg); }
.sale-banner .pricing-was { color:#5a490b;font-size:22px; }
.pricing-main .pricing-card.on-sale .pricing-amount strong { color:var(--vb-pen); }
.pricing-card.on-sale .pricing-badge.sale { background:#ffd23f;color:#1f1a05; }
@media(max-width:1100px) {
  .pricing-main .pricing-hero-grid { grid-template-columns:1.15fr 1fr;gap:24px;padding-block:64px; }
  .pricing-main .pricing-hero h1 { font-size:clamp(54px,6.8vw,76px); }
  .pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:22px; }
  .pricing-main .pricing-card h3 { min-height:0; }
  .pricing-main .pricing-audience { min-height:42px; }
  .pricing-main .pricing-workflow-image { height:200px; }
}
@media(max-width:760px) {
  .pricing-page:has(.vidi-global-shell) .pricing-main [id] { scroll-margin-top:128px; }
  .pricing-page:has(.vidi-global-shell) .pricing-notices { top:116px; }
  .pricing-page .nav { gap:14px;flex-wrap:wrap;font-size:14px; }
  .pricing-page .nav a[href='/showcase'] { display:none; }
  .pricing-main .pricing-hero-grid { grid-template-columns:1fr;padding-block:42px 58px;gap:32px; }
  .pricing-main .pricing-hero h1 { font-size:clamp(58px,10vw,76px); }
  .pricing-main .pricing-lede { font-size:17px; }
  .pricing-reel { width:100%;max-width:440px;margin:0 auto;gap:16px;padding-inline:14px; }
  .pricing-reel-card span { font-size:24px; }
  .pricing-main .pricing-handnote { bottom:-8px;right:20px; }
  .pricing-ribbon { gap:8px 14px;font-size:19px; }
  .pricing-ribbon span+span::before { margin-right:14px; }
  .pricing-main .sale-layout { grid-template-columns:1fr;gap:14px;padding-block:16px; }
  .sale-timer { width:fit-content;gap:12px;padding:10px 14px; }
  .sale-timer b { font-size:20px; }
  .pricing-section-head { display:block;margin-bottom:28px; }
  .pricing-main .pricing-section-head > p { margin-top:20px; }
  .pricing-main .pricing-plans { padding-block:48px; }
  .pricing-main .pricing-workflows { padding-block:12px 48px; }
  .pricing-credit-guide,.pricing-faq-grid { grid-template-columns:1fr;gap:24px; }
  .pricing-credit-guide { padding:24px;margin-bottom:44px; }
  .pricing-packs { padding-block:40px 48px; }
  .pricing-main .pricing-faq { padding-block:48px; }
}
@media(max-width:540px) {
  .pricing-grid { grid-template-columns:1fr; }
  .pricing-card,.pricing-card.featured { padding:26px; }
  .pricing-main .pricing-audience { min-height:0;margin-bottom:20px; }
  #plans:has(.on-sale) .pricing-card:not(.on-sale) .pricing-amount { margin-bottom:20px; }
  .pricing-card-label { min-height:0; }
  .pricing-card-label:empty { display:none; }
  .pricing-main .pricing-card h3 { font-size:38px; }
  .pricing-main .pricing-value,.pricing-main .pricing-then { min-height:0; }
  .pricing-main .pricing-workflow .pricing-workflow-rate { min-height:0; }
  .pricing-main .pricing-workflow-image { height:180px; }
  .pricing-reassurance { gap:8px 14px;font-size:12px; }
  .pricing-footer span { flex-basis:100%; }
  .pricing-main .pricing-hero .slate-line { font-size:9px; }
}
