@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&display=swap');

html{scroll-behavior:smooth;scroll-padding-top:110px}
.story-page .header{position:sticky;top:0;z-index:10;background:#fff;height:100px;flex-shrink:0;margin-inline:-5.5vw;padding-inline:5.5vw}
.story-page .brand{width:210px}
.story-hero{min-height:calc(100svh - 100px);padding-top:75px;display:flex;flex-direction:column}
.story-hero h1{font-size:clamp(3.2rem,7.9vw,8.7rem);margin:35px 0 45px;line-height:1.06}
.hero-bottom{display:flex;justify-content:space-between;gap:40px;align-items:flex-end}
.hero-bottom p{font-size:1.2rem;line-height:1.65;max-width:555px;margin:0;color:#55555a}
.scroll-link{display:inline-flex;gap:30px;align-items:center;color:var(--ink);text-decoration:none;font-size:.9375rem;border-bottom:1px solid var(--red);padding-bottom:12px;white-space:nowrap}
.scroll-link span{color:var(--red);font-size:1.4rem}
.scroll-link:hover{color:var(--red)}
.hero-foot{display:flex;justify-content:space-between;gap:25px;margin-top:auto;padding:70px 0 28px;font-size:.75rem;letter-spacing:.09em;color:var(--muted)}
.story-section{padding:110px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 3fr;gap:42px}
.section-label{display:flex;gap:14px;align-items:baseline;font-size:.75rem;font-weight:600;letter-spacing:.08em;line-height:1.6}
.section-label>span{color:var(--red)}
.story-page h2{font-size:clamp(2.2rem,4.4vw,4.9rem);font-weight:450;letter-spacing:-.045em;line-height:1.12;margin:0 0 45px}
.story-page h2 span{color:var(--muted)}
.context-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px}
.opportunity-intro{min-width:0}
.cochlea-illustration{display:block;width:100%;max-width:230px;height:auto;margin:24px 0 0}
@media(max-width:850px){.opportunity-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.cochlea-illustration{width:140px;margin:0}}
@media(max-width:450px){.opportunity-intro{align-items:flex-start}.cochlea-illustration{width:110px}}
.context-columns p,.pathways p{font-size:1.0625rem;color:#55555a;line-height:1.8;margin:0}
.source-link{display:inline-block;color:var(--muted);font-size:.8125rem;margin-top:24px;text-underline-offset:4px;line-height:1.6}
.vision-section{background:#19191c;color:#fff;padding:70px 5.5vw 40px;margin:0 -5.5vw}
.vision-section .section-label{color:#c6c6ca;margin-bottom:65px}
.vision-section .section-label>span{color:#ff8790}
.vision-section h2{font-size:clamp(2.8rem,6.8vw,7.4rem);max-width:1000px;margin-bottom:40px}
.vision-section h2 em{font-style:normal;color:#ff8790}
.vision-section>p{max-width:580px;margin:0 0 60px auto;font-size:1.125rem;line-height:1.8;color:#ceced2}
.vision-baseline{border-top:1px solid #424247;padding-top:26px;display:flex;justify-content:space-between;gap:24px;color:#ceced2;font-size:.875rem}
.pathways-section{border-top:0}
.pathways{display:grid;grid-template-columns:1fr 1fr;gap:45px}
.pathways article{border-top:2px solid var(--red);padding-top:23px}
.pathway-number{font-size:.75rem;letter-spacing:.1em;font-weight:600;color:var(--red)}
.pathways h3{font-size:clamp(1.75rem,2.7vw,3rem);line-height:1.17;letter-spacing:-.035em;font-weight:450;margin:30px 0 22px}
.research-note{border-top:1px solid var(--line);padding-top:22px;margin:38px 0 0;font-size:.875rem;line-height:1.65;color:var(--muted)}
.closing-section{border-top:1px solid var(--line);padding:90px 0 100px}
.closing-section h2{margin:35px 0 30px}
.closing-section h2 span{color:var(--red)}
.closing-section>p{font-size:1.125rem;line-height:1.7;color:var(--muted)}
.back-top{margin-top:25px}
@media(max-width:850px){.story-section{grid-template-columns:1fr;gap:35px;padding:75px 0}.hero-bottom{align-items:flex-start;flex-direction:column;gap:30px}.story-hero{padding-top:50px}.hero-foot{padding-top:55px}.vision-section{padding-top:55px}.vision-section .section-label{margin-bottom:45px}}
@media(max-width:650px){html{scroll-padding-top:140px}.story-page .header{height:auto;padding:0 0 20px}.story-page .brand{width:180px}.story-hero{min-height:calc(100svh - 132px);padding-top:40px}.story-hero h1{font-size:clamp(2.5rem,10.1vw,4rem);margin:30px 0}.hero-bottom p{font-size:1.0625rem}.hero-foot{flex-direction:column;gap:10px;font-size:.75rem;line-height:1.6;padding-top:50px}.context-columns,.pathways{grid-template-columns:1fr;gap:34px}.story-page h2{font-size:2.25rem;margin-bottom:30px}.vision-section{margin:0 -6vw;padding:45px 6vw 30px}.vision-section h2{font-size:2.9rem}.vision-section>p{font-size:1.0625rem;margin-bottom:45px}.vision-baseline{font-size:.8125rem;line-height:1.6;flex-wrap:wrap;gap:10px 25px}.closing-section{padding:65px 0}.closing-section>p{font-size:1.0625rem}.pathways h3{font-size:2rem}.story-page .eyebrow{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

:root{color-scheme:light;--red:#b91f2a;--ink:#171719;--muted:#646467;--line:#dfdfe1;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
.page{max-width:1800px;margin:auto;padding:0 5.5vw}
.header{height:133px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:block;width:235px;margin-left:-16px;line-height:0}
.brand img{display:block;width:100%;height:auto}
.header-note{font-size:.875rem;color:var(--muted)}
.hero{padding:77px 0 68px}
.eyebrow{display:flex;align-items:center;gap:15px;font-size:.875rem;font-weight:600;letter-spacing:.12em}
.rule{display:block;width:34px;height:2px;background:var(--red)}
h1{font-size:clamp(3.5rem,7.8vw,8.5rem);font-weight:450;letter-spacing:-.065em;line-height:1.05;margin:38px 0 43px}
h1 span{color:var(--red)}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:900px}
.intro p{font-size:1.125rem;line-height:1.65;margin:0}
.intro .secondary{color:var(--muted)}
.brand-panel{display:flex;align-items:center;gap:36px;background:var(--red);color:white;padding:33px 38px;margin-bottom:34px}
.brand-panel>span:first-child{font-size:1.1rem;font-weight:500;letter-spacing:.28em}
.panel-line{height:1px;flex:1;background:rgba(255,255,255,.38)}
.panel-caption{font-size:1rem}
footer{display:flex;justify-content:space-between;gap:20px;padding:0 0 30px;color:var(--muted);font-size:.875rem}
.skip-link{position:absolute;top:-100px;left:20px;background:var(--ink);color:#fff;padding:12px 20px;z-index:2}
.skip-link:focus{top:16px}
a:focus-visible{outline:2px solid var(--red);outline-offset:5px}
@media(min-width:1600px){.hero{padding-top:100px;padding-bottom:95px}}
@media(max-width:650px){.page{padding:0 6vw}.header{height:100px}.brand{width:185px;margin-left:-12px}.header-note{font-size:.8125rem}.hero{padding:55px 0 49px}.eyebrow{font-size:.75rem;letter-spacing:.09em;gap:10px}.rule{width:22px}h1{font-size:clamp(2.5rem,10.6vw,4.3rem);line-height:1.1;letter-spacing:-.055em;margin:30px 0 34px}.intro{grid-template-columns:1fr;gap:20px}.intro p{font-size:1rem}.brand-panel{padding:25px 22px;gap:20px;flex-wrap:wrap}.brand-panel>span:first-child{font-size:.95rem}.panel-caption{width:100%;font-size:.9375rem}.panel-line{min-width:25px}footer{font-size:.75rem;line-height:1.5}}

nav{display:flex;gap:34px}nav a,footer a{color:var(--muted);text-decoration:none;font-size:.9375rem}nav a:hover,footer a:hover{color:var(--red)}nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:9px}.page{min-height:100svh;display:flex;flex-direction:column}main{flex:1}.home-hero{padding-bottom:40px}.home-hero h1{font-size:clamp(3.5rem,7.8vw,8.5rem);margin-bottom:0}.hero-logo{width:100%;max-width:1050px;margin:15px auto 0}.hero-logo img{width:100%;height:auto;display:block}.interior{min-height:65vh}.placeholder-copy{font-size:1.125rem;line-height:1.6;color:var(--muted)}.back-link{display:inline-flex;gap:30px;margin-top:40px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:9px}footer{border-top:1px solid var(--line);padding-top:24px}@media(max-width:650px){.header{flex-wrap:wrap;height:auto;padding:8px 0 22px;gap:0}.brand{width:180px}nav{gap:25px;width:100%;padding-top:0}nav a{font-size:.9375rem}.home-hero{padding-top:48px;min-height:55vh}.home-hero h1{font-size:clamp(2.5rem,10.6vw,4.3rem)}.hero-logo{margin-top:60px}footer a{font-size:.875rem}}

/* Allow the expanded navigation to wrap on smaller screens. */
nav{flex-wrap:wrap;row-gap:18px}nav a{white-space:nowrap}@media(max-width:650px){nav{column-gap:20px;row-gap:16px}}

/* Company motto, paired with the logo throughout the site. */
.brand{position:relative;text-decoration:none;color:var(--ink)}
.brand-motto{display:block;position:absolute;top:75%;left:7%;white-space:nowrap;font-size:.75rem;font-weight:400;line-height:1.4;letter-spacing:0}
.story-page .header{height:112px}
@media(max-width:650px){.header,.story-page .header{height:auto;padding-bottom:20px}.header nav{margin-top:18px}.brand,.story-page .brand{width:210px}}

/* A more restrained type scale shared by every page. */
.team-profile{display:grid;grid-template-columns:minmax(200px,320px) minmax(0,580px);gap:48px;align-items:start;margin:38px 0 10px}
.team-portrait{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:50%;background:#707070}
.team-bio .team-role{color:var(--red);font-size:1.125rem;line-height:1.45;letter-spacing:.015em;font-weight:600;margin:0 0 12px}
.team-bio h2{font-size:1.75rem;font-weight:500;letter-spacing:-.025em;margin:0 0 8px;line-height:1.25}
.team-bio p{font-size:1rem;line-height:1.7;margin:0 0 22px;color:var(--muted)}
.team-bio .team-specialty{margin-bottom:20px;color:var(--ink)}
.team-training{margin:26px 0 0;border-top:1px solid var(--line)}
.team-training>div{display:grid;grid-template-columns:1fr 1.2fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.875rem;line-height:1.6}
.team-training dt{color:var(--muted)}
.team-training dd{margin:0}
@media(max-width:650px){.team-profile{grid-template-columns:1fr;gap:28px;margin-top:28px}.team-portrait{max-width:320px}.team-training>div{grid-template-columns:1fr;gap:4px}}
h1,.home-hero h1,.story-hero h1{font-size:clamp(2rem,4.2vw,3.75rem);line-height:1.14;letter-spacing:-.04em;margin:26px 0 30px}
.story-page h2,.vision-section h2{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.2;letter-spacing:-.035em;margin-bottom:28px}
.pathways h3{font-size:clamp(1.375rem,2vw,1.875rem);line-height:1.25;margin:22px 0 18px}
.hero-bottom p,.context-columns p,.pathways p,.vision-section>p,.closing-section>p,.placeholder-copy,.intro p{font-size:1rem;line-height:1.7}
.hero{padding:55px 0}
.story-hero{min-height:0;padding-top:55px}
.hero-foot{padding-top:65px}
.story-section{padding:75px 0}
.vision-section{padding-top:55px}
.vision-section .section-label{margin-bottom:40px}
.closing-section{padding:65px 0}
@media(max-width:650px){
  .story-page .header{margin-inline:-6vw;padding-inline:6vw}
  h1,.home-hero h1,.story-hero h1{font-size:2rem;margin:24px 0}
  .story-page h2,.vision-section h2{font-size:1.75rem}
  .pathways h3{font-size:1.375rem}
  .hero,.story-section,.closing-section{padding-top:40px;padding-bottom:40px}
  .story-hero{padding-top:35px}
  .hero-foot{padding-top:40px}
}

/* Open spacing between the introduction and opportunity section. */
.context-section{border-top:0}
.contact-form{max-width:640px;margin-top:30px}
.contact-email{font-size:1rem;line-height:1.7;margin:12px 0 24px}
.contact-email a{color:var(--red);text-underline-offset:4px;overflow-wrap:anywhere}
.form-field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}
.form-field label{font-size:.9375rem;font-weight:500}
.form-field input,.form-field textarea{width:100%;font:inherit;font-size:1rem;line-height:1.6;color:var(--ink);background:#fff;border:1px solid #c7c7cb;border-radius:4px;padding:12px 14px}
.form-field textarea{resize:vertical;min-height:160px}
.form-field input::placeholder,.form-field textarea::placeholder{color:#727277}
.form-field input:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-color:var(--red)}
.submit-button{font:inherit;font-size:1rem;font-weight:500;color:#fff;background:var(--red);border:0;border-radius:4px;padding:12px 32px;min-height:46px;cursor:pointer}
.submit-button:hover{background:#991a24}
.submit-button:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.form-status{font-size:.875rem;color:var(--muted);line-height:1.6;margin:16px 0 0}

/* Give the company name and motto more prominence in every header. */
.brand,.story-page .brand{width:300px;max-width:100%;flex-shrink:0;margin-left:-21px}
.brand-motto{font-size:1rem}
.header,.story-page .header{height:auto;min-height:140px;gap:20px;flex-wrap:wrap}
html{scroll-padding-top:160px}
@media(max-width:650px){
  .brand,.story-page .brand{width:260px;margin-left:-18px}
  .brand-motto{font-size:.875rem}
  .header,.story-page .header{gap:0;min-height:0;padding-top:8px;padding-bottom:20px}
  html{scroll-padding-top:195px}
}

/* Square frame enforces a true circle independently of image dimensions. */
.team-portrait-frame{position:relative;width:100%;max-width:320px;aspect-ratio:1 / 1;border-radius:50%;overflow:hidden;background:#707070}
.team-portrait-frame .team-portrait{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;transform:scale(1.45);transform-origin:50% 15%}
.news-empty{max-width:720px;margin:40px 0;padding:30px 0;border-top:1px solid var(--line)}
.news-empty h2{font-size:1.375rem;font-weight:500;letter-spacing:-.02em;margin:0 0 12px}
.news-empty p{font-size:1rem;line-height:1.7;color:var(--muted);margin:0}

/* Bring the illustration’s near-white paper tone to the page white. */
.cochlea-illustration{filter:brightness(1.03)}
