/* Public transactions / homepage visual language.
   Load AFTER next-content.css. Owns only the named transaction page contents
   and shared demo/complaint form dialogs (including the homepage). No shell, ConnectX or routing rules.
   Existing hidden, disabled, required, disclosure and native input behavior wins. */

/* Local tokens: deliberately not set on body, header, footer or the widget. */
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main,
body.jx-next.future-page.page-grievances main#main :is(.legal-flow,.direct-disclosure),
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) {
  --nf-paper:var(--nx-paper,#f7f2e9);
  --nf-surface:var(--nx-surface,#fffdf8);
  --nf-soft:var(--nx-soft,#eee6dd);
  --nf-ink:var(--nx-ink,#32131f);
  --nf-muted:var(--nx-muted,#71616a);
  --nf-line:var(--nx-line,#d9cec0);
  --nf-edge:var(--nx-line-strong,#baa3aa);
  --nf-accent:var(--nx-accent,#650d2d);
  --nf-on-accent:var(--nx-on-accent,#fff8ed);
  --nf-gold:#b88442;
  font-family:Manrope,Arial,sans-serif;
  color:var(--nf-ink);
}

/* A voluntary choice: visibly separate from contract acceptance, never required. */
body.jx-next .contact-consent {grid-column:1/-1;min-width:0;padding:16px;margin:12px 0;border:1px solid var(--nf-line);border-radius:5px;background:var(--nf-surface);color:var(--nf-ink);}
body.jx-next .contact-consent .checkbox {display:flex;align-items:flex-start;gap:12px;min-width:0;margin:0;font:500 12px/1.75 Manrope,Arial,sans-serif;color:inherit;}
body.jx-next .contact-consent input[type="checkbox"] {appearance:auto;flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;accent-color:var(--nf-accent);}
body.jx-next .contact-consent .checkbox>span {min-width:0;overflow-wrap:anywhere;}
body.jx-next .contact-consent .field__hint {margin:10px 0 0 30px;font:500 11px/1.8 Manrope,Arial,sans-serif;color:var(--nf-muted);}
body.jx-next .contact-consent a {color:var(--nf-accent);text-decoration:none;}
body.jx-next .contact-consent a:focus-visible {outline:2px solid currentColor;outline-offset:3px;}

/* Transaction page openings share the homepage's generous, quiet typography. */
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main :is(.page-hero,.feedback-hero) {
  padding-block:clamp(48px,6vw,88px) clamp(42px,5vw,72px);
  background:var(--nf-paper);
  color:var(--nf-ink);
  border-bottom:1px solid var(--nf-line);
}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main :is(.page-hero,.feedback-hero)::before,
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main :is(.page-hero,.feedback-hero)::after { content:none; }
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main .page-title {
  max-width:18ch;margin:18px 0 24px;color:var(--nf-ink);
  font:500 clamp(40px,5.1vw,76px)/1.04 'Space Grotesk',Arial,sans-serif;
  letter-spacing:-.06em;text-wrap:balance;
}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main :is(.page-hero,.feedback-hero) .lead {max-width:58ch;font-size:15px;line-height:1.85;color:var(--nf-muted);}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main :is(.eyebrow,.section-num,.pricing-eyebrow) {font:700 10px/1.7 Manrope,Arial,sans-serif;letter-spacing:.13em;color:var(--nf-accent);}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main .breadcrumb {margin-bottom:28px;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main .breadcrumb__item {font:500 11px/1.7 Manrope,Arial,sans-serif;color:var(--nf-muted);}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main :is(.section-title,.form-card__head h2,.pricing-success h2,.feedback-state h2) {font-family:'Space Grotesk',Arial,sans-serif;font-weight:500;letter-spacing:-.045em;line-height:1.12;color:var(--nf-ink);}

/* Exact form roots only. In particular, no unqualified input or button rule. */
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form),
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) :is(.demo-dialog__form,.complaint-box) {font:500 14px/1.7 Manrope,Arial,sans-serif;min-width:0;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form) :is(.input,.select,.textarea,.multi-select>summary,.feedback-grid input,.feedback-grid select,.feedback-grid textarea),
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) :is(.demo-dialog__field input,.demo-dialog__field select,.demo-dialog__field textarea,.complaint-box .input,.complaint-box .select,.complaint-box .textarea) {
  box-sizing:border-box;min-width:0;max-width:100%;width:100%;min-height:48px;
  padding:12px 14px;border:1px solid var(--nf-edge);border-radius:5px;
  background:var(--nf-surface);color:var(--nf-ink);box-shadow:none;
  font:500 16px/1.5 Manrope,Arial,sans-serif;
  transition:border-color .18s,background-color .18s;
}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances) main#main .form .select {padding-right:42px;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.feedback-form) textarea,
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) textarea {min-height:130px;resize:vertical;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form) :is(input,select,textarea,summary):focus-visible,
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) :is(input,select,textarea,summary):focus-visible {outline:2px solid var(--nf-accent);outline-offset:3px;border-color:var(--nf-accent);box-shadow:none;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form) :is(input,textarea)::placeholder {color:var(--nf-muted);opacity:1;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form) :is(input,select,textarea):disabled {background:var(--nf-soft);color:var(--nf-muted);cursor:not-allowed;opacity:.75;}
body.jx-next.future-page.page-buy main#main .buy-form input[readonly] {background:var(--nf-soft);}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form) :is([aria-invalid="true"],.has-error .input,.has-error .select,.has-error .textarea) {border-color:var(--nf-accent);border-left-width:3px;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form) :is(.field__label,.feedback-grid label,.form-field-caption),
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) :is(.field__label,.demo-dialog__field>span,.demo-dialog__products legend) {font:650 12px/1.6 Manrope,Arial,sans-serif;letter-spacing:0;color:var(--nf-ink);white-space:normal;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form) :is(.field__hint,.form-note,.legal-privacy-notice),
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) :is(.field__hint,.form-note,.demo-dialog__products>small,.demo-dialog__actions p) {font:500 11px/1.75 Manrope,Arial,sans-serif;color:var(--nf-muted);}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form) :is(.field__error,.required-mark) {color:var(--nf-accent);}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.feedback-form) :is(input[type="checkbox"],input[type="radio"]),
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) :is(input[type="checkbox"],input[type="radio"]) {width:18px;height:18px;min-height:18px;flex:0 0 18px;accent-color:var(--nf-accent);margin-top:3px;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances) main#main .form .checkbox {gap:12px;color:var(--nf-ink);font-size:12px;line-height:1.8;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form) :is(.form-grid,.feedback-grid) {gap:24px 22px;grid-template-columns:repeat(2,minmax(0,1fr));}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances) main#main .form .field:not([hidden]) {gap:8px;min-width:0;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances) main#main .form .form-actions {padding-top:22px;border-top:1px solid var(--nf-line);margin-top:4px;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form-alert,.form-errors,.pricing-error) {border:1px solid var(--nf-edge);border-left:3px solid var(--nf-accent);border-radius:5px;background:var(--nf-soft);color:var(--nf-ink);padding:18px;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form-alert--success,.feedback-state--success) {border-left-color:var(--nf-gold);}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-grievances,.page-feedback) main#main .button,
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) :is(.button,.future-button) {min-height:46px;padding:13px 20px;border-radius:5px;font:700 12px/1.6 Manrope,Arial,sans-serif;letter-spacing:0;white-space:normal;text-align:center;box-shadow:none;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-grievances,.page-feedback) main#main .button:hover,
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) :is(.button,.future-button):hover {transform:none;box-shadow:none;}

