/* ===========================================================================
   XENBIO — PRODUCT AUTHENTICATION MODULE
   Palette restricted to the exact XenBio brand-asset colours.
   Scoped to #xenbio-verify. Nothing leaks out; theme CSS cannot get in.

   Poppins + Inter are loaded by the plugin as a separate stylesheet, so no
   @import is needed here.
   =========================================================================== */

#xenbio-verify{
  /* =========================================================================
     ►► BRAND COLOUR — the only block you need to edit ◄◄
     These five values are the entire XenBio palette, taken straight out of
     the logo and favicon files. Nothing else on this page is a new colour.
     ========================================================================= */
  --xb-blue:#002c86;             /* logo mark          */
  --xb-blue-alt:#143680;         /* favicon            */
  --xb-ink:#100f0f;              /* logo wordmark      */
  --xb-grey:#484848;             /* logo tagline       */
  --xb-white:#ffffff;

  /* the brand gradient — built from the two real blues, nothing in between */
  --xb-grad:linear-gradient(135deg,var(--xb-blue-alt),var(--xb-blue));
  --xb-grad-rule:linear-gradient(90deg,var(--xb-blue),var(--xb-blue-alt) 50%,var(--xb-blue));

  /* every tone below is one of the five above at reduced alpha ------------- */
  --xb-blue-ring:rgba(0,44,134,.18);
  --xb-blue-wash:rgba(20,54,128,.05);
  --xb-blue-wash-2:rgba(20,54,128,.08);
  --xb-blue-edge:rgba(0,44,134,.22);

  --xb-bg:var(--xb-white);
  --xb-bg2:rgba(20,54,128,.04);  /* tinted bands            */
  --xb-card:var(--xb-white);
  --xb-field:rgba(20,54,128,.04);
  --xb-line:rgba(16,15,15,.12);
  --xb-line-soft:rgba(16,15,15,.07);

  --xb-body:var(--xb-grey);
  --xb-muted:rgba(72,72,72,.68);

  /* ---- the ONE colour not in the brand set ------------------------------
     A failure state has to be unmistakable and XenBio has no red. Swap this
     for a brand value if you would rather stay strictly to the five.      */
  --xb-bad:#c62828;
  --xb-bad-wash:rgba(198,40,40,.08);

  --xb-display:'Poppins','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --xb-text-font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;

  --xb-r:12px;                   /* the mark is all pills + circles */
  --xb-r-lg:18px;
  --xb-pill:100px;
  --xb-gutter:18px;

  --xb-shadow:0 18px 44px rgba(0,44,134,.10);
  --xb-shadow-sm:0 6px 18px rgba(0,44,134,.07);

  /* ---- base --------------------------------------------------------------- */
  position:relative;
  isolation:isolate;
  background:var(--xb-bg);
  font-family:var(--xb-text-font);
  font-size:16px;
  line-height:1.65;
  color:var(--xb-body);
  text-align:left;
  -webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* ---- scoped reset -------------------------------------------------------- */
#xenbio-verify *,
#xenbio-verify *::before,
#xenbio-verify *::after{ box-sizing:border-box; }
#xenbio-verify h1,#xenbio-verify h2,#xenbio-verify h3,
#xenbio-verify h4,#xenbio-verify p,#xenbio-verify ul,#xenbio-verify li{
  margin:0; padding:0; font-family:inherit; color:inherit; text-transform:none;
}
#xenbio-verify ul{ list-style:none; }
#xenbio-verify img{ display:block; max-width:100%; height:auto; border:0; }
#xenbio-verify a{ color:inherit; text-decoration:none; }
#xenbio-verify svg{ display:block; }

#xenbio-verify .xb-shell{
  width:100%; max-width:1180px; margin:0 auto;
  padding-left:var(--xb-gutter);
  padding-right:var(--xb-gutter);
  padding-left:max(var(--xb-gutter), env(safe-area-inset-left));
  padding-right:max(var(--xb-gutter), env(safe-area-inset-right));
}

