/* ============ SNT Biotech — Ultra-Clean Flagship ============ */
:root{
  --green:#20D07A; --green-d:#12a35f; --blue:#5277C9; --blue-d:#3f5fae;
  --ink:#070B33; --slate:#3a4256; --muted:#6b7280; --faint:#9aa1b0;
  --line:#eef0f2; --line2:#e4e7ec; --bg:#ffffff; --tint:#f6f8f7; --tint-b:#f3f6fc;
  --grad:linear-gradient(90deg,var(--green),var(--blue));
  --r:18px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Lato',system-ui,-apple-system,sans-serif;color:var(--slate);line-height:1.7;background:var(--bg);-webkit-font-smoothing:antialiased;font-size:17px}
h1,h2,h3,h4{font-family:'Century Gothic','Jost',sans-serif;color:var(--ink);font-weight:600;letter-spacing:-.022em;line-height:1.12}
h1{font-size:clamp(2.5rem,5.4vw,4rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
h3{font-size:1.15rem;font-weight:600}
p{color:var(--muted)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}
section{padding:120px 0;position:relative}
.center{max-width:680px;margin:0 auto 64px;text-align:center}
.eyebrow{font-family:'Century Gothic','Jost';text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--green-d)}
.eyebrow.b{color:var(--blue)}
.lead{font-size:1.2rem;color:var(--slate);line-height:1.6}
.thin-rule{height:3px;width:60px;background:var(--grad);border-radius:3px;margin:0 auto}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;height:80px;gap:2rem}
.logo img{height:30px;width:auto}
.navlinks{display:flex;align-items:center;gap:2.1rem}
.navlinks a{font-size:.95rem;font-weight:500;color:var(--slate)}
.navlinks a:hover{color:var(--green-d)}
.nav-cta{color:var(--blue)!important;font-weight:600}
.nav-cta:hover{color:var(--blue-d)!important}
.menu-btn{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer;color:var(--ink)}
/* dropdown nav */
.drop{position:relative}
.drop>.dropbtn{cursor:pointer}
.dropmenu{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line2);border-radius:14px;box-shadow:0 26px 54px -26px rgba(7,11,51,.32);padding:.45rem;min-width:220px;display:none;flex-direction:column;z-index:60}
.drop:hover .dropmenu,.drop:focus-within .dropmenu{display:flex}
.dropmenu a{padding:.58rem .85rem;border-radius:9px;font-size:.9rem;color:var(--slate);white-space:nowrap}
.dropmenu a:hover{background:var(--tint);color:var(--green-d)}