/* Buy / renew: persistent section introduction and a ruled, spacious worksheet. */
body.jx-next.future-page.page-buy main#main .buy-hero__grid {grid-template-columns:minmax(0,1.45fr) minmax(250px,.65fr);align-items:end;gap:64px;}
body.jx-next.future-page.page-buy main#main .buy-hero__aside {padding:26px 28px;border:1px solid var(--nf-line);border-top:2px solid var(--nf-gold);border-radius:6px;background:var(--nf-soft);}
body.jx-next.future-page.page-buy main#main .buy-hero__aside>span {font:700 9px/1.8 Manrope,Arial,sans-serif;color:var(--nf-accent);letter-spacing:.1em;}
body.jx-next.future-page.page-buy main#main .buy-hero__aside ol {display:block;margin:18px 0 0;padding-left:18px;color:var(--nf-ink);font-size:12px;line-height:1.75;}
body.jx-next.future-page.page-buy main#main .buy-hero__aside li {padding:10px 0 10px 5px;border-bottom:1px solid var(--nf-line);}
body.jx-next.future-page.page-buy main#main .buy-hero__aside li:last-child {border-bottom:0;}
body.jx-next.future-page.page-buy main#main .buy-hero__aside p {font-size:11px;line-height:1.8;color:var(--nf-muted);margin:14px 0 0;}
body.jx-next.future-page.page-buy main#main :is(#form,#calculator) {padding-block:64px 88px;background:var(--nf-paper);}
body.jx-next.future-page.page-buy main#main :is(#form>.container,.pricing-workspace--form) {max-width:1200px;}
body.jx-next.future-page.page-buy main#main .buy-renew-choice {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 32px;}
body.jx-next.future-page.page-buy main#main .buy-renew-choice__card {padding:24px 28px;border:1px solid var(--nf-edge);border-radius:6px;background:var(--nf-surface);color:var(--nf-ink);box-shadow:none;}
body.jx-next.future-page.page-buy main#main .buy-renew-choice__card strong {font:500 28px/1.2 'Space Grotesk',Arial,sans-serif;letter-spacing:-.04em;}
body.jx-next.future-page.page-buy main#main .buy-renew-choice__card :is(.mono,small) {color:var(--nf-muted);font-family:Manrope,Arial,sans-serif;line-height:1.7;}
body.jx-next.future-page.page-buy main#main .buy-renew-choice__card.is-selected {background:#650d2d;color:#fff8ed;border-color:#650d2d;border-top:3px solid var(--nf-gold);}
body.jx-next.future-page.page-buy main#main .buy-renew-choice__card.is-selected :is(.mono,small) {color:#ecd9d5;}
body.jx-next.future-page.page-buy main#main .buy-form-card {display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.7fr);align-items:start;gap:42px;padding:36px;border:1px solid var(--nf-line);border-radius:8px;background:var(--nf-surface);box-shadow:none;overflow:visible;}
body.jx-next.future-page.page-buy main#main .buy-form-card>.form-card__head {position:sticky;top:calc(var(--nx-header-height,88px) + 28px);padding:0 24px 24px 0;margin:0;border:0;border-right:1px solid var(--nf-line);}
body.jx-next.future-page.page-buy main#main .form-card__head h2 {font-size:30px;}
body.jx-next.future-page.page-buy main#main .form-card__head .small {font-size:12px;line-height:1.85;color:var(--nf-muted);}
body.jx-next.future-page.page-buy main#main .buy-form-heading {display:block;}
body.jx-next.future-page.page-buy main#main .buy-invite-badge {display:inline-block;margin-top:16px;border-radius:4px;background:var(--nf-soft);color:var(--nf-accent);}
body.jx-next.future-page.page-buy main#main .buy-form {gap:28px;}
body.jx-next.future-page.page-buy main#main .buy-form-section {min-width:0;margin:0;padding:24px 0 0;border:0;border-top:1px solid var(--nf-line);border-radius:0;background:transparent;}
body.jx-next.future-page.page-buy main#main .buy-form-section:first-of-type {padding-top:0;}
body.jx-next.future-page.page-buy main#main .buy-form-section legend {width:auto;max-width:100%;padding:0 14px 0 0;font:500 22px/1.4 'Space Grotesk',Arial,sans-serif;letter-spacing:-.03em;color:var(--nf-ink);}
body.jx-next.future-page.page-buy main#main .buy-form-section legend span {display:inline-grid;place-items:center;flex:0 0 32px;width:32px;height:32px;margin-right:0;border:1px solid var(--nf-edge);border-radius:5px;background:var(--nf-paper);color:var(--nf-accent);font:650 10px/1 Manrope,Arial,sans-serif;box-shadow:none;}
body.jx-next.future-page.page-buy main#main .buy-form-section>p {margin:12px 0 24px;color:var(--nf-muted);font-size:12px;line-height:1.8;}
body.jx-next.future-page.page-buy main#main .phone-prefix-control {border:1px solid var(--nf-edge);border-radius:5px;background:var(--nf-soft);overflow:visible;}
body.jx-next.future-page.page-buy main#main .phone-prefix-control>span {color:var(--nf-muted);background:var(--nf-soft);border:0;border-radius:4px 0 0 4px;font-size:13px;padding-inline:12px;}
body.jx-next.future-page.page-buy main#main .phone-prefix-control>.input {border:0;border-left:1px solid var(--nf-edge);border-radius:0 4px 4px 0;}
body.jx-next.future-page.page-buy main#main :is(.buy-consent,.buy-safety-note,.buy-copy-contact,.radio-option__label) {border:1px solid var(--nf-line);border-radius:5px;background:var(--nf-paper);padding:16px;color:var(--nf-ink);box-shadow:none;}
body.jx-next.future-page.page-buy main#main .radio-option__label:has(input:checked) {border-color:var(--nf-accent);background:var(--nf-soft);}
body.jx-next.future-page.page-buy main#main .buy-copy-contact {margin-bottom:24px;}
body.jx-next.future-page.page-buy main#main .locked-choice {padding:16px;border:1px solid var(--nf-edge);border-radius:5px;background:var(--nf-soft);}
body.jx-next.future-page.page-buy main#main :is(.locked-choice strong,.buy-safety-note strong) {color:var(--nf-ink);}
body.jx-next.future-page.page-buy main#main :is(.locked-choice span,.buy-safety-note p) {color:var(--nf-muted);font-size:12px;line-height:1.8;}
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances) main#main .form-grid>.legal-privacy-notice {grid-column:1/-1;}
body.jx-next.future-page.page-buy main#main .buy-submit-row {display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
body.jx-next.future-page.page-buy main#main .buy-submit-row p {flex:1 1 160px;margin:0;color:var(--nf-muted);font-size:11px;line-height:1.8;}
body.jx-next.future-page.page-buy main#main .renewal-form .buy-form-section:first-of-type {border-top-color:var(--nf-gold);}