/* ================= BLUE TOP BAR + WHITE HEADER ========================== */
#xenbio-verify .xb-bar{
  background:var(--xb-grad);
  color:var(--xb-white);
}
#xenbio-verify .xb-bar-in{
  display:flex; align-items:center; justify-content:center;
  gap:10px; padding:10px 0; text-align:center;
  font-family:var(--xb-display); font-weight:600;
  font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
}
#xenbio-verify .xb-bar-in svg{ width:15px; height:15px; flex:0 0 auto; opacity:.9; }

#xenbio-verify .xb-top{ background:var(--xb-white); border-bottom:1px solid var(--xb-line); }
#xenbio-verify .xb-header-in{
  display:flex; flex-direction:column; align-items:center; gap:14px;
  padding:16px 0; text-align:center;
}
/* flex:0 0 auto + no max-width so the FULL logo always shows, never clipped */
#xenbio-verify .xb-logo{
  display:inline-flex; align-items:center; flex:0 0 auto; overflow:visible;
}
#xenbio-verify .xb-logo img{ height:44px; width:auto; max-width:none; flex:0 0 auto; }
#xenbio-verify .xb-wordmark{
  display:none; font-family:var(--xb-display); font-weight:800;
  font-size:26px; letter-spacing:-.01em; color:var(--xb-ink); line-height:1.05;
}
#xenbio-verify .xb-wordmark i{ font-style:normal; color:var(--xb-blue); }
#xenbio-verify .xb-wordmark b{
  display:block; font-family:var(--xb-text-font); font-weight:500;
  font-size:.42em; letter-spacing:.02em; color:var(--xb-grey); margin-top:2px;
}
#xenbio-verify .xb-logo.xb-logo-fallback img{ display:none; }
#xenbio-verify .xb-logo.xb-logo-fallback .xb-wordmark{ display:block; }

#xenbio-verify .xb-eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--xb-blue-wash); border:1px solid var(--xb-blue-edge);
  color:var(--xb-blue); border-radius:var(--xb-pill); padding:8px 16px;
  font-family:var(--xb-display); font-weight:600;
  font-size:11px; letter-spacing:.1em; text-transform:uppercase;
}
#xenbio-verify .xb-eyebrow svg{ width:14px; height:14px; flex:0 0 auto; }

/* ============================== HERO ===================================== */
#xenbio-verify .xb-hero{
  position:relative;
  display:grid; grid-template-columns:1fr; gap:34px;
  align-items:start; padding:42px 0 56px;
}
#xenbio-verify .xb-hero::before{     /* soft clinical wash, brand blue only */
  content:''; position:absolute; inset:-14% -24% auto -24%; height:460px;
  background:radial-gradient(55% 100% at 50% 0%, rgba(20,54,128,.10), rgba(255,255,255,0) 72%);
  pointer-events:none; z-index:-1;
}
#xenbio-verify .xb-hero-copy{ text-align:center; }

#xenbio-verify .xb-kicker{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--xb-display); font-weight:700; font-size:11.5px;
  letter-spacing:.17em; text-transform:uppercase;
  color:var(--xb-blue); margin-bottom:16px;
}
#xenbio-verify .xb-kicker svg{ width:15px; height:15px; flex:0 0 auto; }
#xenbio-verify .xb-hero-copy .xb-kicker{ justify-content:center; }

#xenbio-verify .xb-h1{
  font-family:var(--xb-display); font-weight:700;
  font-size:clamp(2.1rem,6.6vw,3.3rem); line-height:1.08; letter-spacing:-.025em;
  color:var(--xb-ink);
}
/* the brand word carries the two-blue gradient */
#xenbio-verify .xb-h1 span{
  color:var(--xb-blue);                 /* fallback for old browsers */
  background:var(--xb-grad);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

#xenbio-verify .xb-hero-text{
  font-size:clamp(14.5px,3.2vw,16.5px); line-height:1.75;
  color:var(--xb-body); margin-top:18px; max-width:34rem;
  margin-left:auto; margin-right:auto;
}

