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

:root{--stone:#e9e7dc;--paper:#f3f0e7;--warm:#e6d7c7;--forest:#173b30;--deep:#102b25;--green:#2e5b49;--mint:#d3e9d8;--peach:#e6aa9b;--ink:#203c32;--muted:#53685c;--line:rgba(23,59,48,.18);--header:70px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 62px)}body{margin:0;background:var(--stone);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}a:focus-visible{outline:3px solid #b46e5c;outline-offset:5px;border-radius:4px}.skip-link{position:fixed;z-index:1000;top:-100px;left:20px;padding:12px 18px;background:var(--deep);color:white}.skip-link:focus{top:12px}.section-shell{width:min(100% - 80px,1440px);margin-inline:auto}.section-space{padding-block:128px}.site-header{position:fixed;top:0;left:0;right:0;height:var(--header);z-index:100;background:rgba(233,231,220,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{height:100%;width:min(100% - 80px,1440px);margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative}.wordmark,.footer-wordmark{text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.085em;font-size:31px;line-height:1;position:relative;z-index:2}.wordmark-dot,.footer-wordmark span{color:#c98775}.header-animals{display:flex;align-items:flex-end;gap:clamp(22px,4vw,64px);height:100%;padding-right:8px}.animal{height:56px;width:68px;flex:none;margin-bottom:-16px;overflow:visible;filter:drop-shadow(0 2px 1px rgba(11,39,28,.1));transition:transform .25s ease}.animal:hover{transform:translateY(-5px) rotate(-3deg)}.animal .body,.animal .ear{fill:#a1ad9d;stroke:#425c4b;stroke-width:1.5}.animal .ear-in,.animal .paw,.animal .muzzle{fill:#d9b2a2}.animal .face{fill:#c4cbb4}.animal .eye{fill:#243c33}.animal .nose{fill:#b56e68}.animal .tail,.animal .line,.animal .gill{fill:none;stroke:#425c4b;stroke-width:1.7;stroke-linecap:round}.animal-fish{transform:rotate(-8deg);margin-bottom:-9px}.animal-fish:hover{transform:translateY(-5px) rotate(-12deg)}.animal-fish .body{fill:#b6c7ad}.animal-fish .fin{fill:#819e89;stroke:#425c4b;stroke-width:1.5}.animal-fly{width:59px;height:53px;margin-bottom:-13px}.animal-fly .wing{fill:#d8e7d4;stroke:#789985;stroke-width:1.4;fill-opacity:.85}.animal-fly .body{fill:#8b9e84}.animal-monkey .body,.animal-monkey .ear{fill:#9a8f79}.animal-monkey .face{fill:#c5b69d}.animal-monkey .muzzle{fill:#ddcab0}.animal-monkey .paw,.animal-monkey .ear-in{fill:#d5b69c}
.hero{padding-top:calc(var(--header) + 84px);padding-bottom:94px;min-height:min(850px,100svh);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(38px,5vw,92px)}.eyebrow{font-size:12px;line-height:1.4;font-weight:700;text-transform:uppercase;letter-spacing:.17em;color:#396c54;margin:0 0 22px}.eyebrow-mark{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--peach);margin-right:9px;vertical-align:1px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,sans-serif;letter-spacing:-.075em;font-weight:600}h1{font-size:clamp(61px,6.4vw,112px);line-height:1.04;margin:0 0 30px}h1 em,h2 em{font-style:normal;color:#60856d}.hero-lede{font-size:clamp(17px,1.25vw,20px);line-height:1.7;max-width:620px;color:#445c4d;margin-bottom:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:17px 22px;border-radius:100px;text-decoration:none;font-weight:700;font-size:14px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--forest);color:#f7f4e9}.button-dark:hover{background:#2d624c}.button span{font-size:20px;font-weight:400}.hero-visual{align-self:stretch;min-height:550px;max-height:670px;background:radial-gradient(circle at 55% 40%,#2a5847,#143429 72%);color:#d1e9d7;border-radius:28px;position:relative;overflow:hidden;box-shadow:0 28px 55px rgba(17,54,39,.15);display:flex;flex-direction:column;justify-content:space-between}.hero-visual::after{content:"";position:absolute;inset:0;border:1px solid rgba(215,239,218,.15);border-radius:inherit;pointer-events:none}.visual-topline,.visual-bottomline{position:relative;z-index:1;display:flex;justify-content:space-between;gap:10px;padding:26px 28px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.visual-bottomline{justify-content:flex-start;align-items:center;color:#b7d1bd;font-size:10px}.pulse-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a9dabb;box-shadow:0 0 0 5px rgba(169,218,187,.14)}.model-art{position:absolute;width:110%;height:82%;left:-4%;top:9%;object-fit:contain}.intro-band{background:#d7e3d5}.intro-band-inner{padding-top:64px;padding-bottom:69px;display:grid;grid-template-columns:1fr 3fr;gap:30px;align-items:start}.section-index,.card-number,.process-no,.placeholder-label,.application-num{font-size:11px;font-weight:700;letter-spacing:.15em}.section-index{color:#48725a;padding-top:11px}.intro-band p{font-family:Manrope,sans-serif;font-size:clamp(27px,3vw,48px);line-height:1.28;letter-spacing:-.055em;margin:0;max-width:1030px}.intro-band p span{color:#718b77}.section-heading h2,.approach h2,.applications h2,.capabilities h2,.research h2,.contact h2{font-size:clamp(48px,5.1vw,82px);line-height:1.08;margin-bottom:0}.problem{background:var(--stone)}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:60px}.problem-card{background:var(--paper);border-radius:22px;padding:27px 28px 32px;min-height:360px;display:flex;flex-direction:column}.problem-card-accent{background:#d4e6d7}.card-number{color:#688473}.problem-icon{width:88px;height:80px;margin:37px 0 25px;position:relative}.problem-icon i{position:absolute;display:block}.icon-points i{width:10px;height:10px;background:#749883;border-radius:50%}.icon-points i:nth-child(1){left:9px;top:36px}.icon-points i:nth-child(2){left:29px;top:16px}.icon-points i:nth-child(3){left:40px;top:46px}.icon-points i:nth-child(4){left:65px;top:22px}.icon-points i:nth-child(5){left:74px;top:59px}.icon-lines i{height:2px;background:#7da28a;transform-origin:left}.icon-lines i:nth-child(1){width:35px;left:8px;top:56px;transform:rotate(-29deg)}.icon-lines i:nth-child(2){width:29px;left:37px;top:39px;transform:rotate(30deg)}.icon-lines i:nth-child(3){width:27px;left:61px;top:54px;transform:rotate(-63deg)}.icon-lines i:nth-child(4){width:10px;height:10px;border-radius:50%;background:#7da28a;left:37px;top:35px}.icon-shape i{width:70px;height:57px;border:2px solid #5d8b70;border-radius:45% 60% 40% 50%;transform:rotate(-25deg);left:6px;top:10px;box-shadow:inset 0 0 0 12px rgba(119,159,127,.12),0 0 0 10px rgba(119,159,127,.10)}.problem-card h3,.process h3,.capability-card h3,.research-card h3{font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.04em;line-height:1.25;margin-bottom:12px}.problem-card p,.process p,.capability-card p,.research-card p{color:#52695a;font-size:15px;line-height:1.6;margin-bottom:0}.problem-card p{max-width:330px}
.approach{background:var(--forest);color:#f0f1e7}.approach .eyebrow,.capabilities .eyebrow,.contact .eyebrow{color:#a9d7b1}.approach h2 em,.capabilities h2 em,.contact h2 em{color:#a9cdae}.approach-head,.research-head{display:flex;align-items:end;justify-content:space-between;gap:60px}.approach-head>p,.research-head>p{font-size:17px;line-height:1.65;max-width:355px;color:#c3d6c6;margin-bottom:8px}.process{display:grid;grid-template-columns:1fr 38px 1fr 38px 1fr;align-items:center;gap:12px;margin-top:78px}.process-step{min-width:0}.process-no{color:#aed4ba}.process-visual{height:220px;border-radius:18px;background:#27513f;margin:18px 0 25px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.process-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(213,235,214,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(213,235,214,.06) 1px,transparent 1px);background-size:28px 28px}.video-frame::after{content:"";width:120px;height:63px;border:2px solid rgba(205,234,207,.65);border-radius:50% 55% 40% 40%;transform:rotate(-10deg);background:rgba(161,208,170,.15)}.play-triangle{position:absolute;z-index:2;width:0;height:0;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:19px solid #f0f1e7;filter:drop-shadow(0 0 14px rgba(240,241,231,.5))}.frame-corner{position:absolute;width:18px;height:18px;border-color:#b3d7bd;border-style:solid}.frame-corner.a{top:20px;left:20px;border-width:2px 0 0 2px}.frame-corner.b{bottom:20px;right:20px;border-width:0 2px 2px 0}.process-visual svg{width:80%;height:80%;position:relative}.mesh-frame svg path{fill:none;stroke:#bbdec2;stroke-width:1.5}.mesh-frame svg path:first-child{fill:rgba(184,223,188,.17);stroke-width:2}.mesh-frame svg circle{fill:#e6af9e}.measure-frame svg path{fill:none;stroke:#bfe0c5;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.measure-frame svg circle{fill:#e6af9e}.process-arrow{font-size:32px;color:#9dc5a6;align-self:center;text-align:center;margin-top:-24px}.process h3{color:#f0f1e7}.process p{color:#b7ccbb}.demo-placeholder{margin-top:82px;display:flex;align-items:center;gap:22px;border:1px dashed rgba(199,226,203,.5);border-radius:18px;padding:23px 28px;background:rgba(213,234,215,.05)}.demo-icon{width:44px;height:44px;flex:none;border:1px solid #a1c4ab;border-radius:50%;display:grid;place-items:center;font-size:12px;padding-left:2px;color:#d9ecda}.placeholder-label{color:#accdb3}.demo-placeholder p{margin:8px 0 0;color:#d4e4d7;font-size:15px}.demo-state{margin-left:auto;white-space:nowrap;color:#b8d4bd;font-size:13px}
.applications-head{display:grid;grid-template-columns:1fr auto;gap:10px 60px;align-items:end}.applications-head .eyebrow{grid-column:1/-1}.applications-head>p:last-child{max-width:320px;color:#607263;line-height:1.6;margin-bottom:6px}.application-list{margin-top:64px;border-top:1px solid var(--line)}.application-row{display:grid;grid-template-columns:70px minmax(220px,1fr) minmax(220px,.9fr) 25px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:30px 4px}.application-num{color:#65816d}.application-row h3{font-family:Manrope,sans-serif;font-size:clamp(23px,2vw,31px);letter-spacing:-.05em;margin:0}.application-row p{font-size:15px;line-height:1.6;color:#596d5e;margin:0;max-width:500px}.row-arrow{font-size:22px;color:#78977c}.capabilities{background:#243f34;color:#f1f3e9}.capabilities-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.capabilities-lead>p:not(.eyebrow){color:#c5d7c6;line-height:1.65;font-size:17px;max-width:440px;margin:27px 0}.status-pill{display:inline-flex;gap:9px;align-items:center;border:1px solid rgba(196,230,204,.35);border-radius:100px;padding:10px 14px;color:#bed8c5;font-size:12px;font-weight:700;letter-spacing:.04em}.status-pill span{width:7px;height:7px;border-radius:50%;background:var(--peach)}.capabilities-grid{display:grid;gap:12px}.capability-card{padding:23px 27px;border:1px solid rgba(205,230,210,.22);border-radius:18px;display:grid;grid-template-columns:55px 1fr;column-gap:18px;align-items:start}.capability-symbol{font-size:36px;line-height:1;color:#bcdbbe;grid-row:span 2}.capability-card h3{margin:0 0 7px;color:#f1f3e9}.capability-card p{color:#bed1c2;max-width:440px}.research-head>p{color:#566e5c}.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:55px}.research-card{min-height:320px;background:#d9dfd3;border-radius:22px;padding:26px;display:flex;flex-direction:column;justify-content:space-between}.research-card:nth-child(2){background:#eadbd0}.research-card .placeholder-label{color:#637e68}.research-card-bottom{max-width:380px}.research-card h3{font-size:30px}.research-card p{font-size:15px}.contact{background:#123328;color:#f4f1e8;overflow:hidden}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.contact-copy>p:not(.eyebrow){max-width:580px;color:#c7dccb;line-height:1.7;font-size:18px;margin:28px 0 40px}.contact-placeholder{padding:20px 0 0;border-top:1px solid rgba(203,231,208,.3);max-width:560px}.contact-placeholder p{color:#adc8b3;font-size:14px;line-height:1.5;margin:8px 0 0}.contact-orbit{aspect-ratio:1;position:relative;max-width:550px;width:100%;margin:auto}.orbit{position:absolute;border:1px solid rgba(182,219,186,.28);border-radius:50%;inset:7%}.orbit-two{inset:20%}.orbit-three{inset:34%;background:rgba(124,167,129,.08)}.orbit-center{position:absolute;inset:42%;display:grid;place-items:center;font-family:Manrope,sans-serif;font-size:60px;font-weight:800;letter-spacing:-.1em;color:#dcebdc}.orbit-dot{position:absolute;border-radius:50%;background:#e3ab9c;box-shadow:0 0 0 8px rgba(227,171,156,.08)}.orbit-dot-one{width:20px;height:20px;top:12%;left:28%}.orbit-dot-two{width:12px;height:12px;right:20%;top:54%;background:#b9d8bd}.orbit-dot-three{width:9px;height:9px;bottom:27%;left:28%;background:#b9d8bd}.site-footer{background:#0d281f;color:#ccdfce}.footer-inner{min-height:135px;display:flex;align-items:center;gap:32px}.footer-wordmark{font-size:27px;color:#f1f2e9}.footer-inner p{margin:0;color:#a9c4af;font-size:13px}.footer-inner small{margin-left:auto;font-size:12px;color:#a9c4af}.motion-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.motion-ready .reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.hero{grid-template-columns:1fr;min-height:0;padding-top:calc(var(--header) + 90px)}.hero-copy{max-width:800px}.hero-visual{min-height:520px;max-height:570px}.model-art{height:96%;top:2%;width:85%;left:8%}.problem-card{min-height:390px}.process{grid-template-columns:1fr 20px 1fr 20px 1fr;gap:7px}.process-visual{height:180px}.capabilities-inner{gap:5vw}}
@media(max-width:760px){:root{--header:64px}.section-shell,.header-inner{width:min(100% - 36px,1440px)}.section-space{padding-block:86px}.header-animals{gap:9px}.animal{width:48px;height:45px;margin-bottom:-12px}.animal-fly{width:43px;height:42px;margin-bottom:-10px}.animal-fish{margin-bottom:-8px}.animal-monkey{display:none}.wordmark{font-size:27px}.hero{padding-top:calc(var(--header) + 85px);padding-bottom:70px;gap:50px}.hero h1{font-size:clamp(51px,9.8vw,74px)}.hero-visual{min-height:390px;max-height:450px}.model-art{width:113%;left:-6%;height:88%;top:7%}.visual-topline,.visual-bottomline{padding:20px}.intro-band-inner{grid-template-columns:1fr;gap:20px;padding-block:52px}.section-index{padding:0}.problem-grid{grid-template-columns:1fr;gap:12px;margin-top:42px}.problem-card{min-height:0;padding:25px}.problem-icon{margin:20px 0 26px}.approach-head,.research-head{display:block}.approach-head>p,.research-head>p{margin:25px 0 0;max-width:600px}.process{display:grid;grid-template-columns:1fr;gap:15px;margin-top:50px}.process-step{display:grid;grid-template-columns:120px 1fr;column-gap:20px;align-items:center}.process-no{grid-column:1/-1}.process-visual{grid-row:span 2;height:125px;margin:12px 0}.process-step h3{align-self:end;margin:0 0 5px}.process-step p{align-self:start}.process-arrow{display:none}.demo-placeholder{margin-top:45px}.applications-head{display:block}.applications-head>p:last-child{margin:25px 0 0}.application-list{margin-top:40px}.application-row{grid-template-columns:42px 1fr 22px;gap:12px}.application-row h3{grid-column:2}.application-row p{grid-column:2;grid-row:2}.row-arrow{grid-column:3;grid-row:1}.capabilities-inner,.contact-inner{grid-template-columns:1fr;gap:50px}.capability-card{grid-template-columns:45px 1fr}.research-grid{grid-template-columns:1fr}.research-card{min-height:250px}.contact-orbit{max-width:350px}.footer-inner{flex-wrap:wrap;gap:10px 24px;padding-block:28px}.footer-inner small{margin-left:0;width:100%}}
@media(max-width:470px){.animal-fish{display:none}.header-animals{gap:18px}.hero h1{font-size:clamp(46px,12vw,58px)}.hero-lede{font-size:16px}.hero-visual{min-height:340px}.visual-topline{font-size:9px}.visual-bottomline{font-size:8px}.section-heading h2,.approach h2,.applications h2,.capabilities h2,.research h2,.contact h2{font-size:clamp(44px,11vw,56px)}.demo-placeholder{align-items:flex-start;flex-wrap:wrap;padding:20px}.demo-state{margin-left:66px}.process-step{grid-template-columns:105px 1fr;column-gap:16px}.process-visual{height:108px}.process h3{font-size:17px}.process p{font-size:13px}.application-row h3{font-size:22px}.contact-orbit{max-width:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .reveal{opacity:1;transform:none;transition:none}.animal,.button{transition:none}.animal:hover,.animal-fish:hover,.button:hover{transform:none}}

/* Diagram and identity refinements */
.wordmark-dot,.footer-wordmark span,.orbit-center span{color:#c98775}
.hero{grid-template-columns:minmax(0,1fr);min-height:690px;padding-bottom:110px}
.hero-copy{max-width:1110px}
.hero h1{max-width:1110px}
.hero-lede{max-width:680px}
.problem-card{min-height:410px}
.diagram-note{max-width:620px;margin:28px 0 -20px;color:#5c7161;font-size:14px;line-height:1.6}
.problem-diagram{height:170px;margin:22px 0 26px;padding:7px;border-radius:15px;background:#e5ebe2;display:grid;place-items:center;overflow:hidden}
.problem-card-accent .problem-diagram{background:#c6ddcb}
.problem-diagram svg{display:block;width:100%;height:100%}
.video-frame::after{content:none}
.video-still{position:relative;z-index:1;width:86%;height:80%;overflow:hidden;border:1px solid rgba(204,232,209,.6);border-radius:5px;background:#456c56}
.video-still svg{width:100%;height:100%;padding:2%}
.video-time{position:absolute;right:7px;bottom:6px;padding:3px 6px;border-radius:3px;background:rgba(15,44,31,.8);color:#e7f0e5;font-size:10px;letter-spacing:.04em}
.mesh-frame svg{width:92%;height:90%}
.research-grid{grid-template-columns:1fr}
.research-card{min-height:230px}
@media(max-width:1100px){.hero{min-height:0}.hero-copy{max-width:100%}}
@media(max-width:760px){.hero{padding-bottom:78px}.problem-card{min-height:0}.problem-diagram{height:160px;margin:18px 0 24px}.process-visual svg{padding:0}}
@media(max-width:470px){.problem-diagram{height:145px}.video-still{width:91%;height:78%}.video-time{font-size:8px;right:3px;bottom:3px}}

/* A quiet, text-only approach section */
.approach .process{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:64px}
.approach .process-step{display:block;border-top:1px solid rgba(202,231,207,.35);padding-top:24px}
.approach .process h3{margin-bottom:10px}
.orbit-center{display:flex;align-items:center;justify-content:center;white-space:nowrap}
.animal-monkey .arm{fill:none;stroke:#756e5b;stroke-width:5;stroke-linecap:round}
.animal-monkey .tail{stroke:#756e5b;stroke-width:3}
.animal-monkey .foot{fill:#ddcab0}
.animal-fish .smile{fill:none;stroke:#425c4b;stroke-width:1.6;stroke-linecap:round}
@media(max-width:760px){.animal-monkey{display:block}.animal-fish{display:block}}
@media(max-width:470px){.animal-fish,.animal-fly{display:none}}

/* Keep the animals' visible feet and fins on the fixed header rule. */
.animal{margin-bottom:-3px}
.animal-fly{margin-bottom:-4px}
.animal-fish{margin-bottom:-5px}
@media(max-width:760px){.animal{margin-bottom:-5px}.animal-fly{margin-bottom:-5px}.animal-fish{margin-bottom:-6px}}

/* Human header illustration; skin matches the mouse's inner ears. */
.animal-human .hair{fill:var(--green);stroke:var(--forest);stroke-width:1.4}
.animal-human .face,.animal-human .hand{fill:#d9b2a2;stroke:#925f59;stroke-width:1.2}
.animal-human .fringe,.animal-human .smile{fill:none;stroke:#925f59;stroke-width:1.5;stroke-linecap:round}
.animal-human .fringe{stroke:var(--forest);stroke-width:2}
.animal-human .shirt{fill:#b9d8bd;stroke:var(--green);stroke-width:1.5}
.animal-human .arm{fill:none;stroke:#b9d8bd;stroke-width:5;stroke-linecap:round}
.animal-human .leg{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round}
.animal-human .shoe{fill:var(--green)}
.problem-diagram img{display:block;width:min(100%,230px);height:130px;object-fit:contain}
@media(min-width:761px){.problem-diagram img{width:min(100%,270px);height:150px}}

/* Each BibTeX entry is one linked publication row. */
.publication-list{display:grid;grid-template-columns:1fr;gap:10px;margin-top:55px}
.publication-card{display:grid;grid-template-columns:145px minmax(0,1.4fr) minmax(170px,.7fr) 22px;align-items:center;gap:24px;padding:25px 27px;border:1px solid transparent;border-radius:17px;background:#d9dfd3;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.publication-card:nth-child(even){background:#eadbd0}
.publication-card:hover{transform:translateY(-2px);border-color:#759a7d;background:#e3eadf}
.publication-card:nth-child(even):hover{background:#f0e2d8}
.publication-card h3{font-family:Manrope,sans-serif;font-size:clamp(20px,1.8vw,27px);letter-spacing:-.05em;line-height:1.22;margin:0}
.publication-meta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#54705b;line-height:1.5;margin:0}
.publication-authors{font-size:13px;line-height:1.5;color:#52685a;margin:0}
.publication-arrow{font-size:22px;color:#517b5d;justify-self:end}
.publication-status,.publication-error{color:#53685c;line-height:1.6}
.research-footnote{margin:20px 0 0;color:#607263;font-size:13px;line-height:1.5}
@media(max-width:900px){.publication-card{grid-template-columns:minmax(0,1fr) 22px;gap:9px 14px}.publication-meta,.publication-card h3,.publication-authors{grid-column:1}.publication-arrow{grid-column:2;grid-row:1 / span 3}.publication-list{margin-top:42px}}
@media(prefers-reduced-motion:reduce){.publication-card{transition:none}.publication-card:hover{transform:none}}
@media(max-width:760px){.approach .process{grid-template-columns:1fr;gap:30px;margin-top:46px}.approach .process-step{display:block}}

/* Team portraits and institutional profile links. */
.team{background:#d9e4d8}
.team-head{display:flex;align-items:end;justify-content:space-between;gap:60px}
.team-head h2{font-size:clamp(48px,5.1vw,82px);line-height:1.08;margin:0}
.team-head h2 em{font-style:normal;color:#60856d}
.team-head>p{font-size:17px;line-height:1.65;max-width:350px;color:#4f6856;margin:0 0 8px}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:58px}
.team-card{display:grid;grid-template-columns:clamp(145px,15vw,210px) minmax(0,1fr);overflow:hidden;border-radius:22px;background:var(--paper);min-height:315px}
.team-photo{display:block;width:100%;height:100%;object-fit:cover;background:#bdcbbd}
.team-photo-lucas{object-position:center 28%}
.team-photo-jens{object-position:center 25%}
.team-card-copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start}
.team-focus{font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:#4e785b;margin:0 0 16px}
.team-card h3{font-family:Manrope,sans-serif;font-size:clamp(24px,2.2vw,31px);letter-spacing:-.055em;line-height:1.2;margin:0 0 15px}
.team-ref{font-size:.44em;font-weight:700;letter-spacing:0;color:#598065;margin-left:5px;vertical-align:super}
.team-bio{color:#52695a;font-size:15px;line-height:1.6;margin:0 0 24px}
.team-card a{display:inline-flex;align-items:center;gap:10px;margin-top:auto;color:#24543d;font-size:14px;font-weight:700;text-underline-offset:4px}
.team-card a span{font-size:18px;font-weight:400;line-height:1;transform:translateY(-1px)}
.team-card a:hover{color:#a55e4e}
.contact-details{padding:20px 0 0;border-top:1px solid rgba(203,231,208,.3);max-width:560px}
.contact-label{display:block;color:#accdb3;font-size:11px;font-weight:700;letter-spacing:.15em}
.contact-email{display:inline-block;margin-top:10px;color:#f4f1e8;font-family:Manrope,sans-serif;font-size:clamp(23px,2.8vw,36px);font-weight:600;letter-spacing:-.045em;text-decoration-color:#e6aa9b;text-decoration-thickness:2px;text-underline-offset:6px;overflow-wrap:anywhere}
.contact-email:hover{color:#e6aa9b}
.team-affiliation-notes{margin-top:22px;color:#52695a;font-size:12px;line-height:1.5}
.team-affiliation-notes p{color:#4e785b;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px}
.team-affiliation-notes ol{display:flex;flex-wrap:wrap;gap:6px 42px;padding-left:0;margin:0;list-style-position:inside}
.team-affiliation-notes li{padding-left:0}
@media(max-width:900px){.team-grid{grid-template-columns:1fr}.team-card{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:600px){.team-head{display:block}.team-head>p{margin:24px 0 0}.team-grid{margin-top:38px}.team-card{grid-template-columns:1fr}.team-photo{height:240px;object-fit:contain}.team-card-copy{padding:24px}}