/* Pricing: explanatory strip, service selection tiles, verified estimate ledger. */
body.jx-next.future-page.page-pricing main#main .band--mist {background:var(--nf-soft);padding-block:48px;border-bottom:1px solid var(--nf-line);}
body.jx-next.future-page.page-pricing main#main .band--mist>.container {display:grid;grid-template-columns:.8fr 1.5fr;gap:48px;align-items:start;}
body.jx-next.future-page.page-pricing main#main .band--mist .section-head {margin:0;}
body.jx-next.future-page.page-pricing main#main .band--mist .section-title {font-size:32px;margin-block:12px 16px;}
body.jx-next.future-page.page-pricing main#main .band--mist .section-lead {font-size:12px;line-height:1.9;color:var(--nf-muted);}
body.jx-next.future-page.page-pricing main#main .band--mist .grid {gap:0;}
body.jx-next.future-page.page-pricing main#main .band--mist .card {padding:0 20px;border:0;border-left:1px solid var(--nf-edge);border-radius:0;background:transparent;box-shadow:none;transform:none;}
body.jx-next.future-page.page-pricing main#main .band--mist .card__title {font:500 20px/1.25 'Space Grotesk',Arial,sans-serif;letter-spacing:-.04em;color:var(--nf-ink);}
body.jx-next.future-page.page-pricing main#main .band--mist .card__text {font-size:11px;line-height:1.9;color:var(--nf-muted);}
body.jx-next.future-page.page-pricing main#main #school-services .field>.checkbox {padding:14px;border:1px solid var(--nf-line);border-radius:5px;background:var(--nf-paper);height:100%;align-items:flex-start;}
body.jx-next.future-page.page-pricing main#main #school-services .field>.checkbox:has(input:checked) {border-color:var(--nf-accent);background:var(--nf-soft);}
body.jx-next.future-page.page-pricing main#main #school-services .form-grid {gap:12px;}
body.jx-next.future-page.page-pricing main#main .pricing-workspace--verified {grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:32px;}
body.jx-next.future-page.page-pricing main#main .pricing-success {text-align:left;border:1px solid var(--nf-line);border-top:3px solid var(--nf-gold);border-radius:7px;background:var(--nf-surface);box-shadow:none;}
body.jx-next.future-page.page-pricing main#main .pricing-success h2 {font-size:40px;}
body.jx-next.future-page.page-pricing main#main .pricing-summary {background:var(--nf-soft);color:var(--nf-ink);padding:32px;border:1px solid var(--nf-edge);border-radius:7px;box-shadow:none;}
body.jx-next.future-page.page-pricing main#main .pricing-summary h2 {font:500 34px/1.2 'Space Grotesk',Arial,sans-serif;letter-spacing:-.045em;color:var(--nf-accent);}
body.jx-next.future-page.page-pricing main#main .pricing-summary :is(dt,p,.pricing-summary-foot) {color:var(--nf-muted);}
body.jx-next.future-page.page-pricing main#main .pricing-summary :is(dt,dd) {padding-bottom:12px;border-bottom:1px solid var(--nf-edge);font-size:12px;}
body.jx-next.future-page.page-pricing main#main .pricing-summary h3 {font-size:13px;color:var(--nf-ink);}
body.jx-next.future-page.page-buy main#main .buy-otp {min-width:0;}
body.jx-next.future-page.page-buy main#main .buy-otp__icon {border:1px solid var(--nf-edge);border-radius:7px;background:var(--nf-soft);color:var(--nf-accent);box-shadow:none;}
body.jx-next.future-page.page-buy main#main .buy-otp__intro h3 {font:500 28px/1.25 'Space Grotesk',Arial,sans-serif;letter-spacing:-.04em;color:var(--nf-ink);overflow-wrap:anywhere;}
body.jx-next.future-page.page-buy main#main .buy-otp__intro p {color:var(--nf-muted);font-size:13px;}
body.jx-next.future-page.page-buy main#main .buy-otp__form {padding:24px;border:1px solid var(--nf-line);border-radius:6px;background:var(--nf-paper);box-shadow:none;}
body.jx-next.future-page.page-buy main#main .buy-otp__entry {display:flex;flex-wrap:wrap;gap:14px;}
body.jx-next.future-page.page-buy main#main .buy-otp__entry>.buy-otp__input {flex:1 1 170px;width:170px;letter-spacing:.2em;font-size:24px;}
body.jx-next.future-page.page-buy main#main .buy-otp__secondary {display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}

