/* iBioHealth public experience — 2027 visual system.
   This layer intentionally affects public pages only; operations/admin UI remains functional. */

:root{--public-navy:#062d39;--public-navy-2:#0a4550;--public-teal:#00a99d;--public-cyan:#28d6c6;--public-paper:#fbfcfa;--public-ink:#0b2c38;--public-muted:#5a7078;--public-line:#dce7e6;--public-warm:#f1efe9;--public-sans:"Open Sans","Segoe UI",Arial,Helvetica,sans-serif;--public-display:Georgia,"Times New Roman",serif;--public-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}

body:not(.admin-body){background:var(--public-paper);color:var(--public-ink);font-family:var(--public-sans)}
body:not(.admin-body) button,body:not(.admin-body) input,body:not(.admin-body) select,body:not(.admin-body) textarea{font-family:var(--public-sans)}
body:not(.admin-body) .eyebrow,body:not(.admin-body) .post-meta,body:not(.admin-body) .footer-col h4,body:not(.admin-body) .field label{font-family:var(--public-mono)}
body:not(.admin-body) .container{width:min(calc(100% - 64px),1320px)}

/* Institutional navigation */
body:not(.admin-body) .site-header{position:sticky;top:0;z-index:80;padding:0;background:rgba(5,39,49,.96);border:0;backdrop-filter:blur(18px)}
body:not(.admin-body) .nav-shell{position:relative;min-height:76px;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;color:#fff}
body:not(.admin-body) .brand{font-size:24px;font-weight:780;letter-spacing:-.04em;color:#fff}
body:not(.admin-body) .brand-mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(145deg,#00b7ab,#45e3d0);box-shadow:0 0 0 1px rgba(255,255,255,.16),0 10px 24px rgba(0,0,0,.12)}
body:not(.admin-body) .nav-links{gap:4px}
body:not(.admin-body) .nav-links a{position:relative;padding:28px 10px 24px;border-radius:0;color:rgba(255,255,255,.82);font-size:13px;font-weight:650}
body:not(.admin-body) .nav-links a:not(.nav-cta):after{content:"";position:absolute;left:10px;right:10px;bottom:17px;height:2px;background:var(--public-cyan);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
body:not(.admin-body) .nav-links a:hover{background:transparent;color:#fff}
body:not(.admin-body) .nav-links a:hover:after{transform:scaleX(1)}
body:not(.admin-body) .nav-links .nav-cta{margin-left:8px;padding:11px 16px;border-radius:12px;background:#008d86;color:#fff;box-shadow:0 8px 24px rgba(0,169,157,.18)}
.public-menu-toggle{display:none;width:42px;height:42px;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:transparent;color:#fff;cursor:pointer}.public-menu-toggle span{display:block;height:2px;margin:4px 0;background:#fff;transition:.2s ease}.public-menu-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.public-menu-toggle.open span:nth-child(2){opacity:0}.public-menu-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Destination-led hero */
body:not(.admin-body) .hero{position:relative;isolation:isolate;min-height:690px;padding:0;background:#062d39;color:#fff;overflow:hidden}
body:not(.admin-body) .hero-bg{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
body:not(.admin-body) .hero:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(2,34,44,.92) 0%,rgba(2,34,44,.78) 38%,rgba(2,34,44,.28) 72%,rgba(2,34,44,.10) 100%)}
body:not(.admin-body) .hero:after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:210px;background:linear-gradient(0deg,rgba(2,31,40,.50),transparent)}
body:not(.admin-body) .hero .container{min-height:690px;display:flex;align-items:stretch}
body:not(.admin-body) .hero-grid{width:100%;grid-template-columns:minmax(0,760px) minmax(260px,1fr);align-items:end;gap:64px;padding:84px 0 76px}
body:not(.admin-body) .hero-main{align-self:center;min-height:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
body:not(.admin-body) .hero-main:after{display:none}
body:not(.admin-body) .hero .eyebrow{padding:0 0 15px;border:0;border-bottom:2px solid var(--public-cyan);border-radius:0;background:transparent;font-size:12px;letter-spacing:.18em;color:#dffbf8}
body:not(.admin-body) .hero .eyebrow:before{display:none}
body:not(.admin-body) .hero h1{max-width:760px;margin:20px 0 18px;font-family:var(--public-display);font-size:clamp(58px,6.8vw,102px);font-weight:500;line-height:.91;letter-spacing:-.055em;text-wrap:balance}
body:not(.admin-body) .hero p{max-width:660px;margin:0;font-size:19px;line-height:1.65;color:rgba(255,255,255,.82)}
body:not(.admin-body) .hero-actions{margin-top:32px}
body:not(.admin-body) .hero-actions .btn{min-height:48px;border-radius:11px;padding:0 20px;font-size:14px}
body:not(.admin-body) .hero-actions .btn-primary{background:var(--public-teal);color:#fff;box-shadow:none}
body:not(.admin-body) .hero-actions .btn-ghost{border:1px solid rgba(255,255,255,.58);background:rgba(0,0,0,.06);color:#fff}
body:not(.admin-body) .hero-side{align-self:end;display:block}
body:not(.admin-body) .edition-card{min-height:0;padding:25px 27px;border:1px solid rgba(255,255,255,.20);border-radius:20px;background:rgba(2,38,48,.64);box-shadow:0 18px 50px rgba(0,0,0,.16);backdrop-filter:blur(16px);color:#fff}
body:not(.admin-body) .edition-card .post-meta{color:rgba(255,255,255,.62)}
body:not(.admin-body) .edition-year{margin:4px 0 24px;font-family:var(--public-display);font-size:74px;font-weight:500;letter-spacing:-.055em;color:#fff}
body:not(.admin-body) .edition-card strong{font-size:14px;color:#fff}
body:not(.admin-body) .edition-card span{font-size:13px;color:rgba(255,255,255,.68)}
body:not(.admin-body) .metric-card{display:none}

/* Public editorial sections */
body:not(.admin-body) .section{padding:76px 0}
body:not(.admin-body) .section-head{align-items:end;margin-bottom:34px}
body:not(.admin-body) .section-head h2{max-width:760px;font-family:var(--public-display);font-size:clamp(38px,4.4vw,62px);font-weight:500;line-height:.98;letter-spacing:-.045em}
body:not(.admin-body) .section-head p{max-width:520px;font-size:16px;line-height:1.7;color:var(--public-muted)}
body:not(.admin-body) .grid-3{gap:0;border-top:1px solid var(--public-line);border-bottom:1px solid var(--public-line)}
body:not(.admin-body) .feature-card{min-height:300px;padding:34px 32px;border:0;border-right:1px solid var(--public-line);border-radius:0;background:transparent;box-shadow:none}
body:not(.admin-body) .feature-card:last-child{border-right:0}
body:not(.admin-body) .feature-icon{width:auto;height:auto;display:block;background:none;font-family:var(--public-display);font-size:35px;color:var(--public-teal)}
body:not(.admin-body) .feature-card h3{margin:66px 0 10px;font-family:var(--public-display);font-size:30px;font-weight:500;line-height:1.02;letter-spacing:-.035em}
body:not(.admin-body) .feature-card p{font-size:15px;line-height:1.7;color:var(--public-muted)}
body:not(.admin-body) .retreat{gap:0;border-radius:0;overflow:hidden}
body:not(.admin-body) .retreat-panel{min-height:430px;padding:52px 48px;border-radius:0}
body:not(.admin-body) .retreat-panel.dark{background:#073741}
body:not(.admin-body) .retreat-panel.light{background:#e8f1ee}
body:not(.admin-body) .retreat-panel h2{font-family:var(--public-display)!important;font-weight:500!important}
body:not(.admin-body) .topic{border-radius:4px;padding:9px 12px;background:rgba(255,255,255,.06)}

/* News behaves as an editorial publication, not dashboard cards */
body:not(.admin-body) .post-card{padding:0 26px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}
body:not(.admin-body) .post-card h3{font-family:var(--public-display);font-size:27px;font-weight:500;line-height:1.08}
body:not(.admin-body) .post-card p{color:var(--public-muted)}
body:not(.admin-body) .post-meta{color:#587078;letter-spacing:.12em}

/* Newsletter */
body:not(.admin-body) .newsletter{padding:80px 0;background:#edf2ef}
body:not(.admin-body) .newsletter-shell{grid-template-columns:1fr .92fr;padding:52px 56px;border-radius:0;background:#073742;box-shadow:none}
body:not(.admin-body) .newsletter h2{font-family:var(--public-display);font-size:48px;font-weight:500;letter-spacing:-.045em}
body:not(.admin-body) .newsletter .eyebrow{padding:0;border:0;background:none;color:#6ce1d5}
body:not(.admin-body) .newsletter .eyebrow:before{display:none}
body:not(.admin-body) .newsletter-form{padding:0;border:0;border-radius:0;background:none;gap:9px}
body:not(.admin-body) .newsletter-form input{min-width:0;padding:14px 15px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.06)}
body:not(.admin-body) .newsletter-form button{border-radius:8px;background:var(--public-teal);color:#fff}

/* Mega footer */
body:not(.admin-body) .mega-footer{padding:64px 0 24px;background:#042630}
body:not(.admin-body) .footer-grid{grid-template-columns:1.55fr repeat(3,1fr);gap:54px}
body:not(.admin-body) .footer-brand .brand{font-size:22px}
body:not(.admin-body) .footer-brand p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.62)}
body:not(.admin-body) .footer-col h4{margin-top:4px;color:#65dacd;letter-spacing:.13em}
body:not(.admin-body) .footer-col a{padding:6px 0;color:rgba(255,255,255,.72)}

/* Content pages inherit public typography */
body:not(.admin-body) .content-shell h1{font-family:var(--public-display);font-weight:500}

@media(max-width:1050px){
 body:not(.admin-body) .container{width:min(calc(100% - 40px),1320px)}
 body:not(.admin-body) .hero-grid{grid-template-columns:1fr .55fr;gap:34px}
 body:not(.admin-body) .hero h1{font-size:clamp(54px,8vw,82px)}
 body:not(.admin-body) .nav-links a{padding-left:7px;padding-right:7px;font-size:12px}
 body:not(.admin-body) .footer-grid{grid-template-columns:1.3fr 1fr 1fr}
 body:not(.admin-body) .footer-col:last-child{grid-column:2/4}
}

@media(max-width:860px){
 body:not(.admin-body) .container{width:min(calc(100% - 30px),1320px)}
 body:not(.admin-body) .nav-shell{min-height:66px}
 body:not(.admin-body) .brand{font-size:20px}
 body:not(.admin-body) .brand-mark{width:35px;height:35px}
 .public-menu-toggle{display:block;margin-left:auto}
 body:not(.admin-body) .nav-links{display:none;position:absolute;left:0;right:0;top:59px;margin:0;padding:10px;background:#062d39;border:1px solid rgba(255,255,255,.09);box-shadow:0 22px 48px rgba(0,0,0,.24);flex-direction:column;align-items:stretch}
 body:not(.admin-body) .nav-links.open{display:flex}
 body:not(.admin-body) .nav-links a,body:not(.admin-body) .nav-links a:not(.nav-cta){display:block;padding:13px 14px;border-radius:8px;font-size:14px}
 body:not(.admin-body) .nav-links a:not(.nav-cta):after{display:none}
 body:not(.admin-body) .nav-links .nav-cta{margin:4px 0 0;text-align:center}
 body:not(.admin-body) .hero{min-height:720px}
 body:not(.admin-body) .hero:before{background:linear-gradient(180deg,rgba(2,34,44,.68) 0%,rgba(2,34,44,.60) 35%,rgba(2,34,44,.95) 100%)}
 body:not(.admin-body) .hero-bg{object-position:62% center}
 body:not(.admin-body) .hero .container{min-height:720px}
 body:not(.admin-body) .hero-grid{grid-template-columns:1fr;gap:26px;align-content:end;padding:70px 0 42px}
 body:not(.admin-body) .hero-main{align-self:end}
 body:not(.admin-body) .hero h1{font-size:clamp(50px,15vw,72px);line-height:.93}
 body:not(.admin-body) .hero p{font-size:16px;line-height:1.58}
 body:not(.admin-body) .hero-side{align-self:auto}
 body:not(.admin-body) .edition-card{max-width:none;padding:18px 20px;display:grid;grid-template-columns:auto 1fr;align-items:end;gap:24px}
 body:not(.admin-body) .edition-year{margin:2px 0 0;font-size:54px}
 body:not(.admin-body) .section{padding:58px 0}
 body:not(.admin-body) .section-head{display:block}
 body:not(.admin-body) .section-head p{margin-top:16px}
 body:not(.admin-body) .grid-3{grid-template-columns:1fr}
 body:not(.admin-body) .feature-card{min-height:220px;border-right:0;border-bottom:1px solid var(--public-line)}
 body:not(.admin-body) .feature-card:last-child{border-bottom:0}
 body:not(.admin-body) .feature-card h3{margin-top:38px}
 body:not(.admin-body) .retreat{grid-template-columns:1fr}
 body:not(.admin-body) .retreat-panel{min-height:auto;padding:38px 30px}
 body:not(.admin-body) .newsletter{padding:0}
 body:not(.admin-body) .newsletter .container{width:100%}
 body:not(.admin-body) .newsletter-shell{grid-template-columns:1fr;padding:42px 24px}
 body:not(.admin-body) .newsletter-form{flex-direction:column}
 body:not(.admin-body) .footer-grid{grid-template-columns:1fr 1fr;gap:38px 24px}
 body:not(.admin-body) .footer-col:last-child{grid-column:auto}
}

@media(max-width:480px){
 body:not(.admin-body) .container{width:min(calc(100% - 24px),1320px)}
 body:not(.admin-body) .hero{min-height:680px}
 body:not(.admin-body) .hero .container{min-height:680px}
 body:not(.admin-body) .hero-grid{padding-bottom:28px}
 body:not(.admin-body) .hero h1{font-size:48px}
 body:not(.admin-body) .hero-actions{display:grid;grid-template-columns:1fr}
 body:not(.admin-body) .hero-actions .btn{width:100%}
 body:not(.admin-body) .edition-card{grid-template-columns:1fr}
 body:not(.admin-body) .edition-year{font-size:48px}
 body:not(.admin-body) .section-head h2{font-size:39px}
 body:not(.admin-body) .retreat-panel h2{font-size:36px!important}
 body:not(.admin-body) .newsletter h2{font-size:39px}
 body:not(.admin-body) .footer-grid{grid-template-columns:1fr}
 body:not(.admin-body) .footer-bottom{flex-direction:column}
}

@media(max-width:720px){body:not(.admin-body) .hero-bg{object-position:62% center}}
