/* QuickTapID Main Site CSS v57
   Clean, premium stylesheet for all non-profile pages.
*/

:root{
  --qt-text:#10283f;
  --qt-muted:#506478;
  --qt-soft:#6c7f91;
  --qt-line:rgba(16,40,63,.12);
  --qt-blue:#18a8d8;
  --qt-blue-dark:#176b8f;
  --qt-green:#20c58f;
  --qt-bg:#f6fbff;
  --qt-bg2:#edf7fb;
  --qt-card:#ffffff;
  --qt-shadow:0 18px 52px rgba(31,79,118,.11);
  --qt-shadow-soft:0 10px 28px rgba(31,79,118,.075);
  --qt-radius:24px;
  --qt-radius-lg:34px;
  --qt-wrap:1180px;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  background:var(--qt-bg);
}

body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--qt-text);
  background:
    radial-gradient(900px 520px at 12% 0%, rgba(75,195,238,.14), transparent 58%),
    radial-gradient(820px 500px at 92% 8%, rgba(32,197,143,.10), transparent 58%),
    linear-gradient(180deg,#fbfdff 0%,var(--qt-bg) 48%,var(--qt-bg2) 100%);
  line-height:1.55;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

a{color:inherit}
img,video{max-width:100%;height:auto;display:block}

.wrap{
  width:min(calc(100% - 36px),var(--qt-wrap));
  margin-inline:auto;
}

.center{text-align:center}
.wide{width:100%}

h1,h2,h3,h4,h5,h6,summary{
  color:var(--qt-text);
  text-shadow:none;
  letter-spacing:-.035em;
}

h1{
  font-size:clamp(3rem,7.2vw,6.3rem);
  line-height:.96;
  letter-spacing:-.075em;
  margin:0;
}

h2{
  font-size:clamp(2.1rem,4.5vw,4.2rem);
  line-height:1.02;
  margin:0 0 12px;
}

h3{
  font-size:clamp(1.25rem,2vw,1.6rem);
  line-height:1.15;
  margin:0 0 10px;
}

p{
  color:var(--qt-muted);
  margin:0;
}

.sub,.lead,.note,.fine,.muted,.qt-muted,small{
  color:var(--qt-muted);
  opacity:1;
}

b,strong{color:var(--qt-text)}

.section,section{
  padding:clamp(54px,7vw,86px) 0;
}

.section.alt,section.alt{
  background:
    radial-gradient(720px 360px at 50% 0%, rgba(75,195,238,.12), transparent 62%),
    rgba(255,255,255,.42);
  border-top:1px solid rgba(16,40,63,.08);
  border-bottom:1px solid rgba(16,40,63,.08);
}

/* Header */
.topbar,.site-header,header.topbar{
  position:sticky;
  top:0;
  z-index:80;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(16,40,63,.10);
  box-shadow:0 10px 30px rgba(31,79,118,.06);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:76px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--qt-text);
  font-weight:1000;
  letter-spacing:-.03em;
}

.brand-logo,.brand img{
  width:52px;
  height:52px;
  object-fit:contain;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 22px rgba(31,79,118,.10);
}

.brand-name{
  color:var(--qt-text);
  font-size:1.25rem;
  font-weight:1000;
}

.nav{
  display:flex;
  align-items:center;
  gap:4px;
}

.nav a{
  text-decoration:none;
  color:var(--qt-text);
  font-weight:850;
  padding:10px 12px;
  border-radius:999px;
}

.nav a:hover{
  color:var(--qt-blue-dark);
  background:rgba(24,168,216,.09);
}

.nav-cta{
  background:linear-gradient(135deg,var(--qt-green),var(--qt-blue)) !important;
  color:#fff !important;
  box-shadow:0 12px 30px rgba(24,168,216,.20);
}

.nav-toggle{
  display:none;
  width:54px;
  height:54px;
  border-radius:18px;
  border:1px solid rgba(16,40,63,.14);
  background:#fff;
  box-shadow:var(--qt-shadow-soft);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
}

.nav-toggle span{
  width:24px;
  height:3px;
  border-radius:99px;
  background:var(--qt-text);
}

/* Drawer */
.drawer-backdrop{
  position:fixed;
  inset:0;
  z-index:90;
  background:rgba(16,40,63,.28);
  backdrop-filter:blur(8px);
}

.drawer-backdrop[hidden]{display:none}

.mobile-drawer{
  position:fixed;
  inset:0 0 0 auto;
  z-index:100;
  width:min(440px,100vw);
  background:rgba(255,255,255,.98);
  border-left:1px solid rgba(16,40,63,.12);
  box-shadow:-24px 0 80px rgba(31,79,118,.18);
  padding:18px;
  overflow:auto;
  transform:translateX(105%);
  transition:transform .22s ease;
}

.mobile-drawer.is-open,.mobile-drawer.open{
  transform:translateX(0);
}

.drawer-open{overflow:hidden}

.mobile-drawer-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}

.mobile-drawer-brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:1000;
  color:var(--qt-text);
}

.drawer-close{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(16,40,63,.14);
  background:#fff;
  color:var(--qt-text);
  font-weight:1000;
}

