/* Bioject 2.0.2 — header, icons, media modules and accessibility refinements */
.ui-icon{display:inline-flex;width:1.15em;height:1.15em;position:relative;flex:0 0 auto;vertical-align:-.18em;color:currentColor}
.ui-icon:before,.ui-icon:after{content:"";position:absolute;box-sizing:border-box}
.ui-icon-arrow:before{width:.62em;height:.62em;border-top:2px solid;border-right:2px solid;transform:rotate(45deg);left:.12em;top:.26em}
.ui-icon-check:before{width:.72em;height:.38em;border-left:2px solid;border-bottom:2px solid;transform:rotate(-45deg);left:.2em;top:.24em}
.ui-icon-mail:before{inset:.16em .06em;border:1.8px solid;border-radius:2px}.ui-icon-mail:after{width:.58em;height:.58em;border-right:1.8px solid;border-bottom:1.8px solid;transform:rotate(45deg);left:.285em;top:-.05em}
.ui-icon-location:before{width:.76em;height:.76em;border:2px solid;border-radius:55% 55% 55% 0;transform:rotate(-45deg);left:.19em;top:.04em}.ui-icon-location:after{width:.18em;height:.18em;background:currentColor;border-radius:50%;left:.48em;top:.30em}
.ui-icon-phone:before{width:.78em;height:.78em;border-left:3px solid;border-bottom:3px solid;border-radius:0 0 0 .65em;transform:rotate(-45deg);left:.2em;top:.08em}.ui-icon-phone:after{width:.27em;height:.27em;border-radius:2px;background:currentColor;box-shadow:.56em .56em 0 currentColor;left:.08em;top:.08em}
.ui-icon-download:before,.ui-icon-up:before{width:.55em;height:.55em;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);left:.3em;top:.14em}.ui-icon-download:after{width:.86em;height:.6em;border-bottom:2px solid;left:.14em;top:.28em}
.ui-icon-up:before{transform:rotate(-135deg);top:.38em}.ui-icon-up:after{width:2px;height:.64em;background:currentColor;left:.56em;top:.31em}
.ui-icon-play:before{width:0;height:0;border-top:.38em solid transparent;border-bottom:.38em solid transparent;border-left:.58em solid currentColor;left:.34em;top:.18em}
.ui-icon-document:before{inset:.05em .18em;border:1.7px solid;border-radius:2px}.ui-icon-document:after{width:.45em;height:2px;background:currentColor;box-shadow:0 .24em 0 currentColor;left:.35em;top:.42em}
.ui-icon-image:before{inset:.1em;border:1.7px solid;border-radius:3px}.ui-icon-image:after{width:.58em;height:.58em;border-left:2px solid;border-top:2px solid;transform:rotate(45deg);left:.28em;top:.47em}

