:root{--ink:#10232b;--navy:#08232b;--navy2:#0d3440;--paper:#f6f8f7;--white:#fff;--muted:#687a80;--teal:#0c6970;--mint:#b7e2d5;--gold:#c4a15c;--line:#dce5e2;--shadow:0 22px 65px rgba(12,38,45,.09);--ease:cubic-bezier(.2,.75,.2,1)}
[data-theme=dark]{--ink:#eef6f4;--paper:#07161b;--white:#0d2229;--muted:#a8b8ba;--line:#203b42;--shadow:0 22px 65px rgba(0,0,0,.3)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}
.topline{background:#06181e;color:#b8c9cb;font-size:10px;letter-spacing:1.2px}.top-inner{display:flex;justify-content:space-between;padding:8px 0}.top-inner div{display:flex;gap:24px}.nav-wrap{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--white) 91%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope;font-weight:800;letter-spacing:2px;font-size:17px}.brand small{display:block;font-size:7px;letter-spacing:4px;color:var(--teal);margin-top:-3px}.brand-symbol{width:42px;height:42px;border-radius:11px;background:var(--navy);color:var(--mint);display:grid;place-items:center;position:relative}.brand-symbol i{font-style:normal;font-size:23px;line-height:1}.brand-symbol b{position:absolute;font-size:10px;right:6px;bottom:5px;color:var(--gold)}nav{display:flex;align-items:center;gap:25px;font-size:12px;color:var(--muted)}nav>a{transition:.25s}nav>a:hover{color:var(--teal)}.nav-contact{border:1px solid var(--ink);padding:10px 15px;color:var(--ink)}.theme{border:1px solid var(--line);border-radius:50%;width:36px;height:36px;background:none;color:var(--ink);cursor:pointer}.menu{display:none;border:0;background:none;color:var(--ink);font-size:25px}
.hero{background:var(--navy);color:white;position:relative;overflow:hidden;min-height:760px}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(183,226,213,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(183,226,213,.045) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to right,black,transparent 75%)}.hero:after{content:"";position:absolute;width:650px;height:650px;right:-180px;top:40px;border:1px solid rgba(183,226,213,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(183,226,213,.018),0 0 0 140px rgba(183,226,213,.012)}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center;padding:115px 0 95px}.brand-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(183,226,213,.22);border-radius:30px;padding:8px 13px;font-size:9px;letter-spacing:1.8px;color:#c6dad8}.brand-pill span{width:6px;height:6px;background:var(--mint);border-radius:50%;box-shadow:0 0 15px var(--mint)}.hero h1{font-family:Manrope;font-size:clamp(45px,5.5vw,74px);line-height:1.01;letter-spacing:-3px;margin:24px 0}.hero h1 span{color:var(--mint)}.hero-copy>p{max-width:640px;color:#b9cacc;font-size:16px}.hero-actions{display:flex;gap:12px;margin:34px 0}.btn{display:inline-flex;align-items:center;gap:18px;padding:14px 20px;font-size:10px;font-weight:800;letter-spacing:1.4px;border:1px solid transparent;transition:.35s var(--ease);cursor:pointer}.btn-primary{background:var(--mint);color:#072128}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(183,226,213,.15)}.btn-line{border-color:#557178;color:white}.btn-line:hover{background:white;color:var(--navy)}.hero-trust{display:flex;border-top:1px solid #36535a;max-width:650px;margin-top:65px}.hero-trust div{flex:1;padding:16px 16px;border-right:1px solid #36535a}.hero-trust b{display:block;color:var(--mint);font-size:11px}.hero-trust span{display:block;color:#8fa6aa;font-size:10px;margin-top:2px}
.hero-panel{height:475px;border:1px solid rgba(183,226,213,.18);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));backdrop-filter:blur(8px);padding:25px;position:relative;overflow:hidden}.panel-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#86a2a6}.panel-top i{color:var(--mint);font-style:normal}.molecule{position:absolute;inset:75px 30px 125px}.node{position:absolute;width:58px;height:58px;border:1px solid rgba(183,226,213,.5);border-radius:50%;display:grid;place-items:center;background:rgba(183,226,213,.04);box-shadow:0 0 35px rgba(183,226,213,.06)}.node:after{content:"";width:8px;height:8px;background:var(--mint);border-radius:50%;box-shadow:0 0 20px var(--mint)}.n1{left:35%;top:5%}.n2{right:8%;top:42%}.n3{left:18%;bottom:8%}.n4{left:55%;bottom:0}.bond{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(183,226,213,.65),transparent);transform-origin:left}.b1{left:40%;top:18%;width:230px;transform:rotate(25deg)}.b2{left:35%;top:18%;width:190px;transform:rotate(125deg)}.b3{left:27%;bottom:22%;width:190px;transform:rotate(-18deg)}.panel-caption{position:absolute;left:25px;right:25px;bottom:25px;border-top:1px solid rgba(183,226,213,.15);padding-top:18px}.panel-caption small{font-size:8px;letter-spacing:2px;color:var(--mint)}.panel-caption strong{display:block;font-family:Manrope;font-size:24px;margin-top:4px}.panel-caption p{color:#94aeb1;font-size:11px;margin:4px 0}
.proof{background:var(--mint);color:#09262b}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-grid>div{padding:22px;border-right:1px solid rgba(9,38,43,.14)}.proof-grid small{font-size:8px;letter-spacing:1.7px;display:block;opacity:.65}.proof-grid strong{font-size:13px}
.section{padding:110px 0}.section-head{display:grid;grid-template-columns:1.05fr .7fr;gap:90px;align-items:end;margin-bottom:55px}.section-head h2{font-family:Manrope;font-size:clamp(34px,4vw,53px);line-height:1.06;letter-spacing:-2px;margin:12px 0 0}.section-head h2 em,.quality h2 em,.contact h2 em{font-style:normal;color:var(--teal)}.section-head p{color:var(--muted);font-size:14px}.kicker{font-size:9px;letter-spacing:2.5px;color:var(--teal);font-weight:800}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cap-card{background:var(--white);border:1px solid var(--line);padding:28px;border-radius:15px;min-height:285px;position:relative;transition:.4s var(--ease);overflow:hidden}.cap-card:after{content:"";position:absolute;width:130px;height:130px;right:-80px;bottom:-80px;border:1px solid var(--mint);border-radius:50%;transition:.4s}.cap-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#b5d7d0}.cap-card:hover:after{transform:scale(1.5)}.cap-icon{color:var(--teal);font-size:28px}.cap-card>span{position:absolute;top:28px;right:28px;font-size:9px;color:#91a2a5}.cap-card h3{font-family:Manrope;font-size:15px;line-height:1.3;margin:30px 0 10px}.cap-card p{color:var(--muted);font-size:12px}.cap-card a{position:absolute;bottom:27px;font-size:9px;letter-spacing:1.7px;color:var(--teal);font-weight:800}
.portfolio{background:var(--navy);color:white}.light-head p{color:#9eb1b4}.light-head .kicker{color:var(--mint)}.light-head h2 em{color:var(--mint)}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.portfolio-card{background:#0d303b;border:1px solid #214750;overflow:hidden;transition:.4s var(--ease)}.portfolio-card:hover{transform:translateY(-8px);border-color:#6da89f}.visual{height:190px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(145deg,#bcd5d0,#6c9893)}.visual:before{content:"";width:135px;height:135px;border:1px solid rgba(255,255,255,.6);border-radius:50%;position:absolute}.visual span{font-family:Manrope;font-size:70px;color:#f0f7f5;z-index:1}.visual small{position:absolute;left:17px;bottom:14px;font-size:7px;letter-spacing:2px;color:white}.excipient{background:linear-gradient(145deg,#d5d0ba,#8e8b6b)}.pack{background:linear-gradient(145deg,#c6d7df,#678995)}.lab{background:linear-gradient(145deg,#c8d7cf,#678879)}.portfolio-body{padding:21px}.portfolio-body h3{font-size:14px;margin:0 0 10px}.portfolio-body ul{padding-left:16px;color:#a9bec0;font-size:11px;min-height:75px}.portfolio-body a{font-size:8px;letter-spacing:1.5px;color:var(--mint);font-weight:800}
.quality{background:var(--white)}.quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.quality h2,.contact h2{font-family:Manrope;font-size:clamp(36px,4vw,55px);line-height:1.05;letter-spacing:-2px}.quality p{color:var(--muted);font-size:14px}.text-link{display:inline-block;margin-top:20px;color:var(--teal);font-size:9px;letter-spacing:2px;font-weight:800;border-bottom:1px solid var(--gold);padding-bottom:7px}.quality-cards{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.quality-cards div{padding:27px;border:1px solid var(--line)}.quality-cards b{display:block;color:var(--gold);font-size:10px}.quality-cards strong{display:block;font-size:13px;margin-top:25px}.quality-cards span{display:block;color:var(--muted);font-size:10px}
.markets{background:#eef3f1}.market-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ccd9d5}.market{background:var(--paper);padding:28px;min-height:275px;transition:.35s}.market:hover{background:white;transform:translateY(-5px);box-shadow:var(--shadow);z-index:2}.market>span{font-size:9px;color:var(--gold)}.market h3{font-family:Manrope;margin-top:55px;font-size:18px}.market p{font-size:11px;color:var(--muted)}.market>b{font-size:8px;letter-spacing:1.5px;color:var(--teal)}
.why{background:var(--white)}.why-grid{border-top:1px solid var(--line)}.why-item{display:grid;grid-template-columns:60px 1fr 40px;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);align-items:center;transition:.3s}.why-item:hover{padding-left:12px;background:linear-gradient(90deg,rgba(183,226,213,.08),transparent)}.why-item>span{color:var(--gold);font-size:10px}.why-item h3{margin:0;font-family:Manrope;font-size:16px}.why-item p{margin:3px 0 0;color:var(--muted);font-size:12px}.why-item>b{font-size:22px;color:var(--teal);font-weight:400}
.cta{background:var(--mint);color:#08262c;padding:70px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:50px}.cta h2{font-family:Manrope;font-size:clamp(30px,4vw,50px);line-height:1.05;letter-spacing:-1.7px;margin:10px 0}.cta p{font-size:13px;color:#49676a}.cta .btn-primary{background:#08262c;color:white}
.contact{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.contact h2{margin:12px 0}.contact>p{color:var(--muted);font-size:14px}.contact-info{margin-top:35px}.contact-info div{border-top:1px solid var(--line);padding:14px 0}.contact-info small{display:block;font-size:8px;letter-spacing:2px;color:var(--teal)}.contact-info strong{font-size:13px}.form{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form div{display:flex;flex-direction:column;gap:6px}.form label{font-size:8px;letter-spacing:1.5px;color:var(--muted);font-weight:800}.form input,.form select,.form textarea{font:inherit;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:13px;border-radius:5px;outline:none}.form textarea{min-height:125px;resize:vertical}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(12,105,112,.08)}.full{grid-column:1/-1}.form .btn{justify-content:center;width:max-content}
footer{background:#05171d;color:#9db0b3;padding:70px 0 20px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:80px}.footer-brand{color:white}.footer-main p,.footer-main a{font-size:11px;display:block;margin:8px 0}.footer-main h4{color:var(--mint);font-size:9px;letter-spacing:2px}.footer-bottom{border-top:1px solid #1d3b42;margin-top:55px;padding-top:18px;display:flex;justify-content:space-between;font-size:9px;color:#71888d}
.reveal{opacity:0;transform:translateY(22px);transition:.8s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.top-inner>div{display:none}.menu{display:block}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--white);padding:20px;flex-direction:column;align-items:stretch;box-shadow:0 20px 40px rgba(0,0,0,.1)}nav.open{display:flex}.hero-inner,.quality-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.hero-panel{display:none}.cap-grid,.portfolio-grid{grid-template-columns:1fr 1fr}.market-grid{grid-template-columns:1fr 1fr}.section-head{grid-template-columns:1fr;gap:15px}.footer-main{grid-template-columns:1fr 1fr}.cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.topline{display:none}.nav{height:68px}.cap-grid,.portfolio-grid,.market-grid,.footer-main{grid-template-columns:1fr}.hero{min-height:700px}.hero-inner{padding:90px 0 60px}.hero h1{font-size:44px;letter-spacing:-2px}.hero-trust{display:grid;grid-template-columns:1fr 1fr}.proof-grid{grid-template-columns:1fr 1fr}.section{padding:75px 0}.form{grid-template-columns:1fr}.full{grid-column:auto}.form .btn{width:100%}.footer-bottom{display:block}.footer-bottom span{display:block;margin:7px 0}}

.visual img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78) contrast(1.02)}.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,20,25,.4))}.visual small{z-index:2}
.hero{background-image:linear-gradient(90deg,rgba(5,23,29,.97) 0%,rgba(5,23,29,.88) 50%,rgba(5,23,29,.55) 100%),url("../images/hero-pharma.jpg");background-size:cover;background-position:center}.hero-grid{mix-blend-mode:screen}

