/* ============================================================
   SNT BIOTECH LAB, shared stylesheet
   BRAND COLORS: change the 5 values below to your exact brand hex
   ============================================================ */
:root{
  /* ===== YOUR BRAND COLORS (edit these) ===== */
  --navy:#223c72;        /* headings + accents (readable brand blue) */
  --navy-deep:#101f3a;   /* deep navy for footer/strips */
  --teal:#4e70c4;        /* BRAND BLUE (primary accent, links) */
  --teal-bright:#41b06a; /* BRAND GREEN bright (accents on dark) */
  --accent:#34a65b;      /* BRAND GREEN (buttons / call-to-action) */
  /* ---- supporting neutrals (usually leave as-is) ---- */
  --sand:#f6f2ec;
  --paper:#ffffff;
  --ink:#12333f;
  --muted:#5c7883;
  --line:#e3ddd4;
  --radius:16px;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Newsreader',Georgia,serif;font-weight:500;line-height:1.14;letter-spacing:-.01em;color:var(--navy)}
h1{font-size:clamp(2.3rem,5vw,3.7rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem)}
h3{font-size:1.3rem}
p{color:var(--muted);font-size:1.05rem}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.eyebrow{font-family:'Inter';font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.98rem;padding:.85rem 1.5rem;border-radius:100px;transition:.2s;cursor:pointer;border:1.5px solid transparent}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:#d5654a;transform:translateY(-1px)}
.btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:var(--navy-deep)}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:#155e5e}