/* Book a demo: a compact introduction rail beside the seven-question form. */
body.jx-next.future-page.page-demo main#main #form {background:var(--nf-paper);padding-block:64px 80px;}
body.jx-next.future-page.page-demo main#main #form>.container {max-width:1160px;}
body.jx-next.future-page.page-demo main#main #form .form-card {display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.5fr);gap:0;padding:0;border:1px solid var(--nf-line);border-radius:8px;background:var(--nf-surface);box-shadow:none;overflow:visible;}
body.jx-next.future-page.page-demo main#main #form .form-card__head {align-self:stretch;margin:0;padding:36px 30px;border:0;border-right:1px solid var(--nf-line);border-radius:7px 0 0 7px;background:#650d2d;color:#fff8ed;}
body.jx-next.future-page.page-demo main#main #form .form-card__head h2 {font-size:36px;color:#fff8ed;}
body.jx-next.future-page.page-demo main#main #form .form-card__head .small {font-size:13px;line-height:1.9;color:#e8cdd5;}
body.jx-next.future-page.page-demo main#main #form .form-card>.form {padding:36px;gap:24px;}
body.jx-next.future-page.page-demo main#main .multi-select>summary {padding-right:42px;}
body.jx-next.future-page.page-demo main#main .multi-select__menu {border:1px solid var(--nf-edge);border-radius:5px;background:var(--nf-surface);box-shadow:0 12px 25px #32131f16;}
body.jx-next.future-page.page-demo main#main .multi-select__option {color:var(--nf-ink);border-radius:4px;font-size:12px;min-height:44px;}
body.jx-next.future-page.page-demo main#main .multi-select__option:hover {background:var(--nf-soft);}
body.jx-next.future-page.page-demo main#main .form-note {margin:0;}
body.jx-next.future-page.page-demo main#main #form+.band {background:var(--nf-soft);border-block:1px solid var(--nf-line);padding-block:48px;}
body.jx-next.future-page.page-demo main#main #form+.band>.container {max-width:1160px;}
body.jx-next.future-page.page-demo main#main #form+.band .card {padding:24px 30px;border:0;border-left:1px solid var(--nf-edge);border-radius:0;background:transparent;box-shadow:none;color:var(--nf-ink);}
body.jx-next.future-page.page-demo main#main #form+.band .card :is(.card__title,.outcome-list__item,a) {color:var(--nf-ink);}
body.jx-next.future-page.page-demo main#main #form+.band .card .card__text {color:var(--nf-muted);font-size:13px;line-height:1.85;}

