/* AminoArc — advanced effects (glow, science-grid, magnetic buttons, floats) */

.science-grid{
  background-image:
    linear-gradient(to right, rgba(30,99,212,.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30,99,212,.08) 1px, transparent 1px);
  background-size:44px 44px;
}
.opacity-30{opacity:.30}.opacity-25{opacity:.25}.opacity-20{opacity:.20}
.opacity-60{opacity:.60}.opacity-40{opacity:.40}

.lab-glow{
  background:radial-gradient(circle at center,
    rgba(30,99,212,.45), rgba(30,99,212,.18) 40%, transparent 70%);
  filter:blur(30px);
}
.ambient-glow{animation:aa-pulse 6s ease-in-out infinite}
@keyframes aa-pulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}

.float-vial{animation:aa-float 8s ease-in-out infinite}
.drift-slow{animation:aa-drift 10s ease-in-out infinite}
@keyframes aa-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

.sheen{position:relative;overflow:hidden}
.sheen::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
  transform:translateX(-100%);animation:aa-sheen 4s ease-in-out infinite;
}
@keyframes aa-sheen{0%{transform:translateX(-100%)}50%,100%{transform:translateX(100%)}}

.glow-primary{box-shadow:0 20px 60px -20px rgba(30,99,212,.55)}

/* Magnetic button — pointer-tracked highlight */
.magnetic-btn{position:relative;overflow:hidden;isolation:isolate}
.magnetic-btn::before{
  content:"";position:absolute;inset:-2px;border-radius:inherit;z-index:-1;
  background:radial-gradient(140px circle at var(--mx,50%) var(--my,50%),
    rgba(255,255,255,.35), transparent 60%);
  opacity:0;transition:opacity .3s ease;
}
.magnetic-btn:hover::before{opacity:1}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* Product cards — richer */
.product-card{position:relative;overflow:hidden}
.product-card .product-image::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at center, rgba(30,99,212,.15), transparent 60%);
  opacity:0;transition:opacity .4s ease;
}
.product-card:hover .product-image::before{opacity:1}
.product-card .badge-purity{
  position:absolute;top:1.5rem;left:1.5rem;z-index:2;
  background:rgba(255,255,255,.85);color:var(--aa-primary);
  border:1px solid rgba(30,99,212,.3);
  padding:.25rem .6rem;border-radius:999px;font-size:10px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(6px);
}
.product-card .badge-coa{
  position:absolute;top:1.5rem;right:1.5rem;z-index:2;
  background:rgba(255,255,255,.85);color:var(--aa-muted);
  border:1px solid var(--aa-border);
  padding:.25rem .6rem;border-radius:999px;font-size:10px;
  backdrop-filter:blur(6px);
}

/* Verify batch card */
.coa-card{border:1px solid var(--aa-border);border-radius:20px;padding:1.75rem;background:rgba(255,255,255,.7);backdrop-filter:blur(14px)}
.coa-card .coa-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--aa-border);font-size:.9rem}
.coa-card .coa-row:last-child{border-bottom:0}
.coa-card .hplc-trace{margin-top:1rem;height:96px;border:1px solid var(--aa-border);border-radius:12px;overflow:hidden;background:#fff}

/* Section decorators */
.section-decor{position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--aa-border)}
.section-decor .decor-glow-l,.section-decor .decor-glow-r{position:absolute;width:400px;height:400px;border-radius:999px;pointer-events:none}
.section-decor .decor-glow-l{left:-160px;top:0}
.section-decor .decor-glow-r{right:-160px;bottom:0;opacity:.6}

/* Newsletter */
.newsletter{position:relative;overflow:hidden;border:1px solid var(--aa-border);border-radius:24px;
  background:
    radial-gradient(circle at 75% 50%, rgba(30,99,212,.25), transparent 45%),
    linear-gradient(120deg, var(--aa-card), #fff);
  padding:5rem 2rem;margin:3rem 0;}
.newsletter .container{position:relative;display:grid;gap:2rem}
@media(min-width:900px){.newsletter .container{grid-template-columns:1fr 1fr}}

/* Contact form */
.contact-form{display:grid;gap:1.25rem}
.contact-form .row{display:grid;gap:1.25rem}
@media(min-width:600px){.contact-form .row-2{grid-template-columns:1fr 1fr}}
.contact-form label{font-size:.85rem;font-weight:600;color:var(--aa-fg)}
.contact-form input,.contact-form textarea{
  width:100%;font:inherit;padding:.75rem 1rem;border:1px solid var(--aa-border);
  border-radius:12px;background:#fff;transition:border-color .2s, box-shadow .2s;
}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--aa-primary);box-shadow:0 0 0 3px var(--aa-ring)}

/* FAQ enhanced */
.faq-search{position:relative;max-width:640px;margin:0 auto 3rem}
.faq-search input{width:100%;height:52px;padding:0 1.25rem 0 3rem;border-radius:999px;border:1px solid var(--aa-border);font:inherit;background:#fff;box-shadow:0 4px 24px -12px rgba(30,99,212,.3)}
.faq-search svg{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);color:var(--aa-muted)}

/* Utility */
.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}
.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}
.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--aa-border);background:#fff;font-size:.75rem;color:var(--aa-muted)}
.pill svg{color:var(--aa-primary)}
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:28rem;margin-top:2rem}
.stat-grid > div{padding:.85rem 1rem;border:1px solid var(--aa-border);border-radius:14px;background:rgba(255,255,255,.55);backdrop-filter:blur(6px)}
.stat-grid strong{display:block;color:var(--aa-fg);font-size:1.1rem;font-weight:700}
.stat-grid span{font-size:11px;color:var(--aa-muted);text-transform:uppercase;letter-spacing:.1em}

/* Trust card lift */
.trust-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}
.trust-cards article{position:relative;overflow:hidden;padding:1.75rem;background:#fff;border:1px solid var(--aa-border);border-radius:18px;transition:transform .5s ease, box-shadow .5s ease, border-color .3s ease}
.trust-cards article:hover{transform:translateY(-4px);border-color:rgba(30,99,212,.4);box-shadow:0 20px 60px -20px rgba(30,99,212,.35)}
.trust-cards .icon{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:12px;border:1px solid rgba(30,99,212,.3);background:rgba(30,99,212,.08);color:var(--aa-primary);transition:transform .4s ease}
.trust-cards article:hover .icon{transform:scale(1.1) rotate(6deg)}
.trust-cards h3{margin:1.25rem 0 .5rem;font-size:1.05rem}
.trust-cards p{font-size:.9rem}

/* Verify batch layout */
.verify-batch{display:grid;gap:3rem;padding:4rem 0}
@media(min-width:900px){.verify-batch{grid-template-columns:1fr 1.1fr;align-items:center}}
.verify-batch form{display:flex;gap:.5rem;max-width:28rem;margin-top:1.5rem}
.verify-batch input{flex:1;height:48px;padding:0 1rem 0 2.75rem;border-radius:999px;border:1px solid var(--aa-border);font-family:ui-monospace,monospace;background:rgba(255,255,255,.6);backdrop-filter:blur(6px)}
.verify-batch .input-wrap{position:relative;flex:1}
.verify-batch .input-wrap svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--aa-primary)}
.verify-batch .tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;font-size:.75rem;color:var(--aa-muted)}
