/* Screen-reader-only utility: reads a real value to assistive tech while the
   decorative animated digit strip next to it stays hidden via aria-hidden */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* AuthenScan theme overrides — border-radius reduced by 85% (×0.15) */
:root {
  --_sizes---border-radius--radius-tiny: 0.0375rem;
  --_sizes---border-radius--radius-xsmall: 0.075rem;
  --_sizes---border-radius--radius-xxsmall: 0.1125rem;
  --_sizes---border-radius--radius-small: 0.15rem;
  --_sizes---border-radius--radius-medium: 0.1875rem;
  --_sizes---border-radius--radius-regular: 0.225rem;
  --_sizes---border-radius--radius-large: 0.28125rem;
  --_sizes---border-radius--radius-big: 0.3rem;
  --_sizes---border-radius--radius-soft: 0.5625rem;
  --_sizes---border-radius--radius-pill: 0.75rem;
  /* Keep true circles for avatars / dots */
  --_sizes---border-radius--radius-circle: 100%;
}

/* Beat Webflow media-query resets of the same tokens */
@media screen and (max-width: 991px) {
  :root {
    --_sizes---border-radius--radius-tiny: 0.0375rem;
    --_sizes---border-radius--radius-xsmall: 0.075rem;
    --_sizes---border-radius--radius-xxsmall: 0.1125rem;
    --_sizes---border-radius--radius-small: 0.15rem;
    --_sizes---border-radius--radius-medium: 0.1875rem;
    --_sizes---border-radius--radius-regular: 0.225rem;
    --_sizes---border-radius--radius-large: 0.28125rem;
    --_sizes---border-radius--radius-big: 0.3rem;
    --_sizes---border-radius--radius-soft: 0.5625rem;
    --_sizes---border-radius--radius-pill: 0.75rem;
    --_sizes---border-radius--radius-circle: 100%;
  }
}

@media screen and (max-width: 767px) {
  :root {
    --_sizes---border-radius--radius-tiny: 0.0375rem;
    --_sizes---border-radius--radius-xsmall: 0.075rem;
    --_sizes---border-radius--radius-xxsmall: 0.1125rem;
    --_sizes---border-radius--radius-small: 0.15rem;
    --_sizes---border-radius--radius-medium: 0.1875rem;
    --_sizes---border-radius--radius-regular: 0.225rem;
    --_sizes---border-radius--radius-large: 0.28125rem;
    --_sizes---border-radius--radius-big: 0.3rem;
    --_sizes---border-radius--radius-soft: 0.5625rem;
    --_sizes---border-radius--radius-pill: 0.75rem;
    --_sizes---border-radius--radius-circle: 100%;
  }
}

/* Navbar restore / AuthenScan menu */
.navbar-logo{height:44px;width:auto;max-width:200px;display:block;object-fit:contain}
.footer-logo{height:40px;width:auto;display:block;object-fit:contain;margin-bottom:8px}
.navbar-brand.w-nav-brand{display:flex;align-items:center}
.navbar-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%}
.nav-menu-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 1.1rem}
.nav-link{white-space:nowrap;font-size:0.92em}
@media screen and (max-width:767px){.navbar-logo{height:44px;width:auto;max-width:200px;display:block;object-fit:contain}}