#xenbio-verify .xb-stats{
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--xb-line); border-radius:var(--xb-r-lg);
  overflow:hidden; margin-top:26px; background:var(--xb-white);
  box-shadow:var(--xb-shadow-sm);
}
#xenbio-verify .xb-stat{
  position:relative; padding:18px 10px 16px; text-align:center;
  border-right:1px solid var(--xb-line);
}
#xenbio-verify .xb-stat::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--xb-grad);
}
#xenbio-verify .xb-stat:last-child{ border-right:0; }
#xenbio-verify .xb-stat b{
  display:block; font-family:var(--xb-display); font-weight:700;
  font-size:clamp(1.05rem,3.9vw,1.35rem); line-height:1.15;
  color:var(--xb-blue); letter-spacing:-.02em;
}
#xenbio-verify .xb-stat span{
  display:block; margin-top:4px;
  font-family:var(--xb-display); font-weight:600; font-size:9.5px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--xb-muted);
}

#xenbio-verify .xb-hero-meta{
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:18px;
}
#xenbio-verify .xb-chip{
  display:inline-flex; align-items:center; gap:7px;
  background:var(--xb-white); border:1px solid var(--xb-line); border-radius:var(--xb-pill);
  padding:8px 14px; box-shadow:var(--xb-shadow-sm);
  font-size:11.5px; font-weight:600; letter-spacing:.04em;
  text-transform:uppercase; color:var(--xb-ink);
}
#xenbio-verify .xb-chip svg{ width:14px; height:14px; color:var(--xb-blue); flex:0 0 auto; }

/* ======================= VERIFICATION CARD =============================== */
#xenbio-verify .xb-card-col{ width:100%; max-width:500px; margin:0 auto; }
#xenbio-verify .xb-card{
  position:relative; overflow:hidden;
  background:var(--xb-card); border:1px solid var(--xb-line);
  border-radius:var(--xb-r-lg);
  box-shadow:var(--xb-shadow);
  padding:30px 24px 28px;
}
#xenbio-verify .xb-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--xb-grad-rule);
}

#xenbio-verify .xb-state{ display:none; }
#xenbio-verify .xb-state.is-on{ display:block; animation:xbFade .4s ease both; }
@keyframes xbFade{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }

#xenbio-verify .xb-card-head{ text-align:center; margin-bottom:24px; }
#xenbio-verify .xb-card-title{
  font-family:var(--xb-display); font-weight:700;
  font-size:clamp(1.3rem,4.6vw,1.55rem); letter-spacing:-.02em;
  color:var(--xb-ink); line-height:1.2;
}
#xenbio-verify .xb-card-sub{
  font-size:13px; color:var(--xb-muted); margin-top:6px; line-height:1.55;
}

/* ---- fields -------------------------------------------------------------- */
#xenbio-verify .xb-field{ margin-bottom:15px; }
#xenbio-verify .xb-label{
  display:block; font-family:var(--xb-display); font-weight:600;
  font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--xb-blue); margin-bottom:7px;
}
#xenbio-verify .xb-input-wrap{ position:relative; display:block; }
#xenbio-verify .xb-input-icon{
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; color:var(--xb-muted);
  pointer-events:none; transition:color .2s ease;
}
#xenbio-verify .xb-input-wrap:focus-within .xb-input-icon{ color:var(--xb-blue); }
#xenbio-verify .xb-input{
  display:block; width:100%; margin:0; border-radius:var(--xb-r);
  -webkit-appearance:none; appearance:none;
  background:var(--xb-field); border:1.5px solid var(--xb-line);
  color:var(--xb-ink);
  font-family:var(--xb-text-font); font-weight:500;
  font-size:16px;                 /* 16px stops iOS zooming on focus */
  line-height:1.4;
  padding:13px 15px 13px 43px; min-height:52px;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
#xenbio-verify .xb-input::placeholder{ color:var(--xb-muted); opacity:1; }
#xenbio-verify .xb-input:hover{ border-color:var(--xb-blue-edge); }
#xenbio-verify .xb-input:focus{
  outline:none; background:var(--xb-white); border-color:var(--xb-blue);
  box-shadow:0 0 0 4px var(--xb-blue-ring);
}
#xenbio-verify .xb-input:-webkit-autofill,
#xenbio-verify .xb-input:-webkit-autofill:hover,
#xenbio-verify .xb-input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--xb-ink);
  -webkit-box-shadow:0 0 0 1000px var(--xb-white) inset;
  transition:background-color 9999s ease-in-out 0s;
}
#xenbio-verify .xb-err{
  display:none; align-items:center; gap:6px;
  font-size:12px; font-weight:600; color:var(--xb-bad); margin-top:6px;
}
#xenbio-verify .xb-err svg{ width:13px; height:13px; flex:0 0 auto; }
#xenbio-verify .xb-field.is-bad .xb-input{ border-color:var(--xb-bad); background:var(--xb-bad-wash); }
#xenbio-verify .xb-field.is-bad .xb-err{ display:flex; }