/* buttons */
.btn{display:inline-block;font-weight:600;font-size:1rem;padding:.9rem 1.7rem;border-radius:999px;transition:.2s;border:1.5px solid transparent;cursor:pointer}
.btn-primary{background:var(--green);color:#fff}
.btn-primary:hover{background:var(--green-d);transform:translateY(-1px)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-d)}
.btn-ghost{border-color:var(--line2);color:var(--ink);background:#fff}
.btn-ghost:hover{border-color:var(--green)}
.link{font-weight:600;color:var(--blue);font-size:1rem}
.link:hover{color:var(--blue-d)}
.hero-cta{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap;margin-top:2.2rem}

/* hero */
.hero{position:relative;overflow:hidden;background:#fff;padding:0}
.hero-inner{max-width:1140px;margin:0 auto;padding:0 28px}
.hero-copy{max-width:540px;padding:108px 0 100px}
.hero-split{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}
.hero h1{margin-bottom:1.4rem}
.hero h1 .g{color:var(--green-d)}.hero h1 .b{color:var(--blue)}
.hero .lead{max-width:46ch}
.hero-photo{position:absolute;top:0;right:0;bottom:0;width:50%}
.hero-photo>img{width:100%;height:100%;object-fit:cover;display:block}
.hero-divider{position:absolute;top:0;left:-1px;height:100%;width:158px;pointer-events:none}
.hero-divider svg{width:100%;height:100%;display:block}
.hero-note{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--faint);letter-spacing:.02em}
.hero-note b{color:var(--slate);font-weight:600}

/* dashboard (minimal) */
.dash{background:#fff;border:1px solid var(--line2);border-radius:var(--r);box-shadow:0 40px 80px -50px rgba(16,32,56,.35);overflow:hidden}
.dash-top{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.2rem;border-bottom:1px solid var(--line)}
.dash-top i{width:9px;height:9px;border-radius:50%;background:#e4e9ea}
.dash-top i:nth-child(2){background:#eef2f3}
.dash-title{margin-left:.4rem;font-family:'Century Gothic','Jost';font-weight:600;font-size:.8rem;color:var(--slate)}
.dash-live{margin-left:auto;display:inline-flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-d)}
.dash-live .d{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.dash-body{padding:1.4rem}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;padding-bottom:1.3rem;border-bottom:1px solid var(--line)}
.kpi .k{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--faint);font-weight:700}
.kpi .v{font-family:'Century Gothic','Jost';font-weight:700;font-size:1.75rem;color:var(--ink);margin-top:.2rem;line-height:1}
.kpi .v.g{color:var(--green-d)}.kpi .v.b{color:var(--blue)}
.mbars{padding-top:1.3rem;display:grid;gap:.85rem}
.mrow{display:grid;grid-template-columns:46px 1fr 38px;align-items:center;gap:.7rem;font-size:.76rem;font-weight:600;color:var(--slate)}
.track{height:7px;background:#eef2f3;border-radius:99px;overflow:hidden}
.fill{height:100%;border-radius:99px;background:var(--green)}
.fill.b{background:var(--blue)}
.mrow .pct{text-align:right;color:var(--muted)}

/* quiet trust line */
.trustline{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trustline .wrap{display:flex;flex-wrap:wrap;gap:.6rem 2.4rem;justify-content:center;padding:26px 28px}
.trustline span{font-size:.82rem;color:var(--faint);font-weight:500}
.trustline b{color:var(--slate);font-weight:600}

/* minimal grids */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 2.6rem}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem 2.6rem}
.item h3{margin-bottom:.5rem}
.item p{font-size:.98rem}
.item .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:1.2rem;margin-bottom:1rem;background:var(--tint);color:var(--green-d)}
.item .ic.b{background:var(--tint-b);color:var(--blue)}
.num-tag{font-family:'Century Gothic','Jost';font-weight:700;font-size:.9rem;color:var(--green);margin-bottom:.6rem}
.num-tag.b{color:var(--blue)}

/* steps (integrated) minimal */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem 2.4rem}
.step{border-top:2px solid var(--line2);padding-top:1.1rem}
.step .n{font-family:'Century Gothic','Jost';font-weight:700;font-size:.85rem;color:var(--green);margin-bottom:.5rem}
.step:nth-child(even) .n{color:var(--blue)}
.step h3{margin-bottom:.35rem}
.step p{font-size:.95rem}

