/* ============================================================
   Heartland BioWorks — shared site chrome (navbar, breadcrumbs,
   footer). Loaded by every page; the markup is injected from a
   single definition in site.js.
   ============================================================ */

:root{
  --hb-navy:#0D4568;--hb-green:#3EB248;--hb-green2:#00843D;
  --hb-bg2:#F7F9FB;--hb-dark:#082D46;--hb-border:#E6EAF0;
  --hb-text:#102A43;--hb-muted:#627D98;
  --hb-ease:cubic-bezier(.2,0,0,1);
}

/* ── NAVBAR ── */
.hb-nav{position:fixed;top:0;left:0;right:0;z-index:300;height:90px;display:flex;align-items:center;background:var(--hb-dark);box-shadow:0 1px 0 rgba(255,255,255,.08),0 2px 12px rgba(8,24,40,.3);}
.hb-nav-inner{width:min(calc(100% - 48px),1280px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.hb-logo{display:flex;align-items:center;flex-shrink:0;}
.hb-logo img{height:50px;width:auto;}
.hb-links{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;}
.hb-links>li{position:relative;}
.hb-link{display:inline-flex;align-items:center;gap:5px;padding:9px 14px;font:600 .9375rem/1 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.85);background:none;border:0;border-radius:8px;cursor:pointer;transition:color 160ms,background 160ms;text-decoration:none;}
.hb-link:hover,.hb-link:focus-visible{background:rgba(255,255,255,.12);color:#fff;outline:none;}
.hb-link.is-active{color:#fff;background:rgba(62,178,72,.18);}
.hb-link[aria-current="page"]{color:#fff;}
.hb-link svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.4;transition:transform 200ms var(--hb-ease);}
.hb-has-drop.open>.hb-link svg{transform:rotate(180deg);}
.hb-drop{position:absolute;top:calc(100% + 8px);left:0;min-width:230px;background:#fff;border:1px solid var(--hb-border);border-radius:14px;box-shadow:0 20px 60px rgba(13,69,104,.18);padding:6px;margin:0;list-style:none;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity 300ms var(--hb-ease),transform 300ms var(--hb-ease);}
.hb-has-drop.open>.hb-drop{opacity:1;transform:translateY(0);pointer-events:auto;}
.hb-drop a{position:relative;display:flex;align-items:center;padding:9px 14px;font:500 .88rem/1.3 'Inter',system-ui,sans-serif;color:var(--hb-text);border-radius:8px;transition:background 140ms,color 140ms,padding-left 140ms;}
.hb-drop a::before{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);width:0;height:16px;border-radius:2px;background:var(--hb-green);transition:width 140ms;}
.hb-drop a:hover::before,.hb-drop a.is-active::before{width:3px;}
.hb-drop a:hover,.hb-drop a.is-active{padding-left:18px;}
.hb-drop a:hover,.hb-drop a:focus-visible{background:var(--hb-bg2);color:var(--hb-navy);outline:none;}
.hb-drop a.is-active{background:var(--hb-bg2);color:var(--hb-navy);}
.hb-cta{display:inline-flex;align-items:center;padding:10px 22px;background:var(--hb-green);color:#fff;border-radius:8px;font:600 .9rem/1 'Inter',system-ui,sans-serif;transition:background 200ms,transform 200ms,box-shadow 200ms;flex-shrink:0;}
.hb-cta:hover{background:var(--hb-green2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(62,178,72,.3);}
.hb-burger{display:none;background:none;border:0;padding:8px;cursor:pointer;color:#fff;}
.hb-burger svg{width:26px;height:26px;}

/* mobile drawer */
.hb-mobile{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--hb-border);box-shadow:0 16px 40px rgba(13,69,104,.16);padding:8px 24px 16px;flex-direction:column;max-height:80vh;overflow-y:auto;}
.hb-mobile.open{display:flex;}
.hb-mobile a{padding:13px 4px;font:600 1rem/1.2 'Inter',system-ui,sans-serif;color:var(--hb-text);border-bottom:1px solid var(--hb-border);}
.hb-mobile a.hb-sub{padding-left:18px;font-weight:500;font-size:.92rem;color:var(--hb-muted);}
.hb-mobile a:last-child{border-bottom:0;}
.hb-mobile .hb-mgroup{font:700 .72rem/1 'Inter',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--hb-green2);padding:16px 4px 6px;}

/* ── BREADCRUMB ── */
.hb-breadcrumb{background:var(--hb-bg2);border-bottom:1px solid var(--hb-border);margin-top:90px;}
.hb-breadcrumb ol{width:min(calc(100% - 48px),1280px);margin:0 auto;padding:14px 0;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:500 .82rem/1 'Inter',system-ui,sans-serif;}
.hb-breadcrumb li{display:flex;align-items:center;gap:8px;color:var(--hb-muted);}
.hb-breadcrumb a{color:var(--hb-muted);transition:color 140ms;}
.hb-breadcrumb a:hover{color:var(--hb-navy);}
.hb-breadcrumb li[aria-current="page"]{color:var(--hb-navy);font-weight:700;}
.hb-breadcrumb .hb-sep{color:var(--hb-border);}

/* spacer so fixed nav doesn't overlap content where a page opts in */
.hb-nav-spacer{height:90px;}

/* ── FOOTER ── */
.hb-footer{background:#050E18;padding:64px 0 30px;color:#fff;}
.hb-footer-inner{width:min(calc(100% - 48px),1280px);margin:0 auto;}
.hb-footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.07);}
.hb-fbrand img{height:44px;margin-bottom:16px;}
.hb-fbrand p{font:400 .88rem/1.7 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.42);max-width:300px;margin:0 0 18px;}
.hb-fcontact{display:flex;flex-direction:column;gap:8px;}
.hb-fcontact a{font:400 .85rem/1.4 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:7px;transition:color 140ms;}
.hb-fcontact a:hover{color:#fff;}
.hb-fcol h4{font:700 .76rem/1 'Inter',system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.78);margin:0 0 14px;}
.hb-fcol ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;}
.hb-fcol a{font:400 .88rem/1.3 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.45);transition:color 140ms;}
.hb-fcol a:hover{color:#fff;}
.hb-fnews{margin-top:18px;}
.hb-fnews p{font:400 .82rem/1.6 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.42);margin:0 0 10px;}
.hb-fnews-row{display:flex;gap:8px;}
.hb-fnews-row input{flex:1;min-width:0;padding:10px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#fff;font:400 .85rem 'Inter',system-ui,sans-serif;}
.hb-fnews-row input::placeholder{color:rgba(255,255,255,.32);}
.hb-fnews-row button{padding:10px 16px;background:var(--hb-green);color:#fff;border:0;border-radius:8px;font:600 .85rem 'Inter',system-ui,sans-serif;cursor:pointer;transition:background 180ms;white-space:nowrap;}
.hb-fnews-row button:hover{background:var(--hb-green2);}
.hb-footer-bot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;font:400 .8rem/1.5 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.32);}
.hb-fbot-links{display:flex;gap:18px;flex-wrap:wrap;}
.hb-fbot-links a{color:rgba(255,255,255,.32);transition:color 140ms;}
.hb-fbot-links a:hover{color:#fff;}
.hb-fsocial{display:flex;gap:10px;}
.hb-fsocial a{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;transition:background 180ms,border-color 180ms;}
.hb-fsocial a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);}
.hb-fsocial svg{width:15px;height:15px;fill:rgba(255,255,255,.6);}