/* ---- buttons: pill, brand gradient (the mark is built from pills) -------- */
#xenbio-verify .xb-btn{
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; margin:0; border:2px solid transparent;
  border-radius:var(--xb-pill); cursor:pointer;
  -webkit-appearance:none; appearance:none; -webkit-tap-highlight-color:transparent;
  background:var(--xb-grad);
  color:var(--xb-white);
  font-family:var(--xb-display); font-weight:700;
  font-size:14.5px; letter-spacing:.04em;
  padding:17px 18px; min-height:56px;
  box-shadow:0 10px 24px rgba(0,44,134,.26);
  transition:filter .2s ease, transform .15s ease, box-shadow .2s ease;
}
#xenbio-verify .xb-btn:hover{ filter:brightness(1.1); box-shadow:0 14px 32px rgba(0,44,134,.34); }
#xenbio-verify .xb-btn:active{ transform:translateY(1px); }
#xenbio-verify .xb-btn:disabled{ opacity:.55; cursor:not-allowed; transform:none; }
#xenbio-verify .xb-btn svg{ width:18px; height:18px; flex:0 0 auto; }
#xenbio-verify .xb-btn::after{
  content:''; position:absolute; top:0; left:-120%; width:55%; height:100%;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.4),rgba(255,255,255,0));
  transform:skewX(-22deg); transition:left .6s ease;
}
#xenbio-verify .xb-btn:hover::after{ left:160%; }
#xenbio-verify .xb-btn-ghost{
  background:
    linear-gradient(var(--xb-white),var(--xb-white)) padding-box,
    var(--xb-grad) border-box;
  color:var(--xb-blue);
  box-shadow:var(--xb-shadow-sm);
}
#xenbio-verify .xb-btn-ghost:hover{
  background:var(--xb-grad); color:var(--xb-white); filter:none;
  box-shadow:0 12px 28px rgba(0,44,134,.26);
}

#xenbio-verify .xb-secure{
  display:flex; align-items:center; justify-content:center; gap:7px;
  margin-top:14px; font-size:11.5px; color:var(--xb-muted);
}
#xenbio-verify .xb-secure svg{ width:13px; height:13px; color:var(--xb-blue); flex:0 0 auto; }

/* ---- loading ------------------------------------------------------------- */
#xenbio-verify .xb-state-pad{ text-align:center; padding:18px 0 10px; }
#xenbio-verify .xb-scan{
  position:relative; width:134px; height:134px; margin:0 auto 24px;
  display:flex; align-items:center; justify-content:center;
}
#xenbio-verify .xb-scan-ring{
  position:absolute; inset:0; border-radius:50%;
  border:2px solid var(--xb-blue-ring);
  animation:xbRipple 2.4s cubic-bezier(.2,.6,.3,1) infinite;
}
#xenbio-verify .xb-scan-ring:nth-child(2){ animation-delay:.8s; }
#xenbio-verify .xb-scan-ring:nth-child(3){ animation-delay:1.6s; }
@keyframes xbRipple{
  0%{ transform:scale(.45); opacity:0; }
  18%{ opacity:1; }
  100%{ transform:scale(1); opacity:0; }
}
#xenbio-verify .xb-scan-core{
  position:relative; width:74px; height:74px; border-radius:50%;
  background:var(--xb-grad);
  color:var(--xb-white);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 28px rgba(0,44,134,.32);
  animation:xbBreathe 2.4s ease-in-out infinite;
}
#xenbio-verify .xb-scan-core svg{ width:34px; height:34px; }
@keyframes xbBreathe{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.06); } }

