@charset "UTF-8";

.invibio-page { box-sizing:border-box; color:#46515a; float:left; font-size:16px; padding:0 30px 28px; width:774px; }
.invibio-page * { box-sizing:border-box; }
.invibio-breadcrumb { display:flex; gap:8px; margin:17px 8px 14px; }
.invibio-breadcrumb a { color:#2c79ac; text-decoration:none; }
.invibio-breadcrumb span { color:#6d7880; }
.invibio-hero { background:#e7edf0; border-radius:16px; box-shadow:0 18px 38px rgba(31,42,81,.13); height:430px; overflow:hidden; position:relative; }
.invibio-hero-image { height:100%; object-fit:cover; position:absolute; width:100%; }
.invibio-hero-shade { background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 52%,rgba(255,255,255,.22) 82%); inset:0; position:absolute; }
.invibio-hero-content { left:38px; max-width:445px; position:absolute; top:36px; z-index:1; }
.invibio-logo { display:block; height:auto; margin-bottom:24px; width:150px; }
.invibio-hero-content > span,.invibio-kicker { color:#2c79ac; display:block; font:700 13px TitilliumText22LBold,Arial,sans-serif; letter-spacing:1.2px; text-transform:uppercase; }
.invibio-hero h1 { color:#1f2a51; font:700 39px/1.03 TitilliumText22LBold,Arial,sans-serif; letter-spacing:-1.2px; margin:10px 0 16px; }
.invibio-hero p { color:#45525c; font-size:17px; line-height:1.43; margin:0; max-width:410px; }
.invibio-hero-emphasis { color:#1f2a51; display:block; font-family:TitilliumText22LBold,Arial,sans-serif; line-height:1.35; margin-top:14px; max-width:420px; }
.invibio-intro { margin:52px 12px 34px; max-width:650px; }
.invibio-page h2 { color:#1f2a51; font:700 31px/1.12 TitilliumText22LBold,Arial,sans-serif; letter-spacing:-.7px; margin:8px 0 15px; }
.invibio-intro p,.invibio-partnership p { font-size:17px; line-height:1.62; margin:0; }
.invibio-intro p + p { margin-top:12px; }
.invibio-stats { background:linear-gradient(135deg,#1f2a51,#286a99); border-radius:13px; color:#fff; display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:48px; overflow:hidden; }
.invibio-stats article { border-right:1px solid rgba(255,255,255,.17); min-height:270px; padding:25px 20px; }
.invibio-stats article:last-child { border-right:0; }
.invibio-stats strong { color:#fff; display:block; font:700 30px TitilliumText22LBold,Arial,sans-serif; margin-bottom:8px; }
.invibio-stats article:last-child strong { font-size:18px; line-height:1.15; min-height:35px; }
.invibio-page .invibio-stats h3 { color:#fff; font-size:18px; margin:0 0 10px; text-transform:none; }
.invibio-stats p { font-size:14px; line-height:1.42; margin:0; }
.invibio-partnership { align-items:center; background:#eef5f8; border-left:5px solid #2c79ac; display:grid; gap:30px; grid-template-columns:1.1fr .9fr; margin-bottom:52px; padding:34px; }
.invibio-partnership ul { background:#fff; border-radius:10px; color:#1f2a51; line-height:1.4; margin:0; padding:20px 20px 20px 38px; }
.invibio-partnership li { margin:8px 0; }
.invibio-partnership-image { background:#fff; border-radius:10px; display:block; justify-self:center; max-height:390px; max-width:300px; object-fit:contain; padding:14px; width:100%; }
.invibio-capabilities,.invibio-applications,.invibio-library { margin:0 12px 52px; }
.invibio-capability-grid { display:grid; gap:12px; grid-template-columns:repeat(2,1fr); }
.invibio-applications > div { display:grid; gap:12px; grid-template-columns:repeat(3,1fr); }
.invibio-applications-image { background:#fff; border-radius:12px; display:block; height:auto; margin:22px auto 28px; max-width:680px; width:100%; }
.invibio-capability-grid article,.invibio-applications article { background:#fff; border:1px solid #dce5ea; border-radius:10px; box-shadow:0 9px 24px rgba(31,42,81,.06); padding:22px; }
.invibio-capability-grid article > span { color:#75aacd; font:700 13px TitilliumText22LBold,Arial,sans-serif; }
.invibio-page h3 { color:#1f2a51; font:700 20px/1.16 TitilliumText22LBold,Arial,sans-serif; margin:8px 0; }
.invibio-capability-grid p,.invibio-applications p { font-size:15px; line-height:1.48; margin:0; }
.invibio-applications { border-top:1px solid #d6e0e6; padding-top:40px; }
.invibio-library { border-top:4px solid #2c79ac; padding-top:30px; }
.invibio-library > div { display:grid; gap:10px; grid-template-columns:repeat(2,1fr); }
.invibio-library a { background:#f1f6f8; border-radius:9px; color:#46515a; padding:19px; text-decoration:none; }
.invibio-library a > span { color:#2c79ac; font-size:11px; letter-spacing:.8px; text-transform:uppercase; }
.invibio-library a h3 { font-size:18px; }
.invibio-library a strong { color:#245f8d; font-size:14px; }
.invibio-source { background:#f3f6f7; border-radius:10px; margin:0 12px 24px; padding:22px 24px; }
.invibio-source strong { color:#1f2a51; }
.invibio-source p { margin:5px 0 8px; }
.invibio-source a { color:#2c79ac; }
.invibio-source-closing { color:#1f2a51; font-family:TitilliumText22LBold,Arial,sans-serif; padding-top:8px; }
body .invibio-page + .material-contact { margin-left:30px; width:714px; }

@media(max-width:760px) {
    .invibio-page { float:none; padding:0 12px 24px; width:100%; }
    .invibio-hero { height:510px; }
    .invibio-hero-image { object-position:65% center; }
    .invibio-hero-shade { background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.82)); }
    .invibio-hero-content { left:24px; max-width:calc(100% - 48px); top:32px; }
    .invibio-logo { width:135px; }
    .invibio-hero h1 { font-size:clamp(33px,9.5vw,40px); }
    .invibio-intro { margin:40px 8px 30px; }
    .invibio-stats,.invibio-partnership,.invibio-capability-grid,.invibio-applications > div,.invibio-library > div { grid-template-columns:1fr; }
    .invibio-stats article { border-bottom:1px solid rgba(255,255,255,.17); border-right:0; min-height:0; }
    .invibio-stats article:last-child { border-bottom:0; }
    .invibio-partnership { padding:28px 22px; }
    .invibio-partnership-image { max-height:none; max-width:100%; }
    .invibio-capabilities,.invibio-applications,.invibio-library { margin-left:8px; margin-right:8px; }
    body .invibio-page + .material-contact { margin-left:12px; width:calc(100% - 24px); }
}