@media(max-width:1000px){
  .hb-links,.hb-cta{display:none;}
  .hb-burger{display:inline-flex;}
  .hb-footer-top{grid-template-columns:1fr 1fr;gap:32px;}
  .hb-fbrand{grid-column:1/-1;}
}
@media(max-width:600px){
  .hb-footer-top{grid-template-columns:1fr;}
}

/* ============================================================
   Interactive Indiana ecosystem map (mounts into #ecosystem-map)
   ============================================================ */
.eco-map{margin-top:32px;}
.eco-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
.eco-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 8px 7px 14px;border:1px solid var(--hb-border);background:#fff;border-radius:100px;font:600 .84rem/1 'Inter',system-ui,sans-serif;color:var(--hb-navy);cursor:pointer;transition:background 160ms,border-color 160ms,color 160ms,box-shadow 160ms;}
.eco-chip:hover{border-color:rgba(13,69,104,.45);box-shadow:0 2px 8px rgba(8,24,40,.08);}
.eco-chip:focus-visible{outline:2px solid var(--hb-green);outline-offset:2px;}
.eco-chip.active{background:var(--hb-navy);border-color:var(--hb-navy);color:#fff;box-shadow:0 4px 14px rgba(13,69,104,.28);}
.eco-chip .eco-chip-n{display:inline-flex;align-items:center;justify-content:center;min-width:21px;padding:4px 6px;border-radius:100px;background:rgba(13,69,104,.08);font-size:.7rem;font-weight:700;color:var(--hb-navy);transition:background 160ms,color 160ms;}
.eco-chip.active .eco-chip-n{background:rgba(255,255,255,.18);color:#fff;}

/* Map + directory share one frame so they read as a single component:
   dark map canvas on the left, light scrolling directory on the right. */
.eco-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);gap:0;align-items:stretch;border:1px solid var(--hb-border);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 14px 44px rgba(8,24,40,.08);}
.eco-mapwrap{position:relative;background:linear-gradient(160deg,#0d2942,#082135);padding:22px;height:680px;display:flex;align-items:center;justify-content:center;}
.eco-mapwrap svg{height:100%;width:auto;max-width:100%;display:block;overflow:hidden;}
.eco-mapwrap svg.eco-zoomed{cursor:grab;}
.eco-mapwrap svg.eco-grabbing{cursor:grabbing;}
.eco-hint{position:absolute;left:14px;bottom:14px;z-index:6;padding:6px 11px;border-radius:100px;background:rgba(8,33,53,.72);border:1px solid rgba(255,255,255,.12);font:600 .7rem/1.3 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.6);pointer-events:none;}
.eco-zoom-ctrl{position:absolute;right:14px;bottom:14px;z-index:6;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.16);border-radius:10px;overflow:hidden;background:rgba(8,33,53,.85);}
.eco-zoom-btn{width:36px;height:36px;border:0;background:transparent;color:#fff;font:700 1.2rem/1 'Inter',system-ui,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 150ms;}
.eco-zoom-btn+.eco-zoom-btn{border-top:1px solid rgba(255,255,255,.12);}
.eco-zoom-btn:hover{background:var(--hb-green);}
.eco-zoom-btn:focus-visible{outline:2px solid var(--hb-green);outline-offset:-2px;}
.eco-zoom-reset{font-size:1rem;}
.eco-state{fill:rgba(62,178,72,.07);stroke:rgba(62,178,72,.5);stroke-width:1.6;stroke-linejoin:round;}
.eco-county{fill:rgba(62,178,72,.10);stroke:rgba(120,200,140,.32);stroke-width:.6;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill 160ms;}
.eco-pin{cursor:pointer;}
.eco-pin-dot{fill:var(--hb-green);stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;transition:fill 160ms;transform-box:fill-box;transform-origin:center;animation:ecoPop 360ms var(--hb-ease) both;}
.eco-pin:hover .eco-pin-dot,.eco-pin:focus-visible .eco-pin-dot,.eco-pin.hl .eco-pin-dot,.eco-pin.sel .eco-pin-dot{fill:#7DD580;}
.eco-pin:focus-visible{outline:none;}
.eco-pin:hover .eco-pin-ring,.eco-pin:focus-visible .eco-pin-ring,.eco-pin.hl .eco-pin-ring,.eco-pin.sel .eco-pin-ring{opacity:1;}
.eco-pin-ring{fill:none;stroke:#7DD580;stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;transition:opacity 140ms;}
.eco-pin-count{fill:#fff;font:700 11px 'Inter',system-ui,sans-serif;text-anchor:middle;dominant-baseline:central;pointer-events:none;}
@keyframes ecoPop{from{opacity:0;transform:scale(.2);}to{opacity:1;transform:scale(1);}}
.eco-citylabel{fill:rgba(255,255,255,.95);font:700 9.5px 'Inter',system-ui,sans-serif;letter-spacing:.02em;pointer-events:none;}

.eco-tip{position:absolute;z-index:5;min-width:180px;max-width:240px;background:#fff;border:1px solid var(--hb-border);border-radius:12px;box-shadow:0 16px 40px rgba(8,24,40,.28);padding:12px 14px;font-family:'Inter',system-ui,sans-serif;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity 140ms,transform 140ms;}
.eco-tip.show{opacity:1;transform:translateY(0);}
.eco-tip h5{margin:0 0 3px;font:700 .9rem/1.25 'Manrope',system-ui,sans-serif;color:var(--hb-text);}
.eco-tip .eco-tip-meta{font-size:.74rem;color:var(--hb-green2);font-weight:700;margin-bottom:5px;}
.eco-tip p{margin:0;font-size:.78rem;line-height:1.5;color:var(--hb-muted);}

.eco-panel{display:flex;flex-direction:column;gap:0;height:680px;min-height:0;background:#fff;border-left:1px solid var(--hb-border);}
.eco-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 16px;border-bottom:1px solid var(--hb-border);}
.eco-panel-eyebrow{display:block;font:700 .66rem/1 'Inter',system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--hb-green2);margin-bottom:5px;}
.eco-panel-head h3{margin:0;font:800 1.08rem/1.25 'Manrope',system-ui,sans-serif;color:var(--hb-text);}
.eco-count{flex-shrink:0;padding:5px 11px;border-radius:100px;background:rgba(13,69,104,.06);font:700 .76rem/1 'Inter',system-ui,sans-serif;color:var(--hb-navy);white-space:nowrap;}
.eco-list{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;overflow-y:auto;padding:16px 18px 20px 22px;scrollbar-width:thin;scrollbar-color:rgba(13,69,104,.28) transparent;}
.eco-list::-webkit-scrollbar{width:9px;}
.eco-list::-webkit-scrollbar-track{background:transparent;}
.eco-list::-webkit-scrollbar-thumb{background:rgba(13,69,104,.18);border-radius:100px;border:3px solid #fff;}
.eco-list::-webkit-scrollbar-thumb:hover{background:rgba(13,69,104,.38);}
.eco-item{display:block;text-decoration:none;color:inherit;border:1px solid var(--hb-border);border-radius:14px;padding:16px 18px;background:#fff;cursor:pointer;transition:border-color 160ms,box-shadow 160ms,background 160ms;}
.eco-item:hover{border-color:var(--hb-green2);box-shadow:0 6px 20px rgba(13,69,104,.1);}
.eco-item.hl{border-color:var(--hb-green2);background:rgba(62,178,72,.05);}
.eco-item:focus-visible{outline:2px solid var(--hb-green);outline-offset:2px;}
.eco-visit{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font:700 .78rem/1 'Inter',system-ui,sans-serif;color:var(--hb-green2);}
.eco-visit svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform 160ms;}
.eco-item:hover .eco-visit{color:var(--hb-navy);}
.eco-item:hover .eco-visit svg{transform:translate(2px,-2px);}
.eco-item h4{margin:0 0 4px;font:700 1rem/1.35 'Manrope','Inter',system-ui,sans-serif;color:var(--hb-text);}
.eco-item .eco-loc{font-size:.8rem;font-weight:500;color:var(--hb-muted);margin-bottom:8px;display:flex;align-items:center;gap:5px;}
.eco-item .eco-loc svg{width:12px;height:12px;stroke:var(--hb-muted);fill:none;stroke-width:2;flex-shrink:0;}
.eco-item .eco-cat{display:inline-block;font:700 .66rem/1 'Inter',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--hb-green2);background:rgba(62,178,72,.1);padding:4px 9px;border-radius:100px;margin-bottom:10px;}
.eco-item p{margin:0;font-size:.85rem;line-height:1.6;color:var(--hb-muted);}
.eco-item.out-of-state{background:var(--hb-bg2);border-style:dashed;}
.eco-item .eco-oos{font-size:.72rem;font-weight:700;color:var(--hb-muted);text-transform:uppercase;letter-spacing:.05em;}
.eco-empty{padding:30px;text-align:center;color:var(--hb-muted);font-size:.9rem;}

@media(max-width:1080px){
  .eco-grid{grid-template-columns:minmax(0,1fr) minmax(310px,380px);}
}
@media(max-width:900px){
  .eco-grid{grid-template-columns:1fr;}
  .eco-mapwrap{height:auto;padding:18px;}
  .eco-mapwrap svg{height:auto;width:100%;max-height:520px;}
  .eco-hint{display:none;}
  .eco-panel{height:auto;border-left:0;border-top:1px solid var(--hb-border);}
  .eco-list{flex:none;max-height:540px;min-height:0;}
}

/* ============================================================
   Shared page header (PageHeader) for content pages
   ============================================================ */
.hb-pagehero{margin-top:0;padding:64px 0 56px;background:linear-gradient(155deg,#082D46 0%,#0D4568 60%,#0a3a58 100%);color:#fff;}
.hb-pagehero-inner{width:min(calc(100% - 48px),1280px);margin:0 auto;}
.hb-pagehero h1{margin:0 0 12px;font:800 clamp(2rem,4.2vw,3.2rem)/1.08 'Manrope',system-ui,sans-serif;letter-spacing:-.03em;}
.hb-pagehero p{margin:0;font:400 1.05rem/1.7 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.68);max-width:640px;}
.hb-pagebody{padding:56px 0 88px;}
.hb-pagebody-inner{width:min(calc(100% - 48px),1280px);margin:0 auto;}

/* ============================================================
   Public content listings (ContentCard / FilterBar / EmptyState)
   ============================================================ */
.hbc-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;}
.hbc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.hbc-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--hb-border);border-radius:16px;padding:24px;transition:border-color 160ms,box-shadow 160ms,transform 160ms;}
.hbc-card:hover{border-color:var(--hb-green2);box-shadow:0 8px 26px rgba(13,69,104,.12);transform:translateY(-2px);}
.hbc-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.hbc-tag{display:inline-flex;padding:4px 11px;background:rgba(62,178,72,.1);color:var(--hb-green2);border-radius:100px;font:700 .72rem/1 'Inter',system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;}
.hbc-date{font:600 .8rem/1 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.hbc-card h3{margin:0 0 8px;font:700 1.05rem/1.35 'Manrope',system-ui,sans-serif;color:var(--hb-text);}
.hbc-card p{margin:0 0 14px;font:400 .89rem/1.62 'Inter',system-ui,sans-serif;color:var(--hb-muted);flex:1;}
.hbc-loc,.hbc-host{font:600 .8rem/1.4 'Inter',system-ui,sans-serif;color:var(--hb-muted);margin-bottom:8px;}
.hbc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.hbc-minitag{font:600 .7rem/1 'Inter',system-ui,sans-serif;color:var(--hb-navy);background:var(--hb-bg2);border:1px solid var(--hb-border);border-radius:100px;padding:3px 9px;}
.hbc-cta{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin-top:auto;padding:9px 18px;background:var(--hb-navy);color:#fff;border:0;border-radius:8px;font:600 .85rem/1 'Inter',system-ui,sans-serif;cursor:pointer;transition:background 160ms;text-decoration:none;}
.hbc-cta:hover{background:var(--hb-green2);}
.hbc-cta svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;}
.hbc-empty{padding:56px 24px;text-align:center;color:var(--hb-muted);font:500 .95rem/1.6 'Inter',system-ui,sans-serif;background:var(--hb-bg2);border:1px dashed var(--hb-border);border-radius:14px;}
.hbc-thumb{height:140px;border-radius:10px;overflow:hidden;background:var(--hb-bg2);margin-bottom:14px;display:flex;align-items:center;justify-content:center;}
.hbc-thumb img{max-width:80%;max-height:80%;object-fit:contain;}
.hbc-thumb-ico{font-size:2.4rem;}
.hbc-modal-back{position:fixed;inset:0;z-index:500;background:rgba(8,24,40,.6);display:flex;align-items:center;justify-content:center;padding:20px;}
.hbc-modal{position:relative;max-width:640px;max-height:80vh;overflow-y:auto;background:#fff;border-radius:16px;padding:32px;}
.hbc-modal h3{margin:0 0 14px;font:800 1.4rem/1.25 'Manrope',system-ui,sans-serif;color:var(--hb-text);}
.hbc-modal p{font:400 .95rem/1.7 'Inter',system-ui,sans-serif;color:var(--hb-muted);margin:0 0 12px;}
.hbc-modal .hbc-author{font-style:italic;}
.hbc-modal-x{position:absolute;top:14px;right:14px;width:32px;height:32px;border:1px solid var(--hb-border);border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem;color:var(--hb-muted);}
.hbc-modal-x:hover{background:var(--hb-bg2);}
@media(max-width:900px){.hbc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.hbc-grid{grid-template-columns:1fr;}}

/* ============================================================
   FAQ page
   ============================================================ */
.faqp-search{width:100%;max-width:480px;padding:13px 16px;border:1.5px solid var(--hb-border);border-radius:10px;font:400 .95rem 'Inter',system-ui,sans-serif;color:var(--hb-text);margin-bottom:24px;}
.faqp-search:focus{outline:2px solid var(--hb-green);outline-offset:1px;border-color:var(--hb-green);}
.faqp-cat{margin:34px 0 12px;font:800 1.15rem/1.2 'Manrope',system-ui,sans-serif;color:var(--hb-navy);}
.faqp-item{border:1px solid var(--hb-border);border-radius:12px;background:#fff;margin-bottom:8px;overflow:hidden;}
.faqp-q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;background:none;border:0;text-align:left;cursor:pointer;font:600 .95rem/1.4 'Inter',system-ui,sans-serif;color:var(--hb-text);}
.faqp-q:hover{background:var(--hb-bg2);}
.faqp-q:focus-visible{outline:2px solid var(--hb-green);outline-offset:-2px;}
.faqp-q svg{width:16px;height:16px;stroke:var(--hb-muted);fill:none;stroke-width:2.2;flex-shrink:0;transition:transform 240ms var(--hb-ease);}
.faqp-item.open .faqp-q svg{transform:rotate(180deg);}
.faqp-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows 280ms var(--hb-ease);}
.faqp-a>div{overflow:hidden;}
.faqp-item.open .faqp-a{grid-template-rows:1fr;}
.faqp-a-inner{padding:0 20px 18px;font:400 .92rem/1.7 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
@media(prefers-reduced-motion:reduce){.faqp-a,.faqp-q svg{transition:none;}}

/* ============================================================
   Login + Dashboard
   ============================================================ */
.hbl-wrap{min-height:calc(100vh - 90px);display:flex;align-items:center;justify-content:center;background:var(--hb-bg2);padding:40px 20px;}
.hbl-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--hb-border);border-radius:18px;padding:38px;}
.hbl-card h1{margin:0 0 6px;font:800 1.5rem/1.2 'Manrope',system-ui,sans-serif;color:var(--hb-text);}
.hbl-card .hbl-sub{margin:0 0 22px;font:400 .88rem/1.6 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.hbl-card label{display:block;font:600 .82rem/1 'Inter',system-ui,sans-serif;color:var(--hb-text);margin:14px 0 6px;}
.hbl-card input{width:100%;padding:12px 14px;border:1.5px solid var(--hb-border);border-radius:9px;font:400 .92rem 'Inter',system-ui,sans-serif;}
.hbl-card input:focus{outline:2px solid var(--hb-green);outline-offset:1px;border-color:var(--hb-green);}
.hbl-btn{width:100%;margin-top:20px;padding:13px;background:var(--hb-green);color:#fff;border:0;border-radius:9px;font:600 .95rem 'Inter',system-ui,sans-serif;cursor:pointer;transition:background 160ms;}
.hbl-btn:hover{background:var(--hb-green2);}
.hbl-err{margin-top:12px;padding:10px 14px;background:#fdecec;border:1px solid #f3b8b8;border-radius:9px;color:#8c2222;font:500 .85rem/1.4 'Inter',system-ui,sans-serif;display:none;}
.hbl-err.show{display:block;}
.hbl-note{margin-top:18px;font:400 .76rem/1.6 'Inter',system-ui,sans-serif;color:var(--hb-muted);}

.hbd{display:grid;grid-template-columns:230px 1fr;gap:0;min-height:calc(100vh - 90px);background:var(--hb-bg2);}
.hbd-side{background:var(--hb-dark);padding:26px 14px;display:flex;flex-direction:column;gap:6px;}
.hbd-side-title{font:700 .72rem/1 'Inter',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);padding:0 12px 10px;}
.hbd-nav{display:block;width:100%;text-align:left;padding:11px 12px;background:none;border:0;border-radius:9px;font:600 .9rem/1 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.78);cursor:pointer;transition:background 140ms,color 140ms;}
.hbd-nav:hover{background:rgba(255,255,255,.1);color:#fff;}
.hbd-nav.active{background:rgba(62,178,72,.22);color:#fff;}
.hbd-side-foot{margin-top:auto;padding:14px 12px 0;border-top:1px solid rgba(255,255,255,.1);}
.hbd-user{font:500 .78rem/1.4 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;}
.hbd-logout{padding:8px 14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font:600 .8rem 'Inter',system-ui,sans-serif;cursor:pointer;}
.hbd-logout:hover{background:rgba(255,255,255,.18);}
.hbd-main{padding:34px;min-width:0;}
.hbd-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap;}
.hbd-head h2{margin:0;font:800 1.4rem/1.2 'Manrope',system-ui,sans-serif;color:var(--hb-text);}
.hbd-create{padding:10px 18px;background:var(--hb-green);color:#fff;border:0;border-radius:9px;font:600 .88rem 'Inter',system-ui,sans-serif;cursor:pointer;}
.hbd-create:hover{background:var(--hb-green2);}
.hbd-back{padding:9px 16px;background:#fff;border:1.5px solid var(--hb-border);border-radius:9px;font:600 .85rem 'Inter',system-ui,sans-serif;color:var(--hb-navy);cursor:pointer;}
.hbd-back:hover{background:var(--hb-bg2);}
.hbd-notice{margin-bottom:16px;padding:11px 16px;border-radius:9px;font:500 .87rem/1.4 'Inter',system-ui,sans-serif;}
.hbd-notice.ok{background:#e8f7ec;border:1px solid #bfe6cd;color:#0b5a2a;}
.hbd-notice.err{background:#fdecec;border:1px solid #f3b8b8;color:#8c2222;}
.hbd-tablewrap{background:#fff;border:1px solid var(--hb-border);border-radius:14px;overflow-x:auto;}
.hbd-table{width:100%;border-collapse:collapse;font:400 .88rem/1.4 'Inter',system-ui,sans-serif;}
.hbd-table th{text-align:left;padding:13px 16px;background:var(--hb-bg2);font:700 .74rem/1 'Inter',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--hb-muted);border-bottom:1px solid var(--hb-border);}
.hbd-table td{padding:13px 16px;border-bottom:1px solid var(--hb-border);color:var(--hb-text);vertical-align:middle;}
.hbd-table tr:last-child td{border-bottom:0;}
.hbd-status{display:inline-flex;padding:4px 11px;border-radius:100px;font:700 .72rem/1 'Inter',system-ui,sans-serif;}
.hbd-status.pub{background:rgba(62,178,72,.12);color:var(--hb-green2);}
.hbd-status.draft{background:var(--hb-bg2);color:var(--hb-muted);border:1px solid var(--hb-border);}
.hbd-actions{white-space:nowrap;}
.hbd-actions button{margin-right:6px;padding:6px 12px;background:#fff;border:1.5px solid var(--hb-border);border-radius:7px;font:600 .78rem 'Inter',system-ui,sans-serif;color:var(--hb-navy);cursor:pointer;}
.hbd-actions button:hover{background:var(--hb-bg2);border-color:var(--hb-navy);}
.hbd-actions button.danger{color:#a32626;}
.hbd-actions button.danger:hover{border-color:#a32626;background:#fdecec;}
.hbd-hint{margin-top:16px;font:400 .8rem/1.6 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.hbd-form{background:#fff;border:1px solid var(--hb-border);border-radius:14px;padding:26px;max-width:680px;}
.hbd-reqnote{margin:0 0 16px;font:400 .8rem/1.4 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.hbd-req{color:#a32626;font-weight:800;}
.hbd-field{margin-bottom:16px;}
.hbd-field label{display:block;font:600 .82rem/1.3 'Inter',system-ui,sans-serif;color:var(--hb-text);margin-bottom:6px;}
.hbd-field input,.hbd-field select,.hbd-field textarea{width:100%;padding:11px 13px;border:1.5px solid var(--hb-border);border-radius:9px;font:400 .9rem 'Inter',system-ui,sans-serif;color:var(--hb-text);background:#fff;}
.hbd-field input:focus,.hbd-field select:focus,.hbd-field textarea:focus{outline:2px solid var(--hb-green);outline-offset:1px;border-color:var(--hb-green);}
.hbd-field .invalid{border-color:#a32626;}
.hbd-field-err{margin-top:5px;font:600 .76rem/1.3 'Inter',system-ui,sans-serif;color:#a32626;min-height:1em;}
.hbd-form-actions{display:flex;gap:10px;margin-top:8px;}
@media(max-width:860px){
  .hbd{grid-template-columns:1fr;}
  .hbd-side{flex-direction:row;flex-wrap:wrap;align-items:center;padding:14px;}
  .hbd-side-title{display:none;}
  .hbd-side-foot{margin:0 0 0 auto;padding:0;border:0;display:flex;align-items:center;gap:10px;}
  .hbd-user{margin:0;max-width:160px;}
  .hbd-main{padding:20px;}
}

/* ============================================================
   About page
   ============================================================ */
.abt-section{margin-bottom:48px;max-width:820px;}
.abt-section h2{margin:0 0 12px;font:800 1.45rem/1.2 'Manrope',system-ui,sans-serif;color:var(--hb-navy);}
.abt-section p{margin:0 0 14px;font:400 .98rem/1.75 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.abt-progs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;}
.abt-prog{background:#fff;border:1px solid var(--hb-border);border-radius:14px;padding:22px;display:block;transition:border-color 160ms,box-shadow 160ms;}
.abt-prog:hover{border-color:var(--hb-green2);box-shadow:0 8px 24px rgba(13,69,104,.12);}
.abt-prog h3{margin:0 0 6px;font:800 1.05rem/1.2 'Manrope',system-ui,sans-serif;color:var(--hb-text);}
.abt-prog p{margin:0;font:400 .86rem/1.6 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.abt-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;}
.abt-stat{background:var(--hb-dark);border-radius:14px;padding:20px;}
.abt-stat .n{font:800 1.6rem/1 'Manrope',system-ui,sans-serif;color:var(--hb-green);margin-bottom:6px;}
.abt-stat .l{font:500 .82rem/1.45 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.72);}
@media(max-width:760px){.abt-progs,.abt-stats{grid-template-columns:1fr;}}

/* ── upload component (dashboard) + video cards ── */
.hbd-sectionhint{margin:-8px 0 18px;font:400 .88rem/1.6 'Inter',system-ui,sans-serif;color:var(--hb-muted);max-width:680px;}
.hbd-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border:1.5px dashed var(--hb-border);border-radius:9px;background:var(--hb-bg2);}
.hbd-upload input[type="file"]{font:400 .85rem 'Inter',system-ui,sans-serif;max-width:100%;}
.hbd-upstatus{font:600 .8rem/1.4 'Inter',system-ui,sans-serif;}
.hbd-upstatus.busy{color:var(--hb-navy);}
.hbd-upstatus.busy::before{content:"";display:inline-block;width:11px;height:11px;margin-right:6px;border:2px solid var(--hb-border);border-top-color:var(--hb-navy);border-radius:50%;animation:hbspin .8s linear infinite;vertical-align:-1px;}
@keyframes hbspin{to{transform:rotate(360deg);}}
.hbd-upstatus.ok{color:var(--hb-green2);}
.hbd-upstatus.err{color:#a32626;}
.hbd-uppreview{margin-top:8px;}
.hbd-uppreview img{max-height:110px;max-width:220px;border-radius:8px;border:1px solid var(--hb-border);display:block;}
.hbd-upfile{display:inline-block;font:600 .8rem/1.4 'Inter',system-ui,sans-serif;color:var(--hb-navy);background:#fff;border:1px solid var(--hb-border);border-radius:8px;padding:6px 10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hbd-orurl{display:block;margin:10px 0 6px;font:600 .76rem/1 'Inter',system-ui,sans-serif;color:var(--hb-muted);text-transform:uppercase;letter-spacing:.05em;}
.hbd-check label{display:flex;align-items:center;gap:9px;font:600 .88rem/1.4 'Inter',system-ui,sans-serif;color:var(--hb-text);cursor:pointer;}
.hbd-check input{width:16px;height:16px;accent-color:var(--hb-green2);}

.hbc-ctas{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto;}
.hbc-ctas .hbc-cta{margin-top:0;}
.hbc-cta2{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;background:#fff;border:1.5px solid var(--hb-border);border-radius:8px;font:600 .82rem/1 'Inter',system-ui,sans-serif;color:var(--hb-navy);transition:border-color 160ms,background 160ms;}
.hbc-cta2:hover{border-color:var(--hb-navy);background:var(--hb-bg2);}
.hbc-cta2 svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.2;}
.hbc-video{margin:-4px 0 14px;border-radius:10px;overflow:hidden;background:#000;}
.hbc-video video{display:block;width:100%;max-height:220px;}

/* ── Meet the Team ── */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.team-card{display:flex;gap:22px;background:#fff;border:1px solid var(--hb-border);border-radius:16px;padding:26px;transition:border-color 160ms,box-shadow 160ms;}
.team-card:hover{border-color:var(--hb-green2);box-shadow:0 8px 26px rgba(13,69,104,.1);}
.team-avatar{flex:none;width:132px;}
.team-avatar img{width:132px;height:132px;border-radius:14px;object-fit:cover;display:block;}
.team-avatar-fallback{width:132px;height:132px;border-radius:14px;background:linear-gradient(155deg,var(--hb-navy),var(--hb-dark));color:#fff;display:flex;align-items:center;justify-content:center;font:800 2rem 'Manrope',system-ui,sans-serif;}
.team-body{min-width:0;display:flex;flex-direction:column;}
.team-body h3{margin:0 0 3px;font:800 1.2rem/1.25 'Manrope',system-ui,sans-serif;color:var(--hb-text);}
.team-title{font:600 .85rem/1.45 'Inter',system-ui,sans-serif;color:var(--hb-green2);margin-bottom:10px;}
.team-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:12px;}
.team-link{display:inline-flex;align-items:center;gap:6px;font:600 .8rem/1.3 'Inter',system-ui,sans-serif;color:var(--hb-muted);transition:color 140ms;word-break:break-all;}
.team-link:hover{color:var(--hb-navy);}
.team-link svg{width:13px;height:13px;color:#0a66c2;}
.team-short,.team-full p{margin:0 0 10px;font:400 .9rem/1.65 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.team-full p:last-child{margin-bottom:10px;}
.team-more{align-self:flex-start;margin-top:auto;padding:8px 16px;background:var(--hb-navy);color:#fff;border:0;border-radius:8px;font:600 .82rem/1 'Inter',system-ui,sans-serif;cursor:pointer;transition:background 160ms;}
.team-more:hover{background:var(--hb-green2);}
@media(max-width:860px){.team-grid{grid-template-columns:1fr;}}
@media(max-width:480px){.team-card{flex-direction:column;}.team-avatar,.team-avatar img,.team-avatar-fallback{width:100%;height:220px;}}

/* ── Contact page ── */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start;}
.contact-consent-note{margin:0 0 14px;font:400 .88rem/1.7 'Inter',system-ui,sans-serif;color:var(--hb-muted);max-width:720px;}
.contact-consent-note a{color:var(--hb-green2);font-weight:600;}
.contact-form h2{margin:26px 0 12px;font:800 1.1rem/1.2 'Manrope',system-ui,sans-serif;color:var(--hb-navy);}
.cform-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cform-field{margin-bottom:14px;}
.cform-field label{display:block;font:600 .84rem/1.3 'Inter',system-ui,sans-serif;color:var(--hb-text);margin-bottom:6px;}
.cform-field input,.cform-field select,.cform-field textarea{width:100%;padding:11px 13px;border:1.5px solid var(--hb-border);border-radius:9px;font:400 .92rem 'Inter',system-ui,sans-serif;color:var(--hb-text);background:#fff;}
.cform-field input:focus,.cform-field select:focus,.cform-field textarea:focus{outline:2px solid var(--hb-green);outline-offset:1px;border-color:var(--hb-green);}
.cform-field .invalid{border-color:#a32626;}
.cform-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px;}
.cform-checks label{display:flex;align-items:center;gap:8px;font:500 .88rem/1.4 'Inter',system-ui,sans-serif;color:var(--hb-text);cursor:pointer;}
.cform-checks input{width:15px;height:15px;accent-color:var(--hb-green2);}
.cform-consent{margin-top:18px;padding:14px 16px;background:var(--hb-bg2);border:1px solid var(--hb-border);border-radius:10px;}
.cform-consent label{display:flex;align-items:flex-start;gap:10px;font:500 .88rem/1.55 'Inter',system-ui,sans-serif;cursor:pointer;}
.cform-consent input{width:16px;height:16px;margin-top:2px;accent-color:var(--hb-green2);}
.contact-aside .contact-info{background:var(--hb-dark);border-radius:16px;padding:26px;color:#fff;position:sticky;top:110px;}
.contact-info h3{margin:0 0 14px;font:800 1.1rem/1.2 'Manrope',system-ui,sans-serif;}
.contact-info p{margin:0 0 14px;font:400 .88rem/1.6 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.65);}
.contact-info a{color:#7DD580;font-weight:600;}
.contact-thanks{background:var(--hb-bg2);border:1px solid var(--hb-border);border-radius:16px;padding:48px 40px;text-align:center;}
.contact-thanks h2{margin:0 0 12px;font:800 1.7rem/1.2 'Manrope',system-ui,sans-serif;color:var(--hb-navy);}
.contact-thanks p{margin:0 auto 24px;max-width:520px;font:400 .95rem/1.7 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.contact-thanks .hbc-cta{display:inline-flex;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}.cform-checks{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.cform-row{grid-template-columns:1fr;}.cform-checks{grid-template-columns:1fr;}}

/* ── dashboard: contacts/users toolbar + detail rows ── */
.hbd-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.hbd-search{flex:1;min-width:220px;max-width:380px;padding:10px 14px;border:1.5px solid var(--hb-border);border-radius:9px;font:400 .9rem 'Inter',system-ui,sans-serif;}
.hbd-search:focus{outline:2px solid var(--hb-green);outline-offset:1px;border-color:var(--hb-green);}
.hbd-filter{display:inline-flex;align-items:center;gap:8px;font:600 .82rem 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.hbd-filter select{padding:9px 12px;border:1.5px solid var(--hb-border);border-radius:8px;font:400 .86rem 'Inter',system-ui,sans-serif;background:#fff;color:var(--hb-text);}
.hbd-crow{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--hb-border);font:400 .9rem/1.55 'Inter',system-ui,sans-serif;color:var(--hb-text);}
.hbd-crow span{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--hb-muted);padding-top:2px;}
.hbd-bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:10px 14px;background:rgba(13,69,104,.05);border:1px solid var(--hb-border);border-radius:10px;font:600 .86rem 'Inter',system-ui,sans-serif;color:var(--hb-navy);}
.hbd-bulkbar strong{margin-right:4px;}
.hbd-bulk-danger{color:#a32626;border-color:#e3b9b9;}
.hbd-bulk-danger:hover{background:#a32626;border-color:#a32626;color:#fff;}
.hbd-selcol{width:36px;text-align:center;}
.hbd-selcol input{width:16px;height:16px;accent-color:var(--hb-green2);cursor:pointer;}
.hbd-selrow td{background:rgba(62,178,72,.05);}
.hbd-none{color:var(--hb-muted);opacity:.6;}

/* ── About HQ image ── */
.abt-hq-img{margin-top:18px;border-radius:16px;overflow:hidden;border:1px solid var(--hb-border);max-width:640px;}
.abt-hq-img img{width:100%;display:block;}

/* ── Team: Executive Board + roster ── */
.team-board{margin-top:64px;padding-top:44px;border-top:1px solid var(--hb-border);}
.team-board h2{margin:0 0 12px;font:800 1.6rem/1.2 'Manrope',system-ui,sans-serif;color:var(--hb-navy);}
.team-board .board-intro{max-width:820px;font:400 .96rem/1.72 'Inter',system-ui,sans-serif;color:var(--hb-muted);margin-bottom:24px;}
.board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch;}
@media(max-width:1000px){.board-grid{grid-template-columns:repeat(2,1fr);}}
.board-member{border:1px solid var(--hb-border);border-radius:12px;padding:16px 18px;background:#fff;}
.board-member h4{margin:0 0 2px;font:700 1rem/1.3 'Inter',system-ui,sans-serif;color:var(--hb-text);}
.board-member .bm-title{font:600 .85rem/1.4 'Inter',system-ui,sans-serif;color:var(--hb-green2);}
.board-member .bm-org{font:400 .84rem/1.4 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.board-note{margin-top:16px;padding:14px 18px;background:var(--hb-bg2);border:1px dashed var(--hb-border);border-radius:12px;font:500 .88rem/1.6 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.team-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,#0D4568,#082D46);color:rgba(255,255,255,.85);}
@media(max-width:700px){.board-grid{grid-template-columns:1fr;}}

/* ============================================================
   BioLaunch / BioCAN shared components (2026 stakeholder update)
   PathwayCard · DualCard · ResourceCard · FundingSummary ·
   StatBlocks · MilestoneTimeline · AccordionGroup · PartnerGrid ·
   SecondaryCTA · SlimCTA · Disclosure.
   Restrained: navy/teal carry structure, green is accent only.
   ============================================================ */

[id]{scroll-margin-top:110px;}

/* zone rhythm — major content zones breathe consistently */
.zone{padding:104px 0;}
.zone-tint{background:#F5F8FB;}
@media(max-width:768px){.zone{padding:64px 0;}}

/* shared eyebrow + section heading scale */
.gz-eyebrow{display:block;font:700 .78rem/1 'Inter',system-ui,sans-serif;letter-spacing:.14em;
  text-transform:uppercase;color:var(--hb-green2);margin-bottom:18px;}
.gz-title{font:800 clamp(2rem,3.6vw,2.6rem)/1.12 'Manrope',system-ui,sans-serif;
  letter-spacing:-.03em;color:var(--hb-text);margin:0 0 20px;}
.gz-lead{font:400 1.05rem/1.75 'Inter',system-ui,sans-serif;color:var(--hb-muted);max-width:660px;margin:0;}

/* subsection heading — quieter than the zone title */
.sub-head{font:800 1.35rem/1.3 'Manrope',system-ui,sans-serif;color:var(--hb-text);
  margin:0 0 26px;letter-spacing:-.015em;}
.sub-head-sp{margin-top:72px;}

/* ── PathwayCard: hero program navigation (BioLaunch) ── */
.pathways{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px;}
.pathway{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:14px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  color:#fff;text-decoration:none;position:relative;
  transition:background 180ms var(--hb-ease),border-color 180ms,transform 180ms;}
.pathway:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.42);transform:translateY(-3px);}
.pathway:focus-visible{outline:2px solid #7DD580;outline-offset:3px;}
.pathway-t{font:800 1.02rem/1.25 'Manrope',system-ui,sans-serif;padding-right:20px;}
.pathway-s{font:500 .82rem/1.45 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.7);}
.pathway::after{content:'→';position:absolute;top:18px;right:18px;font-size:1rem;font-weight:700;
  color:rgba(255,255,255,.55);transition:transform 180ms var(--hb-ease),color 180ms;}
.pathway:hover::after{transform:translateX(3px);color:#7DD580;}
@media(max-width:900px){.pathways{grid-template-columns:repeat(2,1fr);}}
@media(max-width:540px){.pathways{grid-template-columns:1fr;}}

/* ── DualCard: two-card feature rows (BioLaunch SUPPORT/CONNECTIONS) ── */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:40px;align-items:stretch;}
.dcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--hb-border);
  border-radius:16px;padding:30px;transition:transform 200ms var(--hb-ease),box-shadow 200ms var(--hb-ease),border-color 200ms;}
.dcard:hover{transform:translateY(-3px);box-shadow:0 10px 34px rgba(13,69,104,.13);border-color:var(--hb-green2);}
.dcard h3{margin:0 0 10px;font:800 1.18rem/1.3 'Manrope',system-ui,sans-serif;color:var(--hb-text);}
.dcard p{margin:0 0 20px;font:400 .93rem/1.7 'Inter',system-ui,sans-serif;color:var(--hb-muted);flex:1;}
.dcard-ico{width:42px;height:42px;border-radius:11px;background:rgba(0,132,61,.1);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--hb-green2);}
.dcard-ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.dcard-link{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;
  font:700 .9rem/1 'Inter',system-ui,sans-serif;color:var(--hb-green2);transition:gap 150ms;}
.dcard-link:hover{gap:11px;}
.dcard-link:focus-visible{outline:2px solid var(--hb-green);outline-offset:3px;border-radius:3px;}
.section-dark .dcard,.dual-dark .dcard{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.13);}
.dual-dark .dcard:hover{border-color:rgba(62,178,72,.5);box-shadow:0 10px 34px rgba(0,0,0,.25);}
.dual-dark .dcard h3{color:#fff;}
.dual-dark .dcard p{color:rgba(255,255,255,.66);}
.dual-dark .dcard-ico{background:rgba(62,178,72,.16);color:#7DD580;}
.dual-dark .dcard-link{color:#7DD580;}
.title-link{color:inherit;text-decoration:none;border-bottom:2px solid rgba(62,178,72,.55);transition:border-color 160ms;}
.title-link:hover{border-color:#7DD580;}
@media(max-width:860px){.dual{grid-template-columns:1fr;gap:16px;}}

/* ── FundingSummary: 60/40 award feature panel ── */
.fund-summary{display:grid;grid-template-columns:1.5fr 1fr;gap:0;
  background:linear-gradient(118deg,#07223a 0%,#0D4568 62%,#12525c 100%);
  border-radius:20px;padding:0;color:#fff;overflow:hidden;}
.fund-figure{padding:52px 48px;}
.fund-amount{font:800 clamp(2.9rem,5.4vw,3.6rem)/1 'Manrope',system-ui,sans-serif;
  color:var(--hb-green);letter-spacing:-.035em;margin-bottom:14px;}
.fund-sub{font:600 1.02rem/1.4 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.88);}
.fund-desc-wrap{padding:52px 48px;border-left:1px solid rgba(255,255,255,.16);display:flex;align-items:center;}
.fund-desc{font:400 .97rem/1.78 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.76);margin:0;}
[data-doc].is-pending{opacity:.5;pointer-events:none;}
.fund-note{font:400 .82rem/1.6 'Inter',system-ui,sans-serif;color:var(--hb-muted);margin-top:16px;}
@media(max-width:860px){
  .fund-summary{grid-template-columns:1fr;}
  .fund-figure{padding:34px 28px 26px;}
  .fund-desc-wrap{padding:0 28px 34px;border-left:0;}
}

/* ── StatBlocks: funding details (dividers, not form fields) ── */
.fstats{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0;
  border-top:1px solid var(--hb-border);border-bottom:1px solid var(--hb-border);}
.fstat{padding:26px 24px;border-right:1px solid var(--hb-border);}
.fstat:last-child{border-right:0;}
.fstat dt{font:700 .72rem/1.35 'Inter',system-ui,sans-serif;letter-spacing:.09em;
  text-transform:uppercase;color:var(--hb-muted);margin-bottom:9px;}
.fstat dd{margin:0;font:800 1.32rem/1.25 'Manrope',system-ui,sans-serif;
  color:var(--hb-navy);letter-spacing:-.02em;}
.stat-note{margin-top:18px;font:400 .89rem/1.7 'Inter',system-ui,sans-serif;color:var(--hb-muted);max-width:660px;}
@media(max-width:1100px){
  .fstats{grid-template-columns:repeat(3,1fr);border-bottom:0;}
  .fstat{border-bottom:1px solid var(--hb-border);}
  .fstat:nth-child(3n){border-right:0;}
}
@media(max-width:640px){
  .fstats{grid-template-columns:repeat(2,1fr);}
  .fstat{border-right:1px solid var(--hb-border);}
  .fstat:nth-child(2n){border-right:0;}
  .fstat dd{font-size:1.15rem;}
}

/* ── ResourceCard: downloadable program materials ── */
.rescards{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.rescard{display:flex;gap:20px;padding:28px 30px;background:#fff;
  border:1px solid var(--hb-border);border-radius:14px;
  transition:border-color 180ms var(--hb-ease),transform 180ms var(--hb-ease),box-shadow 180ms;}
.rescard:hover{border-color:var(--hb-navy);transform:translateY(-2px);box-shadow:0 8px 24px rgba(13,69,104,.08);}
.rescard-ico{flex:none;width:44px;height:44px;border-radius:10px;background:#F0F5F9;
  display:flex;align-items:center;justify-content:center;color:var(--hb-navy);}
.rescard-ico svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.rescard-body{min-width:0;}
.rescard h4{margin:0 0 7px;font:800 1.06rem/1.35 'Manrope',system-ui,sans-serif;color:var(--hb-text);}
.rescard p{margin:0 0 16px;font:400 .89rem/1.65 'Inter',system-ui,sans-serif;color:var(--hb-muted);}
.rescard-link{display:inline-flex;align-items:center;gap:7px;font:700 .88rem/1 'Inter',system-ui,sans-serif;
  color:var(--hb-green2);transition:gap 160ms;}
.rescard-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform 160ms;}
.rescard:hover .rescard-link{gap:11px;}
.rescard:hover .rescard-link svg{transform:translateX(3px);}
.rescard-link:focus-visible{outline:2px solid var(--hb-green);outline-offset:3px;border-radius:3px;}
@media(max-width:860px){.rescards{grid-template-columns:1fr;}}
/* narrow screens: let the arrow flow with the last word instead of orphaning */
@media(max-width:560px){
  .rescard{padding:24px;gap:16px;}
  .rescard-link{display:inline;}
  .rescard-link svg{display:inline-block;vertical-align:-2px;margin-left:6px;}
}

/* ── MilestoneTimeline ── */
.tline{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding-top:6px;}
.tstep{position:relative;padding-top:40px;}
.tstep::after{content:'';position:absolute;top:11px;left:22px;right:-26px;height:2px;background:var(--hb-border);}
.tstep:last-child::after{display:none;}
.tstep::before{content:'';position:absolute;top:4px;left:0;width:18px;height:18px;border-radius:50%;
  background:#fff;border:3px solid var(--hb-green);box-sizing:border-box;}
.tstep-n{font:800 .72rem/1 'Inter',system-ui,sans-serif;letter-spacing:.12em;
  color:var(--hb-green2);margin-bottom:9px;}
.tstep-d{font:800 1.08rem/1.3 'Manrope',system-ui,sans-serif;color:var(--hb-navy);margin-bottom:5px;}
.tstep-l{font:600 .88rem/1.45 'Inter',system-ui,sans-serif;color:var(--hb-text);}
.tstep-s{font:400 .8rem/1.5 'Inter',system-ui,sans-serif;color:var(--hb-muted);margin-top:5px;}
@media(max-width:900px){
  .tline{grid-template-columns:1fr;gap:0;padding-top:0;}
  .tstep{padding:0 0 30px 36px;}
  .tstep:last-child{padding-bottom:0;}
  .tstep::before{top:2px;left:0;}
  .tstep::after{top:20px;bottom:-4px;left:8px;right:auto;width:2px;height:auto;}
}

/* ── AccordionGroup ── */
.acc{display:flex;flex-direction:column;gap:10px;}
.acc-item{border:1px solid var(--hb-border);border-radius:12px;background:#fff;overflow:hidden;
  transition:border-color 180ms,background 180ms;}
.acc-item:hover{border-color:#cdd9e5;}
.acc-item.open{border-color:var(--hb-navy);background:#F5F8FB;}
.acc-btn{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;
  padding:24px 28px;background:none;border:0;text-align:left;cursor:pointer;
  font:800 1.06rem/1.4 'Manrope',system-ui,sans-serif;color:var(--hb-text);font-family:inherit;}
.acc-btn:hover{background:rgba(13,69,104,.03);}
.acc-item.open .acc-btn:hover{background:transparent;}
.acc-btn:focus-visible{outline:2px solid var(--hb-green);outline-offset:-3px;}
.acc-sign{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--hb-border);
  display:flex;align-items:center;justify-content:center;position:relative;transition:border-color 180ms,background 180ms;}
.acc-sign::before,.acc-sign::after{content:'';position:absolute;background:var(--hb-navy);
  border-radius:1px;transition:transform 220ms var(--hb-ease),opacity 180ms;}
.acc-sign::before{width:11px;height:2px;}
.acc-sign::after{width:2px;height:11px;}
.acc-item.open .acc-sign{border-color:var(--hb-green);background:var(--hb-green);}
.acc-item.open .acc-sign::before{background:#fff;}
.acc-item.open .acc-sign::after{transform:scaleY(0);opacity:0;}
.acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows 260ms var(--hb-ease);}
.acc-panel>div{overflow:hidden;}
.acc-item.open .acc-panel{grid-template-rows:1fr;}
.acc-body{padding:2px 28px 26px;font:400 .95rem/1.8 'Inter',system-ui,sans-serif;
  color:var(--hb-muted);max-width:760px;}
.acc-body p{margin:0 0 14px;}
.acc-body p:last-child{margin-bottom:0;}
.acc-body ul{margin:0 0 14px;padding-left:20px;}
.acc-body li{margin-bottom:7px;}
.acc-body strong{color:var(--hb-text);font-weight:700;}
.acc-body a{color:var(--hb-green2);font-weight:600;}
@media(prefers-reduced-motion:reduce){.acc-panel,.acc-sign::before,.acc-sign::after{transition:none;}}
@media(max-width:640px){.acc-btn{padding:20px;font-size:1rem;}.acc-body{padding:2px 20px 22px;}}

/* ── Disclosure: compliance / award information ── */
.compliance{margin-top:40px;border-top:1px solid var(--hb-border);padding-top:0;}
.compliance{margin-bottom:-28px;}
.compliance summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:11px;
  padding:20px 2px;font:700 .8rem/1.4 'Inter',system-ui,sans-serif;letter-spacing:.06em;
  text-transform:uppercase;color:var(--hb-muted);transition:color 160ms;}
.compliance summary:hover{color:var(--hb-navy);}
.compliance summary::-webkit-details-marker{display:none;}
.compliance summary svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex:none;}
.compliance summary .chev{margin-left:auto;transition:transform 200ms var(--hb-ease);}
.compliance[open] summary .chev{transform:rotate(180deg);}
.compliance summary:focus-visible{outline:2px solid var(--hb-green);outline-offset:2px;}
.compliance-body{padding:0 2px 22px;font:400 .85rem/1.75 'Inter',system-ui,sans-serif;color:var(--hb-muted);
  display:grid;grid-template-columns:auto 1fr;gap:6px 22px;max-width:720px;}
.compliance-body dt{font-weight:700;color:var(--hb-text);}
.compliance-body dd{margin:0;}
@media(max-width:600px){.compliance-body{grid-template-columns:1fr;gap:2px;}
  .compliance-body dd{margin-bottom:10px;}}

/* ── SecondaryCTA band ── */
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  background:#F5F8FB;border:1px solid #E4EBF2;border-radius:18px;padding:36px 40px;}
.cta-band .gz-eyebrow{margin-bottom:12px;}
.cta-band h2{margin:0;font:800 1.5rem/1.3 'Manrope',system-ui,sans-serif;
  color:var(--hb-text);letter-spacing:-.02em;}
.cta-band p{margin:10px 0 0;font:400 .93rem/1.65 'Inter',system-ui,sans-serif;color:var(--hb-muted);max-width:540px;}
.cta-band .hbc-cta{flex:none;}
@media(max-width:720px){.cta-band{padding:28px 24px;gap:22px;}}

/* ── SlimCTA: final contact band ── */
.cta-slim{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;
  background:linear-gradient(118deg,#07223a 0%,#0D4568 65%,#12525c 100%);
  border-radius:20px;padding:44px 48px;color:#fff;}
.cta-slim .gz-eyebrow{color:#7DD580;margin-bottom:12px;}
.cta-slim h2{margin:0 0 10px;font:800 1.7rem/1.25 'Manrope',system-ui,sans-serif;color:#fff;letter-spacing:-.025em;}
.cta-slim p{margin:0;font:400 .95rem/1.7 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.72);max-width:520px;}
.cta-slim-action{flex:none;display:inline-flex;align-items:center;gap:9px;padding:15px 30px;
  background:var(--hb-green);color:#fff;border-radius:9px;font:700 .95rem/1 'Inter',system-ui,sans-serif;
  transition:background 180ms,transform 180ms,gap 160ms;}
.cta-slim-action:hover{background:#48c455;transform:translateY(-2px);gap:13px;}
.cta-slim-action:focus-visible{outline:2px solid #fff;outline-offset:3px;}
@media(max-width:820px){.cta-slim{padding:34px 28px;gap:24px;}.cta-slim h2{font-size:1.45rem;}}

/* ── PartnerGrid ── */
.partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:36px;}
.partner-item{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:104px;
  background:#fff;border:1px solid var(--hb-border);border-radius:14px;padding:22px 24px;
  text-decoration:none;transition:border-color 180ms,box-shadow 180ms,transform 180ms;}
.partner-item:hover{border-color:var(--hb-green2);box-shadow:0 8px 26px rgba(13,69,104,.1);transform:translateY(-2px);}
.partner-item:focus-visible{outline:2px solid var(--hb-green);outline-offset:3px;}
.partner-item img{max-height:44px;width:auto;object-fit:contain;align-self:flex-start;}
.partner-name{font:800 1rem/1.3 'Manrope',system-ui,sans-serif;color:var(--hb-navy);}
.partner-visit{font:600 .78rem/1 'Inter',system-ui,sans-serif;color:var(--hb-muted);display:inline-flex;align-items:center;gap:5px;}
.partner-item:hover .partner-visit{color:var(--hb-green2);}

/* contact form: note shown when interest areas arrive pre-selected */
.cform-preselect{margin:10px 0 0;padding:9px 13px;border-left:3px solid var(--hb-green);
  background:#F2F8F4;border-radius:0 8px 8px 0;
  font:500 .82rem/1.55 'Inter',system-ui,sans-serif;color:var(--hb-text);}