.drawer-intro{
  margin-top:18px;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,252,255,.96));
  border:1px solid var(--qt-line);
  box-shadow:var(--qt-shadow-soft);
}

.drawer-kicker{
  font-weight:1000;
  color:var(--qt-text);
  margin-bottom:8px;
}

.drawer-actions{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.mobile-drawer-nav{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.mobile-drawer-nav a{
  text-decoration:none;
  padding:14px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(16,40,63,.12);
  box-shadow:0 8px 20px rgba(31,79,118,.06);
}

.mobile-drawer-nav span{
  display:block;
  color:var(--qt-text);
  font-weight:1000;
}

.mobile-drawer-nav small{
  display:block;
  color:var(--qt-muted);
  margin-top:3px;
}

.drawer-foot{margin-top:16px}

/* Buttons */
.btn,a.btn,button.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:13px 18px;
  border-radius:999px;
  font-weight:1000;
  letter-spacing:-.01em;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
}

.btn.primary,a.btn.primary,button.btn.primary,.primary{
  background:linear-gradient(135deg,var(--qt-green),var(--qt-blue));
  color:#fff;
  border-color:transparent;
  box-shadow:0 16px 40px rgba(24,168,216,.20);
}

.btn.ghost,a.btn.ghost,button.btn.ghost,.ghost{
  background:#fff;
  color:var(--qt-text);
  border:1px solid rgba(16,40,63,.14);
  box-shadow:var(--qt-shadow-soft);
}

/* Cards */
.card,.panel,.glass,.glass-card,.home-card,.feature-card,.industry-card,.location-card,.solution-card,.service-card,.use-case-card,.example-card,.compare-card,.profile-card,.guide-card,.hub-card,.near-card,.price-card,.pricing-card,.plan,details,.soft-cta-panel{
  background:
    radial-gradient(520px 260px at 12% 0%, rgba(75,195,238,.10), transparent 62%),
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,252,255,.96));
  color:var(--qt-text);
  border:1px solid var(--qt-line);
  box-shadow:var(--qt-shadow);
  border-radius:var(--qt-radius);
}

.card,.panel,.glass,.glass-card,.home-card{
  padding:22px;
}

.card p,.panel p,.glass p,.glass-card p,.home-card p,details p{
  color:var(--qt-muted);
}

.card:hover,.home-card:hover,.feature-card:hover,.industry-card:hover,.solution-card:hover,.service-card:hover,.guide-card:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 64px rgba(31,79,118,.14);
}

/* Pills */
.pill,.badge,.eyebrow,.tag,.chip,[class*="pill"],[class*="chip"]{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  color:var(--qt-blue-dark);
  border:1px solid rgba(24,168,216,.18);
  border-radius:999px;
  box-shadow:0 8px 22px rgba(31,79,118,.07);
  font-weight:900;
}

/* Homepage */
.home-hero{
  padding:clamp(48px,7vw,86px) 0 clamp(36px,6vw,72px);
}

.home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:clamp(28px,5vw,56px);
  align-items:start;
}

.home-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:fit-content;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(24,168,216,.18);
  background:#fff;
  color:var(--qt-blue-dark);
  font-weight:950;
  box-shadow:0 8px 22px rgba(31,79,118,.07);
}

.home-kicker .dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--qt-green);
  box-shadow:0 0 20px rgba(32,197,143,.32);
}

.home-hero h1{
  margin:18px 0 14px;
  max-width:850px;
}

.home-hero-sub{
  max-width:760px;
  font-size:clamp(1.08rem,2vw,1.32rem);
  line-height:1.65;
  font-weight:650;
}

.home-actions,.home-button-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.home-chip-grid{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px;
}

.home-chip-grid a,.home-chip-grid span{
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(24,168,216,.18);
  background:#fff;
  color:var(--qt-blue-dark);
  font-weight:900;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(31,79,118,.06);
}

.home-proof-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}

.home-proof{
  padding:15px 16px;
  border-radius:20px;
  border:1px solid rgba(16,40,63,.12);
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,252,255,.96));
  box-shadow:0 12px 32px rgba(31,79,118,.08);
  color:var(--qt-muted);
}

.home-proof b{
  display:block;
  margin-bottom:4px;
}

.home-plans{display:grid;gap:18px}

.home-plan{
  position:relative;
  overflow:hidden;
  padding:clamp(22px,3vw,30px);
  border-radius:30px;
  border:1px solid rgba(16,40,63,.12);
  background:
    radial-gradient(520px 260px at 12% 0%, rgba(75,195,238,.13), transparent 62%),
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,252,255,.96));
  box-shadow:var(--qt-shadow);
}

.home-plan.best{border-color:rgba(32,197,143,.28)}

.home-plan.best::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,var(--qt-green),var(--qt-blue));
}

.home-plan-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.home-plan-name{
  font-size:1.25rem;
  font-weight:950;
  color:var(--qt-text);
}

