:root{--pub-deep:#263c2e;--pub-green:#48643b;--pub-soft:#eef3e9;--pub-line:#dde5d8;--pub-text:#28352f;--pub-muted:#617068}
.publications-page{background:#f5f7f3;color:var(--pub-text)}
.pub-hero{background:linear-gradient(125deg,#22392c 0%,#3f5b37 62%,#6c7f50 100%);color:white;border-bottom:1px solid rgba(255,255,255,.16)}
.pub-hero-inner{max-width:1180px;margin:auto;padding:38px 24px 34px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end}
.pub-kicker,.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:800}
.pub-kicker{color:#d9e4ce;margin-bottom:7px}.pub-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,4vw,4rem);line-height:1;margin:0 0 10px}.pub-hero p{margin:0;max-width:720px;color:#eef3ea;font-size:1.02rem;line-height:1.55}.cv-button{flex:none;text-decoration:none;color:#203327;background:#f4f6ef;padding:11px 16px;border-radius:9px;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.pub-main{max-width:1180px;margin:0 auto;padding:24px}
.publication-types{display:flex;gap:7px;flex-wrap:wrap;background:white;border:1px solid var(--pub-line);border-radius:12px;padding:7px;margin-bottom:25px;box-shadow:0 4px 16px rgba(33,53,40,.04)}.publication-types a{text-decoration:none;color:#405247;padding:9px 14px;border-radius:8px;font-weight:700;font-size:.91rem}.publication-types a:hover,.publication-types a.active{background:#dfe9d6;color:#233b2c}
.recent-publications,.publication-browser{background:white;border:1px solid var(--pub-line);border-radius:16px;box-shadow:0 7px 24px rgba(31,48,37,.055);padding:24px;margin-bottom:25px}.section-heading,.browser-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:18px}.section-heading h2,.browser-heading h2{font-family:Georgia,"Times New Roman",serif;color:var(--pub-deep);font-size:1.85rem;margin:2px 0 0}.section-heading>a{color:var(--pub-green);font-weight:800;text-decoration:none;font-size:.9rem}.eyebrow{color:#788b69}.recent-pub-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.recent-pub-card{position:relative;border-top:4px solid #8a9d6c;background:#f8faf6;border-radius:9px;padding:14px 13px 12px;min-height:168px}.recent-year{font-weight:800;color:#667a55;font-size:.79rem;letter-spacing:.06em;margin-bottom:8px}.recent-citation{font-size:.83rem;line-height:1.48;color:#36463d}.recent-citation a,.pub-citation a{color:#47653a;font-weight:700;text-decoration:none;border-bottom:1px solid #b9c9ac}.recent-citation a:hover,.pub-citation a:hover{color:#233a2b}
.browser-heading{align-items:flex-start}.browser-heading p{margin:5px 0 0;color:var(--pub-muted);font-size:.9rem}.search-wrap{width:min(360px,100%)}.search-wrap label{display:block;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#65735d;margin:0 0 6px}.search-wrap input{width:100%;border:1px solid #cbd6c6;background:#fbfcfa;border-radius:9px;padding:11px 12px;font:inherit;outline:none}.search-wrap input:focus{border-color:#748c63;box-shadow:0 0 0 3px rgba(116,140,99,.14)}.search-status{min-height:21px;text-align:right;color:#68765f;font-size:.84rem;margin:-9px 2px 4px}
.pub-year{margin:27px 0 0}.pub-year>h2{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--pub-line);padding-bottom:7px;margin:0}.pub-year>h2 span{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;color:var(--pub-deep)}.pub-year>h2 small{font-size:.73rem;color:#829078;font-weight:700}.publication-list{counter-reset:none}.publication-item{display:grid;grid-template-columns:38px 1fr;gap:8px;padding:13px 4px;border-bottom:1px solid #edf0eb}.publication-item:hover{background:#fafbf8}.pub-number{font-family:Georgia,"Times New Roman",serif;color:#84927b;font-size:.86rem;padding-top:2px;text-align:right;padding-right:7px}.pub-citation{font-size:.91rem;line-height:1.55;color:#39483f}.pub-citation em,.pub-citation i{color:#24392d}.no-results{padding:28px;text-align:center;background:var(--pub-soft);border-radius:10px;color:#53634f}
@media(max-width:1050px){.recent-pub-grid{grid-template-columns:repeat(3,1fr)}.recent-pub-card:nth-child(n+4){grid-column:auto}.pub-hero-inner{align-items:center}}
@media(max-width:760px){.pub-hero-inner{padding:29px 20px;align-items:flex-start;flex-direction:column}.pub-main{padding:16px}.recent-publications,.publication-browser{padding:18px}.recent-pub-grid{grid-template-columns:1fr 1fr}.browser-heading,.section-heading{flex-direction:column;align-items:flex-start}.search-wrap{width:100%}.search-status{text-align:left;margin-top:-8px}.publication-item{grid-template-columns:30px 1fr}.publication-types{overflow-x:auto;flex-wrap:nowrap}.publication-types a{white-space:nowrap}}
@media(max-width:520px){.recent-pub-grid{grid-template-columns:1fr}.recent-pub-card{min-height:auto}.pub-citation{font-size:.88rem}.pub-hero h1{font-size:2.45rem}}

/* Technical report section groups */
.report-group{margin-top:28px}.report-group-heading{padding:0 0 10px;border-bottom:2px solid #dfe7d6;margin-bottom:0}.report-group-heading h2{margin:0;color:#173f35;font-family:Georgia,"Times New Roman",serif;font-size:1.45rem}.report-group-heading p{margin:5px 0 0;color:#66756e}.publication-item[hidden],.pub-year[hidden],.report-group[hidden]{display:none!important}

/* Books & chapters */
.books-intro{margin:34px 0 18px}.books-intro .section-heading{align-items:end}
.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:18px 0 44px}
.book-card{background:#fff;border:1px solid #e1e8dc;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(24,54,38,.07);display:flex;flex-direction:column;min-width:0}
.book-cover-wrap{height:330px;background:linear-gradient(145deg,#eef3e8,#fafbf8);display:flex;align-items:center;justify-content:center;padding:18px;border-bottom:1px solid #e5eadf}
.book-cover{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 7px 18px rgba(0,0,0,.13)}
.book-placeholder{width:210px;height:285px;border-radius:4px;background:linear-gradient(150deg,#466d18,#7d9d45);color:white;box-shadow:0 7px 18px rgba(0,0,0,.13);display:flex;flex-direction:column;justify-content:center;padding:24px;text-align:left}
.book-placeholder strong{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;line-height:1.12}.book-placeholder span{font-size:.8rem;margin-top:18px;opacity:.9}
.book-info{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}.book-status{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#557a22;margin-bottom:8px}.book-info h3{font-family:Georgia,"Times New Roman",serif;color:#173d2d;font-size:1.24rem;line-height:1.2;margin:0 0 10px}.book-info p{margin:0;color:#53625b;line-height:1.5;font-size:.93rem}.book-meta{margin-top:auto;padding-top:14px;font-size:.84rem;color:#718078}
.scholarly-section{margin:36px 0}.scholarly-section>.section-heading{margin-bottom:14px}.compact-list{background:#fff;border:1px solid #e1e8dc;border-radius:16px;overflow:hidden}.compact-item{padding:15px 18px;border-bottom:1px solid #edf0ea;line-height:1.52;color:#34483f}.compact-item:last-child{border-bottom:0}.compact-item em{font-family:Georgia,"Times New Roman",serif}.compact-item a{color:#466d18}
@media(max-width:1000px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.book-grid{grid-template-columns:1fr}.book-cover-wrap{height:300px}.book-card{max-width:460px;margin-inline:auto;width:100%}}

/* Research Group: shared visual language with Publications */
.rg-hero .pub-hero-inner{align-items:flex-end}
.rg-main{max-width:1180px;margin:0 auto;padding:24px;background:transparent;box-shadow:none;border:0}
.rg-main .rg-tabs{margin-top:0}
.rg-main .rg-section:first-of-type{margin-top:30px}
@media(max-width:760px){.rg-main{padding:16px}.rg-hero .pub-hero-inner{align-items:flex-start}}

/* Contact page */
.contact-main{max-width:1180px;margin:0 auto;padding:24px 24px 56px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:22px;align-items:stretch;margin-bottom:26px}
.contact-card,.contact-campus-card,.contact-purpose-section{background:#fff;border:1px solid var(--pub-line);border-radius:16px;box-shadow:0 7px 24px rgba(31,48,37,.055)}
.contact-card{padding:30px}
.contact-kicker{text-transform:uppercase;letter-spacing:.11em;font-size:.74rem;font-weight:800;color:#778a68;margin-bottom:7px}
.contact-card h2{font-family:Georgia,"Times New Roman",serif;color:var(--pub-deep);font-size:2rem;margin:0 0 5px}
.contact-affiliation{margin:0 0 24px;color:var(--pub-muted);line-height:1.55}
.contact-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-detail{background:#f7f9f5;border:1px solid #e3e9df;border-radius:12px;padding:15px 16px}
.contact-address{grid-column:1/-1}
.contact-label{display:block;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.7rem;color:#77856f;margin-bottom:5px}
.contact-detail a{font-weight:750;text-decoration:none;color:#365c2d}
.contact-detail address{font-style:normal;line-height:1.55;color:#405048}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.contact-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #cdd9c7;border-radius:9px;padding:10px 15px;font-weight:800;color:#35512f;background:#f7f9f4}
.contact-button.primary{background:#47633a;color:#fff;border-color:#47633a}.contact-button:hover{transform:translateY(-1px)}
.contact-campus-card{overflow:hidden;display:flex;flex-direction:column}
.contact-campus-card img{width:100%;height:250px;object-fit:cover;display:block}
.contact-campus-copy{padding:22px}.contact-campus-copy h2{font-family:Georgia,"Times New Roman",serif;color:var(--pub-deep);font-size:1.45rem;margin:3px 0 7px}.contact-campus-copy p{margin:0;color:var(--pub-muted);line-height:1.55}
.contact-purpose-section{padding:24px}.contact-purpose-section .section-heading{margin-bottom:16px}.contact-purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.contact-purpose-grid article{background:#f8faf6;border:1px solid #e4eadf;border-radius:12px;padding:18px}.contact-purpose-grid h3{font-family:Georgia,"Times New Roman",serif;color:var(--pub-deep);font-size:1.08rem;margin:0 0 7px}.contact-purpose-grid p{font-size:.9rem;color:#59685f;line-height:1.5;margin:0 0 12px}.contact-purpose-grid a{font-size:.86rem;font-weight:800;text-decoration:none;color:#46653a}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr}.contact-campus-card{display:grid;grid-template-columns:42% 1fr}.contact-campus-card img{height:100%;min-height:230px}.contact-purpose-grid{grid-template-columns:1fr}}
@media(max-width:600px){.contact-main{padding:16px 16px 44px}.contact-card{padding:21px}.contact-detail-grid{grid-template-columns:1fr}.contact-address{grid-column:auto}.contact-campus-card{display:block}.contact-campus-card img{height:210px}.contact-actions{flex-direction:column}.contact-button{width:100%}.contact-purpose-section{padding:18px}}

/* ===== Research Projects page ===== */
.projects-page{background:#f5f6f1}
.projects-main{max-width:1180px;margin:0 auto;padding:30px 24px 56px}
.projects-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:22px;margin-bottom:26px}
.projects-intro-card,.projects-note{background:#fff;border:1px solid #dde4d9;border-radius:16px;padding:25px;box-shadow:0 9px 28px rgba(34,57,44,.06)}
.projects-intro-card h2,.project-section-heading h2{font-family:Georgia,"Times New Roman",serif;color:#243a2d;margin:4px 0 10px}
.projects-intro-card h2{font-size:1.75rem}
.projects-intro-card p,.projects-note p{color:#526158;line-height:1.65;margin:0}
.projects-note{background:#eef3e9;display:flex;flex-direction:column;justify-content:center}
.projects-note strong{display:block;color:#2e4938;margin-bottom:8px;font-size:1.04rem}
.project-themes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:34px}
.project-theme{background:#fff;border:1px solid #dde4d9;border-radius:13px;padding:18px 17px;min-height:116px}
.project-theme span{display:block;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#74816e;font-weight:800;margin-bottom:8px}
.project-theme h3{font-family:Georgia,"Times New Roman",serif;font-size:1.12rem;margin:0 0 7px;color:#294332}
.project-theme p{margin:0;color:#68736c;font-size:.89rem;line-height:1.45}
.project-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 16px}
.project-section-heading h2{font-size:1.8rem;margin-bottom:0}
.project-section-heading p{margin:0;color:#67736b;max-width:530px;line-height:1.5;font-size:.93rem}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.project-card{display:grid;grid-template-columns:150px minmax(0,1fr);background:#fff;border:1px solid #dce4d9;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(34,57,44,.055);min-height:210px}
.project-image{background:#e8eee5;min-height:100%;position:relative;overflow:hidden}
.project-image img{width:100%;height:100%;object-fit:cover;display:block}
.project-card-content{padding:20px 20px 18px;display:flex;flex-direction:column}
.project-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.project-tag{display:inline-block;padding:5px 8px;border-radius:999px;background:#edf2e9;color:#52664f;font-size:.72rem;font-weight:800;line-height:1}
.project-tag.status{background:#f3f0df;color:#70663a}
.project-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.18rem;line-height:1.27;color:#263e30;margin:0 0 9px}
.project-card p{font-size:.9rem;line-height:1.5;color:#667168;margin:0 0 6px}
.project-card p strong{color:#46564a}
.project-link{margin-top:auto;padding-top:10px;color:#355a42;text-decoration:none;font-weight:800;font-size:.88rem}
.project-link:hover{text-decoration:underline}
.project-future{margin-top:30px;background:linear-gradient(115deg,#eef3e9,#f8f8f4);border:1px solid #dbe4d6;border-radius:16px;padding:24px 26px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.project-future h2{font-family:Georgia,"Times New Roman",serif;margin:0 0 6px;color:#294332;font-size:1.45rem}.project-future p{margin:0;color:#637068;line-height:1.55;max-width:780px}
.project-future a{white-space:nowrap;text-decoration:none;color:#fff;background:#355741;padding:10px 15px;border-radius:9px;font-weight:800}
@media(max-width:950px){.project-themes{grid-template-columns:1fr 1fr}.project-card{grid-template-columns:125px 1fr}.projects-intro{grid-template-columns:1fr}}
@media(max-width:760px){.projects-main{padding:18px 16px 44px}.project-grid{grid-template-columns:1fr}.project-section-heading{display:block}.project-section-heading p{margin-top:7px}.project-future{align-items:flex-start;flex-direction:column}.project-card{grid-template-columns:112px 1fr}}
@media(max-width:520px){.project-themes{grid-template-columns:1fr}.project-card{grid-template-columns:1fr}.project-image{height:145px}.project-card-content{padding:17px}.projects-intro-card,.projects-note{padding:20px}}

/* Projects v6 refinements */
.compact-project-intro{margin-bottom:30px}
.featured-project{border-color:#cfdcbf;box-shadow:0 10px 30px rgba(63,92,49,.10)}
.project-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.project-action-card{background:linear-gradient(120deg,#f1f5ec,#fbfbf8);border:1px solid #d9e3d3;border-radius:16px;padding:22px 24px;display:grid;grid-template-columns:52px 1fr;gap:14px 18px;align-items:start}
.project-action-card h2{font-family:Georgia,"Times New Roman",serif;color:#294332;margin:2px 0 7px;font-size:1.4rem}
.project-action-card p{margin:0;color:#637068;line-height:1.55}
.project-action-card a{grid-column:2;text-decoration:none;color:#fff;background:#355741;padding:10px 14px;border-radius:9px;font-weight:800;justify-self:start;margin-top:4px}
.project-action-icon{width:46px;height:46px;border-radius:13px;background:#dce8d4;color:#36593f;display:grid;place-items:center;font-size:1.35rem;font-weight:900}
.grants-callout{background:linear-gradient(115deg,#e9f1e4,#f7f9f4)}
.grants-main{max-width:1050px;margin:0 auto;padding:30px 24px 60px}
.grant-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px;color:#69746d;font-size:.9rem}
.grant-toolbar a{color:#355a42;text-decoration:none;font-weight:800}
.grant-list{display:grid;gap:12px}
.grant-entry{display:grid;grid-template-columns:130px 1fr;background:#fff;border:1px solid #dce4d9;border-radius:14px;overflow:hidden;box-shadow:0 7px 20px rgba(34,57,44,.045)}
.grant-year{background:#edf3e8;color:#36533f;font-weight:900;padding:20px 18px;display:flex;align-items:center;justify-content:center;text-align:center}
.grant-info{padding:18px 20px}
.grant-info h3{font-family:Georgia,"Times New Roman",serif;color:#263e30;font-size:1.08rem;line-height:1.35;margin:0 0 7px}
.grant-info p{margin:0;color:#68736c;line-height:1.45;font-size:.9rem}
@media(max-width:850px){.project-actions{grid-template-columns:1fr}}
@media(max-width:600px){.grant-toolbar{display:block}.grant-toolbar span{display:block;margin-top:7px}.grant-entry{grid-template-columns:1fr}.grant-year{justify-content:flex-start;padding:10px 16px}.grant-info{padding:16px}.project-action-card{grid-template-columns:44px 1fr;padding:20px}.project-action-card a{grid-column:1 / -1}}

/* Collaboration page */
.collaboration-main{width:min(1180px,calc(100% - 40px));margin:30px auto 56px}.collab-back{margin-bottom:18px}.collab-back a{color:#315b40;font-weight:700;text-decoration:none}.collab-lead{background:#fff;border:1px solid #dfe7df;border-radius:18px;padding:28px 30px;box-shadow:0 10px 30px rgba(23,50,34,.06);margin-bottom:22px}.collab-lead h2{margin:0 0 10px;color:#173f31}.collab-lead p{margin:0;max-width:900px;line-height:1.75}.collab-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.collab-card{background:#fff;border:1px solid #dfe7df;border-radius:18px;padding:26px 28px;box-shadow:0 10px 30px rgba(23,50,34,.05)}.collab-card h2{margin:.25rem 0 1rem;color:#173f31}.collab-card p{line-height:1.72}.collab-tags{display:flex;flex-wrap:wrap;gap:10px}.collab-tags span{background:#eef5ea;border:1px solid #d4e2ce;border-radius:999px;padding:8px 12px;font-weight:700;color:#34583f;font-size:.92rem}.collab-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.collab-action{display:inline-flex;align-items:center;padding:12px 18px;border-radius:10px;border:1px solid #b9cdb8;text-decoration:none;color:#234c34;font-weight:800;background:white}.collab-action.primary{background:#315b40;color:white;border-color:#315b40}.news-main{width:min(1120px,calc(100% - 40px));margin:30px auto 58px}.news-list{display:grid;gap:18px}.news-item{display:grid;grid-template-columns:155px 1fr;gap:22px;background:white;border:1px solid #dfe7df;border-radius:16px;padding:24px 26px;box-shadow:0 9px 26px rgba(24,50,34,.05)}.news-date{font-weight:800;color:#52733d}.news-item h2{margin:0 0 9px;color:#173f31;font-size:1.25rem}.news-item p{margin:0;line-height:1.7}.news-note{margin-top:24px;padding:18px 22px;background:#f3f7ef;border:1px solid #dbe6d5;border-radius:14px;color:#435547}@media(max-width:760px){.collaboration-main,.news-main{width:min(100% - 24px,1180px)}.collab-grid{grid-template-columns:1fr}.news-item{grid-template-columns:1fr;gap:7px}.collab-lead,.collab-card{padding:21px}}
