:root{--ink:#431f2b;--muted:#7b666a;--paper:#fffafa;--line:#e5d8db;--coral:#f7a591}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #b84356;outline-offset:7px}header{height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:6px;align-items:center;font-size:30px;font-weight:600;letter-spacing:-1.5px}.brand-symbol{font-family:Georgia,serif;font-size:51px;font-weight:400;margin-right:9px;line-height:1}.bio{font-weight:400;color:var(--muted)}nav{display:flex;gap:38px;font-size:14px}nav a:hover{color:#ba495e}.nav-cta{font-size:14px;border-bottom:1px solid var(--ink);padding:10px 0}.nav-cta span{margin-left:35px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.hero-copy{padding:65px 9% 30px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:1.9px;line-height:1.5;margin:0 0 35px;font-weight:600}h1{font-size:clamp(45px,4.9vw,78px);font-weight:400;line-height:1.07;letter-spacing:-3.4px;margin:0 0 28px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1 em{color:#9d4558}.intro{max-width:355px;font-size:17px;line-height:1.6;color:var(--muted);margin:0 0 31px}.button{display:flex;align-items:center;gap:50px;background:var(--ink);color:white;padding:18px 22px;font-size:14px;transition:background .2s}.button:hover{background:#713147}.button span{font-size:21px}.hero-bottom{display:flex;width:100%;justify-content:space-between;align-items:end;margin-top:auto;padding-top:55px;font-size:11px;line-height:1.6;letter-spacing:1.5px;color:var(--muted)}.scroll-mark{font-size:25px;color:var(--ink)}.hero-art{position:relative;overflow:hidden;background:#581c2d;min-height:600px;color:#ffede7}.hero-art img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,2,12,.28),transparent 30%,transparent 65%,rgba(31,2,12,.45))}.image-top,.image-caption{position:absolute;left:7%;right:7%;z-index:1;display:flex;justify-content:space-between}.image-top{top:32px;font-size:10px;letter-spacing:1.4px}.image-caption{bottom:33px;align-items:end;font-size:20px;line-height:1.4;font-weight:400}.image-cross{font-size:42px;font-weight:200}.section{padding:100px 5%;display:grid;grid-template-columns:28% 72%;border-top:1px solid var(--line)}.section-label{display:flex;gap:35px;font-size:11px;letter-spacing:1.6px;padding-top:10px}.mini-cross{font-size:21px;line-height:.6}.section-content h2{font-size:clamp(31px,3.4vw,49px);font-weight:400;letter-spacing:-1.8px;line-height:1.2;margin:0 0 38px}.section-content h2 span{color:#a08289}.science-body{display:flex;flex-direction:column;gap:22px;max-width:720px}.science-body p,.steps p{line-height:1.7;color:var(--muted);margin:0}.disciplines{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}.disciplines span{border:1px solid var(--line);border-radius:50px;font-size:12px;padding:10px 15px}.approach{background:#f5ecef}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:52px}.steps article{border-top:1px solid #cdb8bf;padding-top:22px}.number{font-family:Georgia,serif;font-size:18px;color:#9d4558}.steps h3{font-size:23px;font-weight:400;margin:32px 0 14px}.steps p{font-size:15px}.mission{background:var(--ink);color:#fff6f2;padding:90px 7%;text-align:center}.mission .eyebrow{color:#edb5b0}.mission h2{font-size:clamp(36px,4.2vw,60px);font-weight:400;letter-spacing:-2px;line-height:1.14;margin:0 0 25px}.mission h2 em{color:var(--coral)}.mission>p:not(.eyebrow){max-width:490px;margin:0 auto;line-height:1.7;color:#d6bdc5}.mission>a{display:inline-block;border-bottom:1px solid #ae858f;margin-top:35px;padding-bottom:12px;font-size:14px}.mission>a span{margin-left:35px}footer{display:flex;align-items:center;justify-content:space-between;padding:35px 5%;gap:25px}footer p,footer>span{font-size:12px;color:var(--muted)}footer .brand{font-size:24px}footer .brand-symbol{font-size:39px}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:790px}}@media(max-width:900px){header{padding:0 5%;height:85px}nav{gap:20px}.nav-cta{display:none}.hero{min-height:640px}.hero-copy{padding-top:45px}h1{letter-spacing:-2px}.hero-art{min-height:640px}.image-top{flex-direction:column;gap:9px}.section{grid-template-columns:1fr;gap:35px;padding:65px 6%}.section-label{justify-content:space-between}.steps{gap:24px}footer{flex-wrap:wrap}}@media(max-width:600px){header{height:auto;min-height:86px;flex-wrap:wrap;padding:16px 6%;gap:18px}.brand{font-size:26px}.brand-symbol{font-size:40px}nav{gap:18px;font-size:12px}.hero{display:flex;flex-direction:column}.hero-copy{padding:43px 7% 27px}h1{font-size:54px;letter-spacing:-2.5px}.eyebrow{font-size:10px;margin-bottom:27px}.intro{font-size:16px}.hero-bottom{padding-top:35px}.hero-art{min-height:430px}.image-top{flex-direction:row;font-size:9px}.image-caption{font-size:18px}.science-body,.steps{grid-template-columns:1fr;gap:25px}.section-content h2{letter-spacing:-1px;margin-bottom:28px}.steps{margin-top:35px}.steps h3{margin-top:18px}.mission{padding:70px 7%}.mission h2{letter-spacing:-1px}.mission p{font-size:16px}footer{gap:15px}footer>span{width:100%;line-height:1.6}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Overscan keeps the photograph inside its frame throughout the scroll. */
@media (prefers-reduced-motion: no-preference) {
  .hero-art.parallax-active img {
    top: -40%;
    height: 180%;
    transform: translate3d(0, var(--parallax-y, 0px), 0);
    will-change: transform;
  }
}

.platform-intro{max-width:760px;line-height:1.75;color:var(--muted);font-size:17px;margin:0}
.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:45px}
.focus-grid article{border-top:1px solid #cdb8bf;padding-top:25px}
.focus-kicker{font-size:12px;letter-spacing:1.5px;color:#9d4558;margin:0 0 25px}
.focus-grid h3{font-size:27px;font-weight:400;letter-spacing:-.6px;line-height:1.25;margin:0 0 18px}
.focus-grid article>p:last-child{line-height:1.75;color:var(--muted);margin:0}
.hero .intro{max-width:410px}
@media(max-width:600px){.focus-grid{grid-template-columns:1fr;gap:35px}nav{font-size:14px;flex-wrap:wrap}.hero h1{font-size:clamp(2.5rem,9.6vw,3.375rem);letter-spacing:-1.8px}.platform-intro{font-size:16px}}

:root{--irish-green:#205644}
.hero-copy>.eyebrow,.focus-kicker{color:var(--irish-green)}
.disciplines span{border-color:#cad8d0}

.brand{display:inline-flex;align-items:center;min-width:52px;min-height:64px}
.logo-crop{display:block;position:relative;overflow:hidden;width:44px;height:64px;mix-blend-mode:multiply}
.logo-crop img{position:absolute;width:210%;height:auto;max-width:none;left:-57%;top:-22%}
footer .logo-crop{width:37px;height:54px}
.landscape-section{position:relative;isolation:isolate;overflow:hidden;background:#f8fbf8}
.landscape-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.landscape-backdrop img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 65%;opacity:.19}
.landscape-section .section-label,.landscape-section h2{color:#173e34}
.landscape-section .section-content h2 span{color:#486357}
.landscape-section .focus-grid article>p:last-child{color:#3b5348}
.landscape-section .focus-grid article{border-color:#a2b6a7}
@media(prefers-reduced-motion:no-preference){.landscape-section.parallax-active .landscape-backdrop img{top:-35%;height:170%;transform:translate3d(0,var(--parallax-y,0px),0);will-change:transform}}
@media(max-width:600px){.logo-crop{width:37px;height:54px}.landscape-backdrop img{opacity:.15}}

.target-context{margin-top:64px;padding-top:45px;border-top:1px solid var(--line)}
.target-context .eyebrow{color:var(--irish-green);margin-bottom:22px}
.target-context h3{font-size:clamp(29px,3vw,42px);font-weight:400;letter-spacing:-1px;line-height:1.18;margin:0 0 24px}
.context-lead{font-size:17px;line-height:1.75;color:var(--muted);max-width:770px}
.target-reasons{display:grid;grid-template-columns:1fr;gap:28px;margin-top:35px}
.target-reasons article{border-top:1px solid #cbd8d0;padding-top:22px}
.reason-number{font-family:Georgia,serif;color:var(--irish-green);font-size:19px}
.target-reasons h4{font-size:21px;font-weight:400;line-height:1.3;margin:18px 0 15px}
.target-reasons p{font-size:16px;line-height:1.7;color:var(--muted);margin:0 0 18px}
.target-reasons a{font-size:14px;color:var(--irish-green);text-decoration:underline;text-underline-offset:4px;line-height:1.6}
.research-context{font-size:14px;line-height:1.6;color:var(--muted);margin:28px 0 0}
.structure-panel{margin:42px 0 0;background:#f1f6f3;border:1px solid #d6e1d9;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.structure-panel img{display:block;width:100%;height:auto;max-height:500px;object-fit:contain}
.structure-panel h4{font-size:26px;font-weight:400;line-height:1.2;margin:0 0 20px}
.structure-panel p{font-size:15px;line-height:1.7;color:#486357}
.structure-panel a{display:inline-block;font-size:14px;line-height:1.6;color:var(--irish-green);text-decoration:underline;text-underline-offset:4px;margin-right:15px}
.structure-panel .structure-meta{font-size:12px;letter-spacing:.7px;color:#486357;margin-bottom:16px}
@media(max-width:700px){.target-reasons,.structure-panel{grid-template-columns:1fr}.target-reasons{gap:30px}.structure-panel{padding:20px}.target-context{margin-top:42px}.structure-panel img{max-height:380px}}

.hero-copy>.vision-opening{font-size:14px;letter-spacing:.25px;line-height:1.6;text-transform:none;margin-bottom:28px}
.hero #hero-title{font-size:clamp(2.3rem,4.4vw,4.1rem);letter-spacing:-2.2px;line-height:1.08}
.hero-copy .intro{max-width:425px}
@media(max-width:600px){.hero #hero-title{font-size:clamp(2rem,9.5vw,3.2rem);letter-spacing:-1.4px}.hero-copy>.vision-opening{font-size:14px}}

/* Portrait artwork provides real image detail throughout the scroll. */
.hero-art{aspect-ratio:4/5;}
.hero-art img{top:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
@media(prefers-reduced-motion:no-preference){.hero-art.parallax-active img{top:-20%;height:140%;object-fit:cover;object-position:50% 50%;}}
@media(max-width:600px){.hero-art{min-height:0;width:100%;aspect-ratio:4/5;}}
.hero-art:after{pointer-events:none;background:none;}

.hero #hero-title em{color:var(--ink)}
.hero #hero-title .disease-highlight{color:#9d4558}
.target-reasons{max-width:720px}
.structure-intro{max-width:760px;margin:18px 0 24px;font-size:17px;line-height:1.7;color:var(--muted)}

.target-reasons article:last-child p:last-child{margin-bottom:0}

/* Approved horizontal logo, framing the artwork without its outer whitespace. */
.wordmark-crop{display:block;position:relative;overflow:hidden;width:280px;aspect-ratio:1720/420;mix-blend-mode:multiply;flex-shrink:0}
.wordmark-crop img{position:absolute;width:119.07%;max-width:none;height:auto;left:-7.44%;top:-30.95%}
footer .wordmark-crop{width:240px}
@media(max-width:600px){header .wordmark-crop{width:240px}header .brand{min-height:59px}header nav{width:100%;justify-content:space-between}}

.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px}
.team-grid article{border-top:1px solid var(--line);padding-top:25px}
.team-grid h3{font-size:25px;font-weight:400;letter-spacing:-.6px;line-height:1.25;margin:0 0 10px}
.team-grid p{font-size:16px;line-height:1.7;color:var(--muted);margin:0}
.team-grid .team-role{color:var(--irish-green);font-size:13px;line-height:1.5;margin-bottom:22px;min-height:39px}
@media(max-width:700px){.team-grid{grid-template-columns:1fr;gap:32px}.team-grid .team-role{min-height:0}header nav{gap:16px;flex-wrap:wrap}}
