*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:#17212b;background:#fbfaf7;line-height:1.65}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.94);backdrop-filter:blur(16px);border-bottom:1px solid #e9e4dc}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:700}.brand-mark{width:40px;height:40px;border-radius:12px;background:#0f766e;color:#fff;display:grid;place-items:center;font-size:13px;letter-spacing:.06em}.nav{display:flex;gap:20px;align-items:center;font-size:13px;font-weight:600}.nav a{opacity:.75}.nav a:hover{opacity:1;color:#0f766e}.menu-toggle{display:none;border:0;background:none;font-size:24px}.hero{position:relative;overflow:hidden;padding:100px 0 86px;background:linear-gradient(135deg,#f7f3ec 0%,#eef7f5 100%)}.hero-glow{position:absolute;width:520px;height:520px;border-radius:50%;right:-180px;top:-200px;background:rgba(15,118,110,.12);filter:blur(20px)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;color:#0f766e;margin:0 0 14px}.hero h1,h2{font-family:"Playfair Display",serif;line-height:1.08;margin:0}.hero h1{font-size:clamp(54px,7vw,92px);letter-spacing:-.04em}.hero h1 span{color:#0f766e}.lead{font-size:20px;max-width:650px;color:#53616c;margin:26px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:999px;font-weight:700;font-size:13px;transition:.2s}.btn-primary{background:#0f766e;color:#fff}.btn-primary:hover{transform:translateY(-2px);background:#0b5f59}.btn-ghost,.btn-outline{border:1px solid #cbd7d5}.btn-ghost:hover,.btn-outline:hover{background:#fff}.btn-small{padding:10px 14px;border:1px solid #d8dedc}.btn-light{background:#fff;color:#0f766e}.quick-stats{display:flex;gap:30px;margin-top:48px}.quick-stats div{display:flex;align-items:center;gap:10px}.quick-stats strong{font-family:"Playfair Display",serif;font-size:30px;color:#0f766e}.quick-stats span{font-size:11px;line-height:1.3;color:#68747d}.hero-photo{position:relative;max-width:470px;justify-self:end}.photo-frame{border-radius:34px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 70px rgba(16,36,45,.18);border:10px solid #fff}.photo-frame img{width:100%;height:100%;object-fit:cover}.photo-tag{position:absolute;left:-25px;bottom:28px;background:#fff;border-radius:14px;padding:13px 18px;box-shadow:0 14px 35px rgba(16,36,45,.15);font-weight:700;font-size:12px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#0f766e;margin-right:8px}.intro-strip{background:#0f766e;color:#fff}.intro-grid{display:grid;grid-template-columns:repeat(3,1fr)}.intro-grid>div{padding:23px 26px;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column}.intro-grid>div:last-child{border:0}.kicker{font-size:10px;letter-spacing:.15em;text-transform:uppercase;opacity:.7;margin-bottom:4px}.intro-grid a{color:#fff}.section{padding:105px 0}.section-alt{background:#f1eee8}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}.section-head h2{font-size:clamp(34px,4vw,54px);max-width:760px}.section-head>p{max-width:410px;color:#67737c}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.research-card{background:#fff;border:1px solid #e7e3dc;border-radius:24px;padding:32px;min-height:290px;box-shadow:0 8px 30px rgba(20,32,35,.04)}.research-card.featured{background:#0f766e;color:#fff;border-color:#0f766e}.research-card.featured .card-num,.research-card.featured p{color:rgba(255,255,255,.76)}.card-num{font-size:11px;color:#0f766e;font-weight:800;letter-spacing:.12em}.research-card h3{font-family:"Playfair Display",serif;font-size:29px;line-height:1.15;margin:35px 0 15px}.research-card p{color:#68747c}.pill-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.pill-row span{font-size:10px;border:1px solid currentColor;border-radius:999px;padding:4px 8px;opacity:.8}.publication-tools{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}.publication-tools input{width:100%;max-width:420px;border:1px solid #d8d4cc;border-radius:12px;padding:13px 15px;background:#fff;font:inherit}.year-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.year-filters button{border:1px solid #d8d4cc;background:#fff;border-radius:999px;padding:8px 12px;font:600 12px "DM Sans";cursor:pointer}.year-filters button.active,.year-filters button:hover{background:#0f766e;color:#fff;border-color:#0f766e}.pub-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pub-card{display:grid;grid-template-columns:60px 1fr;gap:15px;background:#fff;border:1px solid #e6e1d8;border-radius:16px;padding:20px}.pub-year{font-weight:800;color:#0f766e;font-size:12px;padding-top:4px}.pub-card h3{font-size:15px;line-height:1.45;margin:0 0 8px}.pub-meta{font-size:11px;color:#89939a;margin:0 0 7px}.text-link{font-size:11px;color:#0f766e;font-weight:700}.no-results{padding:40px;text-align:center;color:#6c757c}.source-note{margin-top:30px;padding:17px 19px;background:#e8f2f0;border-left:3px solid #0f766e;color:#4d5c63;font-size:12px}.source-actions{display:flex;gap:8px;flex-wrap:wrap}.patent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.patent-card{padding:30px;background:#fff;border:1px solid #e5e0d8;border-radius:20px}.patent-card span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#0f766e;font-weight:800}.patent-card h3{font-family:"Playfair Display",serif;font-size:25px;line-height:1.2;margin:30px 0 0}.dark-section{background:#10262b;color:#f6f3ec}.dark-section .eyebrow{color:#6dd4ca}.dark-section p{color:#b9c8ca}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split h2{font-size:clamp(38px,5vw,62px);margin-bottom:20px}.lab-feature{border-radius:26px;overflow:hidden;aspect-ratio:4/3;border:8px solid rgba(255,255,255,.08)}.lab-feature img{width:100%;height:100%;object-fit:cover}.teaching-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.teaching-item{padding:35px;background:#f4f1eb;border-radius:20px}.teaching-item span{color:#0f766e;font-size:12px;font-weight:800}.teaching-item h3{font-family:"Playfair Display",serif;font-size:31px;margin:15px 0 0}.collab-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.collab-card{min-height:190px;border:1px solid #ddd9d0;border-radius:18px;padding:23px;background:#fff}.collab-card span{color:#0f766e;font-weight:800}.collab-card h3{font-size:18px;line-height:1.35;margin-top:50px}.affiliation-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.affiliation-columns h3{font-family:"Playfair Display",serif;font-size:27px}.affiliation-columns ul{list-style:none;padding:0}.affiliation-columns li{padding:10px 0;border-bottom:1px solid #e6e1d8;font-size:14px}.affiliation-columns li:before{content:"→";color:#0f766e;margin-right:8px}.gallery-section{background:#151f22;color:#f5f2ea}.gallery-section .eyebrow{color:#6dd4ca}.gallery-section .section-head>p{color:#b7c1c2}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.gallery-item{border:0;padding:0;background:#273235;border-radius:10px;overflow:hidden;aspect-ratio:1/1;cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}.gallery-item:hover img{transform:scale(1.06)}.blog-box{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;border:1px solid #e1ddd5;border-radius:25px;padding:42px}.blog-box h2{font-size:45px}.blog-box p{color:#69757c}.contact-section{background:#0f766e;color:#fff;padding:95px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-section .eyebrow{color:#a7eee7}.contact-grid h2{font-size:58px}.contact-grid>div:first-child p:last-child{color:rgba(255,255,255,.76);max-width:540px}.contact-list{border-top:1px solid rgba(255,255,255,.25)}.contact-list a{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.25)}.contact-list span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.65}.contact-list strong{font-size:14px}.footer{background:#0a4d49;color:#c7e5e1}.footer .container{min-height:70px;display:flex;align-items:center;justify-content:space-between;font-size:11px}.lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(5,10,12,.92);align-items:center;justify-content:center;padding:5vh 5vw}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;top:22px;right:28px;color:#fff;background:none;border:0;font-size:42px;cursor:pointer}.gallery-item:focus-visible,.btn:focus-visible,.year-filters button:focus-visible,.nav a:focus-visible{outline:3px solid #6dd4ca;outline-offset:3px}@media(max-width:950px){.nav{position:absolute;left:0;right:0;top:76px;background:#fbfaf7;padding:18px 4%;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid #e9e4dc}.nav.open{display:flex}.menu-toggle{display:block}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero-photo{justify-self:start;width:min(440px,100%)}.research-grid,.patent-grid{grid-template-columns:1fr 1fr}.collab-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(4,1fr)}.pub-list{grid-template-columns:1fr}.publication-tools,.section-head{align-items:flex-start;flex-direction:column}.year-filters{justify-content:flex-start}.affiliation-columns{grid-template-columns:1fr 1fr}.contact-grid{gap:40px}}@media(max-width:650px){.hero{padding:70px 0}.quick-stats{gap:15px;flex-wrap:wrap}.intro-grid{grid-template-columns:1fr}.intro-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.research-grid,.patent-grid,.teaching-grid,.collab-grid,.affiliation-columns{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.section{padding:75px 0}.blog-box{flex-direction:column;align-items:flex-start}.blog-box h2{font-size:38px}.contact-grid h2{font-size:43px}.footer .container{padding:20px 0;flex-direction:column;gap:6px;align-items:flex-start}.pub-card{grid-template-columns:48px 1fr}.hero-actions{width:100%}.hero-actions .btn{flex:1}.source-actions{width:100%}.source-actions .btn{flex:1}}