/* Demo selectors: a directory with a separate decision column in each row. */
body.jx-next.future-page.page-demo-portals main#main #portals {padding-block:64px 80px;background:var(--nf-paper);}
body.jx-next.future-page.page-demo-portals main#main #portals .section-head {display:grid;grid-template-columns:1fr 1fr;gap:12px 56px;max-width:none;margin-bottom:36px;}
body.jx-next.future-page.page-demo-portals main#main #portals .section-num {grid-column:1/-1;}
body.jx-next.future-page.page-demo-portals main#main #portals .section-title {font-size:clamp(32px,3.3vw,48px);margin:0;}
body.jx-next.future-page.page-demo-portals main#main #portals .section-lead {font-size:13px;line-height:1.9;color:var(--nf-muted);margin:0;}
body.jx-next.future-page.page-demo-portals main#main .demo-portal-grid {grid-template-columns:1fr;gap:0;border-top:1px solid var(--nf-edge);}
body.jx-next.future-page.page-demo-portals main#main .demo-portal-card {display:grid;grid-template-columns:minmax(200px,.85fr) minmax(200px,1fr) minmax(210px,.75fr);gap:18px 32px;align-items:center;padding:30px 0;border:0;border-bottom:1px solid var(--nf-line);border-radius:0;background:transparent;box-shadow:none;transform:none;}
body.jx-next.future-page.page-demo-portals main#main .demo-portal-card__head {gap:18px;}
body.jx-next.future-page.page-demo-portals main#main .demo-portal-card__head>img {width:54px;height:54px;flex-basis:54px;}
body.jx-next.future-page.page-demo-portals main#main .demo-portal-card__badge {margin-bottom:8px;font:700 9px/1.7 Manrope,Arial,sans-serif;letter-spacing:.09em;color:var(--nf-accent);}
body.jx-next.future-page.page-demo-portals main#main .demo-portal-card .card__title {font:500 24px/1.2 'Space Grotesk',Arial,sans-serif;letter-spacing:-.045em;color:var(--nf-ink);margin:0;}
body.jx-next.future-page.page-demo-portals main#main .demo-portal-card>.card__text {margin:0;font-size:12px;line-height:1.9;color:var(--nf-muted);}
body.jx-next.future-page.page-demo-portals main#main .demo-portal-card__actions {display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:12px;margin:0;padding:0 0 0 26px;border-left:1px solid var(--nf-line);}
body.jx-next.future-page.page-demo-portals main#main .demo-portal-card__actions .link-arrow {font-size:11px;color:var(--nf-accent);}
body.jx-next.future-page.page-demo-portals main#main .demo-portal-card__note {grid-column:2/-1;margin:0;font-size:10px;line-height:1.7;color:var(--nf-muted);}

/* Grievance forms only: legal prose/officer/deadline sections belong to content. */
body.jx-next.future-page.page-grievances main#main .legal-flow {grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:24px;align-items:start;margin-top:32px;}
body.jx-next.future-page.page-grievances main#main .legal-step {padding:28px;border:1px solid var(--nf-line);border-top:2px solid var(--nf-gold);border-radius:7px;background:var(--nf-surface);}
body.jx-next.future-page.page-grievances main#main .legal-step:last-child {background:var(--nf-soft);}
body.jx-next.future-page.page-grievances main#main .legal-step h3 {font:500 29px/1.2 'Space Grotesk',Arial,sans-serif;letter-spacing:-.045em;color:var(--nf-ink);}
body.jx-next.future-page.page-grievances main#main .legal-step__eyebrow {font:700 9px/1.7 Manrope,Arial,sans-serif;letter-spacing:.1em;color:var(--nf-accent);}
body.jx-next.future-page.page-grievances main#main .legal-step>p {font-size:12px;line-height:1.85;color:var(--nf-muted);}
body.jx-next.future-page.page-grievances main#main .legal-step .form-grid {grid-template-columns:1fr;}
body.jx-next.future-page.page-grievances main#main .legal-step .form {margin-top:24px;}
body.jx-next.future-page.page-grievances main#main .legal-step :is(.legal-ticket,.legal-status) {border:1px solid var(--nf-edge);border-radius:5px;background:var(--nf-paper);color:var(--nf-ink);padding:18px;overflow-wrap:anywhere;}
body.jx-next.future-page.page-grievances main#main .legal-step .legal-ticket strong {color:var(--nf-accent);font-family:'Space Grotesk',Arial,sans-serif;}
body.jx-next.future-page.page-grievances main#main .direct-disclosure {border:1px solid var(--nf-edge);border-top:2px solid var(--nf-gold);border-radius:7px;background:var(--nf-surface);overflow:visible;}
body.jx-next.future-page.page-grievances main#main .direct-disclosure>summary {padding:24px 28px;}
body.jx-next.future-page.page-grievances main#main .direct-disclosure>summary h2 {font:500 30px/1.2 'Space Grotesk',Arial,sans-serif;letter-spacing:-.04em;color:var(--nf-ink);}
body.jx-next.future-page.page-grievances main#main .direct-disclosure__body {padding:0 28px 28px;color:var(--nf-muted);}
body.jx-next.future-page.page-grievances main#main .direct-disclosure__body>p {font-size:13px;line-height:1.9;}
body.jx-next.future-page.page-grievances main#main .direct-disclosure .form {margin-top:30px;padding-top:24px;border-top:1px solid var(--nf-line);}