.home-plan-badge{
  padding:7px 10px;
  border-radius:999px;
  background:rgba(32,197,143,.12);
  color:#0f7c61;
  border:1px solid rgba(32,197,143,.22);
  font-weight:950;
  font-size:.82rem;
}

.home-price{
  display:flex;
  align-items:end;
  gap:10px;
  margin-bottom:8px;
}

.home-price .big{
  font-size:clamp(3rem,7vw,4.8rem);
  line-height:.95;
  font-weight:1000;
  letter-spacing:-.07em;
  color:var(--qt-text);
}

.home-price .small{
  padding-bottom:8px;
  color:var(--qt-muted);
  font-weight:850;
}

.home-plan-line{
  color:var(--qt-muted);
  font-weight:800;
  margin-bottom:14px;
}

.home-plan ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:9px;
}

.home-plan li{
  display:flex;
  gap:9px;
  padding:10px 12px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(16,40,63,.10);
  color:var(--qt-muted);
  font-weight:750;
}

.home-plan li::before{
  content:"✓";
  flex:0 0 auto;
  color:#20a77e;
  font-weight:1000;
}

.home-plan-actions{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.home-offer{
  margin-top:26px;
  border-radius:32px;
  padding:clamp(24px,4vw,36px);
  border:1px solid rgba(16,40,63,.12);
  background:
    radial-gradient(520px 260px at 12% 0%, rgba(75,195,238,.13), transparent 62%),
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,252,255,.96));
  box-shadow:var(--qt-shadow);
}

.home-offer-grid,.home-demo-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:22px;
  align-items:start;
}

.home-section-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}

.home-list{
  display:grid;
  gap:10px;
  list-style:none;
  padding:0;
  margin:16px 0 0;
}

.home-list li{
  display:flex;
  gap:10px;
  color:var(--qt-muted);
  font-weight:800;
}

.home-list li::before{
  content:"✓";
  color:#20a77e;
  font-weight:1000;
}

.home-video-card,.home-usecase-card{
  padding:22px;
  border-radius:28px;
  border:1px solid rgba(16,40,63,.12);
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,252,255,.96));
  box-shadow:var(--qt-shadow);
}

.home-video-wrap{
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(16,40,63,.12);
  background:#eef7fb;
  box-shadow:0 12px 32px rgba(31,79,118,.08);
}

.home-usecase-list{
  display:grid;
  gap:12px;
  margin-top:16px;
}

.home-usecase{
  padding:16px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(16,40,63,.11);
  box-shadow:0 8px 22px rgba(31,79,118,.06);
}

.home-usecase .title,.home-usecase .line{
  font-weight:950;
  color:var(--qt-text);
}

.home-usecase .note{
  margin-top:4px;
  color:var(--qt-muted);
  font-weight:700;
}

.home-final-cta{text-align:center}

/* FAQ */
.faq{max-width:920px}
details{margin-top:10px;overflow:hidden}
summary{cursor:pointer;padding:18px 20px;font-weight:950}
details p{padding:0 20px 18px}

