/* =====================================================================
   Proton BioSystems Lab — shared styles (every page)
   Home-page-only styles live in assets/css/home.css
   ===================================================================== */

/* Roboto — bundled with the theme (assets/fonts) so it always loads. */
@font-face{font-family:"Roboto";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/roboto-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Roboto";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/roboto-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:italic;font-weight:100 900;font-display:swap;src:url("../fonts/roboto-latin-ext-wght-italic.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Roboto";font-style:italic;font-weight:100 900;font-display:swap;src:url("../fonts/roboto-latin-wght-italic.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --pbl-font:"Roboto",Arial,Helvetica,sans-serif;
  --pbl-text:16px;      /* ONE size for all normal / paragraph text on every page */
  --pbl-text-lh:1.7;
}
/* All website text is Roboto. */
html,body,body *,body *::before,body *::after,input,button,select,textarea{font-family:var(--pbl-font)!important}
/* All normal / paragraph text is the same size on every page. Headings, labels, buttons and badges keep their own sizes. */
body{font-size:var(--pbl-text);line-height:var(--pbl-text-lh)}
body p,body li,body dd,body blockquote,body address{font-size:var(--pbl-text)!important;line-height:var(--pbl-text-lh)!important}

:root{--cyan:#06b6d4;--black:#000;--navy:#111;--white:#fff;--grey:#e5e6e9;--muted:#61656d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--black);background:var(--white)}a{color:inherit}img{max-width:100%}
.site-header{position:sticky;top:0;z-index:9990;background:#fff;border-bottom:1px solid var(--grey)}.site-header__inner{width:min(1240px,calc(100% - 32px));min-height:74px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:20px}.site-brand .custom-logo{max-height:52px;width:auto}.site-brand__mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--cyan);color:#fff}.site-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.site-menu a{text-decoration:none;font-weight:700;font-size:14px}.site-menu a:hover{color:var(--cyan)}.site-menu-toggle{display:none;border:0;background:var(--navy);color:#fff;border-radius:8px;width:42px;height:42px;font-size:20px}.pbl-standard-page{padding:70px 20px}.pbl-standard-inner{width:min(1000px,100%);margin:auto}.pbl-standard-inner h1{font-size:clamp(34px,6vw,58px)}.pbl-projects-eyebrow{display:inline-block;margin-bottom:12px;color:var(--cyan);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
.pbl-projects-page{padding:90px 20px;overflow:hidden}.pbl-projects-container{width:min(1240px,100%);margin:auto}.pbl-projects-header{max-width:780px;margin:0 auto 78px;text-align:center}.pbl-projects-header h2{margin:0 0 18px;font-size:clamp(39px,5vw,61px);font-weight:900;letter-spacing:-1.5px;line-height:1.05}.pbl-projects-header p{margin:0;color:var(--muted);font-size:17px;line-height:1.75}.pbl-project-section{margin-bottom:90px}.pbl-project-section-heading{display:flex;align-items:flex-end;gap:24px;margin-bottom:32px}.pbl-project-section-heading>div:first-child{flex-shrink:0}.pbl-project-section-heading span{display:block;margin-bottom:6px;color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.pbl-project-section-heading h3{margin:0;font-size:clamp(27px,4vw,37px);font-weight:800}.pbl-project-heading-line{width:100%;height:1px;margin-bottom:7px;background:var(--grey)}.pbl-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.pbl-featured-project-grid{grid-template-columns:1fr}.pbl-project-card{min-width:0;overflow:hidden;border:1px solid var(--grey);border-radius:18px;background:#fff;cursor:pointer;transition:.3s}.pbl-project-card:hover{transform:translateY(-7px);border-color:rgba(6,182,212,.65);box-shadow:0 20px 46px rgba(0,0,0,.11)}.pbl-project-card-image{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--grey)}.pbl-project-card-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:var(--pbl-project-image-position,center);transform:scale(var(--pbl-project-image-scale,1));transition:.45s}.pbl-project-card:hover .pbl-project-card-image img{transform:scale(calc(var(--pbl-project-image-scale,1) + .045))}.pbl-project-status{position:absolute;z-index:2;top:16px;left:16px;padding:7px 11px;border-radius:50px;background:#fff;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;box-shadow:0 6px 15px rgba(0,0,0,.12)}.pbl-image-count{position:absolute;z-index:2;right:15px;bottom:15px;padding:7px 10px;border-radius:7px;background:rgba(0,0,0,.72);color:#fff;font-size:11px;font-weight:700}.pbl-project-card-body{padding:22px 21px 23px}.pbl-project-type{display:inline-flex;margin-bottom:11px;padding:6px 10px;border-radius:30px;background:rgba(6,182,212,.11);color:#087e91;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.pbl-project-card h4{margin:0 0 8px;font-size:21px;font-weight:800;line-height:1.3}.pbl-project-card-subtitle{margin:0 0 13px;color:var(--cyan);font-size:14px;font-weight:600}.pbl-project-card-description{display:-webkit-box;min-height:69px;margin:0;overflow:hidden;color:var(--muted);font-size:14px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}.pbl-project-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid var(--grey)}.pbl-project-card-footer span:first-child{font-size:12px;font-weight:700}.pbl-project-view-arrow{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:var(--cyan);font-size:18px;font-weight:800}.pbl-featured-project-grid .pbl-project-card{display:grid;grid-template-columns:1.05fr .95fr}.pbl-featured-project-grid .pbl-project-card-image{height:100%;min-height:430px;aspect-ratio:auto}.pbl-featured-project-grid .pbl-project-card-body{display:flex;flex-direction:column;justify-content:center;padding:50px}.pbl-featured-project-grid .pbl-project-card h4{font-size:clamp(27px,4vw,40px)}.pbl-featured-project-grid .pbl-project-card-description{display:block;min-height:auto;overflow:visible;font-size:15px;-webkit-line-clamp:initial}
.pbl-project-modal{position:fixed;z-index:999999;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;visibility:hidden;opacity:0;transition:.28s}.pbl-project-modal.pbl-project-modal-active{visibility:visible;opacity:1}.pbl-project-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.79);backdrop-filter:blur(6px)}.pbl-project-modal-dialog{position:relative;z-index:2;width:min(1050px,100%);max-height:calc(100vh - 44px);overflow-y:auto;border:1px solid var(--grey);border-radius:23px;background:#fff;box-shadow:0 30px 95px rgba(0,0,0,.38);transform:translateY(35px) scale(.97);transition:.34s}.pbl-project-modal-active .pbl-project-modal-dialog{transform:none}.pbl-project-modal-close{position:sticky;z-index:15;top:14px;float:right;width:44px;height:44px;margin:14px 14px -58px 0;border:1px solid var(--grey);border-radius:50%;background:#fff;font-size:29px;cursor:pointer}.pbl-project-gallery{padding:18px 18px 0}.pbl-project-main-image{position:relative;width:100%;height:min(560px,58vh);min-height:390px;overflow:hidden;border-radius:17px;background:var(--grey)}.pbl-project-main-image img{width:100%;height:100%;object-fit:contain;background:#f5f5f5}.pbl-gallery-arrow{position:absolute;top:50%;width:45px;height:45px;border:0;border-radius:50%;background:rgba(0,0,0,.76);color:#fff;font-size:31px;transform:translateY(-50%);cursor:pointer}.pbl-gallery-previous{left:17px}.pbl-gallery-next{right:17px}.pbl-gallery-counter{position:absolute;right:16px;bottom:15px;padding:7px 10px;border-radius:7px;background:rgba(0,0,0,.76);color:#fff;font-size:11px;font-weight:700}.pbl-gallery-thumbnails{display:flex;gap:10px;padding-top:12px;overflow-x:auto}.pbl-gallery-thumbnail{flex:0 0 92px;width:92px;height:68px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:8px;background:var(--grey);cursor:pointer}.pbl-gallery-thumbnail.pbl-thumbnail-active{border-color:var(--cyan)}.pbl-gallery-thumbnail img{width:100%;height:100%;object-fit:cover}.pbl-project-modal-content{padding:42px 48px 52px}.pbl-modal-project-heading>div{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.pbl-modal-status,.pbl-modal-category{padding:6px 10px;border-radius:30px;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.pbl-modal-status{background:var(--cyan)}.pbl-modal-category{background:var(--grey)}.pbl-modal-project-heading h3{margin:0 0 10px;font-size:clamp(31px,5vw,49px);font-weight:900;letter-spacing:-1px;line-height:1.08}.pbl-modal-project-subtitle{margin:0;color:var(--cyan);font-size:17px;font-weight:600}.pbl-project-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:30px 0 38px}.pbl-project-meta-item{padding:16px;border:1px solid var(--grey);border-radius:10px;background:#fafafa}.pbl-project-meta-item strong{display:block;margin-bottom:5px;font-size:11px;font-weight:800;text-transform:uppercase}.pbl-project-meta-item span{color:var(--muted);font-size:var(--pbl-text);line-height:var(--pbl-text-lh)}.pbl-project-detail-section{margin-bottom:36px}.pbl-project-detail-section h4{display:flex;align-items:center;gap:13px;margin:0 0 16px;font-size:21px}.pbl-project-detail-section h4:after{content:"";width:100%;height:1px;background:var(--grey)}.pbl-project-detail-section p,.pbl-project-detail-section li{color:var(--muted);font-size:14px;line-height:1.72}.pbl-project-highlight-box{padding:20px;border-left:4px solid var(--cyan);background:#f8f9fa}.pbl-project-modal-open{overflow:hidden}
@media(max-width:980px){.pbl-project-grid{grid-template-columns:repeat(2,1fr)}.pbl-featured-project-grid{grid-template-columns:1fr}.pbl-featured-project-grid .pbl-project-card{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.site-menu-toggle{display:block}.site-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;border-bottom:1px solid var(--grey);padding:18px 20px}.site-nav.open{display:block}.site-menu{flex-direction:column;align-items:flex-start;gap:16px}}
@media(max-width:760px){.pbl-featured-project-grid .pbl-project-card{grid-template-columns:1fr}.pbl-featured-project-grid .pbl-project-card-image{min-height:auto;aspect-ratio:16/10}.pbl-project-main-image{height:430px;min-height:330px}.pbl-project-modal-content{padding:36px 30px 45px}}
@media(max-width:600px){.pbl-projects-page{padding:55px 15px}.pbl-projects-header{margin-bottom:58px}.pbl-project-grid{grid-template-columns:1fr}.pbl-featured-project-grid .pbl-project-card-body{padding:27px 22px}.pbl-project-modal{align-items:flex-start;padding:8px}.pbl-project-modal-dialog{max-height:calc(100vh - 16px);border-radius:17px}.pbl-project-main-image{height:315px;min-height:280px}.pbl-project-modal-content{padding:30px 21px 38px}.pbl-project-meta{grid-template-columns:1fr}}

/* Headings, images and page text rhythm */
input,textarea,select,button{font-size:inherit}
h1,h2,h3,h4,h5,h6{line-height:1.2}
img{max-width:100%;height:auto}

/* Normal page text rhythm without overriding special cards/components. */
.site-main p,.page-content p{margin-top:0;margin-bottom:16px}
.site-main h1,.page-content h1{margin-top:0}
/* Publication action links */
.pbl-publication-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.pbl-publication-links a{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid #06b6d4;border-radius:999px;color:#067f94;text-decoration:none;font-size:13px;font-weight:700}

/* v3.13 branding/header */
.pbl-brand-lockup{display:flex;align-items:center;gap:10px;text-decoration:none;color:#111;font-weight:800;white-space:nowrap}
.pbl-brand-lockup img{width:48px;height:48px;border-radius:8px;object-fit:cover}.pbl-brand-lockup span{font-size:18px}
@media(max-width:600px){.pbl-brand-lockup span{font-size:15px}.pbl-brand-lockup img{width:40px;height:40px}}

/* Header brand restored with the supplied Proton Biosystems logo. */
.pbl-header-brand{flex:0 0 auto;display:flex;align-items:center;gap:11px;color:var(--navy);white-space:nowrap}
.pbl-header-brand__logo{width:50px;height:50px;object-fit:cover;border-radius:7px;display:block}
.pbl-header-brand__name{font-size:18px;font-weight:800;letter-spacing:-.2px}
@media(max-width:900px){.site-header__inner{gap:14px}.site-menu{gap:16px}.pbl-header-brand__name{font-size:15px}.pbl-header-brand__logo{width:44px;height:44px}}
@media(max-width:760px){.pbl-header-brand__name{font-size:14px}.pbl-header-brand__logo{width:40px;height:40px}}

/* v3.6 visual refresh — cohesive premium research-lab UI */
:root{--pbl-cyan:#06b6d4;--pbl-cyan-dark:#058ca5;--pbl-ink:#111;--pbl-soft:#f5fbfc;--pbl-line:rgba(11,31,42,.09);--pbl-shadow:0 18px 50px rgba(11,31,42,.10)}
body{color:var(--pbl-ink);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(6,182,212,.25);color:#111}

/* Header */
.site-header{background:rgba(255,255,255,.94)!important;border-bottom:1px solid rgba(6,182,212,.12)!important;box-shadow:0 8px 30px rgba(11,31,42,.05);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-header__inner{min-height:82px!important;width:min(1240px,calc(100% - 40px))!important}
.pbl-header-brand__logo{width:48px!important;height:48px!important;object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.pbl-header-brand__name{font-size:18px;font-weight:800;letter-spacing:-.02em}
.site-menu{gap:10px!important}.site-menu a{display:block;padding:10px 12px;border-radius:9px;font-size:14px!important;transition:background .2s ease,color .2s ease,transform .2s ease}.site-menu a:hover{background:rgba(6,182,212,.10);text-decoration:none!important}

/* Shared section rhythm */
.pbl-projects-page{padding-top:105px!important;padding-bottom:105px!important}
.pbl-projects-header h2{letter-spacing:-.035em!important;color:#111!important}
.pbl-projects-header p{color:#61656d!important;opacity:1!important}
.pbl-projects-eyebrow{font-weight:900!important;letter-spacing:.15em!important}

/* Projects */
.pbl-projects-page{background:#fff!important}.pbl-projects-header{margin-bottom:64px!important}
.pbl-project-card{border-color:rgba(11,31,42,.08)!important;border-radius:24px!important;box-shadow:0 10px 34px rgba(11,31,42,.06);background:#fff!important}
.pbl-project-card:hover{transform:translateY(-8px)!important;box-shadow:0 24px 55px rgba(11,31,42,.13)!important}
.pbl-project-card-image{background:#eaf5f7!important}.pbl-project-card-body{padding:26px!important}.pbl-project-view-arrow{color:#fff!important;box-shadow:0 8px 18px rgba(6,182,212,.25)}

/* Inner pages — cleaner top-level presentation */
body:not(.home) main#content{background:linear-gradient(180deg,#f9fdfe 0,#fff 340px)}
body:not(.home) .pbl-standard-page{padding-top:96px!important}
body:not(.home) h1{letter-spacing:-.04em}
body:not(.home) .pbl-standard-inner,body:not(.home) .about-wrap,body:not(.home) .blog-wrap,body:not(.home) .team-wrap{position:relative}

/* Motion accessibility + mobile */
@media(max-width:900px){.site-header__inner{min-height:72px!important}.site-menu-toggle{display:grid!important;place-items:center;background:rgba(6,182,212,.95)!important}.site-nav{background:#fff}.pbl-projects-page{padding-top:76px!important;padding-bottom:76px!important}}
@media(max-width:600px){.site-header__inner{width:calc(100% - 24px)!important}.pbl-header-brand__logo{width:42px!important;height:42px!important}.pbl-header-brand__name{font-size:15px!important}.pbl-projects-page{padding-top:64px!important;padding-bottom:64px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* ---------------------------------------------------------------------
   Footer (every page) — black, white and cyan only
   --------------------------------------------------------------------- */
.pbl-footer{position:relative;isolation:isolate;overflow:hidden;padding:72px 0 0;border-top:3px solid var(--cyan);background:#0d0e0f;color:#a1a6ab}
.pbl-footer__shell{position:relative;width:min(1180px,calc(100% - 48px));margin:0 auto}
.pbl-footer__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.55fr) minmax(0,.65fr) minmax(0,1.5fr);gap:clamp(28px,4vw,56px);padding-bottom:64px}
.pbl-footer__logo{display:inline-flex;align-items:center;gap:14px;color:#fff;text-decoration:none}
.pbl-footer__logo img{display:block;width:56px;height:56px;border-radius:14px;object-fit:cover}
.pbl-footer__logo span{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.pbl-footer__logo strong{color:#fff;font-size:21px;font-weight:800;letter-spacing:-.025em}
.pbl-footer__logo small{color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.22em}
.pbl-footer__brand>p{max-width:380px;margin:22px 0 26px;color:#a1a6ab}
.pbl-footer__contact{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.pbl-footer__contact li{display:flex;align-items:flex-start;gap:12px;color:#d4d7da}
.pbl-footer__contact svg{flex:none;width:20px;height:20px;margin-top:3px;fill:none;stroke:var(--cyan);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pbl-footer__contact a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);transition:border-color .2s ease,color .2s ease}
.pbl-footer__contact a:hover{color:var(--cyan);border-color:var(--cyan)}
.pbl-footer__title{display:flex;align-items:center;gap:10px;margin:6px 0 22px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.pbl-footer__title:before{content:"";width:18px;height:2px;border-radius:2px;background:var(--cyan)}
.pbl-footer__col ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.pbl-footer__col a{display:inline-block;padding:6px 0;color:#a1a6ab;font-size:var(--pbl-text);line-height:1.4;text-decoration:none;transition:color .2s ease,transform .2s ease}
.pbl-footer__col a:hover{color:#fff;transform:translateX(5px)}
.pbl-footer__col a[target=_blank]{position:relative;padding-right:19px}
.pbl-footer__col a[target=_blank]:after{content:"";position:absolute;right:0;bottom:12px;width:11px;height:11px;opacity:.55;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat}
.pbl-footer a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}
@media(max-width:980px){
 .pbl-footer__grid{grid-template-columns:1fr 1fr;row-gap:44px}
 .pbl-footer__brand,.pbl-footer__col--partners{grid-column:1/-1}
 .pbl-footer__brand>p{max-width:560px}
 .pbl-footer__col--partners ul{grid-template-columns:1fr 1fr;column-gap:32px}
}
@media(max-width:700px){
 .pbl-footer{padding-top:56px}
 .pbl-footer__shell{width:calc(100% - 36px)}
 .pbl-footer__col--partners ul{grid-template-columns:1fr}
}