/* image placeholder */
.ph{background:repeating-linear-gradient(45deg,#eef3f4,#eef3f4 12px,#e6edee 12px,#e6edee 24px);border:1px dashed #9db4bc;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;text-align:center;color:#5c7883;font-size:.82rem;font-weight:600;letter-spacing:.02em;padding:1.5rem;min-height:220px}

/* NAV */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;height:86px}
.logo{font-family:'Newsreader';font-size:1.4rem;font-weight:600;color:var(--navy);letter-spacing:-.02em;display:flex;align-items:center;gap:.55rem}
.logo b{color:var(--teal);font-weight:600}
.logo .mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--teal),var(--navy));display:inline-block}
.logo img{height:59px!important;width:auto;display:block}
.navlinks{display:flex;gap:1.2rem;align-items:center}
.navlinks a{font-size:.9rem;font-weight:500;color:var(--ink);white-space:nowrap}
.navlinks a:hover,.navlinks a.active{color:var(--teal)}
.nav-cta{background:var(--navy);color:#fff!important;padding:.6rem 1.15rem;border-radius:100px;font-weight:600}
.nav-cta:hover{background:var(--teal)}
.menu-btn{display:none;font-size:1.6rem;background:none;border:none;color:var(--navy);cursor:pointer}
@media(max-width:1050px){.navlinks{display:none}.menu-btn{display:block}.navlinks.open{display:flex;position:absolute;top:86px;left:0;right:0;flex-direction:column;background:#fff;padding:1.2rem 28px;border-bottom:1px solid var(--line);gap:1rem}}

/* HERO */
.hero{position:relative;background:linear-gradient(160deg,#15294d 0%,#101f3a 60%,#0a1830 100%);color:#fff;overflow:hidden}
.hero::after{content:"";position:absolute;top:-25%;right:-8%;width:620px;height:620px;background:radial-gradient(circle,rgba(42,163,154,.26),transparent 65%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;padding:84px 28px}
.hero h1{color:#fff;max-width:18ch}
.hero .lead{color:#c8dbe2;font-size:1.2rem;max-width:56ch;margin:1.3rem 0 2rem}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}
.hero-note{margin-top:2.4rem;font-size:.88rem;color:#8fb0bb}
.hero-split{display:grid;grid-template-columns:.92fr 1.08fr;gap:2.8rem;align-items:center}
.hero-split>div:last-child{display:flex}
.hero-split img{width:100%;height:460px!important;object-fit:cover;border-radius:18px}
.hero-split.wide{grid-template-columns:.92fr 1.08fr}
@media(max-width:900px){.hero-split.wide{grid-template-columns:1fr}.hero-split img{height:300px!important}}
.hero-split .ph{min-height:300px;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.25);color:#a9c6cf}
@media(max-width:900px){.hero-split{grid-template-columns:1fr}}

/* TRUST BAR */
.trust{background:var(--navy-deep);border-top:1px solid rgba(255,255,255,.08)}
.trust .wrap{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;padding:18px 28px;align-items:center;justify-content:center;font-size:.84rem;font-weight:500;color:#a9c6cf}
.trust b{color:#fff;font-weight:600}

/* STATS */
.stats{background:var(--sand)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;padding:60px 0}
.stat .num{font-family:'Newsreader';font-size:clamp(2.1rem,4vw,3rem);color:var(--teal);font-weight:600;line-height:1}
.stat p{font-size:.94rem;margin-top:.5rem;color:var(--ink)}
@media(max-width:760px){.stats .grid{grid-template-columns:repeat(2,1fr)}}

section{padding:82px 0}
.center{text-align:center;max-width:62ch;margin:0 auto 3rem}
.center p{margin-top:1rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
@media(max-width:860px){.two{grid-template-columns:1fr;gap:2rem}}

/* CARDS */
.cards{display:grid;gap:1.4rem}
.c3{grid-template-columns:repeat(3,1fr)}
.c4{grid-template-columns:repeat(4,1fr)}
.c2{grid-template-columns:repeat(2,1fr)}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:1.9rem;background:var(--paper);transition:.25s}
.card:hover{box-shadow:0 18px 40px -26px rgba(13,43,62,.4);transform:translateY(-3px)}
.card .badge{display:inline-block;background:var(--sand);color:var(--teal);font-weight:700;font-size:.72rem;letter-spacing:.06em;padding:.35rem .7rem;border-radius:6px;margin-bottom:.8rem}
.card h3{font-size:1.2rem;margin-bottom:.4rem}
.card p{font-size:.96rem}
@media(max-width:900px){.c4{grid-template-columns:repeat(2,1fr)}.c3{grid-template-columns:1fr}}
@media(max-width:620px){.c4,.c2{grid-template-columns:1fr}}

/* DARK PANEL */
.dark{background:linear-gradient(150deg,#1a2f52,#101f3a);color:#fff;border-radius:24px;padding:clamp(2.4rem,5vw,3.6rem)}
.dark h2,.dark h3{color:#fff}
.dark p{color:#bcd4dc}
.dark .cert{display:inline-block;border:1px solid rgba(255,255,255,.22);border-radius:100px;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600;color:#e6f1f4;margin:.35rem .35rem 0 0}

/* STEPS */
.steps{counter-reset:s;display:grid;gap:1rem}
.step{display:flex;gap:1.1rem;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:1.3rem 1.5rem;background:#fff}
.step::before{counter-increment:s;content:counter(s);flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-family:'Newsreader';font-weight:600;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.step h3{font-size:1.1rem;margin-bottom:.2rem}
.step p{font-size:.95rem}

/* MEASURE CHIPS */
.measures{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1rem}
.measure{border:1px solid var(--line);background:#fff;border-radius:100px;padding:.55rem 1.1rem;font-weight:600;font-size:.9rem;color:var(--navy)}
.measure span{color:var(--teal);font-weight:700}

/* QUOTE */
.quote{background:var(--sand)}
.quote blockquote{font-family:'Newsreader';font-size:clamp(1.35rem,2.6vw,2rem);color:var(--navy);line-height:1.35;max-width:24ch}
.quote .who{margin-top:1.2rem;font-weight:600;color:var(--ink)}
.quote .who small{display:block;color:var(--muted);font-weight:500}

/* CTA */
.cta{background:linear-gradient(160deg,#4e70c4,#3552a0);color:#fff;text-align:center}
.cta h2{color:#fff}
.cta p{color:#d5ece9;max-width:52ch;margin:1rem auto 2rem}

/* logos row */
.logos{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.logos .ph{min-height:64px;width:170px;padding:.5rem;font-size:.72rem}

/* FORM */
.form{display:grid;gap:1rem;max-width:560px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form label{font-weight:600;font-size:.85rem;color:var(--ink);display:block;margin-bottom:.35rem}
.form input,.form textarea,.form select{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:.95rem;color:var(--ink)}
.form input:focus,.form textarea:focus{outline:2px solid var(--teal);border-color:transparent}
@media(max-width:560px){.form .row{grid-template-columns:1fr}}

/* FOOTER */
footer{background:var(--navy-deep);color:#9fbcc6;padding:60px 0 30px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
footer h4{color:#fff;font-family:'Inter';font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem}
footer a{display:block;color:#9fbcc6;font-size:.9rem;margin-bottom:.5rem}
footer a:hover{color:#fff}
.flogo{font-family:'Newsreader';font-size:1.4rem;color:#fff;margin-bottom:.7rem}
.fbottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2.4rem;padding-top:1.4rem;font-size:.8rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
@media(max-width:760px){.fgrid{grid-template-columns:1fr 1fr}}

/* mobile spacing refinements */
@media(max-width:640px){
  section{padding:54px 0}
  .hero .wrap{padding:58px 24px}
  .stats .grid{padding:44px 0}
  .wrap{padding:0 22px}
  .hero .lead{font-size:1.08rem}
  .trust .wrap{gap:.7rem 1.4rem}
}
.fbottom a{display:inline;color:#a9c6cf}
.fbottom a:hover{color:#fff}

/* legal pages */
.legal{max-width:820px;margin:0 auto}
.legal h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:.4rem}
.legal h2{font-size:1.4rem;margin:1.9rem 0 .6rem;color:var(--navy)}
.legal h3{font-size:1.1rem;margin:1.2rem 0 .4rem;color:var(--ink)}
.legal p,.legal li{color:var(--muted);font-size:1rem;margin-bottom:.7rem;line-height:1.7}
.legal ul{padding-left:1.2rem;margin-bottom:.8rem}
.legal a{color:var(--teal);font-weight:600}
.legal .updated{color:var(--muted);font-size:.9rem;margin-bottom:1.6rem}
.draft-note{background:#fff6ec;border:1px solid #f0d3ab;color:#8a5a1a;border-radius:12px;padding:1rem 1.2rem;font-size:.9rem;margin-bottom:2rem;line-height:1.6}

/* cookie banner */
#cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 30px -18px rgba(0,0,0,.3);padding:1rem 1.2rem;display:none}
#cookie-banner.show{display:block}
#cookie-banner .cb-in{max-width:1180px;margin:0 auto;display:flex;gap:1.2rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
#cookie-banner p{font-size:.9rem;color:var(--ink);margin:0;max-width:72ch}
#cookie-banner a{color:var(--teal);font-weight:600}
#cookie-banner .cb-btns{display:flex;gap:.6rem;flex-wrap:wrap}
#cookie-banner button{font-family:inherit;font-weight:600;font-size:.9rem;padding:.6rem 1.2rem;border-radius:100px;cursor:pointer;border:1.5px solid var(--line);background:#fff;color:var(--ink)}
#cookie-banner button.accept{background:var(--accent);color:#fff;border-color:transparent}
#cookie-banner button:hover{border-color:var(--teal)}