#xenbio-verify .xb-progress{
  width:160px; height:4px; margin:22px auto 0;
  background:var(--xb-blue-wash-2); border-radius:100px; overflow:hidden;
}
#xenbio-verify .xb-progress span{
  display:block; width:40%; height:100%; border-radius:100px;
  background:var(--xb-grad);
  animation:xbSlide 1.3s ease-in-out infinite;
}
@keyframes xbSlide{ 0%{ transform:translateX(-110%); } 100%{ transform:translateX(260%); } }

/* ---- success / error -----------------------------------------------------
   Verified uses the brand blue — a blue verification seal, which keeps the
   result inside the XenBio palette. Only the failure seal uses --xb-bad.
   ------------------------------------------------------------------------ */
#xenbio-verify .xb-seal{
  position:relative; width:98px; height:98px; margin:0 auto 20px;
  display:flex; align-items:center; justify-content:center;
}
#xenbio-verify .xb-seal::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  background:var(--xb-blue-wash-2);
  animation:xbPop .55s cubic-bezier(.2,.9,.3,1.3) both;
}
#xenbio-verify .xb-seal-core{
  position:relative; width:70px; height:70px; border-radius:50%;
  background:var(--xb-grad); color:var(--xb-white);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px rgba(0,44,134,.3);
  animation:xbPop .5s cubic-bezier(.2,.9,.3,1.3) .08s both;
}
#xenbio-verify .xb-seal-core svg{ width:36px; height:36px; }
#xenbio-verify .xb-seal-core svg path{
  stroke-dasharray:28; stroke-dashoffset:28;
  animation:xbDraw .45s ease-out .4s forwards;
}
@keyframes xbPop{ from{ transform:scale(.5); opacity:0; } to{ transform:scale(1); opacity:1; } }
@keyframes xbDraw{ to{ stroke-dashoffset:0; } }
#xenbio-verify .xb-seal-bad::before{ background:var(--xb-bad-wash); }
#xenbio-verify .xb-seal-bad .xb-seal-core{
  background:var(--xb-bad); box-shadow:0 10px 24px rgba(198,40,40,.26);
}
#xenbio-verify .xb-seal-bad .xb-seal-core svg path{ animation:none; stroke-dasharray:none; stroke-dashoffset:0; }

#xenbio-verify .xb-result{
  font-family:var(--xb-display); font-weight:700;
  font-size:clamp(1.4rem,5vw,1.7rem); letter-spacing:-.02em;
  text-align:center; line-height:1.18; color:var(--xb-ink);
}
#xenbio-verify .xb-result-ok{ color:var(--xb-blue); }
#xenbio-verify .xb-result-bad{ color:var(--xb-bad); }
#xenbio-verify .xb-result-note{ font-size:13.5px; color:var(--xb-body); text-align:center; margin-top:9px; }

#xenbio-verify .xb-detail{
  background:var(--xb-bg2); border:1px solid var(--xb-line);
  border-radius:var(--xb-r); padding:2px 16px; margin:22px 0 18px; text-align:left;
}
#xenbio-verify .xb-detail-row{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:13px 0; border-bottom:1px solid var(--xb-line-soft);
}
#xenbio-verify .xb-detail-row:last-child{ border-bottom:0; }
#xenbio-verify .xb-detail-key{
  font-family:var(--xb-display); font-weight:600; font-size:10.5px;
  letter-spacing:.11em; text-transform:uppercase; color:var(--xb-muted); flex:0 0 auto;
}
#xenbio-verify .xb-detail-val{
  font-family:var(--xb-display); font-weight:700; font-size:14.5px;
  color:var(--xb-blue); text-align:right; word-break:break-all; min-width:0;
}
#xenbio-verify .xb-verified{
  display:inline-flex; align-items:center; gap:7px;
  background:var(--xb-grad); color:var(--xb-white); border-radius:100px; padding:6px 13px;
  font-family:var(--xb-display); font-weight:600; font-size:11px;
  letter-spacing:.07em; text-transform:uppercase; white-space:nowrap;
}
#xenbio-verify .xb-dot{
  width:7px; height:7px; border-radius:50%; background:var(--xb-white);
  animation:xbBlink 1.8s ease-in-out infinite;
}
@keyframes xbBlink{ 0%,100%{ opacity:1; } 50%{ opacity:.3; } }