/* Sticky CTA */
.conversion-sticky-cta,.mobile-cta{
  position:fixed;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  width:min(940px,calc(100% - 22px));
  z-index:90;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border-radius:24px;
  background:rgba(255,255,255,.96);
  color:var(--qt-text);
  border:1px solid rgba(16,40,63,.12);
  box-shadow:0 18px 48px rgba(31,79,118,.16);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.conversion-sticky-cta .sticky-copy{
  font-weight:1000;
  color:var(--qt-text);
}

.conversion-sticky-cta small{
  display:block;
  color:var(--qt-muted);
  font-weight:750;
}

.sticky-actions{display:flex;gap:8px}

/* Forms */
input,textarea,select{
  background:#fff;
  color:var(--qt-text);
  border:1px solid rgba(16,40,63,.14);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(31,79,118,.06);
}

input:focus,textarea:focus,select:focus{
  outline:3px solid rgba(24,168,216,.18);
  border-color:rgba(24,168,216,.34);
}

/* Footer/helpers */
.contact{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:18px;
}

.footer-buy-path,.footer-explore,.qt-internal-links{display:none}

/* Inner page polish */
.page-hero,.hero,.intro,.masthead{
  padding:clamp(48px,7vw,86px) 0 clamp(24px,5vw,48px);
}

.grid,.cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

@media (max-width:940px){
  .home-hero-grid,.home-offer-grid,.home-demo-grid{
    grid-template-columns:1fr;
  }

  .home-section-grid,.home-proof-row,.grid,.cards{
    grid-template-columns:1fr;
  }
}

@media (max-width:860px){
  .nav{display:none}
  .nav-toggle{display:flex}
}

@media (max-width:760px){
  .wrap{
    width:min(calc(100% - 24px),var(--qt-wrap));
  }

  .section,section{
    padding-top:44px;
    padding-bottom:44px;
  }

  h1,.home-hero h1{
    font-size:clamp(2.7rem,13vw,4.3rem);
    line-height:1.02;
  }

  h2{
    font-size:clamp(1.9rem,8vw,2.8rem);
  }

  .home-hero{padding-top:34px}

  .home-actions .btn,.home-button-row .btn{
    width:100%;
  }

  .home-plan,.home-offer,.home-video-card,.home-usecase-card,.card,.panel,details{
    border-radius:24px;
  }

  .conversion-sticky-cta,.mobile-cta{
    left:11px;
    right:11px;
    bottom:10px;
    width:auto;
    transform:none;
  }

  .conversion-sticky-cta .secondary-mobile{
    display:none;
  }

  body{padding-bottom:106px}
}

@media (prefers-reduced-motion:reduce){
  *{
    scroll-behavior:auto!important;
    transition:none!important;
  }
}

/* === QuickTapID Sitewide Compatibility Layer v55 START === */
/* This layer makes all generated pages, solution pages, service pages,
   location pages, pricing pages, near-me pages, and older section classes
   work with the clean one-file CSS system.
*/

:root{
  --qt-text:#10283f;
  --qt-muted:#506478;
  --qt-soft:#6c7f91;
  --qt-line:rgba(16,40,63,.12);
  --qt-blue:#18a8d8;
  --qt-blue-dark:#176b8f;
  --qt-green:#20c58f;
  --qt-bg:#f6fbff;
  --qt-bg2:#edf7fb;
  --qt-shadow:0 18px 52px rgba(31,79,118,.11);
  --qt-shadow-soft:0 10px 28px rgba(31,79,118,.075);
}

body.qt-site-page,
body.qt-final-premium{
  color:var(--qt-text);
  background:
    radial-gradient(900px 520px at 12% 0%, rgba(75,195,238,.14), transparent 58%),
    radial-gradient(820px 500px at 92% 8%, rgba(32,197,143,.10), transparent 58%),
    linear-gradient(180deg,#fbfdff 0%,var(--qt-bg) 48%,var(--qt-bg2) 100%);
}

.skip-link{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:16px;
  top:16px;
  width:auto;
  height:auto;
  z-index:999;
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  color:var(--qt-text);
  border:1px solid var(--qt-line);
  box-shadow:var(--qt-shadow-soft);
}

.hero,
.page-hero,
.masthead,
.intro{
  padding:clamp(48px,7vw,86px) 0 clamp(30px,5vw,54px);
}

.hero-inner,
.page-hero-inner{
  display:block;
}

.hero-grid,
.page-grid,
.content-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(20px,4vw,38px);
  align-items:center;
}

.hero-copy,
.page-copy{
  max-width:920px;
}

.kicker,
.eyebrow,
.section .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  margin-bottom:12px;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(24,168,216,.18);
  background:#fff;
  color:var(--qt-blue-dark);
  font-size:.82rem;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 8px 22px rgba(31,79,118,.07);
  opacity:1;
}

.kicker .dot,
.eyebrow .dot,
.dot{
  width:9px;
  height:9px;
  border-radius:99px;
  background:var(--qt-green);
  box-shadow:0 0 18px rgba(32,197,143,.32);
  flex:0 0 auto;
}

.hero-sub,
.page-sub,
.sub{
  max-width:860px;
  color:var(--qt-muted);
  font-size:clamp(1.02rem,2vw,1.22rem);
  line-height:1.65;
  font-weight:650;
}

.hero-actions,
.actions,
.contact,
.inline-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.cards,
.card-grid,
.grid,
.link-grid,
.faq-list,
.support-grid,
.urgency-grid,
.compare-buy-grid,
.qualify-grid,
.mini-assurance,
.home-section-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:20px;
}

.link-grid,
.faq-list{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

.card,
.link-card,
.faq-item,
.site-links,
.value-banner,
.qualify-card,
.cta-strip,
.support-card,
.urgency-card,
.choice-strip,
.compare-buy-card,
.phase2-card,
.phase2-fit,
.home-card,
.plan-note-list li,
.qt-demo-card,
.qt-use-card,
.profile-card{
  padding:22px;
  border-radius:24px;
  border:1px solid var(--qt-line);
  background:
    radial-gradient(520px 260px at 12% 0%, rgba(75,195,238,.10), transparent 62%),
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,252,255,.96));
  box-shadow:var(--qt-shadow);
  color:var(--qt-text);
}

.card h3,
.link-card h3,
.faq-item h3,
.site-links h3,
.value-banner h3,
.qualify-card h3,
.cta-strip h3,
.support-card h3,
.urgency-card h3,
.choice-strip h3,
.compare-buy-card h3{
  color:var(--qt-text);
  margin:0 0 8px;
}

.card p,
.link-card p,
.faq-item p,
.site-links p,
.value-banner p,
.qualify-card p,
.cta-strip p,
.support-card p,
.urgency-card p,
.choice-strip p,
.compare-buy-card p{
  color:var(--qt-muted);
}

.link-card a,
.site-links a,
.faq-item a,
.card a{
  color:var(--qt-blue-dark);
  font-weight:950;
  text-decoration:underline dotted 1px;
  text-underline-offset:3px;
}

.site-links .link-grid{
  margin-top:18px;
}

.site-links .t,
.link-card .t{
  color:var(--qt-text);
  font-weight:1000;
  font-size:1.08rem;
  margin-bottom:6px;
}