/* Hide Webflow branding badge */
.w-webflow-badge,
a.w-webflow-badge{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* Terms of Service page — readable legal typography */
.as-terms-wrap{max-width:52rem}
.as-terms-wrap .heading-style-h1.licenses,
.as-terms-wrap h1{
  letter-spacing:normal!important;
  font-family:var(--font-family--aspekta), "Inter Tight", sans-serif;
  line-height:1.2;
}
.as-terms-intro{max-width:42rem;margin-top:1rem;letter-spacing:normal}
.as-terms-meta{margin-top:0.75rem;color:var(--_colors---text-color--gray);font-size:0.9rem;letter-spacing:normal}
.as-terms-body{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.75rem}
.as-terms-block h2{
  margin:0 0 0.65rem;
  font-size:1.25rem;
  line-height:1.35;
  color:var(--_colors---text-color--dark-color);
  letter-spacing:normal!important;
  font-family:var(--font-family--aspekta), "Inter Tight", sans-serif;
  font-weight:600;
}
.as-terms-block p,
.as-terms-block li{
  color:var(--_colors---text-color--gray);
  font-size:1rem;
  line-height:1.65;
  margin:0 0 0.75rem;
  letter-spacing:normal;
  font-family:var(--font-family--aspekta), "Inter Tight", sans-serif;
}
.as-terms-block ul{margin:0 0 0.75rem;padding-left:1.25rem}
.as-terms-block a{color:var(--_colors---text-color--dark-color);text-decoration:underline}

/* pricing-two: align Start onboarding buttons across cards */
.pricing-cards._02{align-items:stretch}
.pricing-cards._02 .pricing-card{height:100%;display:flex;flex-direction:column}
.pricing-cards._02 .card-top{
  display:flex;
  flex-direction:column;
  flex:0 0 auto;
  width:100%;
  gap:var(--_sizes---spacing--spacing-xnormal);
  grid-column-gap:var(--_sizes---spacing--spacing-xnormal);
  grid-row-gap:var(--_sizes---spacing--spacing-xnormal);
}
.pricing-cards._02 .foundation-box,
.pricing-cards._02 .partnership-box{
  min-height:7.25rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.pricing-cards._02 .foundation-short-desc,
.pricing-cards._02 .partnership-short-desc{
  min-height:3.25em;
}
.pricing-cards._02 .invest-box{
  margin-top:0;
}
.pricing-cta-align{}

/* Announcement bar CTA — white label on hover */
.header-link:hover{
  color:#fff!important;
  border-bottom-color:#fff!important;
}

/* Home hero CTA — keep full "Contact Us" label visible (Webflow text-swap clips short labels) */
.as-hero-cta .primary-button-texts{
  display:block;
  position:relative;
  overflow:visible;
  height:auto;
  white-space:nowrap;
  width:max-content;
}
.as-hero-cta .primary-button-text{
  white-space:nowrap;
  position:relative!important;
  transform:none!important;
  opacity:1!important;
}
.as-hero-cta .primary-button-text._01{
  position:relative!important;
}
.as-hero-cta .primary-button-text._02,
.as-hero-cta:hover .primary-button-text._02{
  display:none!important;
}
.as-hero-cta .primary-arrow._01,
.as-hero-cta:hover .primary-arrow._01{
  transform:none!important;
  opacity:1!important;
  position:relative!important;
}
.as-hero-cta .primary-arrow._02,
.as-hero-cta:hover .primary-arrow._02{
  display:none!important;
}

/* Navbar CTA — announcement bar color, no hover effects */
.nav-buttons .primary-button,
.nav-buttons .primary-button.w-variant-398aa8b5-44c8-5388-fdd7-baab8bd64e94,
.nav-buttons .primary-button:hover,
.nav-buttons .primary-button:focus,
.nav-buttons .primary-button:active{
  background-color:var(--_colors---background-color--turquoise)!important;
  color:var(--_colors---text-color--dark-color)!important;
  border:1px solid transparent;
  transform:none!important;
  box-shadow:none!important;
  opacity:1!important;
  filter:none!important;
}
.nav-buttons .primary-button .primary-button-texts{
  display:block;
  position:relative;
  overflow:visible;
}
.nav-buttons .primary-button .primary-button-text._01,
.nav-buttons .primary-button:hover .primary-button-text._01{
  transform:none!important;
  opacity:1!important;
  position:relative!important;
}
.nav-buttons .primary-button .primary-button-text._02,
.nav-buttons .primary-button:hover .primary-button-text._02{
  display:none!important;
}
.nav-buttons .primary-button .primary-arrow._01,
.nav-buttons .primary-button:hover .primary-arrow._01{
  transform:none!important;
  opacity:1!important;
}
.nav-buttons .primary-button .primary-arrow._02,
.nav-buttons .primary-button:hover .primary-arrow._02{
  display:none!important;
}

/* "Detection and enforcement" section — give each of the 4 efficiency-cards its own
   background card instead of the merged single-block layout (distinct radius + gap + border) */
.efficiency-cards{
  grid-column-gap:1.25rem!important;
  grid-row-gap:1.25rem!important;
}
.efficiency-card,
.efficiency-card._01,
.efficiency-card._02,
.efficiency-card._03,
.efficiency-card._04{
  background-color:#fff!important;
  border-radius:var(--_sizes---border-radius--radius-regular)!important;
  border:1px solid var(--_colors---border-color--stroke)!important;
  box-shadow:0 2px 10px #0000000d!important;
}

/* "Detection and enforcement" section — static dashboard image (replaces background video) */
.efficiency-dashboard-image{
  width:100%;
  height:auto;
  display:block;
  border-radius:var(--_sizes---border-radius--radius-regular);
  flex:1;
}

/* About AuthenScan — background cards (index.html) */
.about-cards-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.5rem;
  width:100%;
}
@media screen and (max-width:991px){
  .about-cards-grid{grid-template-columns:1fr 1fr}
}
@media screen and (max-width:767px){
  .about-cards-grid{grid-template-columns:1fr}
}
.about-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--_colors---border-color--stroke);
  border-radius:var(--_sizes---border-radius--radius-regular);
  overflow:hidden;
  text-align:left;
}
.about-card-header{
  display:flex;
  align-items:center;
  gap:0.75rem;
  padding:1rem 1.25rem;
  background:#1f5fa8;
}
.about-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.25rem;
  height:2.25rem;
  flex:0 0 auto;
}
.about-card-icon svg{width:22px;height:22px;display:block}
.about-card-heading{
  color:#fff;
  font-size:1.05rem;
  font-weight:600;
  line-height:1.3;
}
.about-card-body{
  padding:1.25rem;
  flex:1;
}
.about-card-text{
  margin:0;
  color:var(--_colors---text-color--gray);
  font-size:1rem;
  line-height:1.6;
}

/* Contact form — no scroll jump after submit */
.contact-form-block.w-form{overflow-anchor:none}
.contact-form-block .w-form-done,
.contact-form-block .w-form-fail{overflow-anchor:none;scroll-margin:0}