/* Partner applications stay in the app: style the existing handoff, not a form. */
body.jx-next.future-page.page-partner-apply main#main .apply-hero__grid {grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:64px;align-items:start;}
body.jx-next.future-page.page-partner-apply main#main .apply-hero__logo {width:64px;height:64px;margin-bottom:20px;}
body.jx-next.future-page.page-partner-apply main#main .apply-app {padding:32px;border:1px solid var(--nf-edge);border-top:2px solid var(--nf-gold);border-radius:7px;background:var(--nf-soft);color:var(--nf-ink);box-shadow:none;}
body.jx-next.future-page.page-partner-apply main#main .apply-app h2 {font:500 34px/1.15 'Space Grotesk',Arial,sans-serif;letter-spacing:-.045em;color:var(--nf-ink);}
body.jx-next.future-page.page-partner-apply main#main .apply-app p {font-size:13px;line-height:1.9;color:var(--nf-muted);}
body.jx-next.future-page.page-partner-apply main#main .apply-app p.eyebrow {color:var(--nf-accent);font-size:10px;}
body.jx-next.future-page.page-partner-apply main#main :is(.apply-hero__logo,.apply-app img) {border-radius:7px;}
body.jx-next.future-page.page-partner-apply main#main .apply-app .store-badge {border-radius:5px;}
body.jx-next.future-page.page-partner-apply main#main .apply-app__note {padding-top:20px;border-top:1px solid var(--nf-edge);}
body.jx-next.future-page.page-partner-apply main#main :is(#procedure,#form) {padding-block:64px;background:var(--nf-paper);border-bottom:1px solid var(--nf-line);}
body.jx-next.future-page.page-partner-apply main#main #procedure .steps {gap:0;border-block:1px solid var(--nf-line);}
body.jx-next.future-page.page-partner-apply main#main #procedure .step {padding:26px;border-right:1px solid var(--nf-line);background:transparent;border-radius:0;}
body.jx-next.future-page.page-partner-apply main#main #procedure .step:last-child {border-right:0;}
body.jx-next.future-page.page-partner-apply main#main #procedure .timeline__line {display:none;}
body.jx-next.future-page.page-partner-apply main#main #procedure .step__num {width:34px;height:34px;border:1px solid var(--nf-edge);border-radius:5px;box-shadow:none;background:var(--nf-soft);color:var(--nf-accent);font:600 12px/1 Manrope,Arial,sans-serif;}
body.jx-next.future-page.page-partner-apply main#main #procedure .step__title {font:500 24px/1.2 'Space Grotesk',Arial,sans-serif;letter-spacing:-.04em;color:var(--nf-ink);}
body.jx-next.future-page.page-partner-apply main#main #procedure .step__text {font-size:12px;line-height:1.9;color:var(--nf-muted);}
body.jx-next.future-page.page-partner-apply main#main #form .feature-row {grid-template-columns:1.2fr .8fr;gap:64px;align-items:start;}
body.jx-next.future-page.page-partner-apply main#main #form .outcome-list__item {padding-block:14px;border-bottom:1px solid var(--nf-line);font-size:13px;line-height:1.8;}
body.jx-next.future-page.page-partner-apply main#main #form .card {padding:30px;border:1px solid var(--nf-line);border-radius:7px;background:var(--nf-soft);box-shadow:none;}

/* Private feedback and its testimonial permission are one unchanged form. */
body.jx-next.future-page.page-feedback main#main .container--narrow {max-width:1000px;}
body.jx-next.future-page.page-feedback main#main .feedback-form {gap:26px;padding:36px;border:1px solid var(--nf-line);border-radius:7px;background:var(--nf-surface);box-shadow:none;}
body.jx-next.future-page.page-feedback main#main .feedback-section {gap:18px;padding-top:28px;border-color:var(--nf-line);}
body.jx-next.future-page.page-feedback main#main .feedback-section:first-of-type {padding-top:0;}
body.jx-next.future-page.page-feedback main#main .feedback-section>span {border:1px solid var(--nf-edge);border-radius:5px;background:var(--nf-soft);color:var(--nf-accent);font:650 11px/1 Manrope,Arial,sans-serif;}
body.jx-next.future-page.page-feedback main#main .feedback-section h2 {font:500 30px/1.2 'Space Grotesk',Arial,sans-serif;letter-spacing:-.04em;color:var(--nf-ink);}
body.jx-next.future-page.page-feedback main#main .feedback-section p {font-size:12px;line-height:1.8;color:var(--nf-muted);}
body.jx-next.future-page.page-feedback main#main .feedback-consent {padding:22px;border:1px solid var(--nf-edge);border-left:3px solid var(--nf-gold);border-radius:5px;background:var(--nf-soft);color:var(--nf-ink);font-size:13px;font-weight:500;line-height:1.85;}
body.jx-next.future-page.page-feedback main#main .feedback-state {padding:42px;border:1px solid var(--nf-line);border-top:3px solid var(--nf-gold);border-radius:7px;background:var(--nf-surface);box-shadow:none;text-align:left;}
body.jx-next.future-page.page-feedback main#main .feedback-state h2 {font-size:36px;}
body.jx-next.future-page.page-feedback main#main .feedback-state p {margin:18px 0 26px;color:var(--nf-muted);}

