*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#142019;background:#f5f7f2}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 48px));margin:auto}.nav-wrap{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(245,247,242,.88);backdrop-filter:blur(18px);border-bottom:1px solid #dfe5dc}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center}.brand-mark{font-family:"Space Grotesk";font-weight:700;font-size:27px;letter-spacing:-2px}.brand-mark span{font-style:italic}.brand-text{display:flex;flex-direction:column}.brand-text strong{font-size:14px}.brand-text small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#718078}.nav-links{display:flex;gap:25px;align-items:center;font-size:12px;font-weight:600}.nav-links a:hover{color:#25724c}.nav-cta{padding:11px 17px;border-radius:100px;background:#173d2b;color:white}.menu-toggle{display:none;border:0;background:none;font-size:25px}.hero{min-height:760px;padding-top:78px;overflow:hidden;background:radial-gradient(circle at 78% 38%,#d8e8d8 0,#eef2eb 30%,#f5f7f2 65%)}.hero-grid{min-height:682px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.13em;font-weight:800;color:#607066;text-transform:uppercase}.eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#43a96b;margin-right:7px}.hero h1{font-family:"Space Grotesk";font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.065em;margin:25px 0}.hero h1 em,h2 em{font-style:normal;color:#39845a}.hero-lead{max-width:610px;color:#637169;line-height:1.7;font-size:16px}.hero-actions{display:flex;gap:12px;margin-top:32px}.btn{padding:14px 20px;border-radius:6px;font-size:12px;font-weight:700}.btn-primary{background:#173d2b;color:#fff}.btn-ghost{border:1px solid #cbd4cc}.hero-stats{display:flex;gap:36px;margin-top:54px}.hero-stats div{display:flex;align-items:center;gap:10px}.hero-stats strong{font-family:"Space Grotesk";font-size:24px}.hero-stats span{font-size:9px;line-height:1.3;color:#78847d;text-transform:uppercase;letter-spacing:.08em}.hero-visual{height:510px;position:relative;display:grid;place-items:center}.grid-lines{position:absolute;inset:30px;background-image:linear-gradient(#a6bda72b 1px,transparent 1px),linear-gradient(90deg,#a6bda72b 1px,transparent 1px);background-size:38px 38px;transform:perspective(500px) rotateX(55deg) rotateZ(-5deg);mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 70%,transparent)}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-1{width:270px;height:270px;background:#c5dfc9;opacity:.6}.orb-2{width:130px;height:130px;background:#8fc8a1;opacity:.25;top:60px;right:40px}.energy-card{position:relative;width:min(470px,90%);padding:24px;border:1px solid #d7e1d8;background:#ffffffd9;box-shadow:0 24px 60px #254c3820;border-radius:16px}.card-top,.signal-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.1em;color:#748079}.live{color:#39845a}.live i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4aaa6d;margin-right:4px}.power-flow{display:flex;align-items:center;justify-content:space-between;margin:42px 4px}.node{display:grid;place-items:center;gap:6px}.node b{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#edf5ed;color:#276f47;font-size:24px}.node span{font-size:8px;letter-spacing:.12em;color:#68756d}.flow-line{height:1px;background:#8eb19a;width:65px;position:relative}.flow-line:after{content:"";position:absolute;right:0;top:-3px;border-left:7px solid #39845a;border-top:3px solid transparent;border-bottom:3px solid transparent}.signal svg{width:100%;height:90px}.signal path{fill:none;stroke:#39845a;stroke-width:2}.floating-tag{position:absolute;padding:10px 14px;border-radius:6px;background:#173d2b;color:#fff;font-size:8px;letter-spacing:.1em;box-shadow:0 10px 25px #173d2b20}.tag-a{left:2%;bottom:88px}.tag-b{right:2%;top:78px;background:#fff;color:#173d2b;border:1px solid #d5ddd6}.section{padding:115px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:90px}.section h2{font-family:"Space Grotesk";font-size:clamp(42px,5vw,65px);letter-spacing:-.06em;line-height:1.02;margin:16px 0}.about-text .large{font-size:23px;line-height:1.45;color:#314138}.about-text p:not(.large){color:#6a776f;line-height:1.8}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.pill-row span{padding:8px 11px;border:1px solid #d5ddd5;border-radius:100px;font-size:10px;color:#66736b}.dark{background:#10271c;color:#e9f0e9}.light{color:#8ca394}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.section-head p{max-width:370px;color:#84958a;font-size:13px;line-height:1.7}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #355242;border-left:1px solid #355242}.research-card{min-height:300px;padding:30px;border-right:1px solid #355242;border-bottom:1px solid #355242;position:relative}.research-card:hover{background:#173528}.research-card .number{font-size:9px;color:#80968a}.research-card .icon{font-size:30px;margin:34px 0 18px;color:#70bb89}.research-card h3{font-family:"Space Grotesk";font-size:21px;margin:0 0 12px}.research-card p{font-size:12px;color:#91a097;line-height:1.7}.research-card a{font-size:10px;color:#83c798;font-weight:700}.facilities h2{margin-bottom:60px}.facility-list{border-top:1px solid #cbd4cb}.facility{display:grid;grid-template-columns:70px 1fr 40px;align-items:center;padding:27px 0;border-bottom:1px solid #cbd4cb}.facility>span{font-size:10px;color:#6d7a72}.facility h3{font-family:"Space Grotesk";margin:0 0 6px;font-size:21px}.facility p{margin:0;color:#76837b;font-size:11px}.facility>b{font-size:20px;color:#39845a}.project-section{background:#e9eee7}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{background:#fff}.project-img{height:220px;display:flex;align-items:end;padding:18px;font-size:9px;font-weight:800;letter-spacing:.13em;color:white;background:#173d2b;position:relative;overflow:hidden}.project-img:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#2e704b,#0e2419)}.project-img:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #8ac69a55;border-radius:50%;left:20%;top:-20%}.project-img span{position:relative;z-index:1}.inverter:before{background:linear-gradient(145deg,#304d62,#101e27)}.pll:before{background:linear-gradient(145deg,#5a5530,#1d1b0d)}.project-body{padding:25px}.meta{font-size:8px;letter-spacing:.12em;color:#6f7c74;font-weight:800}.project h3{font-family:"Space Grotesk";font-size:20px;line-height:1.2}.project p{font-size:11px;color:#718078;line-height:1.7}.pub-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.pub-layout p{color:#91a097;line-height:1.7;font-size:13px}.pub-intro{position:sticky;top:110px;align-self:start}.pub-count{display:flex;align-items:center;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid #355242}.pub-count strong{font-family:"Space Grotesk";font-size:34px;color:#82bd92}.pub-count span{font-size:9px;line-height:1.5;color:#7f9186;text-transform:uppercase;letter-spacing:.08em;max-width:150px}.pub-list{border-top:1px solid #355242}.pub{display:grid;grid-template-columns:60px 1fr 20px;gap:16px;padding:25px 0;border-bottom:1px solid #355242}.pub>span{font-size:10px;color:#7f9688}.pub b{font-family:"Space Grotesk";font-size:14px;line-height:1.45}.pub small{display:block;color:#7f9186;margin-top:8px;font-size:9px;line-height:1.5}.pub strong{color:#82bd92}.team-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.team-heading p{max-width:390px;color:#6d7971;font-size:13px;line-height:1.7}.team-card{display:grid;grid-template-columns:100px 1fr 300px;align-items:center;gap:25px;border:1px solid #d2dbd2;padding:28px;background:#fff}.avatar{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:#dfece1;color:#286a46;font-family:"Space Grotesk";font-weight:700}.role{font-size:8px;letter-spacing:.12em;color:#6f7b73}.team-card h3{font-family:"Space Grotesk";font-size:22px;margin:8px 0}.team-card p,.team-note{font-size:11px;line-height:1.6;color:#718078}.contact{background:#173d2b;color:#edf5ee;padding:100px 0}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact h2{font-family:"Space Grotesk";font-size:clamp(44px,5vw,68px);line-height:1;letter-spacing:-.06em}.contact p{color:#9eb2a4;max-width:480px;line-height:1.7}.contact-box{border-left:1px solid #42604f;padding-left:35px}.contact-box div{margin-bottom:23px}.contact-box span{display:block;font-size:8px;letter-spacing:.12em;color:#88a293;margin-bottom:7px}.contact-box b{font-size:13px}.contact-box a{display:inline-block;margin-top:15px;padding:13px 17px;background:#fff;color:#173d2b;border-radius:5px;font-size:10px;font-weight:800}.footer{height:75px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#78857d;letter-spacing:.04em}@media(max-width:800px){.container{width:min(100% - 32px,600px)}.nav-links{display:none;position:absolute;top:78px;left:0;right:0;padding:20px;background:#f5f7f2;border-bottom:1px solid #dfe5dc;flex-direction:column}.nav-links.open{display:flex}.menu-toggle{display:block}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;padding:70px 0}.hero-visual{height:390px}.hero h1{font-size:52px}.two-col,.pub-layout,.contact-inner{grid-template-columns:1fr;gap:35px}.pub-intro{position:static}.research-grid,.project-grid{grid-template-columns:1fr}.section-head,.team-heading{display:block}.section-head p,.team-heading p{margin-top:20px}.team-card{grid-template-columns:70px 1fr}.team-note{grid-column:1/-1}.floating-tag{font-size:7px}.tag-a{left:0}.tag-b{right:0}.facility{grid-template-columns:40px 1fr 25px}.footer{height:auto;padding:25px 0;display:block}.footer span{display:block;margin:6px 0}.hero-stats{gap:18px}.hero-stats strong{font-size:20px}}

