.research-tabs{flex-wrap:wrap;gap:8px 10px}.research-tabs button{white-space:nowrap}.research-tabs button[aria-selected="true"]{color:var(--color-accent)}
.publication-relation{display:inline-flex;align-items:center;width:max-content;padding:3px 8px;margin:7px 0 2px;border:1px solid var(--color-rule);border-radius:5px;color:var(--color-muted);font-size:11px;line-height:1.5}
.faculty-highlights{padding:72px 0 32px}.faculty-highlights .section-head{margin-bottom:24px}.faculty-highlights .section-head h2{font-size:30px}.honor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.honor-grid>div{border-top:2px solid var(--color-accent);padding:20px 8px 10px 0}.honor-grid time{display:block;color:var(--color-accent);font-size:13px;margin-bottom:10px}.honor-grid strong{font-size:15px;font-weight:500;line-height:1.6}.citation-section{padding-block:88px}.section-kicker{display:block;color:var(--color-accent);font-size:11px;letter-spacing:.14em;margin-bottom:10px}.citation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.citation-card{min-width:0;min-height:380px;padding:28px;background:var(--color-deep);color:var(--color-light);border-radius:12px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}.citation-card:after{content:'';position:absolute;inset:auto -80px -145px auto;width:250px;height:250px;border:1px solid oklch(75% .09 220 / .2);border-radius:50%;pointer-events:none}.citation-card:hover{transform:translateY(-7px);box-shadow:0 22px 46px oklch(20% .04 245 / .2)}.citation-card-head{display:flex;justify-content:space-between;color:var(--color-light-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.citation-count{font-size:clamp(56px,6vw,86px);font-weight:600;line-height:1.1;letter-spacing:-.06em;color:var(--color-accent-light);margin:35px 0 14px}.citation-count small{font-size:14px;letter-spacing:0;margin-left:8px}.citation-card h3{font-size:17px;line-height:1.55;font-weight:500;max-width:33ch}.citation-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:auto;padding-top:20px}.citation-links .text-link{font-size:12px;gap:7px;color:var(--color-light)}.citation-links svg{width:15px;height:15px}.citation-section .source-note{max-width:115ch;margin-top:21px}.citation-mini{font-size:11px;color:var(--color-accent);font-weight:500}
.people-filter{margin:30px 0 34px}.cohort-group{margin:0 0 54px;scroll-margin-top:110px}.cohort-group[hidden]{display:none}.cohort-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-bottom:1px solid var(--color-rule);padding:0 0 13px;margin-bottom:20px}.cohort-heading h3{font-size:22px;letter-spacing:-.02em}.cohort-heading span{font-size:12px;color:var(--color-muted)}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.member-card{min-width:0;padding:27px;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:12px;display:flex;flex-direction:column;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .5s var(--ease-out)}.member-card:hover{transform:translateY(-6px);border-color:var(--color-accent-light);box-shadow:0 18px 42px oklch(20% .04 245 / .1)}.member-top{display:flex;align-items:center;gap:17px}.member-top h3{font-size:20px;line-height:1.35}.member-top p{font-size:12px;color:var(--color-muted);margin-top:4px}.member-card .student-initial{width:54px;height:54px;flex:none;display:grid;place-items:center;background:var(--color-paper);font-size:18px}.member-topic{font-size:14px;line-height:1.7;color:var(--color-ink);margin:24px 0 0}.member-joint{display:inline-flex;color:var(--color-accent);font-size:12px;line-height:1.5;margin-top:10px}.member-record{font-size:12px;color:var(--color-muted);margin-top:10px}.member-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:auto;padding-top:24px}.member-links .text-link{font-size:12px;gap:7px}.member-links svg{width:14px;height:14px}
.training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0 32px}.training-card{min-width:0;border:1px solid var(--color-rule);border-radius:12px;padding:35px;background:var(--color-paper);transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}.training-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px oklch(20% .04 245 / .09)}.training-kind{font-size:11px;letter-spacing:.08em;color:var(--color-accent);text-transform:uppercase}.training-card h3{font-size:25px;line-height:1.4;margin:15px 0}.training-card>p{font-size:14px;line-height:1.85;color:var(--color-muted)}.training-card dl{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0;border-top:1px solid var(--color-rule);padding-top:20px}.training-card dt{font-size:11px;color:var(--color-muted);margin-bottom:7px}.training-card dd{font-size:13px;line-height:1.6}.training-card .paper-actions{margin-top:20px}
.toolkit{padding-top:76px}.toolkit .toolbar{margin-top:20px}.toolkit .search-field{max-width:610px}.toolkit .filter-tabs{margin-top:28px}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.tool-card{min-width:0;border:1px solid var(--color-rule);border-radius:12px;background:var(--color-paper);padding:25px;display:flex;flex-direction:column;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .5s var(--ease-out)}.tool-card:hover{transform:translateY(-6px);border-color:var(--color-accent-light);box-shadow:0 18px 42px oklch(20% .04 245 / .09)}.tool-top{display:flex;justify-content:space-between;align-items:start}.tool-letter{width:45px;height:45px;background:var(--color-paper-2);display:grid;place-items:center;color:var(--color-accent);border-radius:9px;font-weight:600;font-size:17px}.tool-card h3{font-size:22px;margin:18px 0 8px}.tool-card>p{font-size:14px;line-height:1.75;color:var(--color-muted);min-height:74px}.tool-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin:20px 0;color:var(--color-muted);font-size:11px}.tool-meta span:first-child{color:var(--color-accent)}.tool-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:auto}.tool-links .text-link{font-size:12px;gap:6px}.tool-links svg{width:14px;height:14px}.tool-compare{display:flex;align-items:center;gap:8px;font-size:12px;padding-top:22px;cursor:pointer}.tool-compare input{accent-color:var(--color-accent);width:16px;height:16px}.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.compare-grid article{border:1px solid var(--color-rule);border-radius:10px;padding:18px}.compare-grid h3{font-size:20px}.compare-grid p{font-size:13px;margin-top:10px}.compare-grid .text-link{font-size:12px}
@media(max-width:1100px){.member-grid,.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.citation-card{padding:22px}.citation-card h3{font-size:15px}.research-tabs{gap:0 7px}}
@media(max-width:700px){.member-grid,.training-grid,.tool-grid,.compare-grid,.honor-grid,.citation-grid{grid-template-columns:minmax(0,1fr)}.member-card,.training-card,.tool-card{padding:22px}.cohort-heading h3{font-size:20px}.training-card h3{font-size:22px}.training-card dl{grid-template-columns:1fr;gap:15px}.research-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0}.research-tabs button{text-align:left}.toolkit{padding-top:55px}.tool-card>p{min-height:0}.people-filter{gap:7px}.people-filter button{padding-inline:12px}.faculty-highlights{padding-top:54px}.honor-grid{gap:3px}.honor-grid>div{padding:14px 0}.citation-section{padding-block:55px}.citation-card{min-height:310px}.citation-count{font-size:68px;margin:25px 0 10px}}
@media(prefers-reduced-motion:reduce){.member-card,.training-card,.tool-card,.citation-card{transition:none}.member-card:hover,.training-card:hover,.tool-card:hover,.citation-card:hover{transform:none}}
.person-disciplines{display:flex;flex-wrap:wrap;gap:9px;margin:19px 0 0}.person-disciplines span{padding:7px 11px;border:1px solid var(--color-rule);border-radius:6px;color:var(--color-accent);font-size:12px;line-height:1.4}.person-info .person-disciplines+p{margin-top:19px}.faculty-patents{padding:54px 0 28px}.faculty-patents .section-head h2,.faculty-citations .section-head h2{font-size:30px}.patent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.patent-grid>a{position:relative;display:flex;flex-direction:column;min-height:190px;padding:26px 58px 26px 27px;border:1px solid var(--color-rule);border-radius:12px;background:var(--color-paper-2);text-decoration:none;color:var(--color-ink);transition:transform .45s var(--ease-out),border-color .45s var(--ease-out),box-shadow .45s var(--ease-out)}.patent-grid>a:hover{transform:translateY(-5px);border-color:var(--color-accent-light);box-shadow:0 16px 36px oklch(20% .04 245 / .08)}.patent-grid>a>span:first-child{color:var(--color-accent);font-size:11px}.patent-grid h3{font-size:20px;line-height:1.45;font-weight:500;margin:28px 0 0}.patent-arrow{position:absolute;right:27px;top:25px;color:var(--color-accent);font-size:21px}.faculty-citations{padding:55px 0 70px}.faculty-citations .citation-card{min-height:330px}.faculty-citations .citation-count{font-size:62px;margin:23px 0 12px}.citation-caption{text-align:right;color:var(--color-muted);font-size:11px;margin-top:15px}.paper-doi{color:var(--color-muted);font-size:11px;overflow-wrap:anywhere}
.member-publications{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 0 23px;border-bottom:1px solid var(--color-rule);margin-bottom:28px}.member-publications strong{font-size:18px;font-weight:550}.member-publications a{color:var(--color-accent);font-size:13px;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.member-publications svg{width:15px;height:15px}
@media(max-width:700px){.patent-grid{grid-template-columns:1fr}.patent-grid>a{min-height:165px}.faculty-citations .citation-grid{gap:12px}.faculty-citations .citation-card{min-height:275px}.faculty-citations .citation-count{font-size:58px}.faculty-citations{padding:42px 0 55px}}
@media(prefers-reduced-motion:reduce){.patent-grid>a{transition:none}.patent-grid>a:hover{transform:none}}
.person-award{display:inline-flex;align-items:center;gap:9px;max-width:100%;margin-top:15px;padding:9px 12px;border:1px solid var(--color-accent-light);border-radius:6px;color:var(--color-accent);font-size:12px;font-weight:600;line-height:1.5;text-decoration:none;transition:background .25s ease,transform .25s ease}.person-award span{font-variant-numeric:tabular-nums}.person-award svg{width:14px;height:14px}.person-award:hover{background:var(--color-paper-2);transform:translateY(-2px)}
.honor-feature{grid-column:1/-1;position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:150px;padding:25px 70px 24px 27px;border-radius:10px;background:var(--color-deep);color:var(--color-light);text-decoration:none;overflow:hidden;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.honor-feature::after{content:'';position:absolute;width:270px;height:270px;right:-90px;bottom:-190px;border:1px solid oklch(75% .09 220 / .25);border-radius:50%}.honor-feature:hover{transform:translateY(-4px);box-shadow:0 16px 34px oklch(20% .04 245 / .17)}.honor-feature>span{color:var(--color-accent-light);font-size:11px;letter-spacing:.08em}.honor-feature strong{margin-top:19px;font-size:22px;font-weight:600;line-height:1.35}.honor-feature small{margin-top:10px;color:var(--color-light-muted);font-size:12px}.honor-feature b{position:absolute;right:27px;top:23px;color:var(--color-accent-light);font-size:23px;font-weight:400}
.recognition-section{padding-top:24px}
.recognition-highlight{position:relative;display:grid;grid-template-columns:max-content minmax(0,1fr) 44px;align-items:center;gap:clamp(28px,3vw,44px);min-height:168px;padding:28px clamp(28px,3vw,44px);border:0;border-radius:12px;background:var(--color-paper-2);color:var(--color-ink);text-decoration:none;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}
.recognition-highlight:hover{transform:translateY(-3px);box-shadow:0 14px 32px var(--color-shade-soft)}
.recognition-year{font-size:clamp(34px,3.2vw,46px);font-weight:600;letter-spacing:-.045em;line-height:1.1;white-space:nowrap;color:var(--color-accent)}
.recognition-year>span{font-weight:400;color:var(--color-muted);margin-inline:3px}
.recognition-copy{min-width:0}
.recognition-eyebrow{display:block;color:var(--color-muted);font-size:12px;letter-spacing:.02em;margin-bottom:8px}
.recognition-highlight h2{max-width:none;font-size:clamp(22px,2.1vw,30px);font-weight:600;line-height:1.4}
.recognition-source{display:block;color:var(--color-accent);font-size:12px;margin-top:9px}
.recognition-arrow{display:grid;place-items:center;width:44px;height:44px;color:var(--color-accent);transition:transform .3s ease}
.recognition-highlight:hover .recognition-arrow{transform:translate(3px,-3px)}.recognition-arrow svg{width:20px;height:20px}
@media(max-width:700px){.recognition-section{padding-top:10px}.recognition-highlight{grid-template-columns:minmax(0,1fr) 34px;gap:18px 10px;min-height:0;padding:24px}.recognition-year{grid-column:1/-1;font-size:34px}.recognition-highlight h2{font-size:22px}.recognition-arrow{width:34px;height:34px}.honor-feature{min-height:160px;padding:24px 45px 24px 22px}.honor-feature strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.person-award,.honor-feature,.recognition-highlight,.recognition-arrow{transition:none}.person-award:hover,.honor-feature:hover,.recognition-highlight:hover,.recognition-highlight:hover .recognition-arrow{transform:none}}
body[data-page='research'] .research-detail{border:0;padding-block:clamp(44px,6vw,86px)}body[data-page='research'] .research-detail:first-child{padding-top:8px}body[data-page='research'] .detail-image{border-radius:10px}body[data-page='research'] #soil .detail-image img{object-position:60% center}body[data-page='research'] .related-links button{min-height:40px;padding:7px 12px;border:0;border-radius:6px;background:var(--color-paper-2);transition:background .25s ease,color .25s ease}body[data-page='research'] .related-links button:hover{background:var(--color-deep);color:var(--color-light)}body[data-page='research'] .tag{border:0;background:var(--color-paper-2);color:var(--color-muted)}
@media(max-width:700px){body[data-page='research'] .research-detail{padding-block:42px}body[data-page='research'] .research-detail:first-child{padding-top:0}body[data-page='research'] .related-links{gap:8px}body[data-page='research'] .related-links button{font-size:11px}}

/* Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4 · cartographic site section */
.atlas{background:var(--color-paper);color:var(--color-ink)}
.atlas .section-head p{color:var(--color-muted)}
.atlas .section-kicker{margin-bottom:11px}
.atlas-grid{grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);align-items:stretch;gap:clamp(30px,5vw,72px)}
.watershed-map{display:flex;flex-direction:column;min-width:0;margin:0;padding:23px 25px 18px;border-radius:var(--radius-lg);background:var(--color-paper-2)}
.map-header,.map-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.map-header strong{font-size:15px;font-weight:600}.map-header span{color:var(--color-muted);font-size:11px}
.map-canvas{position:relative;width:100%;margin-block:auto;overflow:clip}
.map-canvas svg{display:block;width:100%;height:auto;overflow:hidden}
.lake-shoreline{fill:var(--color-map-water);stroke:var(--color-accent);stroke-width:1.15;stroke-linejoin:round}
.map-campus-marker{fill:var(--color-accent);stroke:var(--color-paper-2);stroke-width:3}
.map-lake-name,.map-campus-name{position:absolute;display:block;max-width:45%;padding:3px 7px;border-radius:4px;background:var(--color-paper);color:var(--color-ink);font-size:12px;font-weight:600;line-height:1.35;white-space:nowrap;pointer-events:none}
.map-lake-name{left:56%;top:43%}.map-campus-name{left:15%;top:81%}
.map-footer{color:var(--color-muted);font-size:10px;line-height:1.5}.map-footer a{text-decoration:underline;text-underline-offset:2px}
.atlas-side{display:flex;flex-direction:column;justify-content:center;gap:24px;min-width:0}
.atlas-places{display:grid;gap:7px}
.atlas-place{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:13px;width:100%;min-height:55px;padding:9px 14px;border-radius:7px;text-align:left;white-space:nowrap;transition:background var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}
.atlas-place span{font-size:11px;color:var(--color-muted);font-variant-numeric:tabular-nums}.atlas-place strong{overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:500}.atlas-place svg{width:15px;height:15px;opacity:0;transform:translateX(-4px);transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}
.atlas-place:hover,.atlas-place[aria-pressed='true']{background:var(--color-paper-2)}.atlas-place:hover svg,.atlas-place[aria-pressed='true'] svg{opacity:1;transform:none}.atlas-place:hover{transform:translateX(3px)}
.atlas-info{min-height:0;padding:0 12px;border:0}.atlas-info .english{color:var(--color-accent);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.atlas-info h3{margin-top:4px;font-size:clamp(26px,2.7vw,34px)}.atlas-info p{margin-top:12px;color:var(--color-muted);font-size:14px;line-height:1.8}.atlas-info .text-link{margin-top:16px;color:var(--color-accent)}
@media(max-width:980px){.atlas-grid{grid-template-columns:minmax(0,1fr)}.atlas-info{display:block;padding:0;border:0}.atlas-side{gap:18px}.atlas-places{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.atlas-place{grid-template-columns:20px minmax(0,1fr);gap:6px;padding:10px;min-height:56px}.atlas-place svg{display:none}}
@media(max-width:700px){.watershed-map{margin:0;padding:17px 14px 14px}.map-header strong{font-size:13px}.map-header span{font-size:10px}.map-footer{gap:7px;flex-wrap:wrap;font-size:9px}.map-lake-name,.map-campus-name{font-size:10px;padding:2px 4px}.map-campus-name{top:78%}.atlas-places{grid-template-columns:minmax(0,1fr);gap:5px}.atlas-place{grid-template-columns:22px minmax(0,1fr) 16px;padding:8px 11px;min-height:47px}.atlas-place svg{display:block}.atlas-info{padding:4px 6px 0}.atlas-info h3{font-size:27px}.atlas-info p{font-size:13px}}
@media(max-width:375px){.map-header span{display:none}.map-campus-name{left:17%;font-size:9px}.map-lake-name{left:54%;font-size:9px}}
@media(prefers-reduced-motion:reduce){.atlas-place,.atlas-place svg{transition:none}.atlas-place:hover{transform:none}}
.honor-feature .honor-link-cue{position:relative;right:auto;top:auto;display:inline-flex;align-items:center;margin-top:18px;padding:7px 11px;border-radius:5px;background:var(--color-deep-2);color:var(--color-accent-light);font-size:11px;font-weight:500;line-height:1.4}