#xenbio-verify .xb-countdown{
  font-size:11.5px; color:var(--xb-muted); text-align:center; margin-top:12px;
}
#xenbio-verify .xb-countdown b{ color:var(--xb-blue); font-weight:700; }

/* ========================== HOW IT WORKS ================================= */
#xenbio-verify .xb-section{ padding:12px 0 60px; }
#xenbio-verify .xb-section-head{ text-align:center; max-width:38rem; margin:0 auto 32px; }
#xenbio-verify .xb-section-head .xb-kicker{ justify-content:center; }
#xenbio-verify .xb-h2{
  font-family:var(--xb-display); font-weight:700;
  font-size:clamp(1.6rem,4.8vw,2.2rem); line-height:1.16;
  letter-spacing:-.025em; color:var(--xb-ink);
}
#xenbio-verify .xb-section-text{ font-size:14.5px; color:var(--xb-body); margin-top:11px; }

#xenbio-verify .xb-grid{ display:grid; grid-template-columns:1fr; gap:16px; }
@media (min-width:768px){ #xenbio-verify .xb-grid-3{ grid-template-columns:repeat(3,1fr); gap:20px; } }

#xenbio-verify .xb-step{
  position:relative; overflow:hidden;
  background:var(--xb-white); border:1px solid var(--xb-line);
  border-radius:var(--xb-r-lg); padding:26px 24px;
  box-shadow:var(--xb-shadow-sm);
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
#xenbio-verify .xb-step::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--xb-grad); transform:scaleY(0); transform-origin:top;
  transition:transform .3s ease;
}
#xenbio-verify .xb-step:hover{
  border-color:var(--xb-blue-edge); box-shadow:var(--xb-shadow);
  transform:translateY(-4px);
}
#xenbio-verify .xb-step:hover::before{ transform:scaleY(1); }
#xenbio-verify .xb-step-num{
  display:flex; align-items:center; gap:10px;
  font-family:var(--xb-display); font-weight:700; font-size:11.5px;
  letter-spacing:.15em; color:var(--xb-blue); margin-bottom:16px; text-transform:uppercase;
}
#xenbio-verify .xb-step-num::after{ content:''; flex:1 1 auto; height:1px; background:var(--xb-line); }
#xenbio-verify .xb-step-ghost{
  position:absolute; right:14px; top:-10px;
  font-family:var(--xb-display); font-weight:800; font-size:80px; line-height:1;
  color:var(--xb-blue); opacity:.06; pointer-events:none; user-select:none;
}
#xenbio-verify .xb-step-icon{
  width:50px; height:50px; margin-bottom:16px; border-radius:50%;
  background:var(--xb-blue-wash); color:var(--xb-blue);
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--xb-blue-edge);
}
#xenbio-verify .xb-step-icon svg{ width:22px; height:22px; }
#xenbio-verify .xb-step-title{
  font-family:var(--xb-display); font-weight:700; font-size:1.1rem;
  letter-spacing:-.02em; color:var(--xb-ink); margin-bottom:7px;
}
#xenbio-verify .xb-step-text{ font-size:14px; line-height:1.6; color:var(--xb-body); }

/* ============================ TRUST ====================================== */
#xenbio-verify .xb-trust{
  background:var(--xb-bg2); padding:52px 0 56px;
  border-top:1px solid var(--xb-line); border-bottom:1px solid var(--xb-line);
}
#xenbio-verify .xb-trust .xb-kicker{ justify-content:center; }