.site-links .d,
.link-card .d{
  color:var(--qt-muted);
}

.site-links .a,
.link-card .a{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.faq-list{
  gap:14px;
}

.faq-item{
  padding:20px;
}

.btn,
a.btn,
button.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 18px;
  border-radius:999px;
  font-weight:1000;
  text-decoration:none;
  border:1px solid transparent;
}

.btn.primary,
a.btn.primary,
button.btn.primary{
  background:linear-gradient(135deg,var(--qt-green),var(--qt-blue));
  color:#fff;
  box-shadow:0 16px 40px rgba(24,168,216,.20);
}

.btn.ghost,
a.btn.ghost,
button.btn.ghost{
  background:#fff;
  color:var(--qt-text);
  border:1px solid rgba(16,40,63,.14);
  box-shadow:var(--qt-shadow-soft);
}

.footer-buy-path,
.footer-explore,
.qt-internal-links{
  display:none!important;
}

.qt-demo-grid,
.qt-usecase-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:18px;
  margin-top:22px;
}

.qt-demo-card,
.qt-use-card{
  overflow:hidden;
}

.qt-demo-top,
.qt-demo-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.qt-demo-kicker,
.qt-demo-mini{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  background:#fff;
  color:var(--qt-blue-dark);
  border:1px solid rgba(24,168,216,.18);
  font-weight:900;
}

.qt-demo-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--qt-green);
}

video{
  width:100%;
  border-radius:20px;
  border:1px solid rgba(16,40,63,.12);
  background:#eef7fb;
  box-shadow:var(--qt-shadow-soft);
}

table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:20px;
  border:1px solid var(--qt-line);
  background:#fff;
  box-shadow:var(--qt-shadow-soft);
}

th,
td{
  padding:14px;
  text-align:left;
  border-bottom:1px solid rgba(16,40,63,.08);
  color:var(--qt-muted);
}

th{
  color:var(--qt-text);
  font-weight:1000;
  background:#f8fcff;
}

tr:last-child td{
  border-bottom:0;
}

details{
  margin-top:12px;
  border-radius:22px;
  border:1px solid var(--qt-line);
  background:#fff;
  box-shadow:var(--qt-shadow-soft);
}

summary{
  cursor:pointer;
  padding:18px 20px;
  color:var(--qt-text);
  font-weight:1000;
}

details p{
  padding:0 20px 18px;
}

@media (max-width:940px){
  .cards,
  .card-grid,
  .grid,
  .support-grid,
  .urgency-grid,
  .compare-buy-grid,
  .qualify-grid,
  .mini-assurance,
  .home-section-grid,
  .qt-demo-grid,
  .qt-usecase-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .hero-actions .btn,
  .actions .btn,
  .contact .btn{
    width:100%;
  }

  .card,
  .link-card,
  .faq-item,
  .site-links,
  .value-banner,
  .qualify-card,
  .cta-strip,
  .support-card,
  .urgency-card,
  .choice-strip,
  .compare-buy-card{
    border-radius:22px;
    padding:18px;
  }
}
/* === QuickTapID Sitewide Compatibility Layer v55 END === */

/* === QuickTapID Generated Page Polish v56 START === */
/* Generated page polish for guides, solutions, services, near-me, pricing,
   industry hubs, locations, and older generated templates.
*/

body.qt-site-page{
  color:var(--qt-text);
}

body.qt-site-page main{
  min-height:70vh;
}

body.qt-site-page .hero,
body.qt-site-page .page-hero,
body.qt-site-page .masthead,
body.qt-site-page .intro{
  padding:clamp(48px,7vw,86px) 0 clamp(30px,5vw,54px);
}

body.qt-site-page .hero-copy,
body.qt-site-page .page-copy,
body.qt-site-page .article-copy{
  max-width:980px;
}

body.qt-site-page .hero-grid,
body.qt-site-page .page-grid,
body.qt-site-page .article-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(20px,4vw,38px);
}

body.qt-site-page .kicker,
body.qt-site-page .eyebrow,
body.qt-site-page .section .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  margin-bottom:12px;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(24,168,216,.18);
  background:#fff;
  color:var(--qt-blue-dark);
  font-size:.82rem;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 8px 22px rgba(31,79,118,.07);
  opacity:1;
}

body.qt-site-page .kicker .dot,
body.qt-site-page .eyebrow .dot,
body.qt-site-page .dot{
  width:9px;
  height:9px;
  border-radius:99px;
  background:var(--qt-green);
  box-shadow:0 0 18px rgba(32,197,143,.32);
  flex:0 0 auto;
}

body.qt-site-page .hero-sub,
body.qt-site-page .page-sub,
body.qt-site-page .sub{
  max-width:880px;
  color:var(--qt-muted);
  font-size:clamp(1.02rem,2vw,1.22rem);
  line-height:1.65;
  font-weight:650;
}

body.qt-site-page .hero-actions,
body.qt-site-page .actions,
body.qt-site-page .contact,
body.qt-site-page .inline-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

