@font-face {
  font-family: "Source Sans 3";
  src: url("/prova/assets/fonts/source-sans-3-roman.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
body.bb-page {
  --bb-font: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ink: #17364b;
  --green: #006b62;
  --sage: #e7f6f3;
  --cream: #f6faf9;
  --paper: #fff;
  --muted: #4d6674;
  --line: #cadfdf;
  --clay: #00675f;
  --ls-accent: #006b62;
  --ls-ink: #17364b;
  --ls-muted: #4d6674;
  --ls-current: #e7f6f3;
  color: var(--ink);
  background: var(--cream);
  --bb-heading-page: clamp(32px, 3.4vw, 48px);
  --bb-heading-section: clamp(24px, 2.2vw, 30px);
  --bb-heading-detail: 22px;
  --bb-heading-directory-group: 28px;
  --bb-nav-size: 16px;
  font: 400 17px/1.7 var(--bb-font);
}
.bb-page :is(h1, h2, h3, h4, .lead, .notice, .brand, .button, .bb-chrome, .footer) {
  font-family: var(--bb-font);
}
.bb-page main h1,
.bb-page main .trial-intro h1 {
  color: var(--ink);
  font-family: var(--bb-font);
  font-size: var(--bb-heading-page);
  font-weight: 450;
  line-height: 1.16;
  letter-spacing: -.018em;
  overflow-wrap: anywhere;
}
@media (min-width: 621px) {
  .bb-page main .trial-intro h1,
  .bb-page main.bb-directory-page h1 {
    font-size: clamp(32px, 3.6vw, 48px);
  }
}
.bb-page main h2 {
  color: var(--ink);
  font-family: var(--bb-font);
  font-size: var(--bb-heading-section);
  font-weight: 500;
  line-height: 1.25;
}
.bb-page main :is(h3, h4),
.bb-page .detail-columns h3 {
  font-family: var(--bb-font);
  font-weight: 500;
  line-height: 1.3;
}
.bb-page main h3,
.bb-page .detail-columns h3 { font-size: var(--bb-heading-detail); }
.bb-page main h4 { font-size: 18px; }
.bb-page main :is(.ls-directory-group h2, #demo-plus-title) {
  font-size: var(--bb-heading-directory-group);
  font-weight: 450;
}
.bb-page main .ls-directory-card h3 { font-size: 21px; }
.bb-page main .ls-directory-card p { font-size: 16px; }
.bb-page .bb-directory-page .bandabit-sites-intro {
  font-size: 19px;
  line-height: 1.55;
}
.bb-page .bb-chrome :is(.bb-nav-row a, .bb-tools a, summary, .bb-menu-trigger) {
  font-size: var(--bb-nav-size);
  font-weight: 500;
  line-height: 1.35;
}
.bb-page .bb-chrome .bb-tools > a[href^="/konto/"] {
  font-size: 17px;
  font-weight: 400;
}
.bb-page :is(main, dialog) :is(.button, button:not(.icon-button)) {
  font-family: var(--bb-font);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
}
.bb-page :is(#link-form, #plus-checkout, #withdraw-form) button[type="submit"] {
  font-size: 17px;
  line-height: 1.7;
}
.bb-page #link-form label {
  font-size: 17px;
  font-weight: 400;
}
.bb-page .builder select { font-size: 16px; }
.bb-page .choices:not(.times) label > span { font-size: 15px; }
.bb-page :is(main, dialog) :is(.demo-review, .notice, .media-safety, .account-safety, .movement-summary),
.bb-page main .demo-section :is(.media-safety, .demo-equipment),
.bb-page main :is(.safety-grid, .preview-note) p,
.bb-page :is(.detail-foot, .library-card-requirements, .library-detail-setup, .print-safety) {
  font-family: var(--bb-font);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
}
.bb-page main .demo-tiers .demo-tier-note {
  font-size: 16px;
  line-height: 1.55;
}
.bb-page main :is(.demo-steps a, .demo-steps span) {
  font-size: 15px;
  line-height: 1.35;
}
.bb-page .demo-section { background: #ecf8f6; }
.bb-page .demo-exercise, .bb-page .demo-tiers article { background: var(--paper); }
.bb-page .demo-steps a[aria-current], .bb-page .button.primary,
.bb-page .bb-chrome .bb-tools > a {
  background: var(--green);
  color: #fff;
}
.bb-page .demo-steps a[aria-current] span { color: #d4f4eb; }
.bb-page .demo-steps a[aria-current]:hover, .bb-page .button.primary:hover,
.bb-page .bb-chrome .bb-tools > a:hover { background: #00574f; color: #fff; }
.bb-page .bb-site-footer {
  padding: .55rem 0;
  border-block-start: 1px solid var(--line);
  background: #fff;
  font: 400 15px/1.48 var(--bb-font);
  color: var(--muted);
}
.bb-page .bb-site-footer .bb-footer-row {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}
.bb-footer-row > :is(a, details) { min-inline-size: 0; }
.bb-footer-row :is(a, summary, button) { color: var(--green); font: inherit; text-decoration: none; }
.bb-footer-row > a, .bb-foot-contact > summary {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  white-space: nowrap;
  font-weight: 400;
}
.bb-foot-contact > summary { cursor: pointer; list-style: none; gap: .3em; }
.bb-foot-contact > summary::-webkit-details-marker { display: none; }
.bb-footer-row :is(a, summary, button):hover { color: #17364b; text-decoration: none; }
.bb-footer-row :is(a, summary, button):focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}
.bb-foot-panel {
  position: absolute;
  z-index: 5;
  inset-inline-end: 0;
  inset-block-end: calc(100% + .35rem);
  inline-size: min(23rem, 100%);
  max-block-size: min(56vh, 32rem);
  overflow: auto;
  overscroll-behavior: contain;
  padding: .85rem 1rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: .6rem;
  box-shadow: 0 5px 25px #17364b24;
  overflow-wrap: anywhere;
}
.bb-foot-panel :is(ul, p) { margin: 0; padding: 0; font: inherit; }
.bb-foot-panel ul { list-style: none; }
.bb-foot-panel li + li { margin-block-start: .22rem; }
.bb-foot-panel ul + ul { margin-block-start: .65rem; }
.bb-foot-panel address { font-style: normal; }
.bb-foot-panel button { min-block-size: 44px; cursor: pointer; }
.bb-page .bb-guide-credit {
  margin-block: .85rem 0;
  padding: 0;
  border: 0;
  color: var(--muted);
  font: 400 .83rem/1.4 var(--bb-font);
}
.bb-guide-credit p { margin: 0; font: inherit; }
.bb-print-footer { display: none; }
@media (max-width: 620px) {
  body.bb-page {
    --bb-heading-page: clamp(30px, 7.6vw, 36px);
    --bb-heading-detail: 20px;
    --bb-heading-directory-group: 26px;
    --bb-nav-size: 15px;
  }
  .bb-page main .trial-intro h1 { font-size: 36px; }
  .bb-page .bb-directory-page h1 { font-size: 32px; }
}
@media print {
  .bb-page .bb-site-footer { display: none !important; }
  .bb-print-footer { display: block; }
}

@media (max-width: 360px) {
  .bb-page .bb-site-footer .bb-footer-row {
    width: calc(100% - 16px);
    gap: .25rem;
    font-size: .86rem;
  }
  .bb-page .builder { min-inline-size: 0; }
  .bb-page .builder .button { overflow-wrap: anywhere; }
}

/* Keyboard focus uses the control's surface and its existing border. */
.bb-page :is(button, .button, summary):focus-visible {
  outline: none;
  box-shadow: none;
  background-color: #17364b;
  color: #fff;
  border-color: #17364b;
}
.bb-page :is(button, .button):is(.primary, [aria-pressed="true"], [aria-current="page"]):focus-visible {
  background-color: #00100e;
  color: #fff;
  border-color: #00100e;
}
.bb-page .choices input:focus-visible + span {
  outline: none;
  box-shadow: none;
  background-color: #17364b;
  color: #fff;
  border-color: #17364b;
}
.bb-page .choices input:checked:focus-visible + span {
  background-color: #00100e;
  border-color: #00100e;
}
@media (forced-colors: active) {
  .bb-page :is(button, .button)[aria-pressed="true"],
  .bb-page .button[aria-current="page"],
  .bb-page .choices input:checked + span {
    forced-color-adjust: none;
    background-color: Highlight;
    color: HighlightText;
    border-color: Highlight;
  }
  .bb-page :is(button, .button, summary):focus-visible,
  .bb-page :is(button, .button).primary:focus-visible,
  .bb-page .choices input:focus-visible + span {
    forced-color-adjust: none;
    outline: none;
    box-shadow: none;
    background-color: CanvasText;
    color: Canvas;
    border-color: CanvasText;
  }
  .bb-page :is(button, .button):is([aria-pressed="true"], [aria-current="page"]):focus-visible,
  .bb-page .choices input:checked:focus-visible + span {
    background-color: Highlight;
    color: HighlightText;
    border-color: CanvasText;
  }
}
/* Anchor-state underline rules must retain the complete button border. */
.bb-page a.button.secondary {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}