#xenbio-verify .xb-trust-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
@media (min-width:600px){ #xenbio-verify .xb-trust-grid{ grid-template-columns:repeat(2,1fr); gap:16px; } }

#xenbio-verify .xb-trust-item{
  display:flex; align-items:flex-start; gap:14px;
  background:var(--xb-white);
  border:1px solid var(--xb-line);
  border-radius:var(--xb-r-lg); padding:22px 20px;
  box-shadow:var(--xb-shadow-sm);
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
#xenbio-verify .xb-trust-item:hover{
  border-color:var(--xb-blue-edge); box-shadow:var(--xb-shadow); transform:translateY(-3px);
}
#xenbio-verify .xb-trust-icon{
  flex:0 0 auto; width:46px; height:46px; border-radius:50%;
  background:var(--xb-grad); color:var(--xb-white);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 18px rgba(0,44,134,.22);
}
#xenbio-verify .xb-trust-icon svg{ width:20px; height:20px; }
#xenbio-verify .xb-trust-title{
  font-family:var(--xb-display); font-weight:700; font-size:14.5px;
  letter-spacing:-.01em; color:var(--xb-ink); margin-bottom:5px;
}
#xenbio-verify .xb-trust-text{ font-size:13.5px; line-height:1.6; color:var(--xb-body); }

/* ============================ FOOTER ===================================== */
#xenbio-verify .xb-footer{
  background:var(--xb-white); color:var(--xb-ink);
  padding:0 0 38px;
  padding-bottom:calc(38px + env(safe-area-inset-bottom));
  text-align:center;
}
/* The logo is dark on transparent, so it shows directly on the white footer. */
#xenbio-verify .xb-footer .xb-logo{ margin:34px auto 16px; }
#xenbio-verify .xb-footer .xb-logo img{ height:38px; }
#xenbio-verify .xb-footer-tag{
  font-family:var(--xb-display); font-weight:600;
  font-size:14px; letter-spacing:.01em; margin-bottom:12px;
  color:var(--xb-blue);
  background:var(--xb-grad);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  display:block; width:-moz-fit-content; width:fit-content;
  margin-left:auto; margin-right:auto;
}
#xenbio-verify .xb-footer-line{
  font-family:var(--xb-display); font-weight:600; font-size:11px;
  letter-spacing:.15em; text-transform:uppercase; color:var(--xb-ink);
}
#xenbio-verify .xb-footer-sub{ font-size:11.5px; color:var(--xb-muted); margin-top:9px; }

/* =========================== RESPONSIVE ================================== */
@media (min-width:600px){
  #xenbio-verify{ --xb-gutter:24px; }
  #xenbio-verify .xb-card{ padding:34px 30px 30px; }
}
@media (min-width:768px){
  #xenbio-verify .xb-hero{ padding:50px 0 66px; }
}
@media (min-width:1024px){
  #xenbio-verify{ --xb-gutter:28px; }
  #xenbio-verify .xb-header-in{ flex-direction:row; justify-content:space-between; padding:18px 0; }
  #xenbio-verify .xb-logo img{ height:48px; }
  #xenbio-verify .xb-hero{
    grid-template-columns:1.04fr .96fr; gap:46px; padding:60px 0 80px;
  }
  #xenbio-verify .xb-hero-copy{ text-align:left; padding-top:4px; }
  #xenbio-verify .xb-hero-copy .xb-kicker{ justify-content:flex-start; }
  #xenbio-verify .xb-hero-text{ margin-left:0; margin-right:0; }
  #xenbio-verify .xb-hero-meta{ justify-content:flex-start; }
  #xenbio-verify .xb-card-col{ margin-right:0; }
}
@media (max-width:420px){
  #xenbio-verify{ --xb-gutter:14px; }
  #xenbio-verify .xb-card{ padding:26px 17px 24px; }
  #xenbio-verify .xb-stat{ padding:14px 6px; }
  #xenbio-verify .xb-logo img{ height:38px; }
  #xenbio-verify .xb-detail-row{ flex-direction:column; align-items:flex-start; gap:6px; }
  #xenbio-verify .xb-detail-val{ text-align:left; }
}
@media (prefers-reduced-motion:reduce){
  #xenbio-verify .xb-scan-ring,
  #xenbio-verify .xb-scan-core,
  #xenbio-verify .xb-progress span,
  #xenbio-verify .xb-dot,
  #xenbio-verify .xb-seal::before,
  #xenbio-verify .xb-seal-core,
  #xenbio-verify .xb-seal-core svg path{ animation:none; }
  #xenbio-verify .xb-state.is-on{ animation:none; }
  #xenbio-verify .xb-step:hover,
  #xenbio-verify .xb-trust-item:hover{ transform:none; }
}
