@font-face { font-family: "Nimbus"; src: url("./fonts/NimbusSans-Regular.otf") format("opentype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Nimbus"; src: url("./fonts/NimbusSans-Bold.otf") format("opentype"); font-weight: 700; font-display: swap; }
:root {
  --paper: #f4f3e9; --surface: #e7ebe0; --ink: #113b32; --forest: #092e29; --deep: #082622; --accent: #087b6d; --gold: #dfc17c; --muted: #52675e; --inverse-muted: #c4d6c8; --line: #b9c7b8;
  --font-body: "Nimbus", Arial, sans-serif; --font-display: "Nimbus", Arial, sans-serif;
  --text-xs: clamp(.75rem,.71rem + .18vw,.875rem); --text-sm: clamp(.875rem,.84rem + .15vw,1rem); --text-base: clamp(1rem,.95rem + .23vw,1.125rem); --text-lg: clamp(1.2rem,1.03rem + .5vw,1.5rem); --text-xl: clamp(1.65rem,1.2rem + 1.3vw,2.6rem); --text-2xl: clamp(2.3rem,1.3rem + 3vw,4rem); --text-hero: clamp(3.3rem,1.4rem + 5.6vw,6.8rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
  --gutter:clamp(var(--space-5),4vw,var(--space-20));--ease:cubic-bezier(.16,1,.3,1);
}
.wrap { width:100%; max-width:1520px; padding-inline:var(--gutter); margin-inline:auto; }
.section { padding-block:clamp(var(--space-16),8vw,var(--space-32)); }
.eyebrow { font-size:var(--text-xs); font-weight:700; letter-spacing:normal; line-height:1.4; text-transform:uppercase; }
h1 { font-size:var(--text-2xl); letter-spacing:normal; }
h2 { font-size:var(--text-xl); letter-spacing:normal; }
h3 { font-size:var(--text-lg); letter-spacing:normal; }
.caption { font-size:var(--text-xs); line-height:1.55; color:var(--muted); }
.lede { font-size:var(--text-lg); line-height:1.5; max-width:45ch; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:var(--space-10); padding:var(--space-4) var(--space-6); min-height:52px; font-size:var(--text-sm); border:1px solid transparent; }
.button.primary { color:var(--paper); background:var(--ink); }
.button.primary:hover { background:var(--accent); }
.button.secondary { border-color:var(--line); }
.text-link { display:inline-flex; gap:var(--space-8); align-items:center; min-height:44px; font-size:var(--text-sm); border-bottom:1px solid currentColor; }
.skip { position:fixed; top:var(--space-2);left:var(--space-2);padding:var(--space-4);background:var(--paper);z-index:100;transform:translateY(-150%); }
.skip:focus { transform:none; }
.site-header { position:sticky; top:0;z-index:30; display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--gutter);height:90px;background:var(--paper);border-bottom:1px solid rgba(17,59,50,.15); }
.brand { display:block;width:152px;min-height:44px; }
.brand img { width:100%;height:48px;object-fit:contain;object-position:left center; }
.site-header nav { display:flex; align-items:center;gap:var(--space-8); font-size:var(--text-sm); }
.site-header nav>a { display:inline-flex;align-items:center;min-height:44px; }
.site-header nav>a:hover,.site-header nav>[aria-current=page] { color:var(--accent); }
.site-header .nav-order { border:1px solid var(--ink);padding-inline:var(--space-5);gap:var(--space-6); }
.menu-toggle { display:none; }
.home-hero { min-height:700px;height:calc(100svh - 90px);max-height:1000px;position:relative;background:var(--forest);color:var(--paper);overflow:hidden; }
.hero-image { position:absolute;inset:0; }
.hero-image img,.hero-image video { width:100%;height:100%;object-fit:cover;object-position:65% center; }
.hero-image video { position:absolute;inset:0;opacity:0;transition:opacity .5s var(--ease); }
.hero-image video.is-playing { opacity:1; }
.hero-still { transform:none; }
.hero-scrim { position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,38,34,.97),rgba(8,38,34,.82) 28%,rgba(8,38,34,.08) 78%); }
.hero-copy { position:relative;padding-top:clamp(var(--space-20),12vh,var(--space-32)); }
.hero-copy .eyebrow { color:var(--inverse-muted);margin-bottom:var(--space-8); }
.hero-copy h1 { font-size:var(--text-hero);max-width:11ch;letter-spacing:normal;line-height:.98; }
.hero-lede { max-width:38ch;font-size:var(--text-base);color:var(--inverse-muted);margin-top:var(--space-8);margin-bottom:var(--space-8); }
.home-hero .primary { background:var(--paper);color:var(--ink); }
.home-hero .primary:hover { background:var(--gold); }
.motion-toggle { display:flex;align-items:center;gap:var(--space-6);min-height:44px;margin-top:var(--space-4);font-size:var(--text-xs);color:var(--inverse-muted); }
.hero-caption { position:absolute;bottom:var(--space-6);left:0;right:0;display:flex;justify-content:space-between;gap:var(--space-6);font-size:var(--text-xs);color:var(--inverse-muted); }
.hero-caption span { background:rgba(8,38,34,.94);padding:6px 10px;width:fit-content; }
.section-intro { display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6) var(--space-16);align-items:end;margin-bottom:var(--space-12); }
.section-intro .eyebrow { grid-column:1/-1; }
.section-intro p:not(.eyebrow) { max-width:48ch;color:var(--muted); }
.platform-pair { display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8); }
.platform-card { display:block; }
.platform-picture { aspect-ratio:16/10;overflow:hidden;background:var(--forest); }
.platform-picture img { width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease); }
.platform-card:hover .platform-picture img { transform:scale(1.035); }
.platform-copy { padding-block:var(--space-6); }
.platform-copy h3 { margin-block:var(--space-3);font-size:var(--text-xl); }
.platform-copy p { color:var(--muted);margin-bottom:var(--space-6); }
.conviction { background:var(--surface);padding-block:clamp(var(--space-16),8vw,var(--space-32)); }
.conviction-grid { display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20); }
.conviction-grid .eyebrow { margin-bottom:var(--space-8); }
.conviction-list article { border-top:1px solid var(--line);padding-block:var(--space-6); }
.conviction-list article:first-child { padding-top:0;border-top:0; }
.conviction-list article>span { font-size:var(--text-xs);color:var(--muted); }
.conviction-list h3 { margin-block:var(--space-3); }
.conviction-list p { color:var(--muted); }
.leadership { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8); }
.portrait { aspect-ratio:4/4.2;background:#e2e6dc;overflow:hidden;margin-bottom:var(--space-6); }
.portrait img { width:100%;height:100%;object-fit:cover;object-position:center 16%;mix-blend-mode:multiply; }
.leadership article>p { margin-top:var(--space-2);color:var(--muted);font-size:var(--text-sm); }
.team-details { margin-top:var(--space-12);border-top:1px solid var(--line); }
summary { cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);min-height:70px;font-size:var(--text-base); }
summary::-webkit-details-marker { display:none; }
details[open] summary>span { transform:rotate(45deg); }
.advisor-list { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);padding-block:var(--space-6); }
.advisor-list p { margin-top:var(--space-2);font-size:var(--text-sm);color:var(--muted); }
.role-note { margin-top:var(--space-6); }
.contact-band { border-top:1px solid var(--line);padding-block:var(--space-20);display:flex;justify-content:space-between;align-items:center;gap:var(--space-12); }
.contact-band .eyebrow { margin-bottom:var(--space-6); }
.site-footer { padding:var(--space-12) var(--gutter) var(--space-6);background:var(--surface); }
.footer-top { display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-12);padding-bottom:var(--space-12); }
.footer-top p { font-size:var(--text-base); }
.footer-top nav { display:flex;flex-direction:column;align-items:flex-start;font-size:var(--text-sm); }
.footer-top nav a { min-height:44px;display:flex;align-items:center; }
.footer-bottom { padding-top:var(--space-6);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:var(--space-8);font-size:var(--text-xs);color:var(--muted); }
.page-hero { display:grid;grid-template-columns:1.05fr 1fr;gap:var(--space-16);align-items:center;padding-block:var(--space-20); }
.page-hero .eyebrow { margin-bottom:var(--space-6); }
.page-hero .lede { margin-top:var(--space-8);font-size:var(--text-base); }
.page-hero .caption { max-width:48ch;margin-top:var(--space-6); }
.hero-actions { display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:center;margin-top:var(--space-8); }
.page-hero-image { position:relative;aspect-ratio:1/1;overflow:hidden; }
.page-hero-image img { width:100%;height:100%;object-fit:cover; }
.image-label { position:absolute;bottom:var(--space-6);left:var(--space-6);padding:var(--space-3) var(--space-4);background:var(--forest);color:var(--paper);font-size:var(--text-sm); }
.watch { display:inline-flex;align-items:center;gap:var(--space-3);min-height:48px;font-size:var(--text-sm);text-align:left; }
.play-glyph { font-size:var(--text-lg); }
.watch:hover { color:var(--accent); }
.technology-section,.immune-section { background:var(--forest);color:var(--paper);padding-block:var(--space-20); }
.home-hero :focus-visible,.technology-section :focus-visible,.immune-section :focus-visible { outline-color:var(--gold); }
.inverse p:not(.eyebrow) { color:var(--inverse-muted); }
.inverse .eyebrow { color:var(--gold); }
.technology-tabs { display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #527265;gap:var(--space-8); }
.technology-tabs button { text-align:left;min-height:90px;border-bottom:2px solid transparent;padding-bottom:var(--space-5); }
.technology-tabs span { display:block;font-size:var(--text-xs);color:var(--inverse-muted);margin-bottom:var(--space-2);letter-spacing:normal; }
.technology-tabs strong { font-size:var(--text-lg);font-weight:400; }
.technology-tabs [aria-selected=true] { border-bottom-color:var(--gold);color:var(--gold); }
.technology-panel { display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-12);padding-top:var(--space-12);align-items:center; }
.technology-media,.education-picture { position:relative;aspect-ratio:16/10;background:var(--deep);overflow:hidden; }
.technology-media>img,.technology-media>video,.education-picture>img,.education-picture>video { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.technology-media>video,.education-picture>video { opacity:0;transition:opacity .35s var(--ease); }
.technology-media>video.is-playing,.education-picture>video.is-playing { opacity:1; }
.mini-play { position:absolute;left:var(--space-5);top:var(--space-5);background:var(--paper);color:var(--ink);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);min-height:44px; }
.mechanism-stage { position:absolute;bottom:var(--space-5);left:var(--space-5);right:var(--space-5);font-size:var(--text-xs);padding:var(--space-3) var(--space-4);background:var(--forest); }
.technology-copy .eyebrow { color:var(--gold);margin-bottom:var(--space-5); }
.technology-copy h3 { font-size:var(--text-xl);margin-bottom:var(--space-6); }
.technology-copy>p:not(.eyebrow) { font-size:var(--text-sm);line-height:1.6;color:var(--inverse-muted); }
.technology-copy .technology-offering { margin-top:var(--space-6);color:var(--paper); }
.applicability { border-top:1px solid #527265;padding-top:var(--space-4);margin-block:var(--space-6);font-size:var(--text-xs); }
.technology-copy .watch:hover { color:var(--gold); }
.technology-copy .caption { margin-top:var(--space-4); }
.licensing-map { border-top:1px solid var(--line); }
.licensing-map>div { display:grid;grid-template-columns:1fr 1fr;padding-block:var(--space-6);border-bottom:1px solid var(--line);gap:var(--space-8); }
.licensing-map span { font-size:var(--text-lg); }
.licensing-map strong { font-weight:400;font-size:var(--text-base); }
.licensing-key { padding:var(--space-5) var(--space-6);background:var(--surface);margin-top:var(--space-6); }
.order-row { margin-top:var(--space-8);display:flex;align-items:center;justify-content:space-between;gap:var(--space-12); }
.order-row p { max-width:55ch;color:var(--muted);font-size:var(--text-sm); }
.primer { border-top:1px solid var(--line);margin-top:var(--space-12); }
.primer p { padding-bottom:var(--space-6);color:var(--muted); }
.education-grid { display:grid;grid-template-columns:1.35fr 1fr;gap:var(--space-12);align-items:center; }
.education-steps button { width:100%;padding:var(--space-5) 0;text-align:left;border-top:1px solid #527265; }
.education-steps button:first-child { border-top:0; }
.education-steps span { display:block;font-size:var(--text-xs);color:var(--inverse-muted);margin-bottom:var(--space-3);letter-spacing:normal; }
.education-steps strong { display:block;font-size:var(--text-lg);font-weight:400; }
.education-steps small { display:block;font-size:var(--text-sm);line-height:1.5;color:var(--inverse-muted);margin-top:var(--space-3);max-width:45ch; }
.education-steps [aria-selected=true] strong,.education-steps [aria-selected=true] span { color:var(--gold); }
.education-caption { margin-top:var(--space-8);font-size:var(--text-sm);max-width:95ch;color:var(--inverse-muted); }
.manufacturing-figure { padding:var(--space-8);background:var(--surface); }
.manufacturing-time { display:flex;align-items:baseline;gap:var(--space-6);padding-bottom:var(--space-8);border-bottom:1px solid var(--line); }
.manufacturing-time strong { font-size:var(--text-2xl);font-weight:400;letter-spacing:normal; }
.manufacturing-time span { font-size:var(--text-xs);text-transform:uppercase;letter-spacing:normal; }
.manufacturing-flow { display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:var(--space-8);align-items:center;padding-top:var(--space-8);text-align:center; }
.manufacturing-flow>div { display:flex;align-items:center;flex-direction:column; }
.manufacturing-flow img { width:180px;height:110px;object-fit:cover;margin-bottom:var(--space-6); }
.manufacturing-flow h3 { font-size:var(--text-base); }
.manufacturing-flow p { font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-2); }
.manufacturing-flow>span { font-size:var(--text-xl); }
.process-lines { width:90px;height:110px;border:1px solid var(--muted);border-radius:8px;display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-6); }
.process-lines i { height:1px;background:var(--muted);display:block;animation:process 3s ease-in-out infinite; }
.process-lines i:nth-child(2){animation-delay:.3s}.process-lines i:nth-child(3){animation-delay:.6s}.process-lines i:nth-child(4){animation-delay:.9s}
@keyframes process { 50%{opacity:.3;transform:scaleX(.7)} }
.vial { width:62px;height:95px;border:1px solid var(--muted);border-radius:12px 12px 4px 4px;margin-top:var(--space-4);margin-bottom:var(--space-6);position:relative; }
.vial:before { content:"";position:absolute;width:35px;height:15px;border:1px solid var(--muted);left:12px;top:-15px;background:var(--surface); }
.vial span { position:absolute;inset:30px 7px 7px;background:#c8d4c3; }
.manufacturing-note { margin-top:var(--space-5);font-size:var(--text-xs);color:var(--muted); }
.vision-outcomes { display:flex;justify-content:space-between;gap:var(--space-8);padding-top:var(--space-8);font-size:var(--text-sm); }
.connect-hero { padding-block:var(--space-24); }
.connect-hero h1 { margin-block:var(--space-8);font-size:var(--text-hero); }
.connect-hero .lede { max-width:62ch;font-size:var(--text-base); }
.contact-topics { display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-12); }
.contact-topics button { border:1px solid var(--line);padding:var(--space-3) var(--space-5);min-height:48px;font-size:var(--text-sm); }
.contact-topics button[aria-pressed=true] { background:var(--ink);color:var(--paper);border-color:var(--ink); }
.email-panel { margin-top:var(--space-8);padding-block:var(--space-8);border-block:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:var(--space-6); }
.email-panel>a { font-size:var(--text-xl);letter-spacing:normal; }
.email-panel button { font-size:var(--text-sm);min-height:44px;border-bottom:1px solid var(--ink); }
#copy-status { flex-basis:100%;font-size:var(--text-xs); }
#copy-status:empty { display:none; }
.connect-hero>.caption { margin-top:var(--space-5); }
.contact-bottom { display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);margin-top:var(--space-20); }
address { font-style:normal;line-height:1.7; }
.contact-bottom .caption { margin-top:var(--space-4); }
dialog { position:fixed;inset:0;margin:auto;width:min(1280px,94vw);max-height:94dvh;border:0;background:var(--paper);color:var(--ink);padding:var(--space-6);overflow:auto; }
dialog::backdrop { background:rgba(2,16,13,.9);backdrop-filter:blur(6px); }
dialog[open] { animation:dialog-in .3s var(--ease); }
@keyframes dialog-in { from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)} }
.cinema-head { display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);margin-bottom:var(--space-5); }
.cinema-head h2 { font-size:var(--text-lg);margin-top:var(--space-2); }
.close-cinema { min-width:70px;min-height:44px;font-size:var(--text-sm); }
.cinema-screen { position:relative;background:var(--deep); }
.cinema-screen video { width:100%;max-height:70dvh;aspect-ratio:16/9;background:var(--deep); }
#film-error { padding:var(--space-8);color:var(--paper); }
.cinema-meta { display:flex;align-items:center;gap:var(--space-6);margin-top:var(--space-4);font-size:var(--text-xs); }
.cinema-meta p { margin-right:auto; }
.cinema-meta button { min-height:44px;border-bottom:1px solid var(--line);white-space:nowrap; }
#film-transcript { font-size:var(--text-base);line-height:1.7;padding-block:var(--space-6);max-width:80ch; }
@media(max-width:1000px){
  .site-header nav{gap:var(--space-5)}.page-hero{gap:var(--space-8)}.technology-panel,.education-grid{grid-template-columns:1fr;gap:var(--space-8)}
  .technology-copy{max-width:70ch}.education-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.education-steps button:first-child{border-top:1px solid #527265}
  .hero-copy h1{max-width:10ch}.conviction-grid{gap:var(--space-12)}.leadership{gap:var(--space-5)}.leadership h3{font-size:var(--text-base)}
}
@media(max-width:700px){
  .site-header{height:74px}.brand{width:128px}.brand img{height:42px}.menu-toggle{display:flex;align-items:center;gap:var(--space-5);min-height:44px;font-size:var(--text-sm)}
  .site-header nav{display:none;position:absolute;top:73px;left:0;right:0;background:var(--paper);padding:var(--space-5) var(--gutter) var(--space-8);border-bottom:1px solid var(--line)}
  .site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2)}.site-header nav>a{min-height:50px}.site-header .nav-order{margin-top:var(--space-3)}
  .home-hero{height:auto;min-height:740px;max-height:none}.hero-image{top:230px;bottom:0;left:-35%;right:-30%}.hero-image img{object-position:60% center}
  .hero-scrim{background:linear-gradient(180deg,var(--forest) 0%,var(--forest) 24%,rgba(8,38,34,.65) 53%,rgba(8,38,34,.15) 80%,var(--forest) 100%)}
  .hero-copy{padding-top:var(--space-12)}.hero-copy .eyebrow{max-width:28ch;margin-bottom:var(--space-6)}.hero-copy h1{font-size:var(--text-hero);max-width:11ch}.hero-lede{max-width:32ch;margin-top:var(--space-6)}
  .hero-caption{flex-direction:column;gap:var(--space-2);bottom:var(--space-5)}.hero-caption span{font-size:var(--text-xs)}
  .section-intro{grid-template-columns:1fr;gap:var(--space-5);margin-bottom:var(--space-8)}.section-intro .eyebrow{grid-column:auto}
  .platform-pair,.conviction-grid,.page-hero,.contact-bottom{grid-template-columns:1fr}.platform-pair{gap:var(--space-8)}.platform-copy h3{font-size:var(--text-xl)}
  .conviction-grid{gap:var(--space-10)}.leadership{grid-template-columns:1fr;gap:var(--space-10)}.portrait{aspect-ratio:4/3.5;max-height:440px}.leadership h3{font-size:var(--text-lg)}
  .advisor-list{grid-template-columns:1fr}.contact-band{align-items:flex-start;flex-direction:column;padding-block:var(--space-12);gap:var(--space-8)}
  .footer-top{grid-template-columns:1fr 1fr;gap:var(--space-8)}.footer-top>.brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:var(--space-4)}
  .page-hero{padding-block:var(--space-12);gap:var(--space-8)}.page-hero-image{aspect-ratio:16/11}.hero-actions{gap:var(--space-3)}
  .technology-section,.immune-section{padding-block:var(--space-12)}.technology-tabs{gap:var(--space-4)}.technology-tabs span{letter-spacing:normal;font-size:var(--text-xs)}.technology-tabs strong{font-size:var(--text-base)}
  .technology-tabs button{min-height:80px}.technology-tabs span{min-height:2.8em}.technology-panel{padding-top:var(--space-8)}.technology-media,.education-picture{aspect-ratio:4/3}
  .mini-play{left:var(--space-3);top:var(--space-3)}.mechanism-stage{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}
  .technology-copy h3{font-size:var(--text-xl)}.licensing-map>div{grid-template-columns:1fr;gap:var(--space-2)}.order-row{flex-direction:column;align-items:flex-start;gap:var(--space-6)}
  .education-steps{display:block}.education-steps button:first-child{border-top:0}.education-grid{gap:var(--space-6)}.manufacturing-figure{padding:var(--space-6)}
  .manufacturing-time{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.manufacturing-flow{grid-template-columns:1fr;gap:var(--space-5)}
  .manufacturing-flow>span{transform:rotate(90deg)}.vision-outcomes{flex-direction:column;gap:var(--space-4)}.connect-hero{padding-block:var(--space-12)}
  .contact-bottom{gap:var(--space-10);margin-top:var(--space-12)}.email-panel>a{font-size:var(--text-lg)}
  dialog{padding:var(--space-4);width:96vw;max-height:94dvh}.cinema-head{gap:var(--space-4)}.cinema-meta{flex-wrap:wrap;gap:var(--space-4)}.cinema-meta p{flex-basis:100%}.cinema-head .eyebrow{font-size:var(--text-xs)}
}
