/* Shared FR/EN pricing hero and paid packages. Existing site tokens are retained. */
.pricing-hero { padding: 158px 0 64px; background: radial-gradient(ellipse at 70% 0, #252052 0, transparent 65%), var(--navy); }
.pricing-hero h1 { max-width: 900px; margin: 0 auto 24px; font-size: clamp(38px, 4.1vw, 60px); text-wrap: balance; }
.pricing-hero .lead { max-width: 740px; font-size: 19px; }
.pricing-hero .p-step { text-transform: none; letter-spacing: .04em; }
.pricing-billing { min-width: 0; width: 240px; max-width: 100%; margin: 0 0 24px auto; padding: 0; border: 0; }
.billing-savings { margin: 0 0 10px; color: var(--indigo); font: 600 13px/1.4 Manrope,sans-serif; text-align: center; }
.billing-options { display: flex; gap: 2px; padding: 3px; border-radius: 999px; background: #F6F7F8; }
.pricing-sr-only, .billing-option input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.billing-option { position: relative; flex: 1; min-width: 0; cursor: pointer; }
.billing-option span { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 8px 14px; border: 1px solid transparent; border-radius: 999px; font: 500 14px/1.4 Manrope,sans-serif; color: #676B73; text-wrap: balance; transition: background .2s; }
.billing-check { display: none; }
.billing-option input:checked + span { background: #fff; color: var(--ink); border-color: #F0F1F3; font-weight: 600; box-shadow: 0 2px 5px rgba(15,23,42,.08); }
.billing-option input:focus-visible + span { outline: 3px solid var(--cyan); outline-offset: 3px; }
.billing-option:hover input:not(:checked) + span { background: #E9EBF2; }
.pricing-billing:disabled .billing-option { cursor: default; }
.pricing-packages { padding: 36px 0 96px; }
.pricing-packages .plans-grid { gap: 24px; }
.pricing-packages .plan-card { padding: 30px; }
.pricing-packages .plan-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; min-height: 38px; margin-bottom: 24px; }
.pricing-packages .plan-name { font-size: 26px; margin: 0; }
.pricing-packages .plan-badge { position: static; margin: 0; padding: 6px 10px; font-size: 11px; letter-spacing: .025em; }
.pricing-packages .recommended { border: 2px solid var(--indigo); padding: 29px; }
.pricing-packages .plan-price { min-height: 0; justify-content: flex-start; margin: 0 0 20px; }
.pricing-packages .plan-price-line { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.pricing-packages .plan-price strong { font-size: 48px; line-height: 1.1; }
.pricing-packages .plan-tax { font: 600 13px/1.4 Manrope,sans-serif; color: var(--ink-2); }
.pricing-packages .plan-price-period { font-size: 14px; color: var(--ink-2); margin-top: 6px; }
.pricing-packages .plan-billing-note { margin: 12px 0 0; font-size: 12.5px; line-height: 1.6; color: var(--ink-2); }
.pricing-packages .enterprise .plan-price strong { font-size: 29px; line-height: 1.15; max-width: 13ch; text-wrap: balance; }
.pricing-packages .plan-description { min-height: 0; font-size: 15px; margin: 0 0 22px; }
.pricing-packages .plan-includes { min-height: 22px; margin: 0 0 16px; }
.pricing-packages [data-plan-id="start"] > .feature-list { padding-top: 38px; }
.pricing-packages .feature-list { gap: 14px; margin-bottom: 0; }
.pricing-packages .feature-list li { font-size: 14px; line-height: 1.55; padding-left: 23px; }
.pricing-packages .feature-list li:first-child { font-weight: 600; color: var(--ink); }
.pricing-packages .plan-actions { display: flex; flex-direction: column; margin: 0 0 24px; padding: 0; }
.pricing-packages .plan-actions .btn { margin-top: 0; padding: 15px 12px; font-size: 14px; min-height: 54px; text-align: center; }
.pricing-packages .feature-list li:has(> .feature-ai)::before { content: none; }
.pricing-packages .feature-ai { position: absolute; left: 1px; top: calc((1.55em - 14px)/2); width: 14px; height: 14px; color: #7061AC; }
/* Shared intrinsic rows align prices, CTAs and descriptions without fixed card heights. */
@supports(grid-template-rows:subgrid) {
  @media(min-width:761px) {
    .pricing-packages .plans-grid { row-gap: 0; }
    .pricing-packages .plan-card { display: grid; grid-row: span 6; grid-template-rows: subgrid; }
    .pricing-packages .plan-heading { grid-row: 1; }
    .pricing-packages .plan-price { grid-row: 2; }
    .pricing-packages .plan-description { grid-row: 4; }
    .pricing-packages .plan-includes { grid-row: 5; }
    .pricing-packages .feature-list { grid-row: 6; align-content: start; }
    .pricing-packages [data-plan-id="start"] > .feature-list { padding-top: 0; }
    .pricing-packages .plan-actions { grid-row: 3; }
  }
}
@media(min-width:761px) and (max-width:1100px) {
  .pricing-packages .plans-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pricing-packages .enterprise { display: flex; grid-column: 1 / -1; grid-row: auto; margin-top: 24px; }
  .pricing-packages .enterprise .plan-actions { width: 100%; max-width: 340px; }
  .pricing-packages .enterprise .feature-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 32px; }
}
@media(max-width:760px) {
  .pricing-hero { padding: 138px 0 46px; }
  .pricing-hero .lead { font-size: 17px; }
  .pricing-packages { padding: 28px 0 80px; }
  .pricing-packages .plan-card { padding: 26px; }
  .pricing-packages .recommended { padding: 25px; }
  .pricing-packages .plan-heading { margin-bottom: 22px; }
  .pricing-packages .plan-price, .pricing-packages .plan-description, .pricing-packages .plan-actions { min-height: 0; }
  .pricing-packages .plan-price { margin-bottom: 24px; }
  .pricing-packages [data-plan-id="start"] > .feature-list { padding-top: 0; }
}

/* Independent acquisition section; separate from the three paid plans. */
/* A full-width acquisition banner, distinct from the paid package cards. */
.pricing-trial{padding:0;scroll-margin-top:104px}
.pricing-trial__inner{width:calc(100% - var(--pad) - var(--pad));max-width:calc(var(--wrap) - var(--pad) - var(--pad));display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,280px);align-items:center;gap:40px;padding:36px 40px;border:1px solid #E0DDF5;border-radius:var(--r);background:linear-gradient(110deg,#F8F7FF 0%,#F0EEFC 100%)}
.pricing-trial__badge{display:inline-flex;margin-bottom:14px;padding:4px 9px;border:1px solid #DCD6F8;border-radius:999px;background:#F0ECFF;color:#5140A5;font:700 10px/1.6 Manrope,sans-serif;letter-spacing:.06em}
.pricing-trial h2{margin:0 0 10px;font-size:clamp(26px,2.2vw,32px);line-height:1.25;letter-spacing:-.03em}
.pricing-trial__intro{max-width:64ch;margin:0 0 14px;color:var(--ink-2);font-size:16px;line-height:1.6}
.pricing-trial__benefits{margin:0;color:#655B80;font-size:12.5px;line-height:1.7}
.pricing-trial__action{text-align:center}
.pricing-trial__action .btn{width:100%;justify-content:center;min-height:54px;padding-inline:20px;white-space:normal;text-align:center}
.pricing-trial .btn:focus-visible{outline:3px solid var(--indigo);outline-offset:4px}
@media(max-width:1100px){.pricing-trial__inner{grid-template-columns:minmax(0,1fr) 220px;gap:28px;padding:30px}}
@media(max-width:760px){.pricing-trial__inner{grid-template-columns:1fr;gap:24px;padding:26px 24px}.pricing-trial__action{text-align:left}.pricing-trial__action .btn{max-width:340px}.pricing-trial__intro{font-size:15px}}
@media(max-width:360px){.pricing-trial__inner{padding:24px 20px}.pricing-trial h2{font-size:25px}}

/* Included AI capacity: informative indicators, with no purchase or quota UI. */
.pricing-hours{padding:96px 0;scroll-margin-top:100px}
.pricing-hours__heading{max-width:850px;margin-bottom:32px}
.pricing-hours__heading h2{font-size:clamp(30px,3vw,44px);line-height:1.15;margin-bottom:16px}
.pricing-hours__heading>p{max-width:72ch;margin:0;color:var(--ink-2);font-size:18px;line-height:1.65}
.pricing-hours__capacities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pricing-hours__capacity{min-width:0;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--bg-alt)}
.pricing-hours__capacity[data-hours-plan="scale"]{background:#F5F4FF;border-color:#DDD8F7}
.pricing-hours__capacity h3{font-size:13px;line-height:1.4;font-weight:800;letter-spacing:.07em;color:var(--ink-2);margin:0 0 14px}
.pricing-hours__capacity p{margin:0}
.pricing-hours__amount{display:block;color:var(--indigo);font:800 clamp(36px,3.3vw,46px)/1.1 Manrope,sans-serif;letter-spacing:-.04em}
.pricing-hours__period{display:block;margin-top:8px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.pricing-hours__custom{display:block;max-width:20ch;font:700 clamp(22px,2vw,27px)/1.35 Manrope,sans-serif;letter-spacing:-.025em;color:var(--ink)}
.pricing-hours__pool{margin:18px 0 32px;padding:20px 24px;border:1px solid #DDDDF8;border-radius:16px;background:var(--bg-lav);color:#3730A3;font:700 16px/1.6 Manrope,sans-serif}
.pricing-hours__pool-label{display:block;margin-bottom:5px;color:#74649D;font:700 10px/1.5 Manrope,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.pricing-hours__details{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:start}
.pricing-hours__details h3{margin:0 0 14px;font-size:19px;line-height:1.4;letter-spacing:-.02em;text-wrap:balance}
.pricing-hours__coverage ul{padding-left:20px;margin:0;color:var(--ink-2);font-size:15px;line-height:1.65}
.pricing-hours__coverage li+li{margin-top:7px}
.pricing-hours__scope{margin:16px 0 0;font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.pricing-hours__topup{padding-left:32px;border-left:1px solid var(--line)}
.pricing-hours__topup>p{font-size:15px;line-height:1.65;color:var(--ink-2);margin:0 0 12px}
.pricing-hours__topup .pricing-hours__topup-price{margin:0;color:var(--ink);font-weight:700}
.pricing-hours__alerts{padding-top:20px;margin:28px 0 0;border-top:1px solid var(--line);color:var(--ink-2);font-size:13px;line-height:1.6}
@media(max-width:900px){.pricing-hours__capacity{padding:20px}.pricing-hours__details{grid-template-columns:1fr;gap:26px}.pricing-hours__topup{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:600px){.pricing-hours{padding:64px 0}.pricing-hours__heading>p{font-size:16px}.pricing-hours__capacities{grid-template-columns:1fr;gap:12px}.pricing-hours__capacity{display:grid;grid-template-columns:95px minmax(0,1fr);align-items:center;gap:12px}.pricing-hours__capacity h3{margin:0;font-size:12px}.pricing-hours__amount{font-size:36px}.pricing-hours__period{font-size:12px}.pricing-hours__custom{font-size:20px}.pricing-hours__pool{padding:18px;font-size:15px;margin-bottom:28px}}

/* Functional comparison: native table with feature-by-feature mobile reflow. */
.pricing-comparison{padding:96px 0;scroll-margin-top:100px}
.pricing-comparison .section-head{max-width:900px;margin-bottom:36px}
.pricing-comparison h2{font-size:clamp(30px,3vw,44px);line-height:1.15;margin-bottom:18px}
.pricing-comparison .lead{font-size:18px;line-height:1.65}
.pricing-comparison .compare-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--sh-sm)}
.pricing-comparison .compare-wrap:focus-visible{outline:3px solid var(--indigo);outline-offset:5px}
.pricing-comparison .compare-table{width:100%;min-width:680px;border-collapse:collapse;table-layout:fixed}
.pricing-comparison th,.pricing-comparison td{padding:18px 20px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.pricing-comparison th:last-child,.pricing-comparison td:last-child{border-right:0}
.pricing-comparison tbody tr:last-child>*{border-bottom:0}
.pricing-comparison thead th{background:#FAFAFD;color:var(--ink);font:800 15px/1.5 Manrope,sans-serif;padding-block:24px}
.pricing-comparison thead th:first-child{width:32%}
.pricing-comparison tbody th{font:700 14px/1.5 Manrope,sans-serif;color:var(--ink);background:#FCFCFE}
.pricing-comparison td{color:var(--ink-2)}
.pricing-comparison thead th:nth-child(3),.pricing-comparison tbody td:nth-child(3){background:#F5F4FF}
.pricing-comparison thead th:nth-child(3){color:#4338CA}
.pricing-comparison .compare-recommended{display:block;width:fit-content;margin-top:6px;padding:3px 7px;border:1px solid #D9D6FF;border-radius:999px;background:#ECEAFF;color:#4338CA;font-size:10px;line-height:1.5;font-weight:800}
.pricing-comparison .compare-symbol{font-size:19px;font-weight:700;color:#3730A3}
.pricing-comparison .compare-plan{display:none}
/* At table widths, retain native headers while they stick below the site navigation. */
@media(min-width:761px){
  .pricing-comparison .compare-wrap{overflow:visible}
  .pricing-comparison thead th{position:sticky;top:82px;z-index:2;box-shadow:inset 0 -1px var(--line)}
  .pricing-comparison thead th:first-child{border-top-left-radius:var(--r)}
  .pricing-comparison thead th:last-child{border-top-right-radius:var(--r)}
  .pricing-comparison tbody tr:last-child th{border-bottom-left-radius:var(--r)}
  .pricing-comparison tbody tr:last-child td:last-child{border-bottom-right-radius:var(--r)}
}
@media(max-width:1000px) and (min-width:761px){.pricing-comparison th,.pricing-comparison td{padding:16px 14px}}
@media(max-width:760px){
  .pricing-comparison{padding:64px 0}
  .pricing-comparison .lead{font-size:16px}
  .pricing-comparison .compare-wrap{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
  .pricing-comparison .compare-table{min-width:0}
  .pricing-comparison .compare-table,.pricing-comparison tbody,.pricing-comparison tr,.pricing-comparison th,.pricing-comparison td{display:block;width:100%}
  /* Keep column headers in the accessibility tree when the visual table reflows. */
  .pricing-comparison thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .pricing-comparison tbody tr{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:14px;overflow:hidden;box-shadow:var(--sh-sm)}
  .pricing-comparison tbody tr:last-child{margin-bottom:0}
  .pricing-comparison tbody th{padding:17px 18px;background:#F0F0F8;font-size:15px;border-right:0}
  .pricing-comparison tbody td{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:13px 18px;border-right:0;font-size:14px}
  .pricing-comparison tbody tr:last-child>*{border-bottom:1px solid var(--line)}
  .pricing-comparison tbody tr>td:last-child{border-bottom:0}
  .pricing-comparison .compare-plan{display:block;font:800 11px/1.9 Manrope,sans-serif;letter-spacing:.025em;color:var(--ink-2)}
  .pricing-comparison .compare-value{min-width:0}
  .pricing-comparison .compare-symbol{line-height:1.1}
}

/* Pricing V3 FAQ and final CTA. */
.pricing-faq{padding:96px 0;scroll-margin-top:100px}
.pricing-faq h2{margin-bottom:40px;font-size:clamp(30px,3vw,44px);line-height:1.2}
.pricing-faq summary h3{margin:0;font:inherit;letter-spacing:normal;color:inherit}
.pricing-faq summary:focus-visible{outline:3px solid var(--cyan);outline-offset:4px;border-radius:4px}
.pricing-faq .faq-body{color:#CDD0DE}
.pricing-faq .faq-body p+p{margin-top:12px}
.pricing-cta{padding:96px 0;border-top:1px solid rgba(255,255,255,.08);scroll-margin-top:100px}
.pricing-cta h2{font-size:clamp(32px,3.5vw,50px);line-height:1.2;margin-bottom:22px}
.pricing-cta .cta-final>p{max-width:64ch;margin:0 auto 30px;color:#CDD0DE;line-height:1.65}
.pricing-cta .cta-actions .btn{min-height:54px;text-align:center;justify-content:center;white-space:normal}
.pricing-cta .btn:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}
.pricing-cta .cta-final .pricing-final__micro{margin:20px auto 0;font-size:13px;line-height:1.7;color:#CDD0DE}
@media(max-width:760px){.pricing-faq,.pricing-cta{padding:64px 0}.pricing-faq summary{padding-block:24px}.pricing-faq .faq-body{padding-right:0;font-size:16px}.pricing-cta .cta-final>p{font-size:17px}.pricing-cta .cta-actions{gap:12px}.pricing-cta .cta-actions .btn{padding-inline:18px}}

/* Pricing navigation: retain the shared breakpoint; prevent cramped desktop labels. */
@media(min-width:1081px) and (max-width:1360px){
  .nav-in{gap:22px}
  .nav-links{gap:18px}
  .nav-links a{font-size:14px;white-space:nowrap}
  .nav-in>.btn{white-space:nowrap}
}
@media(max-width:1080px){
  .nav .nav-links.is-open{display:flex;position:absolute;top:80px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--navy);padding:16px 24px;gap:4px;max-height:calc(100dvh - 80px);overflow-y:auto;border-bottom:1px solid rgba(255,255,255,.12)}
  .nav .nav-links.is-open a{color:#fff;padding:10px 0;min-height:44px}
}
.nav.on-dark :focus-visible,.nav .nav-links.is-open :focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