/* Shared public form dialogs, including the homepage. Matching direct-child
   IDs/classes preserve priority over legacy dialog and homepage typography.
   No future-page gate; main/page scopes and the contact shell stay untouched. */
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) {border-radius:8px;background:var(--nf-surface);border:1px solid var(--nf-edge);}
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) h2 {font:500 clamp(30px,3.6vw,46px)/1.08 'Space Grotesk',Arial,sans-serif;letter-spacing:-.05em;color:var(--nf-ink);}
body.jx-next > .demo-dialog#demo-dialog .demo-dialog__intro {border-color:var(--nf-line);}
body.jx-next > .demo-dialog#demo-dialog .demo-dialog__products {border-block:1px solid var(--nf-line);padding-block:22px;}
body.jx-next > .demo-dialog#demo-dialog .demo-dialog__products label {padding:12px;border:1px solid var(--nf-line);border-radius:5px;background:var(--nf-paper);}
body.jx-next > .demo-dialog#demo-dialog .demo-dialog__products label:has(input:checked) {border-color:var(--nf-accent);background:var(--nf-soft);}
body.jx-next > .demo-dialog#demo-dialog .demo-dialog__products label:has(input:checked) span {color:var(--nf-ink);}
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) .legal-privacy-notice {grid-column:1/-1;margin:16px 0 0;color:var(--nf-muted);font:500 11px/1.8 Manrope,Arial,sans-serif;}
body.jx-next > .complaint-dialog#complaint-dialog .complaint-dialog__lead {font-size:13px;line-height:1.85;color:var(--nf-muted);}
body.jx-next > .complaint-dialog#complaint-dialog .complaint-box {padding-top:24px;border-top:1px solid var(--nf-line);}
body.jx-next > .complaint-dialog#complaint-dialog .form-grid {gap:20px;}
body.jx-next > .complaint-dialog#complaint-dialog .form-alert {padding:18px;border:1px solid var(--nf-edge);border-left:3px solid var(--nf-accent);border-radius:5px;background:var(--nf-soft);color:var(--nf-ink);}
body.jx-next > .complaint-dialog#complaint-dialog .legal-ticket {padding:22px;border:1px solid var(--nf-edge);border-top:2px solid var(--nf-gold);border-radius:5px;background:var(--nf-paper);}
body.jx-next > .complaint-dialog#complaint-dialog .legal-ticket small {color:var(--nf-muted);font:700 10px/1.7 Manrope,Arial,sans-serif;}
body.jx-next > .complaint-dialog#complaint-dialog .legal-ticket strong {color:var(--nf-accent);font-family:'Space Grotesk',Arial,sans-serif;overflow-wrap:anywhere;}

/* Receipt / confirmation presentation, reached only through existing flows. */
body.jx-next.future-page:is(.page-buy,.page-demo) main#main #thankyou {background:#650d2d;color:#fff8ed;padding-block:64px;}
body.jx-next.future-page:is(.page-buy,.page-demo) main#main .success-card {max-width:880px;margin-inline:auto;text-align:left;}
body.jx-next.future-page:is(.page-buy,.page-demo) main#main .success-card__title {font:500 clamp(32px,4vw,52px)/1.15 'Space Grotesk',Arial,sans-serif;letter-spacing:-.045em;color:#fff8ed;}
body.jx-next.future-page:is(.page-buy,.page-demo) main#main .success-card :is(.success-card__text,.outcome-list__item,.buy-next-steps span) {color:#ecd9d5;line-height:1.85;}
body.jx-next.future-page:is(.page-buy,.page-demo) main#main .success-ref {border:1px solid #a6637a;border-radius:5px;background:#ffffff09;padding:24px;color:#fff8ed;}
body.jx-next.future-page:is(.page-buy,.page-demo) main#main .success-ref__code {font-family:'Space Grotesk',Arial,sans-serif;letter-spacing:.02em;overflow-wrap:anywhere;}