.site-toolbar{background:var(--toolbar-bg);color:var(--toolbar-text);font-size:12px;position:relative;z-index:105}
.toolbar-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.toolbar-contact{display:flex;align-items:center;gap:22px;min-width:0}.toolbar-contact>a,.toolbar-contact>span{display:flex;align-items:center;gap:7px;color:inherit;min-width:0}.toolbar-contact>span span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:520px}
.social-links{display:flex;align-items:center;gap:8px}.social-links a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:inherit;border:1px solid color-mix(in srgb,currentColor 24%,transparent);transition:.2s ease}.social-links a:hover{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateY(-2px)}
.social-links a span:before{font:800 11px/1 system-ui}.social-instagram span:before{content:"IG"}.social-facebook span:before{content:"f";font-size:15px}.social-linkedin span:before{content:"in"}.social-youtube span:before{content:"▶"}
.toolbar-social a{width:26px;height:26px}.site-header.is-sticky{position:sticky;top:0;z-index:100}.site-header.no-sticky{position:relative}.nav-wrap{min-height:var(--header-height)}.brand img{width:var(--header-logo-width);height:auto;max-height:calc(var(--header-height) - 18px);object-fit:contain}.site-header nav{font-size:var(--header-menu-size)}.header-cta{border-radius:var(--header-cta-radius)!important}
.submenu-toggle{font-size:0;width:24px;height:28px;padding:0;border:0;background:transparent}.submenu-toggle span{display:block;width:7px;height:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg);transition:.2s ease;margin:-4px auto 0}.has-dropdown:hover>.submenu-toggle span,.submenu-toggle[aria-expanded="true"] span{transform:rotate(225deg);margin-top:4px}
.theme-toggle{border:0!important;background:transparent!important;padding:0!important;width:62px!important;height:34px!important}.theme-track{display:block;position:relative;width:62px;height:34px;border:1px solid var(--line);border-radius:999px;background:#f4f5f7;box-shadow:inset 0 1px 3px #1111;transition:.25s ease}.theme-track b{position:absolute;width:26px;height:26px;left:4px;top:3px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #1113;transition:.25s ease}.theme-sun,.theme-moon{position:absolute;top:8px;width:17px;height:17px;border-radius:50%}.theme-sun{right:7px;border:2px solid #f39a22}.theme-sun:before,.theme-sun:after{content:"";position:absolute;background:#f39a22;inset:5px;border-radius:50%}.theme-moon{left:8px;background:#26324a}.theme-moon:after{content:"";position:absolute;width:14px;height:14px;left:5px;top:-2px;background:#f4f5f7;border-radius:50%}
[data-theme="dark"] .theme-track{background:#20232b;border-color:#515661}[data-theme="dark"] .theme-track b{transform:translateX(28px);background:#343944}[data-theme="dark"] .theme-moon:after{background:#20232b}

.scroll-top{position:fixed;right:28px;bottom:94px;width:46px;height:46px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--deep);color:#fff;box-shadow:0 12px 30px #1113;z-index:88;opacity:0;visibility:hidden;transform:translateY(12px);transition:.2s ease}.scroll-top.visible{opacity:1;visibility:visible;transform:none}.scroll-top:hover{background:var(--orange)}
.cookie-notice{position:fixed;left:24px;right:24px;bottom:20px;z-index:120;max-width:980px;margin:auto;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);box-shadow:0 22px 70px #1114;display:flex;align-items:center;justify-content:space-between;gap:24px}.cookie-notice[hidden]{display:none}.cookie-notice strong{display:block;margin-bottom:5px}.cookie-notice p{margin:0;color:var(--muted);line-height:1.55}.cookie-notice a{color:var(--orange);font-weight:700}
.footer-social{margin-top:18px}.footer-social a{color:#fff}.floating-contact{right:24px}.floating-contact span{width:17px;height:17px;border:2px solid #fff;border-radius:50%;display:inline-grid;place-items:center;font-size:0}.floating-contact span:after{content:"";width:5px;height:5px;background:#fff;border-radius:50%}

.filters button{cursor:pointer}.filter-empty,.empty-public{text-align:center;padding:38px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);grid-column:1/-1}
.gallery-hero{background:radial-gradient(circle at 82% 20%,color-mix(in srgb,var(--orange) 14%,transparent),transparent 32%),var(--surface)}
.gallery-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,31%);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px}.gallery-tile,.media-card{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:22px;overflow:hidden;text-align:left;position:relative;cursor:pointer;box-shadow:0 12px 35px #1110000d}.gallery-tile{scroll-snap-align:start;min-height:310px}.gallery-tile img,.media-card>img{width:100%;height:240px;object-fit:cover;display:block;transition:.35s ease}.gallery-tile:hover img,.media-card:hover>img{transform:scale(1.035)}.gallery-tile strong{display:block;padding:18px}.gallery-tile>i,.media-play{position:absolute;left:18px;top:18px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;box-shadow:0 8px 22px #f26a0a55}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.media-card{padding:0}.media-card[hidden]{display:none}.media-card-copy{display:block;padding:18px}.media-card-copy small{color:var(--orange);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.media-card-copy strong{display:block;font-size:19px;margin:7px 0}.media-card-copy em{font-style:normal;color:var(--muted);display:block;line-height:1.5}.video-placeholder{height:240px;display:grid;place-items:center;background:linear-gradient(135deg,var(--deep),#555);color:#fff}.video-placeholder .ui-icon{font-size:34px}
.media-dialog{width:min(1100px,92vw);max-height:90vh;padding:0;border:0;border-radius:20px;background:#101114;color:#fff;box-shadow:0 30px 90px #0008}.media-dialog::backdrop{background:#08090bcc;backdrop-filter:blur(6px)}.media-dialog>button{position:absolute;right:14px;top:12px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#111;font-size:24px}.media-dialog [data-media-dialog-content]{min-height:240px;display:grid;place-items:center}.media-dialog img,.media-dialog video{display:block;max-width:100%;max-height:86vh}.media-dialog iframe{width:min(1000px,88vw);height:min(70vh,650px);border:0}
.certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.certificate-card{border:1px solid var(--line);background:var(--card);border-radius:22px;overflow:hidden}.certificate-card>button{display:block;border:0;padding:0;width:100%;cursor:zoom-in;background:var(--surface)}.certificate-card img{display:block;width:100%;height:330px;object-fit:cover}.certificate-card>div{padding:22px}.certificate-card span{color:var(--orange);font-weight:750}.certificate-card h2{font-size:21px;margin:8px 0}.certificate-card p{color:var(--muted);line-height:1.6}
.career-layout{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,2fr);gap:38px;align-items:start}.career-aside{position:sticky;top:calc(var(--header-height) + 24px);padding:30px;border-radius:22px;background:var(--deep);color:#fff}.career-aside>span{color:var(--orange);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.career-aside h2{font-size:31px;line-height:1.15}.career-aside p,.career-aside li{color:#ffffffbf;line-height:1.65}.career-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--card)}.career-form label{display:grid;gap:8px;font-weight:750}.career-form .wide{grid-column:1/-1}.career-form input,.career-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);padding:13px 14px;font:inherit}.career-form textarea{resize:vertical}.career-form small{font-weight:400;color:var(--muted)}.career-form .check{display:flex;grid-column:1/-1;align-items:flex-start}.career-form .check input{width:auto;margin-top:4px}.career-form .button{justify-self:start}.career-form .alert{grid-column:1/-1}

@media(max-width:900px){.toolbar-contact>span{display:none}.site-toolbar{font-size:11px}.toolbar-inner{min-height:34px}.media-grid,.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-rail{grid-auto-columns:minmax(260px,70%)}.career-layout{grid-template-columns:1fr}.career-aside{position:static}.submenu-toggle{width:44px;height:44px}.cookie-notice{left:12px;right:12px;bottom:12px}}
@media(max-width:620px){.toolbar-contact>a span{display:none}.toolbar-inner{justify-content:flex-end}.toolbar-contact{margin-right:auto}.media-grid,.certificate-grid{grid-template-columns:1fr}.gallery-rail{grid-auto-columns:88%}.career-form{grid-template-columns:1fr;padding:20px}.career-form .wide{grid-column:auto}.cookie-notice{align-items:stretch;flex-direction:column}.cookie-notice .button{width:100%}.scroll-top{right:16px;bottom:86px}.certificate-card img{height:280px}}