/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.split.rev .txt{order:2}
.split img{border-radius:var(--r);width:100%;object-fit:cover}
.chips{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.5rem}
.chip{font-size:.8rem;font-weight:600;color:var(--slate);border:1px solid var(--line2);padding:.35rem .8rem;border-radius:99px}
.chip.g{color:var(--green-d);border-color:#bfe8cc}
.chip.b{color:var(--blue);border-color:#c3d3f5}

/* programs */
.prog-lead{display:grid;grid-template-columns:1fr 1fr;gap:3.4rem;align-items:center;margin-bottom:3.4rem}
.prog-lead img{border-radius:var(--r)}
.badge{display:inline-block;font-family:'Century Gothic','Jost';font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.3rem .7rem;border-radius:99px;background:var(--tint);color:var(--green-d);margin-bottom:.8rem}
.badge.b{background:var(--tint-b);color:var(--blue)}
.prog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.prog{border-top:2px solid var(--line2);padding-top:1.1rem}
.prog h3{margin:.5rem 0 .3rem}
.prog p{font-size:.92rem}

/* stat + quote */
.statband{text-align:center}
.statband .big{font-family:'Century Gothic','Jost';font-weight:700;font-size:clamp(4rem,10vw,6.5rem);line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.statband p{max-width:52ch;margin:1rem auto 0;font-size:1.05rem}
.quote{max-width:840px;margin:0 auto;text-align:center}
.quote blockquote{font-family:'Century Gothic','Jost';font-weight:500;font-size:clamp(1.4rem,2.6vw,2rem);color:var(--ink);line-height:1.4;letter-spacing:-.01em}
.quote .who{margin-top:1.6rem;font-weight:600;color:var(--slate)}
.quote .who small{display:block;color:var(--faint);font-weight:500;font-size:.86rem;margin-top:.2rem}
.quote .mark{font-family:'Century Gothic','Jost';font-size:2rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800;margin-bottom:.6rem}

/* recognition */
.logos-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.pill{border:1px solid var(--line2);border-radius:99px;padding:.7rem 1.3rem;font-family:'Century Gothic','Jost';font-weight:600;font-size:.9rem;color:var(--slate)}
.pill small{color:var(--faint);font-weight:500}
.awards{display:flex;flex-wrap:wrap;gap:1.8rem 2.6rem;align-items:center;justify-content:center;margin:1.8rem auto 0;max-width:940px}
.awards img{width:auto;object-fit:contain}
.awards .badge{height:88px}
.awards .word{height:52px}
@media(max-width:640px){.awards{gap:1.4rem 1.8rem}.awards .badge{height:62px}.awards .word{height:38px}}

/* cta */
.cta{text-align:center;background:var(--tint)}
.cta h2{margin-bottom:1rem}
.cta p{max-width:52ch;margin:0 auto 2rem;font-size:1.1rem}

/* footer */
footer{border-top:1px solid var(--line);padding:64px 0 34px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.4rem}
.flogo img{height:26px}
.fabout{color:var(--muted);font-size:.9rem;max-width:34ch;margin-top:1rem}
footer h4{font-family:'Century Gothic','Jost';font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);margin-bottom:1rem;font-weight:700}
footer .col a{display:block;color:var(--slate);font-size:.92rem;margin-bottom:.6rem}
footer .col a:hover{color:var(--green-d)}
.fbottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid var(--line);margin-top:3rem;padding-top:1.6rem;color:var(--faint);font-size:.82rem}

/* faq minimal (inner pages compat) */
.faq details{border-bottom:1px solid var(--line);padding:1.2rem 0}
.faq summary{font-family:'Century Gothic','Jost';font-weight:600;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.faq summary:after{content:"+";color:var(--green);font-size:1.3rem}
.faq details[open] summary:after{content:"\2212"}
.faq details p{margin-top:.7rem}

/* inner-page compatibility */
.ph{background:var(--tint);border:1px dashed var(--line2);border-radius:var(--r);min-height:280px;display:grid;place-items:center;color:var(--faint);font-size:.82rem;text-align:center;padding:1.2rem}
.dark{background:var(--ink);color:#fff;border-radius:var(--r);padding:3rem}
.dark h2{color:#fff}.dark p{color:#c3ccd6}
.cert{display:inline-block;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#dbe6f5;font-size:.78rem;padding:.35rem .75rem;border-radius:99px;margin:0 .4rem .5rem 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.form{display:flex;flex-direction:column;gap:1.05rem;background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem;box-shadow:0 24px 55px -32px rgba(16,32,56,.28)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.05rem}
.form label{display:block;font-size:.8rem;font-weight:700;color:var(--slate);margin-bottom:.4rem;font-family:'Century Gothic','Jost',sans-serif}
.form input,.form select,.form textarea{width:100%;box-sizing:border-box;padding:.78rem .9rem;border:1px solid var(--line2);border-radius:10px;font-family:inherit;font-size:.97rem;color:var(--ink);background:var(--tint);transition:border-color .15s,box-shadow .15s,background .15s}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px rgba(32,208,122,.16)}
.form textarea{resize:vertical;min-height:120px}
.form button{margin-top:.3rem;width:100%}
@media(max-width:760px){.two{grid-template-columns:1fr;gap:2.2rem}}
@media(max-width:560px){.form{padding:1.4rem}.form .row{grid-template-columns:1fr}}
.cards{display:grid;gap:2rem}.c2{grid-template-columns:1fr 1fr}.c3{grid-template-columns:repeat(3,1fr)}.c4{grid-template-columns:repeat(4,1fr)}
.card{border-top:2px solid var(--line2);padding-top:1.1rem}
.arrow{display:inline-block;margin-top:.9rem;font-weight:600;color:var(--blue)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.num{font-family:'Century Gothic','Jost';font-weight:700;font-size:2.2rem;color:var(--ink)}

/* hero photo + floating card */
.hero-media{position:relative}
.hero-media>img{border-radius:26px;width:100%;object-fit:cover;min-height:460px;box-shadow:0 50px 100px -55px rgba(16,32,56,.45)}
.float-card{position:absolute;background:#fff;border:1px solid var(--line2);border-radius:18px;box-shadow:0 30px 60px -34px rgba(16,32,56,.4);padding:1rem 1.25rem;display:flex;align-items:center;gap:.9rem}
.float-card .fc-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:1.3rem;background:var(--tint);color:var(--green-d)}
.float-card .fc-ic.b{background:var(--tint-b);color:var(--blue)}
.float-card .fc-k{font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;color:var(--faint);font-weight:700}
.float-card .fc-v{font-family:'Bricolage Grotesque','Century Gothic','Jost';font-weight:700;font-size:1.5rem;color:var(--ink);line-height:1.05}
.float-card.tl{top:-24px;left:-24px}
.float-card.br{bottom:-24px;right:-24px}

/* circular member journey */
.journey{position:relative;width:min(580px,90vw);aspect-ratio:1;margin:8px auto 0}
.journey .ring{position:absolute;inset:11%;border-radius:50%;border:2px dashed var(--line2)}
.journey .ring:before{content:"";position:absolute;inset:-11%;border-radius:50%;border:1px solid var(--line)}
.journey .core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:33%;height:33%;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--blue));color:#fff;display:grid;place-items:center;text-align:center;padding:.8rem;box-shadow:0 26px 60px -22px rgba(48,99,209,.55)}
.journey .core b{font-family:'Bricolage Grotesque','Century Gothic','Jost';font-weight:700;font-size:clamp(.9rem,2vw,1.1rem);line-height:1.15;display:block}
.journey .core small{font-size:.64rem;opacity:.85;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-top:.25rem;display:block}
.journey .node{position:absolute;transform:translate(-50%,-50%);width:130px;text-align:center}
.journey .node .bubble{width:70px;height:70px;border-radius:50%;background:#fff;border:1px solid var(--line2);box-shadow:0 18px 38px -20px rgba(16,32,56,.45);display:grid;place-items:center;font-size:1.8rem;margin:0 auto .55rem;position:relative}
.journey .node .bubble .st{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-family:'Bricolage Grotesque';font-size:.66rem;font-weight:700;display:grid;place-items:center;border:2px solid #fff}
.journey .node:nth-child(even) .bubble .st{background:var(--blue)}
.journey .node .lab{font-family:'Bricolage Grotesque','Century Gothic','Jost';font-weight:700;font-size:.86rem;color:var(--ink)}
.journey .node .sub{font-size:.7rem;color:var(--faint);font-weight:500;line-height:1.3}
.journey .n1{top:4%;left:50%}.journey .n2{top:28%;left:92%}.journey .n3{top:72%;left:92%}
.journey .n4{top:96%;left:50%}.journey .n5{top:72%;left:8%}.journey .n6{top:28%;left:8%}

/* dashboard section copy */
.dash-note{font-size:.82rem;color:var(--faint);text-align:center;margin-top:1.4rem}

/* logo strips */
.logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;max-width:940px;margin:0 auto}
.logo-tile{background:#fff;border:1px solid var(--line);border-radius:14px;height:104px;display:grid;place-items:center;padding:16px 18px;transition:.2s}
.logo-tile:hover{box-shadow:0 20px 44px -28px rgba(16,32,56,.38);transform:translateY(-2px)}
.logo-tile img{max-height:100%;max-width:100%;object-fit:contain}
.cert-logos{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;margin-top:1.7rem}
.cert-logos img{height:84px;width:auto;object-fit:contain}
.cert-logos img[src*="soc2"],.cert-logos img[src*="hitrust"]{height:114px}
.cert{text-align:center}
.cert-name{font-size:.72rem;color:var(--muted);margin-top:.55rem;font-weight:500;line-height:1.3}

/* social icons */
.social{display:flex;gap:.7rem;margin-top:1.2rem}
.social a{width:40px;height:40px;border:1px solid var(--line2);border-radius:11px;display:grid;place-items:center;color:var(--slate);transition:.2s}
.social a:hover{border-color:var(--green);color:var(--green-d);transform:translateY(-2px)}
.social svg{width:18px;height:18px;fill:currentColor}

/* legal pages */
.legal{max-width:800px;margin:0 auto}
.legal h1{font-size:2.3rem;margin-bottom:.3rem}
.legal .updated{color:var(--faint);font-size:.9rem;margin-bottom:2.2rem}
.legal h2{font-size:1.3rem;margin:2.2rem 0 .6rem}
.legal p,.legal li{color:var(--slate);font-size:1rem}
.legal ul{margin:.6rem 0 .6rem 1.3rem}.legal li{margin-bottom:.4rem}
.legal a{color:var(--blue-d);text-decoration:underline}

/* cookie banner */
.cookie{position:fixed;bottom:20px;left:20px;right:20px;max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line2);border-radius:16px;box-shadow:0 30px 70px -30px rgba(7,11,51,.45);padding:1.2rem 1.4rem;z-index:200;display:none}
.cookie.show{display:block}
.cookie p{font-size:.86rem;color:var(--slate);margin-bottom:.9rem}
.cookie .row{display:flex;gap:.7rem;flex-wrap:wrap}
.cookie button{border:0;border-radius:999px;padding:.6rem 1.2rem;font-weight:700;font-size:.85rem;cursor:pointer;font-family:inherit}
.cookie .acc{background:var(--green);color:#fff}
.cookie .dec{background:var(--tint);color:var(--ink);border:1px solid var(--line2)}

/* trust badge bar */
.trustbar{border-top:1px solid var(--line);background:var(--tint)}
.trustbar .wrap{display:flex;flex-wrap:wrap;gap:.6rem .8rem;justify-content:center;align-items:center;padding:24px 28px}
.trustbar span{font-family:'Jost','Century Gothic',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.05em;color:var(--slate);border:1px solid var(--line2);border-radius:99px;padding:.42rem .95rem;background:#fff}
.trustbar .tlabel{border:0;background:none;color:var(--faint);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;padding:.42rem .3rem}

/* responsive */
@media(max-width:940px){
  .hero-split,.split,.two,.prog-lead{grid-template-columns:1fr;gap:2.6rem}
  .split.rev .txt{order:0}
  .grid3,.steps,.prog-grid{grid-template-columns:1fr 1fr}
  .navlinks{position:absolute;top:80px;left:0;right:0;flex-direction:column;align-items:flex-start;background:#fff;border-bottom:1px solid var(--line);padding:1.2rem 28px;gap:1.1rem;display:none}
  .navlinks.open{display:flex}
  .menu-btn{display:block}
  .drop{width:100%}
  .dropmenu{position:static;transform:none;display:flex;box-shadow:none;border:0;border-radius:0;padding:.3rem 0 .3rem 1rem;min-width:0}
  .fgrid{grid-template-columns:1fr 1fr}
  .logo-grid{grid-template-columns:repeat(3,1fr)}
  .hero-photo{position:static;width:100%;height:300px}
  .hero-divider{display:none}
  .hero-copy{max-width:none;padding:80px 0 44px}
}
@media(max-width:600px){
  .logo-grid{grid-template-columns:repeat(2,1fr)}
  section{padding:80px 0}
  .grid3,.grid2,.steps,.prog-grid,.kpis,.stats .grid{grid-template-columns:1fr}
  .kpis{grid-template-columns:repeat(3,1fr)}
  .fbottom{flex-direction:column}
  .journey{width:100%;aspect-ratio:auto;display:grid;gap:1.1rem}
  .journey .ring,.journey .core{display:none}
  .journey .node{position:static;transform:none;width:100%;display:flex;align-items:center;gap:1rem;text-align:left}
  .journey .node .bubble{margin:0;flex:0 0 auto}
  .float-card{position:static;margin:1rem .6rem 0 0;display:inline-flex}
}