/* V4 readability, accessibility and mobile-first refinements */
html { scroll-behavior: smooth; }
body { font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1,h2,h3,h4,.brand,.btn,.kicker,.brand-pill,.topline,nav { font-family: Manrope, Inter, sans-serif; }
.topline { font-size: 13px; }
.topline a { color: inherit; text-decoration: none; margin-left: 24px; }
.nav a { font-size: 14px; }
.brand { font-size: 17px; }
.brand small { font-size: 9px; letter-spacing: 1.8px; }
.hero { min-height: 760px; }
.hero h1 { font-size: clamp(44px, 5vw, 76px); line-height: 1.05; letter-spacing: -2.8px; }
.hero-copy > p { font-size: 18px; line-height: 1.75; max-width: 680px; }
.btn { min-height: 50px; padding: 13px 20px; font-size: 13px; }
.hero-trust span { font-size: 12px; }
.section-head p, .quality p, .contact > p, .cta p { font-size: 16px; line-height: 1.75; }
.section-head h2, .quality h2, .contact h2 { font-size: clamp(38px, 4.5vw, 60px); }
.cap-card h3, .portfolio-body h3, .why-item h3 { font-size: 17px; }
.cap-card p, .portfolio-body ul, .why-item p { font-size: 14px; line-height: 1.65; }
.cap-card a, .portfolio-body a, .market>b, .text-link { font-size: 11px; }
.portfolio-body { padding: 24px; }
.portfolio-body ul { min-height: 95px; }
.market p { font-size: 14px; line-height: 1.65; }
.market h3 { font-size: 21px; }
.contact-info strong { font-size: 15px; }
.form label { font-size: 11px; }
.form input, .form select, .form textarea { min-height: 50px; font-size: 16px; }
.form textarea { min-height: 150px; }
.hero-panel { min-height: 500px; }
.hero-panel > img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; display: block; opacity: .82; }
.hero-panel:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,23,29,.1),rgba(5,23,29,.82)); pointer-events:none; }
.hero-panel .panel-caption { z-index: 2; }
.about { background: #f7faf9; }
.about-grid { display:grid; grid-template-columns: 1fr 1fr; gap:100px; align-items:end; }
.about h2 { font-family:Manrope; font-size:clamp(38px,4.5vw,60px); line-height:1.05; letter-spacing:-2px; }
.about h2 em { font-style:normal; color:var(--teal); }
.about p { color:var(--muted); font-size:16px; line-height:1.8; }
*:focus-visible { outline: 3px solid #e6b95d; outline-offset: 3px; }
@media (max-width:900px){
  .hero { min-height: auto; }
  .hero-copy > p { font-size: 17px; }
  .hero-panel { display:block; min-height:360px; }
  .hero-panel > img { min-height:360px; }
  .about-grid { grid-template-columns:1fr; gap:30px; }
  .section-head p, .quality p, .contact > p, .cta p { font-size:15px; }
}
@media (max-width:560px){
  body { font-size:16px; }
  .hero-inner { padding: 82px 0 54px; }
  .hero h1 { font-size: clamp(40px, 11vw, 52px); letter-spacing:-1.8px; }
  .hero-copy > p { font-size:16px; }
  .hero-panel { min-height:290px; }
  .hero-panel > img { min-height:290px; }
  .section { padding: 68px 0; }
  .section-head h2, .quality h2, .contact h2, .about h2 { font-size: clamp(35px, 10vw, 46px); }
  .proof-grid strong { font-size:14px; }
  .cap-card { min-height:270px; }
  .portfolio .section-head p { color:#b8c8ca; }
}
@media (prefers-reduced-motion: reduce){ *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }


/* =========================================================
   V5 TYPOGRAPHY SYSTEM — PREMIUM PHARMA / B2B
   Headings/UI: DM Sans | Body: Source Sans 3
   ========================================================= */
:root {
  --font-body: "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html { font-size: 16px; }
body {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.72;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,.brand,.btn,.kicker,.brand-pill,.topline,nav,.proof-grid strong,.market>b,.text-link {
  font-family: var(--font-heading);
}
h1,h2,h3,h4,h5,h6 {
  font-weight: 650;
  text-wrap: balance;
}
.brand { font-weight: 700; letter-spacing: .2px; font-size: 18px; }
.brand small { font-family: var(--font-body); font-weight: 600; }
.topline { font-size: 13px; letter-spacing: .15px; }
nav { font-size: 14px; font-weight: 500; }
nav>a { letter-spacing: .05px; }
.hero h1 {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(46px, 5.2vw, 78px);
  line-height: 1.04;
  letter-spacing: -2.4px;
}
.hero-copy > p {
  font-family: var(--font-body);
  font-size: 19px;
  line-height: 1.7;
  letter-spacing: .05px;
}
.btn {
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .35px;
}
.hero-trust b { font-family: var(--font-heading); font-size: 13px; font-weight: 650; }
.hero-trust span { font-family: var(--font-body); font-size: 13px; line-height: 1.45; }
.section-head h2,.quality h2,.contact h2,.about h2,.cta h2 {
  font-family: var(--font-heading);
  font-weight: 650;
  letter-spacing: -1.8px;
}
.section-head p,.quality p,.contact > p,.cta p,.about p {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.75;
}
.kicker { font-size: 11px; font-weight: 700; letter-spacing: 1.9px; }
.cap-card h3,.portfolio-body h3,.why-item h3 {
  font-family: var(--font-heading);
  font-weight: 650;
  font-size: 18px;
  line-height: 1.3;
}
.cap-card p,.portfolio-body ul,.why-item p,.market p {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.65;
}
.cap-card a,.portfolio-body a,.text-link {
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 1px;
}
.portfolio-body ul { min-height: 100px; }
.market h3 { font-family: var(--font-heading); font-weight: 650; font-size: 22px; }
.market>b { font-size: 11px; font-weight: 650; letter-spacing: 1px; }
.quality-cards strong { font-family: var(--font-heading); font-weight: 650; font-size: 15px; }
.quality-cards span { font-family: var(--font-body); font-size: 13px; line-height: 1.5; }
.why-item h3 { font-size: 18px; }
.why-item p { font-size: 15px; }
.contact-info small,.form label { font-family: var(--font-heading); font-size: 11px; font-weight: 650; letter-spacing: 1.2px; }
.contact-info strong { font-family: var(--font-body); font-size: 16px; font-weight: 600; }
.form input,.form select,.form textarea {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.4;
}
.footer-main p,.footer-main a { font-family: var(--font-body); font-size: 13px; line-height: 1.6; }
.footer-main h4 { font-family: var(--font-heading); font-size: 11px; font-weight: 650; letter-spacing: 1.6px; }
.footer-bottom { font-family: var(--font-body); font-size: 11px; }
@media (max-width: 900px) {
  body { font-size: 16px; }
  .hero-copy > p { font-size: 18px; }
  .section-head p,.quality p,.contact > p,.cta p,.about p { font-size: 16px; }
}
@media (max-width: 560px) {
  body { font-size: 16px; line-height: 1.68; }
  .hero h1 { font-size: clamp(40px, 10.5vw, 51px); letter-spacing: -1.5px; }
  .hero-copy > p { font-size: 17px; line-height: 1.65; }
  .section-head h2,.quality h2,.contact h2,.about h2 { letter-spacing: -1.2px; }
  .section-head p,.quality p,.contact > p,.cta p,.about p { font-size: 16px; }
  .cap-card h3,.portfolio-body h3,.why-item h3 { font-size: 18px; }
  .cap-card p,.portfolio-body ul,.why-item p,.market p { font-size: 15px; }
  .form input,.form select,.form textarea { font-size: 16px; }
}