/* Generated grids */
body.qt-site-page .cards,
body.qt-site-page .card-grid,
body.qt-site-page .grid,
body.qt-site-page .link-grid,
body.qt-site-page .faq-list,
body.qt-site-page .support-grid,
body.qt-site-page .urgency-grid,
body.qt-site-page .compare-buy-grid,
body.qt-site-page .qualify-grid,
body.qt-site-page .mini-assurance,
body.qt-site-page .home-section-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:20px;
}

body.qt-site-page .link-grid,
body.qt-site-page .faq-list{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

/* Generated content cards */
body.qt-site-page .card,
body.qt-site-page .link-card,
body.qt-site-page .faq-item,
body.qt-site-page .site-links,
body.qt-site-page .value-banner,
body.qt-site-page .qualify-card,
body.qt-site-page .cta-strip,
body.qt-site-page .support-card,
body.qt-site-page .urgency-card,
body.qt-site-page .choice-strip,
body.qt-site-page .compare-buy-card,
body.qt-site-page .phase2-card,
body.qt-site-page .phase2-fit,
body.qt-site-page .home-card,
body.qt-site-page .plan-note-list li,
body.qt-site-page .qt-demo-card,
body.qt-site-page .qt-use-card{
  padding:22px;
  border-radius:24px;
  border:1px solid var(--qt-line);
  background:
    radial-gradient(520px 260px at 12% 0%, rgba(75,195,238,.10), transparent 62%),
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,252,255,.96));
  box-shadow:var(--qt-shadow);
  color:var(--qt-text);
}

body.qt-site-page .card h2,
body.qt-site-page .card h3,
body.qt-site-page .link-card h2,
body.qt-site-page .link-card h3,
body.qt-site-page .faq-item h2,
body.qt-site-page .faq-item h3,
body.qt-site-page .site-links h2,
body.qt-site-page .site-links h3{
  color:var(--qt-text);
  margin:0 0 8px;
  font-size:clamp(1.15rem,2vw,1.55rem);
  line-height:1.15;
}

body.qt-site-page .card p + p{
  margin-top:10px;
}

body.qt-site-page .card p,
body.qt-site-page .link-card p,
body.qt-site-page .faq-item p,
body.qt-site-page .site-links p{
  color:var(--qt-muted);
}

body.qt-site-page .link-card a,
body.qt-site-page .site-links a,
body.qt-site-page .faq-item a,
body.qt-site-page .card a{
  color:var(--qt-blue-dark);
  font-weight:950;
  text-decoration:underline dotted 1px;
  text-underline-offset:3px;
}

body.qt-site-page .site-links{
  margin-top:26px;
}

body.qt-site-page .site-links .cards{
  margin-top:16px;
}

/* Orphan generated CTA panels */
body.qt-site-page main > .soft-cta-panel,
body.qt-site-page .soft-cta-panel{
  width:min(calc(100% - 36px),var(--qt-wrap));
  margin:30px auto;
  padding:clamp(20px,3vw,28px);
  border-radius:28px;
  border:1px solid var(--qt-line);
  background:
    radial-gradient(520px 260px at 12% 0%, rgba(75,195,238,.12), transparent 62%),
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,252,255,.96));
  box-shadow:var(--qt-shadow);
}

body.qt-site-page .soft-cta-panel h3{
  color:var(--qt-text);
  font-size:clamp(1.35rem,3vw,2.1rem);
  margin:0 0 8px;
}

body.qt-site-page .soft-cta-panel p{
  color:var(--qt-muted);
  max-width:820px;
}

/* Tables and details */
body.qt-site-page table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:20px;
  border:1px solid var(--qt-line);
  background:#fff;
  box-shadow:var(--qt-shadow-soft);
}

body.qt-site-page th,
body.qt-site-page td{
  padding:14px;
  text-align:left;
  border-bottom:1px solid rgba(16,40,63,.08);
  color:var(--qt-muted);
}

body.qt-site-page th{
  color:var(--qt-text);
  font-weight:1000;
  background:#f8fcff;
}

body.qt-site-page tr:last-child td{
  border-bottom:0;
}

body.qt-site-page details{
  margin-top:12px;
  border-radius:22px;
  border:1px solid var(--qt-line);
  background:#fff;
  box-shadow:var(--qt-shadow-soft);
}

body.qt-site-page summary{
  cursor:pointer;
  padding:18px 20px;
  color:var(--qt-text);
  font-weight:1000;
}

body.qt-site-page details p{
  padding:0 20px 18px;
}

/* Generated footers */
body.qt-site-page .footer-buy-path,
body.qt-site-page .footer-explore,
body.qt-site-page .qt-internal-links{
  display:none!important;
}