/* Renewable-energy graphic layer */
.renewable-scene{height:520px;position:relative;display:grid;place-items:center}
.renewable-svg{position:relative;z-index:2;width:100%;max-width:620px;overflow:visible}
.scene-glow{position:absolute;width:350px;height:350px;border-radius:50%;background:#9dcc9c55;filter:blur(32px);right:70px;top:70px}
.energy-path{stroke-dasharray:10 11;animation:flow 2.8s linear infinite}
.energy-dots circle{animation:pulse 1.8s ease-in-out infinite}
.energy-dots circle:nth-child(2){animation-delay:.55s}.energy-dots circle:nth-child(3){animation-delay:1.1s}
.mini-readout{position:absolute;right:-8px;bottom:42px;z-index:4;background:#ffffffea;border:1px solid #d4ded4;border-radius:10px;padding:13px 16px;box-shadow:0 18px 35px #173d2b18;min-width:125px}
.mini-readout span,.mini-readout small{display:block;font-size:7px;letter-spacing:.13em;color:#708078}
.mini-readout strong{display:block;font-family:"Space Grotesk";font-size:25px;color:#287247;margin:3px 0}
@keyframes flow{to{stroke-dashoffset:-42}}
@keyframes pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}
@media(max-width:800px){.renewable-scene{height:400px}.mini-readout{right:0;bottom:15px}.renewable-svg{max-width:570px}}

.brand-logo{width:62px;height:62px;object-fit:contain;display:block}.brand-text strong{font-size:13px;white-space:nowrap}.brand-text small{max-width:390px}.lab-slider{height:520px;position:relative;display:block}.slider-frame{position:absolute;inset:0;border-radius:18px;overflow:hidden;background:#163528;box-shadow:0 28px 65px #173d2b25;border:1px solid #d6e0d7}.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease}.slide.active{opacity:1;visibility:visible}.slide img{width:100%;height:100%;object-fit:cover;display:block}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,27,18,.76),rgba(8,27,18,.28) 48%,rgba(8,27,18,.04))}.slide-caption{position:absolute;left:32px;bottom:68px;z-index:2;color:#fff;max-width:330px}.slide-caption span{font-size:8px;letter-spacing:.16em;font-weight:800;color:#a7d8b3}.slide-caption h3{font-family:"Space Grotesk";font-size:29px;line-height:1.05;margin:10px 0 9px}.slide-caption p{font-size:11px;line-height:1.6;color:#d7e5db;margin:0}.slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:38px;height:38px;border:1px solid #ffffff55;border-radius:50%;background:#173d2bcc;color:#fff;font-size:28px;line-height:1;cursor:pointer}.slider-btn.prev{left:15px}.slider-btn.next{right:15px}.slider-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:7px}.dot{width:9px;height:9px;border-radius:50%;border:1px solid #fff;background:#ffffff66;padding:0;cursor:pointer}.dot.active{background:#6fbd84;width:24px;border-radius:10px}.lab-slider .floating-tag{z-index:5}.lab-slider .tag-a{left:-15px;bottom:27px}.lab-slider .tag-b{right:-15px;top:25px}.gallery-section{background:#eef2eb}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid figure{margin:0;background:#fff;border:1px solid #d6ded6;border-radius:12px;overflow:hidden}.gallery-grid img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .45s}.gallery-grid figure:hover img{transform:scale(1.04)}.gallery-grid figcaption{font-size:10px;font-weight:700;color:#506057;padding:13px 15px}@media(max-width:800px){.brand-logo{width:52px;height:52px}.brand-text strong{font-size:10px}.brand-text small{font-size:7px;max-width:230px}.lab-slider{height:390px}.slide-caption{left:20px;bottom:60px;max-width:250px}.slide-caption h3{font-size:23px}.lab-slider .tag-a{left:5px;bottom:15px}.lab-slider .tag-b{right:5px;top:15px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid img{height:170px}}@media(max-width:500px){.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:220px}}

.incharge-card{grid-template-columns:100px 1fr 250px}.incharge-card .avatar{background:#d9ebdc;color:#287247;font-size:22px}.incharge-card .team-note{display:flex;flex-direction:column;gap:12px}.incharge-card .team-note span{font-size:10px;color:#718078}.profile-link{display:inline-flex;align-items:center;width:max-content;padding:11px 15px;border-radius:5px;background:#173d2b;color:#fff;font-size:10px;font-weight:800}.profile-link:hover{background:#39845a}@media(max-width:800px){.incharge-card{grid-template-columns:70px 1fr}.incharge-card .team-note{grid-column:1/-1}}

/* ============================================================
   SUB-PAGE STYLES (contact.html + research.html)
   ============================================================ */

/* --- Shared page hero (used on both sub-pages) --- */
.page-hero{padding:150px 0 40px;background:radial-gradient(circle at 80% 30%,#d8e8d8 0,#eef2eb 32%,#f5f7f2 66%)}
.page-kicker{font-size:10px;letter-spacing:.13em;font-weight:800;color:#607066;text-transform:uppercase;margin-bottom:18px}
.page-hero h1{font-family:"Space Grotesk";font-size:clamp(44px,6vw,74px);line-height:.98;letter-spacing:-.06em;margin:0 0 24px}
.page-hero h1 em{font-style:italic;color:#39845a}
.page-hero p{max-width:720px;color:#637169;line-height:1.7;font-size:17px;margin:0}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.contact-page{padding:60px 0 100px}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start}
.contact-grid h2{font-family:"Space Grotesk";font-size:clamp(30px,4vw,44px);letter-spacing:-.04em;line-height:1.05;margin:0 0 16px}
.contact-grid .hero-lead{max-width:470px;color:#637169;line-height:1.7;font-size:16px;margin:0 0 32px}

.mail-btn{display:inline-block;padding:15px 22px;border-radius:6px;background:#173d2b;color:#fff;font-size:13px;font-weight:700;transition:background .2s,transform .1s}
.mail-btn:hover{background:#0f2c1e;transform:translateY(-1px)}
.contact-page .profile-link{margin-left:14px}

/* Contact card */
.contact-card{background:#fff;border:1px solid #d6e0d7;border-radius:16px;padding:34px 32px;box-shadow:0 24px 60px #254c3818}
.contact-card h2{font-size:24px;margin-bottom:26px}
.contact-row{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-top:1px solid #e2e9e2}
.contact-row:first-of-type{border-top:0;padding-top:0}
.contact-icon{flex:0 0 46px;width:46px;height:46px;border-radius:12px;background:#edf5ed;color:#276f47;display:grid;place-items:center;font-family:"Space Grotesk";font-weight:700;font-size:16px}
.contact-row>div:last-child{display:flex;flex-direction:column;gap:2px;padding-top:2px}
.contact-row span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#718078;font-weight:800}
.contact-row b{font-size:15px;font-weight:700;color:#1c2b22;margin-bottom:2px}
.contact-row a{color:#39845a;font-weight:700;font-size:15px}
.contact-row a:hover{text-decoration:underline}

/* ============================================================
   PUBLICATIONS PAGE (research.html)
   ============================================================ */
.pub-page{padding:50px 0 100px}
.pub-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid #d4ddd4}
.pub-toolbar .source-note{max-width:640px;color:#6a776f;line-height:1.7;font-size:13px;margin:12px 0 0}
.scholar-btn{flex:0 0 auto;padding:14px 20px;border-radius:6px;background:#173d2b;color:#fff;font-size:12px;font-weight:700;white-space:nowrap;transition:background .2s}
.scholar-btn:hover{background:#0f2c1e}

.pub-summary{display:flex;flex-wrap:wrap;gap:14px 40px;padding:26px 0;border-bottom:1px solid #d4ddd4;margin-bottom:10px}
.pub-summary span{font-size:12px;color:#6a776f}
.pub-summary strong{font-family:"Space Grotesk";color:#276f47;font-size:15px}

.pub-year{font-family:"Space Grotesk";font-size:22px;letter-spacing:.02em;color:#173d2b;margin:44px 0 4px;padding-top:14px}
.pub-page-list{border-top:1px solid #dbe3db}
.pub-item{display:grid;grid-template-columns:110px 1fr 24px;gap:20px;align-items:start;padding:24px 0;border-bottom:1px solid #dbe3db}
.pub-item .type{font-size:9px;letter-spacing:.12em;font-weight:800;color:#39845a;padding-top:4px}
.pub-item h3{font-family:"Space Grotesk";font-size:16px;line-height:1.4;margin:0 0 8px;color:#1c2b22;font-weight:600}
.pub-item p{margin:0 0 8px;font-size:13px;line-height:1.6;color:#6a776f}
.pub-item a{font-size:12px;font-weight:700;color:#39845a}
.pub-item a:hover{text-decoration:underline}
.pub-item>div:last-child{color:#9aa89f;font-size:16px;text-align:right}

.pub-footnote{margin-top:44px;padding:22px 24px;background:#eef2eb;border:1px solid #d6ded6;border-radius:12px;font-size:12px;line-height:1.7;color:#6a776f}
.pub-footnote strong{color:#173d2b}

/* --- Sub-page responsive --- */
@media(max-width:800px){
  .page-hero{padding:120px 0 30px}
  .contact-grid{grid-template-columns:1fr;gap:40px}
  .contact-page .profile-link{margin-left:0;margin-top:16px}
  .pub-toolbar{flex-direction:column;gap:20px}
  .pub-item{grid-template-columns:1fr;gap:6px}
  .pub-item>div:last-child{display:none}
  .pub-item .type{padding-top:0}
}

/* citation badge on publication items */
.pub-cited{display:inline-block;margin-left:14px;font-size:12px;font-weight:700;color:#6a776f}
.pub-item a + .pub-cited{margin-left:14px}

/* ============================================================
   FUNDED PROJECTS PAGE (projects.html)
   ============================================================ */
.proj-page{padding:50px 0 100px}
.proj-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid #d4ddd4}
.proj-summary div{display:flex;flex-direction:column;gap:6px}
.proj-summary strong{font-family:"Space Grotesk";font-size:34px;color:#173d2b;letter-spacing:-.02em;line-height:1}
.proj-summary span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#718078;font-weight:700}

.proj-list{display:flex;flex-direction:column;gap:18px}
.proj-item{background:#fff;border:1px solid #d6e0d7;border-radius:16px;padding:28px 30px;box-shadow:0 14px 40px #254c380f;transition:transform .15s,box-shadow .15s}
.proj-item:hover{transform:translateY(-2px);box-shadow:0 20px 50px #254c3818}
.proj-agency{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.agency-tag{font-size:10px;letter-spacing:.12em;font-weight:800;text-transform:uppercase;color:#276f47;background:#edf5ed;padding:7px 12px;border-radius:100px}
.proj-status{font-size:10px;letter-spacing:.08em;font-weight:800;text-transform:uppercase;padding:6px 13px;border-radius:100px}
.proj-status.ongoing{color:#8a5a00;background:#fbf0d8}
.proj-status.completed{color:#2a6a48;background:#e2f0e6}
.proj-item h3{font-family:"Space Grotesk";font-size:19px;line-height:1.4;font-weight:600;color:#1c2b22;margin:0 0 20px}
.proj-meta{display:flex;flex-wrap:wrap;gap:14px 46px;padding-top:18px;border-top:1px solid #e2e9e2}
.proj-meta>div{display:flex;flex-direction:column;gap:3px}
.proj-meta span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#718078;font-weight:800}
.proj-meta b{font-family:"Space Grotesk";font-size:17px;color:#173d2b;font-weight:600}

@media(max-width:800px){
  .proj-summary{grid-template-columns:1fr 1fr;gap:24px 16px}
  .proj-summary strong{font-size:28px}
  .proj-item{padding:22px 20px}
  .proj-meta{gap:14px 28px}
}

/* ============================================================
   RESEARCH IMPACT SECTION (index.html #publications, dark bg)
   ============================================================ */
.impact-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
.impact-head h2{font-family:"Space Grotesk";font-size:clamp(38px,4.5vw,60px);letter-spacing:-.05em;line-height:1.02;margin:16px 0 0}
.impact-head h2 em{font-style:normal;color:#70bb89}
.impact-head p{color:#9db3a5;line-height:1.75;font-size:15px;max-width:460px}

.impact-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#2a4a38;border:1px solid #2a4a38;border-radius:16px;overflow:hidden;margin-bottom:26px}
.impact-metrics .metric{background:#12281d;padding:30px 26px;display:flex;flex-direction:column;gap:6px}
.impact-metrics strong{font-family:"Space Grotesk";font-size:40px;color:#82c99a;line-height:1;letter-spacing:-.02em}
.impact-metrics span{font-size:13px;font-weight:700;color:#e6efe8}
.impact-metrics small{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#7f9688}

.impact-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}
.theme-card{background:#12281d;border:1px solid #2a4a38;border-radius:16px;padding:30px 28px;transition:transform .15s,border-color .15s}
.theme-card:hover{transform:translateY(-3px);border-color:#4a7d5e}
.theme-icon{font-size:28px;margin-bottom:16px}
.theme-card h3{font-family:"Space Grotesk";font-size:19px;color:#eef5ef;margin:0 0 10px}
.theme-card p{font-size:13px;line-height:1.7;color:#93a99b;margin:0}

.impact-cta{display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap;background:linear-gradient(135deg,#173d2b,#0f2c1e);border:1px solid #2a4a38;border-radius:16px;padding:34px 36px}
.cta-eyebrow{font-size:10px;letter-spacing:.13em;font-weight:800;color:#70bb89;text-transform:uppercase}
.impact-cta p{color:#c2d3c8;font-size:15px;line-height:1.6;margin:10px 0 0;max-width:420px}
.impact-cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-light{background:#eef5ef;color:#173d2b !important}
.btn-light:hover{background:#fff}
.btn-outline-light{border:1px solid #4a7d5e;color:#cfe3d5 !important}
.btn-outline-light:hover{border-color:#82c99a;color:#fff !important}

@media(max-width:800px){
  .impact-head{grid-template-columns:1fr;gap:20px;margin-bottom:40px}
  .impact-metrics{grid-template-columns:1fr 1fr}
  .impact-metrics strong{font-size:32px}
  .impact-themes{grid-template-columns:1fr}
  .impact-cta{flex-direction:column;align-items:flex-start;padding:28px 24px}
}

/* ============================================================
   FOOTER DESIGNER CREDIT
   ============================================================ */
.footer-credit{display:flex;justify-content:center;align-items:center;padding:18px 0 26px;margin-top:6px;border-top:1px solid #dfe5dc}
.footer-credit span{font-size:12px;letter-spacing:.04em;color:#8a978f}
.footer-credit a{position:relative;color:#39845a;transition:color .2s}
.footer-credit a strong{font-family:"Space Grotesk";font-weight:600;letter-spacing:.01em;background:linear-gradient(90deg,#276f47,#4aaa6d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.footer-credit a:after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:linear-gradient(90deg,#276f47,#4aaa6d);transition:width .3s}
.footer-credit a:hover:after{width:100%}

/* ============================================================
   LAB INSTRUMENTS PAGE (instruments.html)
   ============================================================ */
.instr-page{padding:50px 0 100px}
.instr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.instr-card{margin:0;background:#fff;border:1px solid #d6e0d7;border-radius:16px;overflow:hidden;box-shadow:0 14px 40px #254c380d;transition:transform .18s,box-shadow .18s;display:flex;flex-direction:column}
.instr-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px #254c3818}
.instr-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:#eef2eb}
.instr-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.instr-card:hover .instr-img img{transform:scale(1.06)}
.instr-card figcaption{padding:22px 22px 26px;display:flex;flex-direction:column;gap:8px}
.instr-cat{font-size:9px;letter-spacing:.13em;font-weight:800;text-transform:uppercase;color:#276f47;background:#edf5ed;padding:6px 11px;border-radius:100px;width:max-content}
.instr-card h3{font-family:"Space Grotesk";font-size:18px;line-height:1.3;color:#1c2b22;margin:2px 0 4px}
.instr-card p{font-size:13px;line-height:1.65;color:#6a776f;margin:0}

@media(max-width:1000px){.instr-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.instr-grid{grid-template-columns:1fr;gap:18px}}

/* ---- Lab in Action gallery (instruments.html) ---- */
.lab-gallery-head{margin:56px 0 24px}
.lab-gallery-head h2{font-family:"Space Grotesk";font-size:clamp(28px,3.5vw,42px);letter-spacing:-.03em;line-height:1.05;margin:12px 0 8px}
.lab-gallery-head h2 em{font-style:italic;color:#39845a}
.lab-gallery-head p{color:#6a776f;font-size:15px;margin:0;max-width:560px}
.lab-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.lg-item{margin:0;position:relative;border-radius:16px;overflow:hidden;border:1px solid #d6e0d7;background:#000}
.lg-item.lg-wide{grid-column:span 2}
.lg-item img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/9;transition:transform .5s}
.lg-item:hover img{transform:scale(1.04)}
.lg-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 20px 16px;font-size:12px;line-height:1.5;color:#fff;background:linear-gradient(transparent,rgba(8,27,18,.85))}
@media(max-width:800px){.lab-gallery{grid-template-columns:1fr}.lg-item.lg-wide{grid-column:span 1}.lg-item img{aspect-ratio:4/3}}

/* Facilities → instruments CTA (homepage) */
.facility-cta{margin-top:34px}
.facility-cta .btn{display:inline-block;text-decoration:none}

/* ============================================================
   PATENTS SECTION (research.html)
   ============================================================ */
.patent-summary{display:flex;flex-wrap:wrap;gap:14px 40px;padding:20px 0;border-bottom:1px solid #d4ddd4;margin-bottom:10px}
.patent-summary span{font-size:12px;color:#6a776f}
.patent-summary strong{font-family:"Space Grotesk";color:#276f47;font-size:15px}
.patent-list{border-top:1px solid #dbe3db}
.patent-item{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 0;border-bottom:1px solid #dbe3db}
.patent-main{flex:1}
.patent-item h3{font-family:"Space Grotesk";font-size:16px;line-height:1.4;font-weight:600;color:#1c2b22;margin:0 0 8px}
.patent-meta{display:flex;flex-wrap:wrap;gap:8px 18px}
.patent-meta span{font-size:12px;color:#6a776f}
.patent-meta span:first-child{font-weight:600;color:#39845a}
.patent-status{flex:0 0 auto;font-size:10px;letter-spacing:.08em;font-weight:800;text-transform:uppercase;padding:6px 13px;border-radius:100px;white-space:nowrap}
.patent-status.granted{color:#1c6b3f;background:#d7f0e0}
.patent-status.published{color:#2a6a48;background:#e2f0e6}
.patent-status.filed{color:#8a5a00;background:#fbf0d8}
@media(max-width:800px){.patent-item{flex-direction:column-reverse;align-items:flex-start;gap:10px}}