/* Keep all script-controlled hidden states authoritative, including nested grids. */
body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form) [hidden],
body.jx-next > :is(.demo-dialog#demo-dialog,.complaint-dialog#complaint-dialog) [hidden] {display:none!important;}

@media (max-width:1050px) {
  body.jx-next.future-page.page-buy main#main .buy-hero__grid {gap:32px;}
  body.jx-next.future-page.page-buy main#main .buy-form-card {grid-template-columns:minmax(190px,.6fr) minmax(0,1.7fr);gap:28px;padding:28px;}
  body.jx-next.future-page.page-pricing main#main .band--mist>.container {grid-template-columns:1fr;gap:28px;}
  body.jx-next.future-page.page-demo-portals main#main .demo-portal-card {grid-template-columns:minmax(0,1fr) minmax(200px,.65fr);}
  body.jx-next.future-page.page-demo-portals main#main .demo-portal-card>.card__text {grid-column:1;}
  body.jx-next.future-page.page-demo-portals main#main .demo-portal-card__actions {grid-column:2;grid-row:1/3;}
  body.jx-next.future-page.page-demo-portals main#main .demo-portal-card__note {grid-column:1/-1;}
  body.jx-next.future-page.page-partner-apply main#main :is(.apply-hero__grid,#form .feature-row) {gap:32px;}
}
@media (max-width:800px) {
  body.jx-next.future-page.page-buy main#main :is(.buy-hero__grid,.buy-form-card,.pricing-workspace--verified),
  body.jx-next.future-page.page-demo main#main #form .form-card,
  body.jx-next.future-page.page-grievances main#main .legal-flow,
  body.jx-next.future-page.page-partner-apply main#main :is(.apply-hero__grid,#form .feature-row) {grid-template-columns:1fr;}
  body.jx-next.future-page.page-buy main#main .buy-form-card>.form-card__head {position:static;border-right:0;border-bottom:1px solid var(--nf-line);padding:0 0 24px;}
  body.jx-next.future-page.page-buy main#main .buy-hero__aside {padding:22px;}
  body.jx-next.future-page.page-pricing main#main .pricing-summary {position:static;grid-row:auto;}
  body.jx-next.future-page.page-demo main#main #form .form-card__head {border-radius:7px 7px 0 0;padding:28px;}
  body.jx-next.future-page.page-demo main#main #form .form-card>.form {padding:28px;}
  body.jx-next.future-page.page-grievances main#main .legal-step .form-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.jx-next.future-page.page-demo-portals main#main #portals .section-head {grid-template-columns:1fr;gap:18px;}
}
@media (max-width:600px) {
  body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main :is(.page-hero,.feedback-hero) {padding-block:36px;}
  body.jx-next.future-page:is(.page-buy,.page-demo,.page-demo-portals,.page-partner-apply,.page-feedback) main#main .page-title {font-size:40px;letter-spacing:-.055em;}
  body.jx-next.future-page:is(.page-buy,.page-demo) main#main :is(#form,#calculator) {padding-block:36px 52px;}
  body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.buy-otp,.feedback-form) :is(.form-grid,.feedback-grid),
  body.jx-next.future-page.page-grievances main#main .legal-step .form-grid {grid-template-columns:minmax(0,1fr);gap:20px;}
  body.jx-next.future-page.page-buy main#main .buy-renew-choice {grid-template-columns:1fr;gap:10px;}
  body.jx-next.future-page.page-buy main#main .buy-renew-choice__card {padding:20px;}
  body.jx-next.future-page.page-buy main#main .buy-form-card,
  body.jx-next.future-page.page-feedback main#main :is(.feedback-form,.feedback-state) {padding:22px 18px;}
  body.jx-next.future-page.page-buy main#main .buy-form-section legend {font-size:20px;}
  body.jx-next.future-page.page-buy main#main .buy-submit-row {align-items:stretch;}
  body.jx-next.future-page.page-buy main#main .buy-submit-row>* {width:100%;}
  body.jx-next.future-page.page-pricing main#main .band--mist .grid {grid-template-columns:1fr;gap:22px;}
  body.jx-next.future-page.page-pricing main#main .band--mist .card {padding:0 0 0 18px;}
  body.jx-next.future-page.page-demo main#main #form :is(.form-card__head,.form-card>.form) {padding:24px 20px;}
  body.jx-next.future-page.page-demo-portals main#main .demo-portal-card {grid-template-columns:1fr;gap:20px;}
  body.jx-next.future-page.page-demo-portals main#main .demo-portal-card__actions {grid-column:auto;grid-row:auto;border:0;padding:0;align-items:flex-start;}
  body.jx-next.future-page.page-demo-portals main#main .demo-portal-card__note {grid-column:auto;}
  body.jx-next.future-page.page-grievances main#main .legal-step {padding:24px 18px;}
  body.jx-next.future-page.page-grievances main#main .direct-disclosure>summary {padding:22px 18px;}
  body.jx-next.future-page.page-grievances main#main .direct-disclosure>summary h2 {font-size:26px;}
  body.jx-next.future-page.page-grievances main#main .direct-disclosure__body {padding:0 18px 24px;}
  body.jx-next.future-page.page-partner-apply main#main :is(.apply-app,#form .card) {padding:24px;}
  body.jx-next.future-page.page-partner-apply main#main #procedure .step {border-right:0;border-bottom:1px solid var(--nf-line);padding:24px 0;}
  body.jx-next > .complaint-dialog#complaint-dialog .form-grid {grid-template-columns:1fr;}
  body.jx-next > .demo-dialog#demo-dialog :is(.demo-dialog__grid,.demo-dialog__products>div) {grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce) {
  body.jx-next.future-page:is(.page-buy,.page-demo,.page-grievances,.page-feedback) main#main :is(.form,.feedback-form) :is(input,select,textarea,summary) {transition:none;}
}
/* ConnectX enquiry: the same optional promotional choice, compact for the chat panel. */
body.jx-next .cx-enquiry .contact-consent {padding:12px;margin:2px 0 0;}
body.jx-next .cx-enquiry .contact-consent .checkbox {gap:8px;font-size:12px;line-height:1.6;}
body.jx-next .cx-enquiry .contact-consent input[type="checkbox"] {flex-basis:17px;width:17px;height:17px;margin-top:2px;}
body.jx-next .cx-enquiry .contact-consent .field__hint {margin:8px 0 0 25px;line-height:1.6;}