/* Mobile */
@media (max-width:940px){
  body.qt-site-page .cards,
  body.qt-site-page .card-grid,
  body.qt-site-page .grid,
  body.qt-site-page .support-grid,
  body.qt-site-page .urgency-grid,
  body.qt-site-page .compare-buy-grid,
  body.qt-site-page .qualify-grid,
  body.qt-site-page .mini-assurance,
  body.qt-site-page .home-section-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  body.qt-site-page .hero-actions .btn,
  body.qt-site-page .actions .btn,
  body.qt-site-page .contact .btn{
    width:100%;
  }

  body.qt-site-page .card,
  body.qt-site-page .link-card,
  body.qt-site-page .faq-item,
  body.qt-site-page .site-links,
  body.qt-site-page .soft-cta-panel{
    border-radius:22px;
    padding:18px;
  }

  body.qt-site-page main > .soft-cta-panel,
  body.qt-site-page .soft-cta-panel{
    width:min(calc(100% - 24px),var(--qt-wrap));
  }
}
/* === QuickTapID Generated Page Polish v56 END === */

/* =========================================================
   QuickTapID Onboarding Premium v62
   Clean checkout-to-build onboarding experience.
   ========================================================= */

body.qt-onboarding-page{
  color:var(--qt-text);
  background:
    radial-gradient(900px 520px at 12% 0%, rgba(75,195,238,.15), transparent 58%),
    radial-gradient(820px 500px at 92% 8%, rgba(32,197,143,.11), transparent 58%),
    linear-gradient(180deg,#fbfdff 0%,#f6fbff 48%,#edf7fb 100%);
}

.onboarding-hero{
  padding:clamp(46px,7vw,78px) 0 28px;
}

.onboarding-shell{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  border:1px solid var(--qt-line);
  background:
    radial-gradient(720px 320px at 14% 0%, rgba(75,195,238,.14), transparent 62%),
    radial-gradient(620px 300px at 90% 12%, rgba(32,197,143,.12), transparent 62%),
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,252,255,.96));
  box-shadow:0 24px 70px rgba(31,79,118,.14);
  padding:clamp(22px,4vw,38px);
}

.onboarding-shell::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:7px;
  background:linear-gradient(90deg,var(--qt-green),var(--qt-blue));
}

.onboarding-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,420px);
  gap:clamp(24px,5vw,48px);
  align-items:start;
}

.onboarding-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  padding:9px 12px;
  border-radius:999px;
  background:#fff;
  color:var(--qt-blue-dark);
  border:1px solid rgba(24,168,216,.18);
  box-shadow:var(--qt-shadow-soft);
  font-weight:1000;
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.onboarding-kicker::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:99px;
  background:var(--qt-green);
  box-shadow:0 0 18px rgba(32,197,143,.35);
}

.onboarding-hero h1{
  margin:16px 0 12px;
  font-size:clamp(2.5rem,6vw,5.35rem);
  line-height:.98;
  letter-spacing:-.08em;
}

.onboarding-lead{
  max-width:820px;
  color:var(--qt-muted);
  font-size:clamp(1.05rem,2vw,1.25rem);
  line-height:1.65;
  font-weight:700;
}

.onboarding-note-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}

.onboarding-note{
  padding:16px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(16,40,63,.12);
  box-shadow:var(--qt-shadow-soft);
}

.onboarding-note b{
  display:block;
  color:var(--qt-text);
  margin-bottom:5px;
}

.onboarding-note span{
  color:var(--qt-muted);
  font-weight:750;
}

.onboarding-side-card{
  border-radius:28px;
  padding:22px;
  background:#fff;
  border:1px solid rgba(16,40,63,.12);
  box-shadow:var(--qt-shadow);
}

.onboarding-side-card h2{
  font-size:1.55rem;
  margin-bottom:10px;
}

.onboarding-side-card p{
  font-weight:700;
}

.onboarding-progress{
  margin-top:18px;
  padding:14px;
  border-radius:20px;
  background:#f7fcff;
  border:1px solid rgba(16,40,63,.10);
}

.onboarding-progress-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--qt-text);
  font-weight:1000;
  margin-bottom:10px;
}

.onboarding-progress-bar{
  height:10px;
  border-radius:999px;
  background:#e7f3f8;
  overflow:hidden;
}

.onboarding-progress-fill{
  width:0%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--qt-green),var(--qt-blue));
  transition:width .18s ease;
}

.onboarding-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,390px);
  gap:22px;
  padding:0 0 clamp(56px,7vw,86px);
}

.onboarding-card{
  border-radius:30px;
  border:1px solid var(--qt-line);
  background:
    radial-gradient(520px 260px at 12% 0%, rgba(75,195,238,.10), transparent 62%),
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,252,255,.96));
  box-shadow:var(--qt-shadow);
  padding:clamp(20px,3vw,28px);
}

.onboarding-card h2,
.onboarding-card h3{
  margin:0 0 8px;
  color:var(--qt-text);
}

.onboarding-card > p,
.onboarding-card .muted{
  color:var(--qt-muted);
  font-weight:700;
}

.onboarding-form{
  margin-top:20px;
}

.form-section{
  padding-top:22px;
  margin-top:22px;
  border-top:1px solid rgba(16,40,63,.10);
}

.form-section:first-of-type{
  padding-top:0;
  margin-top:0;
  border-top:0;
}

.form-section-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}

.form-step{
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--qt-green),var(--qt-blue));
  color:#fff;
  font-weight:1000;
  box-shadow:0 10px 24px rgba(24,168,216,.18);
}

.form-section-title h3{
  margin:0;
  font-size:1.2rem;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.field{
  display:grid;
  gap:7px;
}

.field.full{
  grid-column:1 / -1;
}

.field label{
  color:var(--qt-text);
  font-weight:950;
}

.req{
  color:#e75d5d;
}

.field input,
.field select,
.field textarea{
  width:100%;
  min-height:50px;
  padding:13px 14px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(16,40,63,.14);
  box-shadow:0 8px 22px rgba(31,79,118,.06);
  color:var(--qt-text);
  font:inherit;
  font-weight:700;
}

.field textarea{
  min-height:118px;
  resize:vertical;
}

.field input[type="file"]{
  padding:12px;
  background:#fff;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:3px solid rgba(24,168,216,.18);
  border-color:rgba(24,168,216,.36);
}

.hint{
  color:var(--qt-soft);
  font-size:.9rem;
  font-weight:700;
  line-height:1.45;
}

.hp{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.consent-box{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:16px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(16,40,63,.12);
  box-shadow:var(--qt-shadow-soft);
  margin-top:20px;
}

.consent-box input{
  margin-top:4px;
  width:18px;
  height:18px;
  flex:0 0 auto;
}

.consent-box label{
  color:var(--qt-muted);
  font-weight:800;
}

.submit-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.submit-row .btn{
  min-width:190px;
}

.mini-note{
  margin-top:12px;
  color:var(--qt-soft);
  font-size:.92rem;
  font-weight:750;
}

.timeline-list{
  list-style:none;
  padding:0;
  margin:18px 0 0;
  display:grid;
  gap:12px;
}

.timeline-list li{
  position:relative;
  padding:16px 16px 16px 50px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(16,40,63,.12);
  box-shadow:var(--qt-shadow-soft);
  color:var(--qt-text);
  font-weight:1000;
}

.timeline-list li::before{
  content:attr(data-step);
  position:absolute;
  left:14px;
  top:16px;
  width:24px;
  height:24px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--qt-green),var(--qt-blue));
  color:#fff;
  font-size:.78rem;
  font-weight:1000;
}

.timeline-list small{
  display:block;
  margin-top:4px;
  color:var(--qt-muted);
  font-weight:700;
}

.support-pill-row{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.support-pill{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(16,40,63,.12);
  box-shadow:var(--qt-shadow-soft);
  color:var(--qt-text);
  font-weight:950;
  cursor:pointer;
}

.support-pill span{
  color:var(--qt-muted);
  font-weight:800;
}

.plan-badge{
  display:inline-flex;
  vertical-align:middle;
  margin-left:8px;
  padding:8px 11px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--qt-green),var(--qt-blue));
  color:#fff;
  font-size:.88rem;
  font-weight:1000;
  letter-spacing:-.01em;
}

.onboarding-footer-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:18px;
}

.onboarding-bottom{
  padding:30px 0 46px;
  text-align:center;
}

.onboarding-bottom p{
  color:var(--qt-muted);
}

@media (max-width:980px){
  .onboarding-hero-grid,
  .onboarding-layout{
    grid-template-columns:1fr;
  }

  .onboarding-note-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .onboarding-shell,
  .onboarding-card,
  .onboarding-side-card{
    border-radius:24px;
  }

  .form-grid{
    grid-template-columns:1fr;
  }

  .submit-row .btn,
  .onboarding-footer-actions .btn{
    width:100%;
  }

  .support-pill{
    display:grid;
  }
}

/* === QuickTapID Site Polish v57 === */

/* Button groups inside .center divs — fix gaps and mobile stacking */
div.center{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px;
}

/* Prevent button groups inside sections from collapsing margin */
.section div.center,
section div.center{
  margin-top:22px;
}

/* On mobile, full-width buttons in centered groups */
@media (max-width:760px){
  div.center .btn{
    width:100%;
    max-width:400px;
  }
}

/* Improve FAQ .faq centering when inside .wrap */
.wrap .faq{
  margin-inline:auto;
}

/* Sticky bar — better spacing on very narrow screens */
@media (max-width:420px){
  .conversion-sticky-cta .sticky-copy{
    font-size:.9rem;
  }
  .conversion-sticky-cta small{
    font-size:.8rem;
  }
}

/* Home proof row — 2 columns on tablet, 1 on very small screens */
@media (max-width:560px){
  .home-proof-row{
    grid-template-columns:1fr;
  }
}

/* Card hover transitions */
.home-card,.feature-card,.industry-card,.solution-card,.service-card,.guide-card{
  transition:transform .18s ease,box-shadow .18s ease;
}

/* Nav CTA hover — cleaner feel */
.nav-cta:hover{
  opacity:.88;
  box-shadow:0 16px 40px rgba(24,168,216,.28) !important;
}

/* Footer fine print — better spacing */
.home-final-cta .fine{
  margin-top:16px;
  font-size:.88rem;
}

/* Mobile drawer — ensure overflow doesn't cause layout shift */
.mobile-drawer{
  overscroll-behavior:contain;
}
/* === End Site Polish v57 === */
