:root{--bg:#f5f8f8;--surface:#fff;--surface2:#edf5f4;--text:#102a2e;--muted:#607477;--line:#d5e2e0;--primary:#0f766e;--primary2:#0f2744;--accent:#f59e0b;--shadow:0 18px 55px rgba(15,39,68,.10);--radius:22px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}html[data-theme=dark]{--bg:#071417;--surface:#0d2024;--surface2:#112b30;--text:#e8f3f2;--muted:#a0b5b4;--line:#234248;--primary:#4fd1c5;--primary2:#d9f4f1;--accent:#fbbf24;--shadow:0 18px 55px rgba(0,0,0,.32)}body{margin:0;background:var(--bg);color:var(--text);font-family:"Segoe UI",Arial,Helvetica,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.container{width:min(calc(100% - 38px),var(--max));margin:auto}.narrow{max-width:850px}.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;background:transparent}.progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.nav-wrap{width:min(calc(100% - 38px),var(--max));height:76px;margin:auto;display:flex;align-items:center;gap:20px}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;margin-right:auto}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--primary2);color:var(--bg);font-weight:800}.brand span:last-child{display:grid;line-height:1.2}.brand small{color:var(--muted);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:4px}.site-header nav a{padding:9px 10px;border-radius:10px;color:var(--muted);font-size:.86rem;font-weight:650}.site-header nav a:hover,.site-header nav a.active{background:var(--surface2);color:var(--primary)}.theme,.menu{border:1px solid var(--line);background:var(--surface);color:var(--text);height:40px;min-width:40px;border-radius:12px;cursor:pointer}.menu{display:none}.hero{padding:84px 0 54px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:720px;height:720px;border-radius:50%;right:-300px;top:-340px;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 17%,transparent),transparent 68%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:72px;align-items:center}.eyebrow,.kicker{color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.73rem}.hero h1,.page-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.3rem,7vw,6.5rem);line-height:.97;letter-spacing:-.055em;margin:.16em 0}.page-hero h1{font-size:clamp(2.8rem,6vw,5.2rem)}.hero .lead,.page-hero .lead{font-size:clamp(1.08rem,2vw,1.35rem);color:var(--muted);max-width:800px}.role{font-size:1.07rem;font-weight:750;color:var(--primary)}.availability{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:99px;background:var(--surface2);border:1px solid var(--line);font-size:.88rem;font-weight:700}.availability:before{content:"";width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px color-mix(in srgb,#22c55e 14%,transparent)}.hero-actions,.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;justify-content:center;align-items:center;padding:12px 18px;border-radius:12px;background:var(--primary);color:#fff;font-weight:750;border:1px solid var(--primary);cursor:pointer}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--line)}.text-link{color:var(--primary);font-weight:800}.portrait-shell{position:relative}.portrait-shell img{width:100%;max-height:540px;object-fit:cover;border-radius:36px;box-shadow:var(--shadow);border:1px solid var(--line)}.portrait-note{position:absolute;left:-22px;bottom:30px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:14px 18px;max-width:260px;font-size:.86rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:58px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.stat{padding:25px}.stat+.stat{border-left:1px solid var(--line)}.stat strong{display:block;font-size:1.75rem;color:var(--primary2)}.stat span{font-size:.85rem;color:var(--muted)}.section{padding:78px 0}.section.alt{background:var(--surface2)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:36px}.section-head h2,.content h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin:.25em 0}.section-head p{color:var(--muted);max-width:620px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.card h3{margin:.4em 0;font-size:1.15rem}.card p{color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span,.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);font-size:.76rem;font-weight:700;color:var(--muted)}.feature{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--surface);border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.feature-media{background:var(--surface2);min-height:100%;display:grid;place-items:center;padding:28px}.feature-copy{padding:38px}.feature-copy h2{font-family:Georgia,serif;font-size:2.2rem;line-height:1.13}.clean-list{padding-left:20px}.clean-list li{margin:.45em 0}.outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.outcomes div{padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}.outcomes strong{display:block;color:var(--primary);font-size:1.15rem}.outcomes span{font-size:.76rem;color:var(--muted)}.callout{border-left:4px solid var(--accent);padding:12px 18px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));margin:20px 0}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.project-image{height:260px;display:grid;place-items:center;background:var(--surface2);overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:.35s}.project-card:hover img{transform:scale(1.035)}.project-body{padding:25px}.project-body h3{font-size:1.35rem;line-height:1.25}.project-body p{color:var(--muted)}.impact{font-size:.9rem}.publication{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid var(--line)}.pub-no{width:48px;height:48px;border-radius:14px;background:var(--primary2);color:var(--bg);display:grid;place-items:center;font-weight:800}.publication h3{font-family:Georgia,serif;font-size:1.35rem;line-height:1.35;margin:.35em 0}.publication p{color:var(--muted);margin:.4em 0}.page-hero{padding:70px 0 42px;border-bottom:1px solid var(--line)}.page-hero .breadcrumbs{font-size:.82rem;color:var(--muted)}.content{padding:60px 0}.prose{font-size:1.03rem}.prose p{color:var(--muted)}.split{display:grid;grid-template-columns:.75fr 1.25fr;gap:52px;align-items:start}.sticky{position:sticky;top:112px}.profile-card img{border-radius:24px;border:1px solid var(--line)}.profile-card{background:var(--surface);padding:20px;border-radius:30px;border:1px solid var(--line)}.timeline{display:grid;grid-template-columns:180px 1fr;gap:28px;padding:28px 0;border-bottom:1px solid var(--line)}.timeline small{display:block;margin-top:8px;color:var(--muted)}.timeline h3{margin:0}.timeline h4{color:var(--primary);margin:.2em 0}.timeline li{margin:.4em 0;color:var(--muted)}.education h4{color:var(--primary)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.gallery-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.gallery-card img{width:100%;height:300px;object-fit:cover;background:var(--surface2)}.gallery-card div{padding:24px}.media-note{padding:28px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.video-frame{aspect-ratio:16/9;background:var(--primary2);border-radius:var(--radius);display:grid;place-items:center;color:var(--bg);font-weight:800}.case-hero-image{margin:35px 0;border-radius:28px;border:1px solid var(--line);background:var(--surface);padding:18px}.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.case-metric{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}.case-metric strong{display:block;font-size:1.4rem;color:var(--primary)}.cv-head{display:flex;justify-content:space-between;gap:25px;align-items:start;padding-bottom:25px;border-bottom:3px solid var(--primary)}.cv-head h1{font-family:Georgia,serif;font-size:2.5rem;margin:0}.cv-item{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:14px 0}.cv-item h3{margin:0}.cv-page section{margin:32px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-card{padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.site-footer{border-top:1px solid var(--line);padding:36px max(20px,calc((100% - var(--max))/2));display:flex;justify-content:space-between;gap:25px;color:var(--muted)}.site-footer p{margin:.25em 0}.muted{color:var(--muted)}code{padding:2px 6px;border-radius:6px;background:var(--surface2)}.reveal{opacity:0;transform:translateY(18px);transition:.55s}.reveal.visible{opacity:1;transform:none}@media(max-width:1050px){.site-header nav{position:absolute;top:76px;left:19px;right:19px;display:none;flex-direction:column;align-items:stretch;background:var(--surface);padding:12px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.site-header nav.open{display:flex}.menu{display:block}.hero-grid,.feature,.split{grid-template-columns:1fr}.portrait-shell{max-width:520px}.sticky{position:static}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-left:0;border-top:1px solid var(--line)}.stat:nth-child(4){border-top:1px solid var(--line)}.grid-3{grid-template-columns:1fr}.case-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.hero{padding-top:54px}.hero h1{font-size:3.35rem}.section{padding:58px 0}.section-head{display:block}.project-grid,.grid-2,.gallery-grid,.contact-grid{grid-template-columns:1fr}.project-image{height:220px}.outcomes{grid-template-columns:repeat(2,1fr)}.timeline,.cv-item{grid-template-columns:1fr;gap:6px}.site-footer{display:block}.stats{grid-template-columns:1fr}.stat+.stat{border-left:0;border-top:1px solid var(--line)}.portrait-note{position:static;margin-top:12px}.case-grid{grid-template-columns:1fr}.brand small{display:none}}@media print{.site-header,.site-footer,#print-cv,.button-row,.no-print{display:none!important}body{background:#fff;color:#111;font-size:10pt}.container{width:100%;max-width:none}.content{padding:0}.cv-page section{break-inside:avoid}.tags span{border:1px solid #bbb;background:#fff;color:#111}.cv-head{padding-top:0}}
/* Academic portfolio layout inspired by strong faculty-facing portfolio patterns */
.academic-hero{padding:72px 0 68px;position:relative;overflow:hidden}.academic-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 7%,transparent),transparent 46%);pointer-events:none}.academic-hero-grid{position:relative;display:grid;grid-template-columns:350px minmax(0,1fr);gap:70px;align-items:center}.academic-profile{background:var(--surface);border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow);overflow:hidden}.portrait-frame{background:var(--surface2);aspect-ratio:4/4.5;overflow:hidden}.portrait-frame img{width:100%;height:100%;object-fit:cover}.profile-card-body{padding:25px}.profile-card-body h2{font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1.1;margin:.25em 0}.profile-links{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.profile-links .button{padding:8px 11px;font-size:.78rem}.profile-links p{font-size:.83rem}.portrait-guidance{font-size:.78rem;color:var(--muted);margin-top:18px}.academic-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,6.4vw,6.4rem);line-height:.96;letter-spacing:-.055em;margin:.18em 0}.academic-intro .lead{font-size:clamp(1.08rem,1.8vw,1.3rem);color:var(--muted);max-width:790px}.academic-focus{margin-top:34px;padding:20px 22px;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--surface) 80%,transparent);border-radius:0 16px 16px 0;max-width:800px}.academic-focus p{margin:.3em 0 0;color:var(--muted)}.compact-section{padding:34px 0}.snapshot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.snapshot-grid-2{grid-template-columns:repeat(2,1fr);margin:28px 0}.snapshot-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}.snapshot-card span{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;font-weight:800}.snapshot-card strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;line-height:1.2;margin:8px 0;color:var(--primary2)}.snapshot-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45}.theme-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.theme-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column}.theme-card-icon{width:76px;height:76px;border-radius:18px;background:var(--surface2);padding:10px;margin-bottom:18px}.theme-card-icon img{width:100%;height:100%;object-fit:contain}.theme-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.2;margin:.45em 0}.theme-card p{color:var(--muted);font-size:.92rem;flex:1}.section-action{margin-top:28px}.theme-list{display:grid;gap:28px}.theme-panel{display:grid;grid-template-columns:.85fr 1.15fr;min-height:370px;background:var(--surface);border:1px solid var(--line);border-radius:28px;overflow:hidden}.theme-panel.reverse .theme-visual{order:2}.theme-visual{display:grid;place-items:center;background:var(--surface2);padding:38px}.theme-visual img{width:min(100%,420px);max-height:300px;object-fit:contain}.theme-copy{padding:38px}.theme-copy h3{font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1.15;margin:.35em 0}.theme-copy>p{color:var(--muted);font-size:1.02rem}.theme-copy h4{margin:22px 0 9px}.home-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.home-column{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.home-column-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.home-column-head h3{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;margin:0}.mini-timeline article{position:relative;padding:23px 0 23px 24px;border-bottom:1px solid var(--line)}.mini-timeline article:last-child{border-bottom:0;padding-bottom:0}.mini-timeline article:before{content:"";position:absolute;left:0;top:30px;width:9px;height:9px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 12%,transparent)}.mini-timeline h4{margin:4px 0;font-size:1.05rem}.mini-timeline p{margin:.3em 0;color:var(--muted);font-size:.88rem}.mini-date{font-size:.72rem;color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.publication-preview{display:grid;gap:12px}.publication-preview article{display:grid;grid-template-columns:90px 1fr;gap:20px;align-items:start;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:18px}.publication-preview h3{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;line-height:1.3;margin:.35em 0}.publication-preview p{color:var(--muted);margin:0}.pub-year{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;color:var(--primary);font-weight:800}.pub-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:50px}.pub-summary{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:23px}.pub-summary strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:2rem;color:var(--primary2)}.pub-summary span{color:var(--muted);font-size:.86rem}.publication-years{display:grid;gap:50px}.publication-year-head{display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid var(--primary);padding-bottom:10px}.publication-year-head h2{font-family:Georgia,"Times New Roman",serif;font-size:2.5rem;margin:0}.publication-year-head span{color:var(--muted);font-size:.85rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.practice-grid .card{min-height:230px}
@media(max-width:1160px){.theme-card-grid,.grid-4{grid-template-columns:repeat(2,1fr)}.academic-hero-grid{grid-template-columns:310px 1fr;gap:45px}.academic-intro h1{font-size:4.8rem}}
@media(max-width:900px){.academic-hero-grid,.theme-panel,.home-columns{grid-template-columns:1fr}.academic-intro{order:-1}.academic-profile{max-width:520px}.theme-panel.reverse .theme-visual{order:0}.snapshot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.academic-hero{padding:45px 0}.academic-intro h1{font-size:3.25rem}.theme-card-grid,.grid-4,.snapshot-grid,.snapshot-grid-2,.pub-summary-grid{grid-template-columns:1fr}.publication-preview article{grid-template-columns:1fr}.theme-copy,.theme-visual{padding:25px}.home-column-head{display:block}.home-column-head .text-link{display:inline-block;margin-top:6px}}

/* =========================================================
   GIS / REMOTE-SENSING VISUAL SYSTEM — 2026 redesign
   ========================================================= */
:root{
  --map-cyan:#6ee7dd;
  --map-blue:#1e5f93;
  --map-gold:#f4b942;
  --map-ink:#072f3b;
}
body{
  background-image:
    linear-gradient(rgba(15,118,110,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,118,110,.025) 1px,transparent 1px);
  background-size:48px 48px;
}
.site-header{box-shadow:0 8px 30px rgba(7,47,59,.055)}
.brand-mark{
  position:relative;overflow:hidden;
  background:linear-gradient(145deg,var(--map-ink),var(--primary));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 8px 20px rgba(7,47,59,.18)
}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.42);border-radius:50%}
.brand-mark:before{width:27px;height:27px}
.brand-mark:after{width:12px;height:38px}
.brand-mark b{position:relative;z-index:1;font-size:.68rem;letter-spacing:.04em}
.site-header nav a{white-space:nowrap}
.site-header nav a.active{box-shadow:inset 0 -2px 0 var(--map-gold)}

.academic-hero,.page-hero{
  isolation:isolate;
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--bg) 98%,transparent) 0%,color-mix(in srgb,var(--bg) 91%,transparent) 55%,color-mix(in srgb,var(--bg) 76%,transparent) 100%),
    url("../images/gis-hero-background.svg") center/cover no-repeat;
}
.academic-hero:after,.page-hero:after{
  content:"";position:absolute;inset:auto 0 0;height:1px;
  background:linear-gradient(90deg,transparent,var(--primary),var(--map-gold),transparent);opacity:.55
}
.page-hero{position:relative;overflow:hidden;padding:78px 0 68px}
.page-hero .container{position:relative;z-index:2}
.page-hero:before{content:"";position:absolute;right:6%;top:28px;width:210px;height:210px;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);border-radius:50%;box-shadow:0 0 0 28px color-mix(in srgb,var(--primary) 4%,transparent),0 0 0 62px color-mix(in srgb,var(--primary) 3%,transparent)}
.page-hero h1,.academic-intro h1{text-shadow:0 2px 0 color-mix(in srgb,var(--surface) 55%,transparent)}
.eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px}
.eyebrow:before,.kicker:before{content:"";width:18px;height:2px;background:linear-gradient(90deg,var(--map-gold),var(--primary));border-radius:9px}
.breadcrumbs{display:inline-flex;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:blur(8px);font-size:.76rem}

.card,.project-card,.gallery-card,.snapshot-card,.home-column,.contact-card,.media-note,.academic-profile,.theme-card,.theme-panel{
  position:relative;overflow:hidden;
}
.card:after,.project-card:after,.gallery-card:after,.snapshot-card:after,.home-column:after,.contact-card:after,.media-note:after,.theme-card:after{
  content:"";position:absolute;right:-38px;bottom:-38px;width:95px;height:95px;border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);border-radius:50%;pointer-events:none
}
.card:hover,.project-card:hover,.gallery-card:hover,.theme-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(7,47,59,.13);border-color:color-mix(in srgb,var(--primary) 35%,var(--line));transition:.25s ease}
.tags span{background:color-mix(in srgb,var(--surface2) 78%,var(--map-cyan) 22%);border-color:color-mix(in srgb,var(--primary) 18%,var(--line))}
.pill{border-left:3px solid var(--map-gold)}
.button{box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 18%,transparent)}
.button.secondary{box-shadow:none}

.gis-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:34px}
.gis-strip article{background:var(--surface);padding:18px 20px}
.gis-strip span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}
.gis-strip strong{display:block;margin-top:5px;color:var(--primary2)}

.media-hub{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.writeup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.writeup-card{padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-height:260px}
.writeup-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.25;margin:.5em 0}
.writeup-card p{color:var(--muted);flex:1}
.writeup-card .text-link{align-self:flex-start}
.media-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.media-gallery-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.media-gallery-card figure{margin:0}
.media-gallery-card img{width:100%;height:245px;object-fit:cover;background:var(--surface2)}
.media-gallery-card figcaption{padding:20px}
.media-gallery-card h3{margin:.2em 0;font-size:1.13rem}
.media-gallery-card p{margin:.4em 0 0;color:var(--muted);font-size:.9rem}
.media-type{display:inline-block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);font-weight:800}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.video-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.video-card iframe,.video-card video{display:block;width:100%;aspect-ratio:16/9;border:0;background:#061419}
.video-card-body{padding:22px}
.video-card-body h3{margin:.2em 0}
.empty-state{padding:34px;border:1px dashed color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:var(--radius);background:color-mix(in srgb,var(--surface2) 78%,transparent);text-align:center;color:var(--muted)}
.media-cta{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 12%,var(--surface)),var(--surface));border:1px solid var(--line);border-radius:var(--radius)}
.media-cta h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem}
.media-cta p{margin:.35em 0 0;color:var(--muted)}

.credential-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.credential-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.credential-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,var(--map-ink),var(--primary));color:#fff;font-weight:900}
.credential-card h3{margin:.1em 0}.credential-card p{margin:.45em 0;color:var(--muted)}

/* Browser-based private content editor */
.editor-shell{max-width:1100px;margin:0 auto;padding:42px 0 90px}
.editor-banner{padding:28px;border-radius:24px;background:linear-gradient(135deg,#082f3c,#0f766e);color:#fff;margin-bottom:26px;box-shadow:var(--shadow)}
.editor-banner h1{font-family:Georgia,"Times New Roman",serif;font-size:2.4rem;margin:.1em 0}.editor-banner p{max-width:800px;color:#d8f4ef}
.editor-toolbar{position:sticky;top:88px;z-index:20;display:flex;flex-wrap:wrap;gap:10px;padding:12px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:16px;margin-bottom:24px}
.editor-section{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:25px;margin:18px 0}
.editor-section h2{font-family:Georgia,"Times New Roman",serif;margin-top:0}.editor-help{color:var(--muted);font-size:.9rem}
.editor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.editor-field{display:grid;gap:6px}.editor-field.full{grid-column:1/-1}.editor-field label{font-size:.78rem;font-weight:800;color:var(--primary2)}
.editor-field input,.editor-field textarea,.editor-field select{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:12px;padding:11px 12px;font:inherit}.editor-field textarea{min-height:100px;resize:vertical}
.editor-item{border:1px solid var(--line);border-radius:18px;padding:18px;margin:12px 0;background:var(--surface2)}
.editor-item-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.editor-item-head strong{color:var(--primary2)}
.editor-remove{border:1px solid #efb0b0;background:#fff1f1;color:#a42222;padding:7px 10px;border-radius:10px;cursor:pointer}
.editor-add{border:1px dashed var(--primary);background:transparent;color:var(--primary);padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:800}
.editor-status{padding:10px 14px;border-radius:12px;background:var(--surface2);color:var(--muted)}
.editor-note{padding:16px 18px;border-left:4px solid var(--map-gold);background:color-mix(in srgb,var(--map-gold) 10%,var(--surface));border-radius:0 14px 14px 0}
.editor-code{font-family:Consolas,monospace;background:#061419;color:#d9fff8;padding:16px;border-radius:14px;overflow:auto;font-size:.84rem}

.site-footer{position:relative;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--primary) 5%,var(--bg)))}
.site-footer:before{content:"WGS 84  ·  23.8103° N  ·  90.4125° E";position:absolute;top:10px;left:50%;transform:translateX(-50%);font-size:.62rem;letter-spacing:.12em;color:var(--muted);white-space:nowrap}

@media(max-width:1100px){.writeup-grid,.media-gallery-grid{grid-template-columns:repeat(2,1fr)}.gis-strip{grid-template-columns:repeat(2,1fr)}.media-hub{grid-template-columns:1fr}}
@media(max-width:760px){.writeup-grid,.media-gallery-grid,.video-grid,.credential-grid,.editor-grid{grid-template-columns:1fr}.gis-strip{grid-template-columns:1fr}.media-cta{display:block}.media-cta .button{margin-top:16px}.page-hero:before{display:none}.editor-toolbar{top:78px}.site-footer:before{display:none}}


/* =========================================================
   SIMPLE BLOG-STYLE PORTFOLIO INDEX
   ========================================================= */
.blog-page .page-hero{padding:54px 0 46px}
.blog-page .page-hero h1,.detail-page .page-hero h1{max-width:930px;font-size:clamp(2.35rem,5vw,4.25rem);letter-spacing:-.04em}
.blog-page .page-hero .lead,.detail-page .page-hero .lead{max-width:760px;font-size:1.08rem}
.simple-home-hero{padding:64px 0}
.simple-home-hero .academic-intro h1{font-size:clamp(3rem,6vw,5.6rem)}
.compact-section{padding:58px 0}
.simple-head{align-items:center;margin-bottom:27px}
.simple-head h2{font-size:clamp(1.8rem,3.5vw,2.65rem)}
.simple-head p{max-width:520px}
.section-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.section-menu-card{display:flex;flex-direction:column;min-height:230px;padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:18px;transition:.2s ease}
.section-menu-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 38%,var(--line));box-shadow:0 16px 38px rgba(7,47,59,.09)}
.section-menu-card>span{font-size:.68rem;font-weight:900;letter-spacing:.13em;color:var(--primary)}
.section-menu-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;margin:.65em 0 .35em}
.section-menu-card p{margin:0;color:var(--muted);flex:1}
.section-menu-card b{margin-top:18px;color:var(--primary);font-size:.9rem}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.blog-grid-featured{grid-template-columns:1fr}
.blog-grid-featured .blog-card{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr}
.blog-grid-featured .blog-thumb{height:100%;min-height:345px}
.blog-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:.22s ease}
.blog-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 38%,var(--line));box-shadow:0 18px 42px rgba(7,47,59,.10)}
.blog-thumb{height:205px;background:var(--surface2);overflow:hidden;display:block}
.blog-thumb img{width:100%;height:100%;object-fit:cover;transition:.3s ease}
.blog-card:hover .blog-thumb img{transform:scale(1.025)}
.blog-body{padding:22px;display:flex;flex-direction:column;flex:1}
.blog-meta{font-size:.69rem;line-height:1.4;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font-weight:850}
.blog-body h3{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.28;margin:.55em 0 .35em}
.blog-body h3 a:hover{color:var(--primary)}
.blog-submeta{font-size:.82rem;font-weight:700;color:var(--primary2);margin:0 0 10px}
.blog-excerpt{color:var(--muted);font-size:.94rem;margin:.35em 0 17px;flex:1}
.blog-card .tags{margin:0 0 16px}
.blog-card .tags span{font-size:.67rem;padding:5px 8px}
.read-more{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:850;font-size:.88rem;margin-top:auto}
.read-more span{transition:.2s}.read-more:hover span{transform:translateX(3px)}
.compact-summary{margin-bottom:28px}
.profile-intro-simple{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start}
.compact-profile{position:sticky;top:104px}
.compact-profile img{aspect-ratio:4/4.7;object-fit:cover;margin-bottom:16px}
.detail-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:44px;align-items:start;max-width:1050px}
.detail-media{position:sticky;top:104px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:15px;overflow:hidden}
.detail-media img{width:100%;max-height:540px;object-fit:contain;border-radius:12px;background:var(--surface2)}
.detail-content{font-size:1.02rem;min-width:0}
.detail-content h2{font-family:Georgia,"Times New Roman",serif;font-size:1.75rem;margin:1.45em 0 .45em}
.detail-content p{color:var(--muted)}
.detail-content .tags{margin:14px 0 26px}
.back-link{display:inline-flex;margin-bottom:20px;color:var(--primary);font-weight:850}
.detail-list{padding-left:21px;color:var(--muted)}
.detail-list li{margin:.55em 0}
.detail-note{padding:18px;border-left:4px solid var(--map-gold);background:color-mix(in srgb,var(--map-gold) 8%,var(--surface));border-radius:0 12px 12px 0}
.detail-video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:18px;background:#061419}
@media(max-width:1050px){.section-menu-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.section-menu-grid,.blog-grid,.blog-grid-featured .blog-card,.profile-intro-simple,.detail-layout{grid-template-columns:1fr}.blog-grid-featured .blog-thumb{min-height:230px}.compact-profile,.detail-media{position:static}.simple-head{display:block}.simple-head .text-link{display:inline-block;margin-top:8px}.blog-page .page-hero,.detail-page .page-hero{padding:42px 0 36px}}


/* =========================================================
   ARCGIS STORYMAP-INSPIRED SPATIAL PORTFOLIO
   Simplified + more compact + GIS/RS creative styling
   ========================================================= */
.nav-wrap{height:68px}
.site-header nav a{padding:8px 9px;font-size:.82rem}
.story-page{--story-dark:#06262d;--story-teal:#0f766e;--story-gold:#e9a23b;background:var(--bg)}
.story-cover{position:relative;isolation:isolate;overflow:hidden;padding:clamp(42px,6vw,72px) 0 42px;background:linear-gradient(132deg,#06202a 0%,#0a3642 56%,#117c72 118%);color:#fff}
.story-cover:before{content:"";position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.45))}
.story-cover:after{content:"";position:absolute;inset:auto -8% -55% 42%;height:84%;background:radial-gradient(circle at center,rgba(110,228,214,.26),transparent 65%);z-index:-1}
.story-cover-grid,.home-map-texture{position:absolute;inset:0;z-index:-1;opacity:.22;background-image:radial-gradient(circle at 78% 28%,transparent 0 13%,rgba(255,255,255,.18) 13.1% 13.4%,transparent 13.6% 21%,rgba(255,255,255,.1) 21.1% 21.4%,transparent 21.6%),linear-gradient(120deg,transparent 30%,rgba(255,255,255,.07) 30.2%,transparent 30.5%);background-size:100% 100%,190px 190px}
.story-cover-inner{max-width:900px}.story-cover .breadcrumbs,.story-cover .breadcrumbs a{color:rgba(255,255,255,.72)}
.story-cover .eyebrow{color:#9fe8dd}
.story-cover h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,5vw,4.55rem);line-height:1.02;letter-spacing:-.045em;max-width:820px;margin:.16em 0;color:#fff}
.story-cover .lead{font-size:clamp(.98rem,1.6vw,1.13rem);max-width:680px;color:rgba(255,255,255,.8)}
.story-cover-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.story-cover .button{padding:10px 16px;background:#fff;color:#073039;border-color:#fff}.story-cover .button.secondary{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.24)}
.story-cover-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.story-cover-meta span{padding:6px 10px;border:1px solid rgba(255,255,255,.18);background:rgba(3,26,31,.22);border-radius:999px;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}
.spatial-story{padding:42px 0 74px}.story-layout{display:grid;grid-template-columns:minmax(320px,.84fr) minmax(0,1.16fr);gap:clamp(26px,4vw,46px);align-items:start}
.story-map-column{position:sticky;top:90px}.story-map-shell{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 42px rgba(5,42,49,.1)}
.story-map-head{padding:18px 20px 14px;border-bottom:1px solid var(--line);display:flex;align-items:start;justify-content:space-between;gap:15px}.story-map-head h2{font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;line-height:1.15;margin:.2em 0}.story-map-head p{margin:0;color:var(--muted);font-size:.8rem}
.story-map-reset{border:1px solid var(--line);background:var(--surface2);color:var(--primary);border-radius:10px;padding:7px 10px;font-size:.72rem;font-weight:800;cursor:pointer;white-space:nowrap}
.story-map{height:clamp(330px,45vh,470px);background:#e8e5de;display:none;z-index:1}.story-map.is-ready{display:block}.story-map-fallback{position:relative;height:clamp(330px,45vh,470px);display:none;overflow:hidden;background:#082d35}.story-map-fallback.is-visible{display:block}
.coordinate-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(139,226,217,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(139,226,217,.15) 1px,transparent 1px),radial-gradient(circle at 55% 46%,rgba(15,118,110,.34),transparent 55%);background-size:46px 46px,46px 46px,100% 100%}
.coordinate-grid:after{content:"Coordinate fallback · online basemap loads when available";position:absolute;left:18px;bottom:15px;color:rgba(255,255,255,.55);font-size:.64rem;letter-spacing:.07em;text-transform:uppercase}
.coord-label{position:absolute;color:rgba(255,255,255,.48);font:600 .62rem/1 Consolas,monospace}.coord-n{top:11px;left:12px}.coord-s{bottom:11px;right:12px}.coord-w{left:10px;top:50%;transform:rotate(-90deg)}.coord-e{right:9px;top:50%;transform:rotate(90deg)}
.coordinate-marker{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;color:#fff;cursor:pointer}.coordinate-marker b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e7a33d;color:#06262d;border:4px solid rgba(255,255,255,.86);box-shadow:0 6px 20px rgba(0,0,0,.24);transition:.22s}.coordinate-marker span{position:absolute;left:50%;top:38px;transform:translateX(-50%);min-width:120px;padding:4px 7px;background:rgba(2,28,34,.82);border:1px solid rgba(255,255,255,.18);border-radius:6px;font-size:.64rem;line-height:1.3;opacity:0;pointer-events:none;transition:.2s}.coordinate-marker:hover span,.coordinate-marker.active span{opacity:1}.coordinate-marker.active b{background:#64dfd3;transform:scale(1.1)}
.story-map-caption{min-height:82px;padding:16px 20px;border-top:1px solid var(--line);background:var(--surface)}.story-map-caption span{font-size:.68rem;color:var(--primary);font-weight:850;letter-spacing:.1em}.story-map-caption strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.04rem;margin-top:2px}.story-map-caption p{margin:2px 0 0;color:var(--muted);font-size:.78rem}
.story-leaflet-icon{background:transparent;border:0}.story-leaflet-icon span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e7a33d;color:#06262d;border:4px solid rgba(255,255,255,.94);font-weight:900;box-shadow:0 5px 18px rgba(0,0,0,.24);transition:.2s}.story-leaflet-icon.active span{background:#48d5c8;transform:scale(1.12)}
.story-intro{padding:4px 0 18px;border-bottom:1px solid var(--line);margin-bottom:22px}.story-intro h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.75rem,3vw,2.4rem);margin:.18em 0}.story-intro p{color:var(--muted);max-width:600px;font-size:.96rem}
.story-chapters{display:grid;gap:24px}
.story-chapter{position:relative;opacity:1;transform:none;transition:.25s ease;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px 18px 22px;box-shadow:0 10px 24px rgba(7,33,39,.05)}
.story-chapter.is-active{border-color:color-mix(in srgb,var(--primary) 38%,var(--line));box-shadow:0 18px 34px rgba(5,42,49,.09)}
.story-step{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));font:800 .68rem/1 Consolas,monospace;color:var(--primary);letter-spacing:.14em;margin-bottom:12px}
.story-chapter-media{height:180px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#f1eee8,#e4e0d7);border:1px solid var(--line);margin-bottom:16px}
.story-chapter-media img{width:100%;height:100%;object-fit:cover;transition:.45s ease}.story-chapter.is-active .story-chapter-media img{transform:scale(1.02)}
.story-chapter-kicker{display:inline-block;color:var(--primary);font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,transparent)}
.story-chapter h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,2.3vw,1.95rem);line-height:1.18;margin:.45em 0 .25em}
.story-chapter-body>p{color:var(--muted);font-size:.95rem}.story-location{font-size:.76rem!important;color:var(--primary)!important;font-weight:750;margin:.1em 0 .7em!important}.story-chapter .tags{margin:14px 0}.story-chapter .tags span{padding:5px 9px;font-size:.7rem}
.story-more{display:inline-flex;align-items:center;gap:8px;color:#fff;background:var(--primary);font-weight:800;padding:10px 14px;border-radius:12px;border:1px solid var(--primary);margin-top:6px}.story-more span{transition:.2s}.story-more:hover span{transform:translateX(4px)}
.thematic-capability-map{background:radial-gradient(circle at center,#164e56 0 20%,#082d35 21% 100%)}.thematic-orbit{position:absolute;inset:0}.thematic-orbit:before,.thematic-orbit:after{content:"";position:absolute;border:1px solid rgba(139,226,217,.18);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.thematic-orbit:before{width:75%;aspect-ratio:1}.thematic-orbit:after{width:48%;aspect-ratio:1}.thematic-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:142px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:#e7a33d;color:#06262d;border:6px solid rgba(255,255,255,.75);z-index:3}.thematic-core strong{font-family:Georgia,serif}.thematic-core span{font-size:.64rem}
.thematic-node{position:absolute;width:122px;min-height:66px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(5,46,53,.88);color:#fff;padding:9px;cursor:pointer;text-align:left;transition:.25s}.thematic-node b{color:#8fe2da;font-size:.68rem}.thematic-node span{display:block;font-size:.71rem;line-height:1.25;margin-top:3px}.thematic-node.active{background:#0f766e;border-color:#8fe2da;transform:scale(1.04)}.thematic-node-0{left:6%;top:9%}.thematic-node-1{right:6%;top:10%}.thematic-node-2{right:2%;top:42%}.thematic-node-3{right:8%;bottom:8%}.thematic-node-4{left:8%;bottom:8%}.thematic-node-5{left:2%;top:43%}.thematic-node-6{left:34%;top:3%}.thematic-node-7{left:36%;bottom:3%}
.story-home-cover{position:relative;isolation:isolate;overflow:hidden;padding:56px 0 62px;background:linear-gradient(120deg,#061f26,#0a4048 62%,#0f766e);color:#fff}.story-home-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:36px;align-items:center}.story-home-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.9rem,6vw,5rem);line-height:.98;letter-spacing:-.05em;margin:.18em 0}.story-home-copy .lead{color:rgba(255,255,255,.8);font-size:1.04rem;max-width:650px}.story-home-role{color:#8fe2da;font-weight:800}.story-home-copy .button.secondary{background:rgba(255,255,255,.09);color:#fff;border-color:rgba(255,255,255,.25)}.story-home-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:22px}.story-home-stats .stat{padding:11px 13px;border:1px solid rgba(255,255,255,.16);background:rgba(3,31,37,.34);border-radius:12px}.story-home-stats .stat+.stat{border-left:1px solid rgba(255,255,255,.16)}.story-home-stats .stat strong{color:#fff;font-size:1.08rem}.story-home-stats .stat span{color:rgba(255,255,255,.7)}
.home-spatial-card{background:rgba(255,255,255,.97);color:var(--text);border-radius:24px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.22)}.home-spatial-card .story-map{height:365px}.home-spatial-card .story-map-fallback{height:365px}.home-spatial-card .story-map-caption{min-height:78px}
.story-home-sections{padding-top:60px}.spatial-section-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.spatial-section-card{position:relative;overflow:hidden;min-height:220px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;transition:.25s}.spatial-section-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary),#52c6bb)}.spatial-section-card:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-70px;bottom:-75px;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);box-shadow:0 0 0 20px color-mix(in srgb,var(--primary) 4%,transparent)}.spatial-section-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 45%,var(--line));box-shadow:0 14px 32px rgba(5,42,49,.08)}.spatial-section-card>span{color:var(--primary);font-size:.68rem;font-weight:850;letter-spacing:.11em}.spatial-section-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;line-height:1.2}.spatial-section-card p{color:var(--muted);flex:1;font-size:.92rem}.spatial-section-card b{color:var(--primary);z-index:1}
.home-feature-story{display:grid;grid-template-columns:.95fr 1.05fr;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.home-feature-media{min-height:340px;background:var(--surface2)}.home-feature-media img{width:100%;height:100%;object-fit:cover}.home-feature-copy{padding:28px}.home-feature-copy h3{font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;line-height:1.15}.home-feature-copy>p{color:var(--muted);font-size:.95rem}
.story-theme-publications .story-cover{background:linear-gradient(125deg,#17313e,#1a5864 58%,#2f7e87)}.story-theme-professional .story-cover{background:linear-gradient(125deg,#092334,#124769 58%,#14877b)}.story-theme-education .story-cover{background:linear-gradient(125deg,#202d3d,#3c5168 58%,#4f7d84)}.story-theme-teaching .story-cover{background:linear-gradient(125deg,#18312f,#3c6756 58%,#76945d)}.story-theme-skills .story-cover{background:linear-gradient(125deg,#20263d,#36506f 58%,#188779)}.story-theme-contact .story-cover{background:linear-gradient(125deg,#143042,#245165 58%,#188779)}
@media(max-width:1050px){.story-layout{grid-template-columns:1fr}.story-map-column{position:relative;top:auto}.story-map,.story-map-fallback{height:420px}.story-home-grid{grid-template-columns:1fr}.home-spatial-card{max-width:720px}.spatial-section-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.story-cover{padding:34px 0 34px}.story-cover h1{font-size:clamp(2.05rem,11vw,3.3rem)}.story-cover .lead{font-size:.96rem}.story-cover-meta{display:none}.story-map-head{display:block}.story-map-reset{margin-top:10px}.story-map,.story-map-fallback,.home-spatial-card .story-map,.home-spatial-card .story-map-fallback{height:320px}.story-chapters{gap:18px}.story-chapter{padding:16px}.story-chapter-media{height:190px}.story-home-cover{padding:40px 0 48px}.story-home-copy h1{font-size:clamp(2.45rem,12vw,3.8rem)}.story-home-stats,.spatial-section-grid,.home-feature-story{grid-template-columns:1fr}.home-feature-media{min-height:230px}.home-feature-copy{padding:22px}.thematic-node{width:105px}.thematic-core{width:125px}}


/* Compact spatial-intelligence hero */
.story-cover{padding:32px 0 34px;min-height:0}
.story-cover-inner{max-width:var(--max);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:38px;align-items:center}
.story-cover-copy{min-width:0}
.story-cover-copy .breadcrumbs{font-size:.76rem;margin-bottom:8px}
.story-cover-copy .eyebrow{font-size:.68rem}
.story-cover h1{font-size:clamp(2.15rem,4.2vw,3.75rem);max-width:760px;line-height:1.02;margin:.12em 0 .16em}
.story-cover .lead{font-size:clamp(.92rem,1.35vw,1.03rem);line-height:1.62;max-width:670px;margin:.25em 0}
.story-cover-actions{margin-top:16px}
.story-cover .button{padding:9px 14px;border-radius:10px;font-size:.88rem}
.story-cover-meta{margin-top:14px;gap:6px}
.story-cover-meta span{padding:5px 8px;font-size:.6rem}
.story-cover-visual{min-width:0}
.spatial-console{overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:22px;background:rgba(2,27,34,.4);box-shadow:0 20px 52px rgba(0,0,0,.2);backdrop-filter:blur(9px)}
.spatial-console-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.14);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#a9eee4}
.spatial-console-head small{color:rgba(255,255,255,.55);font:600 .63rem/1.2 Consolas,monospace;letter-spacing:.03em}
.spatial-console-map{display:block;width:100%;height:auto;max-height:235px;color:#71ddd0;background:linear-gradient(145deg,rgba(4,38,47,.56),rgba(9,88,91,.32))}
.console-contours ellipse{fill:none;stroke:currentColor;stroke-width:1.4;stroke-opacity:.32}
.console-parcels path{fill:rgba(113,221,208,.1);stroke:currentColor;stroke-width:1.3;stroke-opacity:.55}
.console-route{fill:none;stroke:#f4bd55;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.console-nodes circle{fill:#f4bd55;stroke:#fff;stroke-width:3}
.console-ai circle{fill:#0d4c55;stroke:#9ff1e7;stroke-width:2}.console-ai path{fill:none;stroke:#9ff1e7;stroke-width:1.5;stroke-opacity:.72}
.console-drone{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round}.console-drone circle{fill:rgba(255,255,255,.08)}.console-drone rect{fill:#f4bd55;stroke:none}
.spatial-console-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1)}
.spatial-console-legend span{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 6px;background:rgba(3,31,38,.74);color:rgba(255,255,255,.82);font-size:.67rem;white-space:nowrap}
.spatial-console-legend i{width:8px;height:8px;border-radius:50%;display:inline-block;background:#71ddd0;box-shadow:0 0 0 3px rgba(113,221,208,.12)}
.spatial-console-legend .legend-rs{background:#f4bd55}.spatial-console-legend .legend-drone{background:#fff}.spatial-console-legend .legend-ai{background:#6fb4ff}

@media(max-width:980px){
  .story-cover-inner{grid-template-columns:1fr;gap:24px}
  .story-cover-visual{max-width:720px}
  .spatial-console-map{max-height:220px}
}
@media(max-width:680px){
  .story-cover{padding:24px 0 26px}
  .story-cover-inner{gap:18px}
  .story-cover h1{font-size:clamp(1.95rem,10vw,2.75rem)}
  .story-cover .lead{font-size:.9rem;line-height:1.55}
  .story-cover-meta{display:none}
  .spatial-console-head{padding:9px 11px}
  .spatial-console-map{max-height:180px}
  .spatial-console-legend{grid-template-columns:repeat(2,1fr)}
  .spatial-console-legend span{padding:8px 5px}
}

/* About Me profile-photo panel */
.story-theme-about .story-cover-inner{grid-template-columns:minmax(0,1.25fr) minmax(250px,.55fr)}
.about-photo-visual{justify-self:end;width:100%;max-width:330px}
.about-photo-panel{overflow:hidden;border:1px solid rgba(255,255,255,.23);border-radius:22px;background:rgba(3,29,36,.48);box-shadow:0 20px 52px rgba(0,0,0,.22);backdrop-filter:blur(10px)}
.about-photo-frame{position:relative;aspect-ratio:4/4.25;overflow:hidden;background:linear-gradient(145deg,rgba(113,221,208,.18),rgba(3,31,38,.56))}
.about-photo-frame:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(rgba(159,241,231,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(159,241,231,.13) 1px,transparent 1px);background-size:42px 42px;mix-blend-mode:screen}
.about-photo-frame:after{content:"";position:absolute;z-index:1;width:170px;height:170px;border:1px solid rgba(159,241,231,.34);border-radius:50%;right:-64px;top:-58px;box-shadow:0 0 0 28px rgba(159,241,231,.06),0 0 0 56px rgba(159,241,231,.035);pointer-events:none}
.about-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center top}
.about-photo-overlay{position:absolute;inset:0;z-index:2;pointer-events:none}
.photo-coordinate{position:absolute;left:13px;bottom:12px;padding:5px 8px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(2,27,34,.62);color:#c3f5ef;font:700 .6rem/1 Consolas,monospace;letter-spacing:.04em}
.photo-corner{position:absolute;width:28px;height:28px;border-color:#f4bd55;border-style:solid}
.photo-corner-1{left:13px;top:13px;border-width:2px 0 0 2px}.photo-corner-2{right:13px;top:13px;border-width:2px 2px 0 0}.photo-corner-3{left:13px;bottom:13px;border-width:0 0 2px 2px}.photo-corner-4{right:13px;bottom:13px;border-width:0 2px 2px 0}
.about-photo-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px 10px;border-top:1px solid rgba(255,255,255,.14)}
.about-photo-caption strong{display:block;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;line-height:1.15}
.about-photo-caption small{display:block;color:rgba(255,255,255,.62);font-size:.66rem;margin-top:3px}
.about-photo-caption>span{padding:5px 8px;border:1px solid rgba(159,241,231,.24);border-radius:999px;background:rgba(113,221,208,.1);color:#a9eee4;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.about-photo-tags{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1)}
.about-photo-tags span{padding:8px 4px;text-align:center;background:rgba(3,31,38,.76);color:rgba(255,255,255,.78);font-size:.6rem;white-space:nowrap}
@media(max-width:980px){.story-theme-about .story-cover-inner{grid-template-columns:1fr}.about-photo-visual{justify-self:start;max-width:320px}}
@media(max-width:480px){.about-photo-visual{max-width:285px}.about-photo-tags{grid-template-columns:repeat(2,1fr)}}

/* Simple About Me homepage */
.about-home-hero{padding:54px 0 58px}
.about-home-grid{grid-template-columns:minmax(0,1.12fr) minmax(300px,.62fr);gap:52px}
.about-home-page .story-home-copy .lead{max-width:700px;line-height:1.7}
.home-profile-card{justify-self:end;width:100%;max-width:360px}
.home-profile-card .about-photo-panel{background:rgba(3,29,36,.58)}
.home-profile-card .about-photo-frame{aspect-ratio:4/4.6}
.home-profile-card .about-photo-frame:after{display:none}
.home-profile-card .photo-coordinate{display:none}
.photo-help{margin:10px 4px 0;color:rgba(255,255,255,.56);font-size:.7rem;line-height:1.45;text-align:center}
.about-intro-section{padding-top:64px;padding-bottom:64px}
.about-summary-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:42px;align-items:start}
.about-summary-copy{font-size:1rem;line-height:1.78;color:var(--text)}
.about-summary-copy p:first-child{margin-top:0}
.about-summary-copy p:last-child{margin-bottom:0}
.about-snapshot{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.about-snapshot .snapshot-card{min-height:145px}
.about-explore-section{padding-top:64px}
.about-section-grid .spatial-section-card{min-height:205px}
@media(max-width:1050px){
  .about-home-grid{grid-template-columns:1fr;gap:30px}
  .home-profile-card{justify-self:start;max-width:330px}
  .about-summary-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .about-home-hero{padding:38px 0 44px}
  .home-profile-card{max-width:290px}
  .about-snapshot{grid-template-columns:1fr}
  .about-intro-section,.about-explore-section{padding-top:46px;padding-bottom:46px}
}


/* =========================================================
   ACADEMIC STORYMAP DESIGN SYSTEM · 2026
   Restrained scholarly visual language with spatial narrative
   ========================================================= */
:root{
  --bg:#f4f1ea;
  --surface:#fffdf8;
  --surface2:#ebe7de;
  --text:#18232e;
  --muted:#65707a;
  --line:#d6d0c4;
  --primary:#18324c;
  --primary2:#0f2438;
  --accent:#a4782d;
  --accent-soft:#e9dcc2;
  --academic-teal:#496e73;
  --shadow:0 18px 45px rgba(20,35,48,.08);
  --radius:5px;
  --max:1220px;
}
html[data-theme=dark]{
  --bg:#101820;--surface:#18232d;--surface2:#202d37;--text:#edf0ec;--muted:#aeb7bd;
  --line:#35434d;--primary:#d8e2e9;--primary2:#eef4f6;--accent:#d2ae69;--accent-soft:#3a3327;
  --academic-teal:#87adb1;--shadow:0 18px 45px rgba(0,0,0,.22)
}
body{background-color:var(--bg);background-image:linear-gradient(rgba(24,50,76,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(24,50,76,.018) 1px,transparent 1px);background-size:34px 34px;font-family:"Segoe UI",Arial,Helvetica,sans-serif;line-height:1.72}
body:before{content:"";position:fixed;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--primary2) 0 72%,var(--accent) 72%);z-index:1000;pointer-events:none}
.container{width:min(calc(100% - 48px),var(--max))}
.eyebrow,.kicker,.academic-label{font-size:.69rem;letter-spacing:.16em;font-weight:800;text-transform:uppercase;color:var(--accent)}
.button{border-radius:2px;padding:11px 17px;background:var(--primary);border-color:var(--primary);font-size:.86rem;letter-spacing:.02em}
.button:hover{transform:translateY(-1px)}
.button.secondary{background:transparent;color:var(--primary);border-color:color-mix(in srgb,var(--primary) 42%,var(--line))}

/* Academic masthead */
.site-header{top:4px;background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--line);box-shadow:0 5px 18px rgba(22,39,53,.035)}
.nav-wrap{height:82px;gap:18px}
.brand{gap:13px}.brand-mark{width:44px;height:44px;border-radius:2px;background:var(--primary2);color:#f6f1e7;border-bottom:4px solid var(--accent);font-family:Georgia,"Times New Roman",serif;letter-spacing:.03em}
.brand span:last-child strong{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;letter-spacing:.01em}.brand small{font-size:.58rem;letter-spacing:.115em;margin-top:3px}
.site-header nav{gap:0}.site-header nav a{border-radius:0;padding:29px 9px 25px;font-size:.72rem;letter-spacing:.035em;font-weight:750;border-bottom:3px solid transparent}
.site-header nav a:hover,.site-header nav a.active{background:transparent;color:var(--primary);border-bottom-color:var(--accent)}
.theme,.menu{border-radius:2px;background:transparent}

/* Academic homepage */
.academic-hero{position:relative;isolation:isolate;overflow:hidden;padding:74px 0 68px;background:linear-gradient(104deg,#f9f7f1 0%,#f4f1ea 64%,#e9e4d9 100%);border-bottom:1px solid var(--line)}
html[data-theme=dark] .academic-hero{background:linear-gradient(104deg,#17232d,#101820 64%,#20282d)}
.academic-hero-grid-pattern{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(90deg,transparent 0 73%,rgba(24,50,76,.05) 73% 73.12%,transparent 73.12%),radial-gradient(circle at 86% 22%,transparent 0 115px,rgba(164,120,45,.16) 116px 117px,transparent 118px 155px,rgba(24,50,76,.08) 156px 157px,transparent 158px);opacity:.9}
.academic-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.56fr);gap:76px;align-items:center}
.academic-hero-copy{min-width:0}.academic-label{margin:0 0 12px;color:var(--primary)}
.academic-hero .availability{margin-bottom:18px;border-radius:2px;background:transparent;border-color:var(--line);font-size:.75rem;color:var(--academic-teal)}
.academic-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.15rem,6.2vw,6.1rem);line-height:.96;letter-spacing:-.052em;margin:.08em 0 .16em;max-width:850px;color:var(--primary2)}
.academic-role{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.05rem,1.8vw,1.35rem);font-style:italic;color:var(--academic-teal);margin:.2em 0 .8em}
.academic-lead{max-width:760px;font-size:1.02rem;line-height:1.78;color:var(--muted);border-left:3px solid var(--accent);padding-left:18px}
.academic-keywords{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.academic-keywords span,.research-interest-list span{padding:6px 10px;background:transparent;border:1px solid var(--line);font-size:.67rem;letter-spacing:.045em;text-transform:uppercase;color:var(--primary)}
.affiliation-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.affiliation-strip>div{padding:15px 17px 16px;border-right:1px solid var(--line)}.affiliation-strip>div:first-child{padding-left:0}.affiliation-strip>div:last-child{border-right:0}
.affiliation-strip small{display:block;color:var(--accent);font-size:.61rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.affiliation-strip strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:.96rem;color:var(--primary2);margin:4px 0 1px}.affiliation-strip span{display:block;color:var(--muted);font-size:.71rem;line-height:1.4}
.scholar-profile-card{background:var(--primary2);color:#f6f1e7;border:1px solid #0b1d2d;padding:16px;box-shadow:24px 24px 0 rgba(164,120,45,.14);position:relative}
.scholar-profile-card:after{content:"";position:absolute;inset:9px;border:1px solid rgba(255,255,255,.12);pointer-events:none}
.scholar-card-rule{display:flex;justify-content:space-between;gap:12px;padding:3px 2px 12px;border-bottom:1px solid rgba(255,255,255,.24);font-size:.57rem;letter-spacing:.13em;text-transform:uppercase;color:#d9c69e}
.scholar-photo-wrap{aspect-ratio:4/4.15;margin:15px 0 0;overflow:hidden;background:#d9d3c7}.scholar-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.85) contrast(1.02)}
.scholar-card-body{padding:15px 4px 5px}.scholar-name{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;margin:0}.scholar-org{font-size:.72rem;color:#becad1;margin:2px 0 14px}
.scholar-card-body dl{margin:0}.scholar-card-body dl>div{display:grid;grid-template-columns:62px 1fr;gap:10px;padding:7px 0;border-top:1px solid rgba(255,255,255,.15)}.scholar-card-body dt{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:#d9c69e}.scholar-card-body dd{margin:0;font-size:.7rem;color:#eef2f2}
.scholar-photo-note{margin:7px 4px 1px;font-size:.58rem;color:#9caab3;text-align:center}
.academic-metrics-band{background:var(--primary2);color:#fff;border-bottom:4px solid var(--accent)}.academic-metrics-band>.container{display:grid;grid-template-columns:230px 1fr;align-items:stretch}.metrics-heading{padding:25px 24px 24px 0;border-right:1px solid rgba(255,255,255,.15)}.metrics-heading span{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.1rem}.metrics-heading p{margin:3px 0 0;color:#aebcc5;font-size:.7rem}
.academic-stats{display:grid;grid-template-columns:repeat(4,1fr)}.academic-stats .stat{padding:22px 20px;border-right:1px solid rgba(255,255,255,.15)}.academic-stats .stat:last-child{border-right:0}.academic-stats .stat strong{display:block;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem}.academic-stats .stat span{display:block;color:#b9c4cb;font-size:.69rem;line-height:1.35;margin-top:3px}
.academic-profile-section{padding:82px 0}.academic-profile-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.75fr);gap:70px;align-items:start}.section-index{display:block;color:var(--accent);font-family:Georgia,"Times New Roman",serif;font-size:2.9rem;line-height:1;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:18px;width:74px}.academic-statement h2,.academic-section-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.08;letter-spacing:-.035em;color:var(--primary2);margin:.2em 0 .55em}.academic-statement>p{font-size:.98rem;color:var(--muted);max-width:750px}.research-interest-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}
.featured-dossier{background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--primary);padding:23px;box-shadow:var(--shadow)}.dossier-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:16px}.dossier-heading span{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:var(--primary)}.dossier-heading small{color:var(--muted);font-style:italic}.featured-dossier>img{width:100%;height:185px;object-fit:cover;border:1px solid var(--line);background:var(--surface2)}.featured-dossier h3{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;line-height:1.22;margin:.8em 0 .45em;color:var(--primary2)}.featured-dossier>p{color:var(--muted);font-size:.85rem}.dossier-results{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}.dossier-results>div{padding:11px 8px;border-right:1px solid var(--line)}.dossier-results>div:last-child{border-right:0}.dossier-results strong{display:block;font-family:Georgia,"Times New Roman",serif;color:var(--primary);font-size:1.05rem}.dossier-results span{display:block;font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.text-link{color:var(--primary);font-size:.78rem;font-weight:800;border-bottom:1px solid var(--accent);padding-bottom:2px}
.academic-agenda-section{padding:78px 0;background:color-mix(in srgb,var(--surface2) 68%,var(--bg));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.academic-section-head{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,.7fr);gap:60px;align-items:end;margin-bottom:36px}.academic-section-head>p{color:var(--muted);font-size:.9rem;border-left:2px solid var(--accent);padding-left:18px}.academic-section-head .section-index{font-size:2rem;width:54px;margin-bottom:13px}.academic-section-head h2{font-size:clamp(1.9rem,3vw,2.8rem);margin-bottom:0}
.research-agenda-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.research-agenda-grid article{min-height:238px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.research-agenda-grid article>span{font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;color:var(--accent)}.research-agenda-grid h3{font-family:Georgia,"Times New Roman",serif;color:var(--primary2);font-size:1.25rem;line-height:1.25}.research-agenda-grid p{color:var(--muted);font-size:.86rem}
.academic-directory-section{padding:82px 0}.academic-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.academic-directory-card{min-height:285px;padding:25px;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.2s}.academic-directory-card:hover{background:color-mix(in srgb,var(--accent-soft) 26%,var(--surface));box-shadow:inset 0 4px 0 var(--accent)}.academic-directory-card>span{position:absolute;right:20px;top:17px;font-family:Georgia,"Times New Roman",serif;color:color-mix(in srgb,var(--primary) 26%,transparent);font-size:2.2rem}.academic-directory-card small{color:var(--accent);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800}.academic-directory-card h3{font-family:Georgia,"Times New Roman",serif;color:var(--primary2);font-size:1.3rem;line-height:1.25;max-width:250px;margin:.8em 0}.academic-directory-card p{color:var(--muted);font-size:.84rem;flex:1}.academic-directory-card b{font-size:.75rem;color:var(--primary);border-top:1px solid var(--line);padding-top:12px}

/* Scholarly StoryMap pages */
.story-cover,.story-theme-publications .story-cover,.story-theme-professional .story-cover,.story-theme-education .story-cover,.story-theme-teaching .story-cover,.story-theme-skills .story-cover,.story-theme-contact .story-cover{padding:50px 0 52px;background:linear-gradient(115deg,#132b44 0%,#19354f 62%,#2c5158 132%);border-bottom:5px solid var(--accent)}
.story-cover:before{opacity:.15;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to right,#000,transparent 78%)}.story-cover:after{display:none}.story-cover-grid{opacity:.25;background-image:radial-gradient(circle at 80% 42%,transparent 0 80px,rgba(255,255,255,.12) 81px 82px,transparent 83px 118px,rgba(255,255,255,.07) 119px 120px,transparent 121px)}
.story-cover-inner{grid-template-columns:minmax(0,1.12fr) minmax(330px,.62fr);gap:68px}.story-cover-copy .breadcrumbs{margin-bottom:18px;font-size:.7rem;letter-spacing:.04em}.story-cover .eyebrow{color:#d9c69e}.story-cover h1{font-size:clamp(2.55rem,4.7vw,4.35rem);line-height:.99;letter-spacing:-.04em;margin:.18em 0 .22em}.story-cover .lead{max-width:730px;font-family:Georgia,"Times New Roman",serif;font-size:1.02rem;line-height:1.7;color:rgba(255,255,255,.78)}.story-cover .button{border-radius:2px;background:#f4f1e9;color:#173047;border-color:#f4f1e9}.story-cover .button.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}.story-cover-meta{margin-top:22px}.story-cover-meta span{border-radius:1px;padding:6px 9px;background:transparent;border-color:rgba(255,255,255,.23);font-size:.58rem;color:#d5dde2}
.academic-dossier-card{position:relative;background:#f7f3ea;color:#18232e;border:1px solid rgba(255,255,255,.45);padding:18px 20px 16px;box-shadow:18px 18px 0 rgba(5,15,24,.17)}.academic-dossier-card:after{content:"";position:absolute;inset:7px;border:1px solid #d9d1c1;pointer-events:none}.academic-dossier-card header,.academic-dossier-card footer{position:relative;z-index:1;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #cfc6b5;padding-bottom:9px;font-size:.55rem;letter-spacing:.11em;text-transform:uppercase;color:#665d50}.academic-dossier-card footer{border-top:1px solid #cfc6b5;border-bottom:0;padding-top:9px;padding-bottom:0;margin-top:16px}.dossier-number{position:absolute;right:21px;top:43px;font-family:Georgia,"Times New Roman",serif;font-size:4.6rem;line-height:1;color:#ded6c7}.dossier-overline{position:relative;z-index:1;margin:20px 0 0;color:#a4782d;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800}.academic-dossier-card h2{position:relative;z-index:1;font-family:Georgia,"Times New Roman",serif;font-size:2.05rem;margin:.08em 0 .28em;color:#18324c}.dossier-focus{position:relative;z-index:1;max-width:270px;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:.92rem;line-height:1.45;color:#4f5961}.academic-dossier-card dl{position:relative;z-index:1;margin:18px 0 0}.academic-dossier-card dl>div{padding:9px 0;border-top:1px solid #d8d0c1}.academic-dossier-card dt{font-size:.55rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:#9a6b26}.academic-dossier-card dd{margin:3px 0 0;font-size:.68rem;line-height:1.45;color:#39454e}
.spatial-story{padding:58px 0 72px}.story-layout{grid-template-columns:minmax(430px,.94fr) minmax(0,1.06fr);gap:42px;align-items:start}.story-map-column{top:105px}.story-map-shell{border-radius:3px;border-color:var(--line);box-shadow:12px 12px 0 color-mix(in srgb,var(--primary) 6%,transparent);overflow:visible;background:var(--surface)}.story-map-shell:before{content:"Spatial evidence";display:block;padding:8px 16px;background:var(--primary2);color:#e7dfd0;font-size:.56rem;letter-spacing:.15em;text-transform:uppercase}.story-map-head{padding:20px 20px 17px;border-bottom:1px solid var(--line);background:var(--surface)}.story-map-head h2{font-size:1.35rem;color:var(--primary2)}.story-map-head p{font-size:.72rem}.story-map-reset{border-radius:1px;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}.story-map,.story-map-fallback{height:520px;filter:saturate(.7) contrast(.98)}.story-map-caption{padding:14px 19px;background:color-mix(in srgb,var(--surface2) 45%,var(--surface));min-height:72px}.story-map-caption span{color:var(--accent)}.story-map-caption strong{font-size:1rem;color:var(--primary2)}
.story-intro{padding:0 0 18px;margin-bottom:22px;border-bottom:2px solid var(--primary)}.story-intro h2{font-size:clamp(1.9rem,3vw,2.65rem);color:var(--primary2)}.story-intro p{font-family:Georgia,"Times New Roman",serif;font-size:.94rem;line-height:1.7}
.story-record-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:0 0 24px;background:var(--surface)}.story-record-cell{padding:16px 18px 17px;border-right:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--surface2) 58%,var(--surface)) 0%,var(--surface) 100%)}.story-record-cell:last-child{border-right:0}.story-record-cell small{display:block;margin-bottom:6px;color:var(--accent);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;font-weight:850}.story-record-cell strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;color:var(--primary2);line-height:1.1}.story-record-cell span{display:block;margin-top:5px;font-size:.74rem;line-height:1.55;color:var(--muted)}
.story-chapters{gap:22px}.story-chapter{position:relative;border-radius:3px;padding:0;display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-areas:"step media" "step body";min-height:390px;border-color:var(--line);box-shadow:none;background:var(--surface);overflow:hidden}.story-chapter.is-active{border-color:var(--primary);box-shadow:8px 8px 0 color-mix(in srgb,var(--accent) 15%,transparent)}.story-step{grid-area:step;display:flex;align-items:flex-start;justify-content:center;padding:90px 10px 18px;margin:0;border-right:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0%,color-mix(in srgb,var(--surface2) 72%,var(--surface)) 100%);color:color-mix(in srgb,var(--primary) 28%,transparent);font-family:Georgia,"Times New Roman",serif;font-size:3rem;line-height:1;letter-spacing:.08em}.story-step span{display:block}.story-step::after{content:"Chapter";position:absolute;left:50%;top:58px;transform:translateX(-50%);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-family:"Segoe UI",Arial,sans-serif;font-weight:800}.story-chapter-media{grid-area:media;height:220px;min-height:220px;margin:0;border:0;border-radius:0;border-bottom:1px solid var(--line);background:var(--surface2)}.story-chapter-media img{width:100%;height:100%;display:block;filter:saturate(.78) contrast(1.01);object-fit:cover;object-position:center}.story-chapter-body{grid-area:body;padding:24px 28px 24px;min-width:0;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(220px,.82fr);gap:24px;align-items:start}.story-chapter-main{min-width:0}.story-chapter-kicker{display:inline-block;background:transparent;border-radius:0;padding:0 0 5px;border-bottom:1px solid var(--accent);color:var(--accent);font-size:.59rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.story-chapter h3{font-size:1.95rem;line-height:1.12;color:var(--primary2);padding-right:0;margin:.5em 0 .42em;max-width:none}.story-summary{font-size:.88rem;line-height:1.72;color:var(--muted);margin:0}.story-chapter-meta{display:flex;flex-direction:column;gap:14px;border-left:1px solid var(--line);padding-left:20px;min-width:0}.story-location{display:block!important;margin:0!important;font-size:.72rem!important;color:var(--muted)!important;font-weight:600!important;line-height:1.6}.story-location span{display:block;margin-bottom:4px;font-size:.53rem;letter-spacing:.09em;text-transform:uppercase;color:var(--academic-teal);font-weight:850}.story-metadata-block small{display:block;margin-bottom:7px;color:var(--accent);font-size:.53rem;letter-spacing:.13em;text-transform:uppercase;font-weight:850}.story-chapter .tags{margin:0;display:flex;flex-wrap:wrap;gap:6px}.story-chapter .tags span{border-radius:1px;background:var(--surface2);font-size:.61rem;padding:5px 8px}.story-more{display:inline-flex;align-items:center;gap:8px;width:max-content;margin-top:auto;font-size:.7rem;letter-spacing:.025em;color:var(--primary);border-bottom:1px solid var(--accent);padding-bottom:2px}
.story-leaflet-icon span{background:var(--primary2)!important;border-radius:2px!important;border:2px solid #fff!important;box-shadow:0 3px 10px rgba(0,0,0,.2)!important}.story-leaflet-icon.active span{background:var(--accent)!important}.leaflet-control-zoom a{border-radius:0!important;color:var(--primary2)!important}.leaflet-container{font-family:"Segoe UI",Arial,sans-serif}
.thematic-capability-map{background:linear-gradient(135deg,#e9e4d9,#f6f2e9)}.thematic-core{border-radius:2px;background:var(--primary2)}.thematic-node{border-radius:2px;border-color:var(--line);background:var(--surface)}
.photo-evidence-section{padding:76px 0 86px;background:color-mix(in srgb,var(--surface2) 62%,var(--bg));border-top:1px solid var(--line)}.photo-evidence-head{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,.75fr);gap:50px;align-items:end;margin-bottom:30px}.photo-evidence-head .eyebrow{grid-column:1/-1;margin-bottom:-34px}.photo-evidence-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.08;color:var(--primary2);margin:0}.photo-evidence-head p{margin:0;padding-left:18px;border-left:2px solid var(--accent);color:var(--muted);font-size:.88rem;line-height:1.7}.photo-evidence-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.photo-evidence-card{margin:0;background:var(--surface);border:1px solid var(--line);display:grid;grid-template-rows:220px auto;overflow:hidden}.photo-evidence-card.photo-evidence-featured{grid-row:span 2;grid-template-rows:minmax(360px,1fr) auto}.photo-evidence-card img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88) contrast(1.02);transition:transform .35s ease}.photo-evidence-card:hover img{transform:scale(1.015)}.photo-evidence-card figcaption{padding:17px 19px 19px;border-top:1px solid var(--line)}.photo-evidence-card small{display:block;color:var(--accent);font-size:.57rem;letter-spacing:.13em;text-transform:uppercase;font-weight:850}.photo-evidence-card strong{display:block;margin:6px 0 5px;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;color:var(--primary2)}.photo-evidence-card span{display:block;color:var(--muted);font-size:.76rem;line-height:1.55}
.site-footer{border-top:4px solid var(--primary2);background:var(--surface);padding-top:28px}.site-footer strong{font-family:Georgia,"Times New Roman",serif;color:var(--primary2)}

@media(max-width:1100px){
  .site-header nav a{padding-left:7px;padding-right:7px;font-size:.67rem}
  .academic-hero-grid{gap:48px}.academic-directory-grid{grid-template-columns:repeat(2,1fr)}
  .story-cover-inner{gap:38px}
}
@media(max-width:980px){
  .academic-hero-grid,.academic-profile-grid,.academic-section-head,.photo-evidence-head{grid-template-columns:1fr}.photo-evidence-head .eyebrow{grid-column:auto;margin-bottom:0}.photo-evidence-head p{padding-left:0;padding-top:14px;border-left:0;border-top:2px solid var(--accent)}.photo-evidence-grid{grid-template-columns:1fr}.photo-evidence-card.photo-evidence-featured{grid-row:auto;grid-template-rows:320px auto}.photo-evidence-card{grid-template-rows:260px auto}.scholar-profile-card{max-width:360px}.academic-metrics-band>.container{grid-template-columns:1fr}.metrics-heading{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}
  .story-cover-inner{grid-template-columns:1fr}.story-cover-visual{max-width:430px}.story-layout{grid-template-columns:1fr}.story-map-column{position:relative;top:auto}.story-map,.story-map-fallback{height:460px}
}
@media(max-width:780px){
  .academic-hero{padding:48px 0}.academic-hero-grid{gap:38px}.academic-hero h1{font-size:clamp(2.65rem,12vw,4.5rem)}.affiliation-strip{grid-template-columns:1fr}.affiliation-strip>div{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.affiliation-strip>div:last-child{border-bottom:0}
  .academic-stats{grid-template-columns:repeat(2,1fr)}.academic-stats .stat:nth-child(2){border-right:0}.academic-stats .stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}.research-agenda-grid{grid-template-columns:1fr}.academic-directory-grid{grid-template-columns:1fr}
  .story-record-strip{grid-template-columns:1fr}.story-record-cell{border-right:0;border-bottom:1px solid var(--line)}.story-record-cell:last-child{border-bottom:0}.story-chapter{grid-template-columns:1fr;grid-template-areas:"media" "body";min-height:0}.story-step{display:none}.story-chapter-media{height:210px;min-height:0;border-right:0;border-bottom:1px solid var(--line)}.story-chapter-body{padding:19px;grid-template-columns:1fr}.story-chapter-meta{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:14px}.story-cover{padding:38px 0 40px}.story-cover h1{font-size:clamp(2.2rem,10.5vw,3.5rem)}
}
@media(max-width:680px){
  .container{width:min(calc(100% - 28px),var(--max))}.nav-wrap{height:70px}.brand small{display:none}.site-header nav{top:70px}.academic-metrics-band>.container{width:100%}.metrics-heading{padding-left:20px}.academic-profile-section,.academic-agenda-section,.academic-directory-section{padding:58px 0}.academic-stats .stat{padding:17px 15px}.dossier-results{grid-template-columns:1fr}.dossier-results>div{border-right:0;border-bottom:1px solid var(--line)}.dossier-results>div:last-child{border-bottom:0}.academic-dossier-card{box-shadow:10px 10px 0 rgba(5,15,24,.17)}
}

/* Dark-mode contrast corrections for fixed institutional panels */
.brand-mark,.scholar-profile-card,.academic-metrics-band,.story-map-shell:before,.thematic-core{background:#0f2438}
html[data-theme=dark] .button{color:#10202e}
html[data-theme=dark] .button.secondary{color:var(--primary);background:transparent}
html[data-theme=dark] .academic-keywords span,html[data-theme=dark] .research-interest-list span{color:var(--text)}


/* ============================================================
   COMPACT STORYMAP EDITION — short academic review paths
   ============================================================ */
.compact-home{min-height:100vh}.compact-home-hero{position:relative;overflow:hidden;padding:42px 0 34px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,var(--primary) 8%),var(--bg));border-bottom:1px solid var(--line)}
.compact-map-grid,.story-cover-grid{position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(color-mix(in srgb,var(--primary) 10%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--primary) 10%,transparent) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 82%)}
.compact-home-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.72fr);gap:52px;align-items:center}.compact-home-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,5vw,5rem);line-height:.98;letter-spacing:-.05em;margin:.14em 0}.compact-lead{max-width:760px;margin:12px 0;color:var(--muted);font-size:1rem;line-height:1.65}.compact-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:22px;border:1px solid var(--line);background:var(--surface)}.compact-stats .stat{padding:11px 12px;border-right:1px solid var(--line)}.compact-stats .stat:last-child{border-right:0}.compact-stats .stat strong{font-size:1.12rem}.compact-stats .stat span{display:block;font-size:.66rem;line-height:1.35}.compact-profile-panel{position:relative;border:1px solid var(--line);background:var(--surface);box-shadow:12px 12px 0 color-mix(in srgb,var(--primary) 8%,transparent);padding:14px}.compact-profile-photo{height:230px;overflow:hidden;background:var(--surface2)}.compact-profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.compact-profile-copy{display:grid;grid-template-columns:105px 1fr;gap:2px 14px;padding:13px 4px 10px}.compact-profile-copy small{grid-column:1;color:var(--accent);font-size:.53rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-top:6px}.compact-profile-copy strong{grid-column:2;font-family:Georgia,"Times New Roman",serif;color:var(--primary2);font-size:.92rem;margin-top:4px}.compact-profile-copy span{grid-column:2;color:var(--muted);font-size:.67rem;line-height:1.35}.compact-route{display:flex;align-items:center;gap:7px;padding:10px;border-top:1px solid var(--line);background:var(--surface2);font-size:.58rem;color:var(--muted)}.compact-route span{white-space:nowrap}.compact-route b{color:var(--primary)}.compact-route i{height:1px;flex:1;background:var(--accent)}
.compact-portal-section{padding:38px 0 48px}.compact-section-head{display:grid;grid-template-columns:1fr minmax(320px,.65fr);gap:28px;align-items:end;margin-bottom:20px}.compact-section-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3vw,2.6rem);margin:.1em 0;color:var(--primary2)}.compact-section-head p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}.portfolio-route-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.portfolio-route-grid a{position:relative;min-height:126px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);transition:.2s}.portfolio-route-grid a:hover{transform:translateY(-3px);background:var(--surface2);box-shadow:0 8px 22px rgba(15,39,68,.08)}.portfolio-route-grid b{display:block;color:var(--accent);font-size:.58rem;letter-spacing:.12em}.portfolio-route-grid span{display:block;margin:10px 0 5px;font-family:Georgia,"Times New Roman",serif;font-size:1.04rem;color:var(--primary2)}.portfolio-route-grid small{display:block;color:var(--muted);font-size:.68rem;line-height:1.45}

.compact-story-page .story-cover{padding:32px 0 34px}.compact-story-page .story-cover-inner{grid-template-columns:minmax(0,1.15fr) minmax(290px,.58fr);gap:38px}.compact-story-page .story-cover h1{font-size:clamp(2.25rem,4vw,3.8rem);margin:.2em 0}.compact-story-page .story-cover .lead{font-size:.92rem;line-height:1.6;max-width:720px}.compact-story-page .story-cover-actions{margin-top:18px}.compact-story-page .story-cover-meta{margin-top:18px}.compact-story-page .academic-dossier-card{min-height:0;padding:15px 17px;box-shadow:8px 8px 0 rgba(5,15,24,.12)}.compact-story-page .academic-dossier-card .dossier-number{font-size:2.7rem}.compact-story-page .academic-dossier-card h2{font-size:1.6rem;margin:.18em 0}.compact-story-page .academic-dossier-card dl{margin-top:10px}.compact-story-page .academic-dossier-card footer{margin-top:10px}
.compact-story-page .spatial-story,.story-page .spatial-story{padding:34px 0 46px}.compact-story-page .story-layout,.story-page .story-layout{grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:28px}.compact-story-page .story-map-column,.story-page .story-map-column{top:92px}.compact-story-page .story-map,.compact-story-page .story-map-fallback,.story-page .story-map,.story-page .story-map-fallback{height:365px}.compact-story-page .story-map-head,.story-page .story-map-head{padding:14px 15px 12px}.compact-story-page .story-map-head h2,.story-page .story-map-head h2{font-size:1.1rem}.compact-story-page .story-map-caption,.story-page .story-map-caption{min-height:58px;padding:10px 14px}.compact-story-page .story-intro,.story-page .story-intro{padding-bottom:12px;margin-bottom:14px}.compact-story-page .story-intro h2,.story-page .story-intro h2{font-size:1.65rem;margin:.22em 0}.compact-story-page .story-intro p,.story-page .story-intro p{font-size:.78rem;line-height:1.55;margin:.35em 0}.compact-story-page .story-record-strip,.story-page .story-record-strip{margin-bottom:14px}.compact-story-page .story-record-cell,.story-page .story-record-cell{padding:11px 12px}.compact-story-page .story-record-cell strong,.story-page .story-record-cell strong{font-size:1rem}.compact-story-page .story-record-cell span,.story-page .story-record-cell span{font-size:.63rem}
.compact-story-page .story-chapters,.story-page .story-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compact-story-page .story-chapter,.story-page .story-chapter{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-areas:"step media" "step body";min-height:0;border:1px solid var(--line);box-shadow:none}.compact-story-page .story-chapter.is-active,.story-page .story-chapter.is-active{box-shadow:4px 4px 0 color-mix(in srgb,var(--accent) 16%,transparent)}.compact-story-page .story-step,.story-page .story-step{padding:44px 5px 10px;font-size:1.4rem}.compact-story-page .story-step::after,.story-page .story-step::after{top:24px;font-size:.42rem}.compact-story-page .story-chapter-media,.story-page .story-chapter-media{height:105px;min-height:105px}.compact-story-page .story-chapter-body,.story-page .story-chapter-body{display:block;padding:13px 14px 14px}.compact-story-page .story-chapter-kicker,.story-page .story-chapter-kicker{font-size:.48rem}.compact-story-page .story-chapter h3,.story-page .story-chapter h3{font-size:1.03rem;line-height:1.2;margin:.5em 0 .35em}.compact-story-page .story-summary,.story-page .story-summary{font-size:.69rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.compact-story-page .story-chapter-meta,.story-page .story-chapter-meta{border:0;border-top:1px solid var(--line);padding:9px 0 0;margin-top:10px;gap:7px}.compact-story-page .story-location,.story-page .story-location{font-size:.61rem!important;line-height:1.35!important}.compact-story-page .story-location span,.story-page .story-location span{display:inline;margin-right:5px;font-size:.45rem}.compact-story-page .story-metadata-block small,.story-page .story-metadata-block small{display:none}.compact-story-page .story-chapter .tags,.story-page .story-chapter .tags{gap:4px}.compact-story-page .story-chapter .tags span,.story-page .story-chapter .tags span{font-size:.5rem;padding:3px 5px}.compact-story-page .story-more,.story-page .story-more{font-size:.59rem;margin-top:3px}.compact-story-page .thematic-node span,.story-page .thematic-node span{font-size:.56rem}.compact-story-page .photo-evidence-section,.story-page .photo-evidence-section{padding:34px 0 42px}.compact-story-page .photo-evidence-head,.story-page .photo-evidence-head{margin-bottom:16px}.compact-story-page .photo-evidence-grid,.story-page .photo-evidence-grid{grid-template-columns:repeat(3,1fr);gap:10px}.compact-story-page .photo-evidence-card,.story-page .photo-evidence-card,.compact-story-page .photo-evidence-card.photo-evidence-featured,.story-page .photo-evidence-card.photo-evidence-featured{grid-row:auto;grid-template-rows:145px auto}.compact-story-page .photo-evidence-card figcaption,.story-page .photo-evidence-card figcaption{padding:10px 11px}.compact-story-page .photo-evidence-card span,.story-page .photo-evidence-card span{display:none}

@media(max-width:1050px){.compact-home-layout{grid-template-columns:1fr .68fr;gap:28px}.portfolio-route-grid{grid-template-columns:repeat(2,1fr)}.compact-story-page .story-layout,.story-page .story-layout{grid-template-columns:1fr}.compact-story-page .story-map-column,.story-page .story-map-column{position:relative;top:auto}.compact-story-page .story-map,.compact-story-page .story-map-fallback,.story-page .story-map,.story-page .story-map-fallback{height:330px}}
@media(max-width:780px){.compact-home-hero{padding:34px 0}.compact-home-layout,.compact-section-head{grid-template-columns:1fr}.compact-profile-panel{max-width:460px}.compact-stats{grid-template-columns:repeat(2,1fr)}.compact-stats .stat:nth-child(2){border-right:0}.compact-stats .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.portfolio-route-grid{grid-template-columns:1fr 1fr}.compact-story-page .story-cover-inner{grid-template-columns:1fr}.compact-story-page .story-cover-visual{display:none}.compact-story-page .story-chapters,.story-page .story-chapters{grid-template-columns:1fr}.compact-story-page .photo-evidence-grid,.story-page .photo-evidence-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.portfolio-route-grid{grid-template-columns:1fr}.compact-route{display:none}.compact-profile-copy{grid-template-columns:88px 1fr}.compact-story-page .photo-evidence-grid,.story-page .photo-evidence-grid{grid-template-columns:1fr}}
/* Compact-map contrast and numbering corrections */
.compact-story-page .story-step,.story-page .story-step{position:relative}
.thematic-core{color:#fff}
.thematic-node{color:var(--text)}
.thematic-node.active{color:#fff}
.story-theme-teaching .story-map-shell:before{content:"Instruction index"}
.story-theme-skills .story-map-shell:before{content:"Capability index"}
.story-theme-training .story-map-shell:before{content:"Learning index"}
.story-theme-links .story-map-shell:before{content:"Navigation index"}
.story-theme-news .story-map-shell:before{content:"Update index"}
.compact-story-page .story-more,.story-page .story-more{background:transparent;border:0;border-bottom:1px solid var(--accent);border-radius:0;padding:0 0 2px;color:var(--primary)}

/* ============================================================
   SINGLE-COLUMN COMPACT STORY FLOW
   One short, scrollable record per row; no multi-card grid.
   ============================================================ */
.compact-story-page .story-chapters,
.story-page .story-chapters{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.compact-story-page .story-chapter,
.story-page .story-chapter{
  display:grid;
  grid-template-columns:42px 148px minmax(0,1fr);
  grid-template-areas:"step media body";
  min-height:168px;
  max-height:184px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:2px;
  background:var(--surface);
  box-shadow:none;
}
.compact-story-page .story-chapter.is-active,
.story-page .story-chapter.is-active{
  border-color:color-mix(in srgb,var(--primary) 70%,var(--line));
  box-shadow:5px 5px 0 color-mix(in srgb,var(--accent) 13%,transparent);
}
.compact-story-page .story-step,
.story-page .story-step{
  grid-area:step;
  padding:48px 4px 8px;
  border-right:1px solid var(--line);
  font-size:1.2rem;
  align-items:flex-start;
}
.compact-story-page .story-step::after,
.story-page .story-step::after{
  top:25px;
  font-size:.4rem;
}
.compact-story-page .story-chapter-media,
.story-page .story-chapter-media{
  grid-area:media;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  border:0;
  border-right:1px solid var(--line);
  border-radius:0;
}
.compact-story-page .story-chapter-media img,
.story-page .story-chapter-media img{
  height:100%;
  object-fit:cover;
}
.compact-story-page .story-chapter-body,
.story-page .story-chapter-body{
  grid-area:body;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);
  gap:18px;
  align-items:center;
  min-width:0;
  padding:15px 18px;
}
.compact-story-page .story-chapter-main,
.story-page .story-chapter-main{
  min-width:0;
}
.compact-story-page .story-chapter-kicker,
.story-page .story-chapter-kicker{
  font-size:.48rem;
}
.compact-story-page .story-chapter h3,
.story-page .story-chapter h3{
  margin:.42em 0 .3em;
  font-size:1.08rem;
  line-height:1.18;
}
.compact-story-page .story-summary,
.story-page .story-summary{
  margin:0;
  font-size:.69rem;
  line-height:1.48;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.compact-story-page .story-chapter-meta,
.story-page .story-chapter-meta{
  align-self:stretch;
  justify-content:center;
  gap:7px;
  margin:0;
  padding:0 0 0 16px;
  border:0;
  border-left:1px solid var(--line);
}
.compact-story-page .story-location,
.story-page .story-location{
  font-size:.59rem!important;
  line-height:1.35!important;
}
.compact-story-page .story-chapter .tags,
.story-page .story-chapter .tags{
  max-height:38px;
  overflow:hidden;
}
.compact-story-page .story-chapter .tags span,
.story-page .story-chapter .tags span{
  font-size:.48rem;
  padding:3px 5px;
}
.compact-story-page .story-more,
.story-page .story-more{
  margin-top:1px;
  font-size:.58rem;
}

@media(max-width:780px){
  .compact-story-page .story-chapter,
  .story-page .story-chapter{
    grid-template-columns:38px 116px minmax(0,1fr);
    min-height:158px;
    max-height:178px;
  }
  .compact-story-page .story-chapter-body,
  .story-page .story-chapter-body{
    display:block;
    padding:13px 14px;
  }
  .compact-story-page .story-chapter-meta,
  .story-page .story-chapter-meta{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:9px;
    padding:8px 0 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .compact-story-page .story-metadata-block,
  .story-page .story-metadata-block{
    display:none;
  }
  .compact-story-page .story-location,
  .story-page .story-location{
    max-width:62%;
  }
}

@media(max-width:520px){
  .compact-story-page .story-chapter,
  .story-page .story-chapter{
    grid-template-columns:34px 92px minmax(0,1fr);
    min-height:150px;
    max-height:170px;
  }
  .compact-story-page .story-step,
  .story-page .story-step{
    padding-top:44px;
    font-size:1rem;
  }
  .compact-story-page .story-chapter-body,
  .story-page .story-chapter-body{
    padding:11px 12px;
  }
  .compact-story-page .story-chapter h3,
  .story-page .story-chapter h3{
    font-size:.94rem;
  }
  .compact-story-page .story-summary,
  .story-page .story-summary{
    -webkit-line-clamp:2;
    font-size:.64rem;
  }
  .compact-story-page .story-location,
  .story-page .story-location{
    display:none!important;
  }
  .compact-story-page .story-chapter-meta,
  .story-page .story-chapter-meta{
    justify-content:flex-start;
  }
}

/* ============================================================
   BALANCED STORY RECORDS — slightly taller, landscape media
   ============================================================ */
@media(min-width:781px){
  .compact-story-page .story-chapter,
  .story-page .story-chapter{
    grid-template-columns:44px 245px minmax(0,1fr);
    min-height:210px;
    max-height:226px;
  }
  .compact-story-page .story-step,
  .story-page .story-step{
    padding-top:62px;
  }
  .compact-story-page .story-step::after,
  .story-page .story-step::after{
    top:35px;
  }
  .compact-story-page .story-chapter-media,
  .story-page .story-chapter-media{
    display:flex;
    align-items:center;
    justify-content:center;
    aspect-ratio:16/10;
    height:100%;
    padding:7px;
    background:color-mix(in srgb,var(--surface2) 82%,var(--surface));
  }
  .compact-story-page .story-chapter-media img,
  .story-page .story-chapter-media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
  }
  .compact-story-page .story-chapter-body,
  .story-page .story-chapter-body{
    padding:18px 20px;
  }
  .compact-story-page .story-chapter h3,
  .story-page .story-chapter h3{
    font-size:1.16rem;
  }
  .compact-story-page .story-summary,
  .story-page .story-summary{
    font-size:.72rem;
    line-height:1.52;
    -webkit-line-clamp:4;
  }
}

@media(max-width:780px){
  .compact-story-page .story-chapter-media,
  .story-page .story-chapter-media{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:5px;
    background:color-mix(in srgb,var(--surface2) 82%,var(--surface));
  }
  .compact-story-page .story-chapter-media img,
  .story-page .story-chapter-media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
  }
}

/* ============================================================
   PROFESSOR-ORIENTED COMPACT PAGE HEADER
   Removes the decorative dossier and presents a concise academic masthead.
   ============================================================ */
.professor-cover{
  padding:30px 0 32px!important;
  border-bottom-width:3px!important;
  background:linear-gradient(110deg,#142f49 0%,#1b3a53 68%,#274c54 120%)!important;
}
.professor-cover .story-cover-grid{
  opacity:.12;
  background-size:52px 52px;
}
.professor-cover .story-cover-inner{
  display:block!important;
  max-width:1180px;
}
.professor-cover .story-cover-copy{
  max-width:990px;
}
.professor-cover .breadcrumbs{
  margin:0 0 10px!important;
  color:rgba(255,255,255,.64);
}
.professor-cover .eyebrow{
  display:block;
  margin-bottom:5px;
  color:#e0c887!important;
  font-size:.66rem;
}
.professor-cover h1{
  max-width:none;
  margin:.08em 0 .16em!important;
  font-size:clamp(2.25rem,4.1vw,3.7rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
.professor-cover .lead{
  max-width:900px!important;
  margin:0!important;
  font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;
  font-size:.96rem!important;
  line-height:1.58!important;
  color:rgba(255,255,255,.8)!important;
}
.professor-cover .story-cover-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:17px!important;
}
.professor-cover .story-cover-actions .button{
  min-height:38px;
  padding:8px 14px;
  font-size:.76rem;
}
.professor-cover .story-cover-focus{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 13px;
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.74);
}
.professor-cover .story-cover-focus strong{
  color:#e0c887;
  font-size:.58rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.professor-cover .story-cover-focus span{
  position:relative;
  font-size:.69rem;
}
.professor-cover .story-cover-focus span+span::before{
  content:"·";
  position:absolute;
  left:-9px;
  color:rgba(255,255,255,.35);
}
@media(max-width:780px){
  .professor-cover{padding:24px 0 26px!important}
  .professor-cover h1{font-size:clamp(2rem,10vw,3rem)!important}
  .professor-cover .lead{font-size:.86rem!important}
  .professor-cover .story-cover-focus{gap:6px 12px}
}


/* COVER REMOVED: compact inline page identity */
.no-story-cover .spatial-story{padding-top:20px!important}
.no-story-cover .story-intro{padding-top:0}
.no-story-cover .story-intro .inline-page-title{
  margin:0 0 .08em;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.8vw,3.15rem);
  line-height:1.02;
  letter-spacing:-.035em;
  color:var(--primary2);
}
.no-story-cover .story-intro .inline-page-title + h2{
  margin-top:.35em;
  font-size:clamp(1.3rem,2.2vw,1.75rem);
}
@media(max-width:760px){
  .no-story-cover .spatial-story{padding-top:14px!important}
  .no-story-cover .story-intro .inline-page-title{font-size:2.15rem}
}


/* ============================================================
   PRESERVED TRAINING VISUAL EVIDENCE
   Keeps the professor-friendly image evidence section visible
   after removal of the large opening banner.
   ============================================================ */
.photo-evidence-preserved{
  display:block!important;
  padding:52px 0 58px!important;
  background:color-mix(in srgb,var(--surface2) 68%,var(--bg))!important;
  border-top:1px solid var(--line);
}
.photo-evidence-preserved .photo-evidence-head{
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(330px,.7fr)!important;
  gap:34px 48px!important;
  align-items:end;
  margin-bottom:24px!important;
}
.photo-evidence-preserved .photo-evidence-head .eyebrow{
  grid-column:1/-1!important;
  margin-bottom:-24px!important;
}
.photo-evidence-preserved .photo-evidence-head h2{
  font-size:clamp(1.9rem,3vw,2.75rem)!important;
}
.photo-evidence-preserved .photo-evidence-head p{
  display:block!important;
}
.photo-evidence-preserved .photo-evidence-grid{
  display:grid!important;
  grid-template-columns:1.15fr .85fr!important;
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:14px!important;
}
.photo-evidence-preserved .photo-evidence-card{
  display:grid!important;
  grid-template-rows:180px auto!important;
  min-height:0!important;
}
.photo-evidence-preserved .photo-evidence-card.photo-evidence-featured{
  grid-row:1 / span 2!important;
  grid-template-rows:minmax(380px,1fr) auto!important;
}
.photo-evidence-preserved .photo-evidence-card img{
  object-fit:cover!important;
}
.photo-evidence-preserved .photo-evidence-card figcaption{
  padding:14px 16px 16px!important;
}
.photo-evidence-preserved .photo-evidence-card span{
  display:block!important;
}
@media(max-width:900px){
  .photo-evidence-preserved .photo-evidence-head{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .photo-evidence-preserved .photo-evidence-head .eyebrow{
    grid-column:auto!important;
    margin-bottom:0!important;
  }
  .photo-evidence-preserved .photo-evidence-grid{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:auto!important;
  }
  .photo-evidence-preserved .photo-evidence-card.photo-evidence-featured{
    grid-column:1/-1!important;
    grid-row:auto!important;
    grid-template-rows:320px auto!important;
  }
  .photo-evidence-preserved .photo-evidence-card{
    grid-template-rows:200px auto!important;
  }
}
@media(max-width:600px){
  .photo-evidence-preserved{padding:38px 0 44px!important}
  .photo-evidence-preserved .photo-evidence-grid{
    grid-template-columns:1fr!important;
  }
  .photo-evidence-preserved .photo-evidence-card.photo-evidence-featured,
  .photo-evidence-preserved .photo-evidence-card{
    grid-column:auto!important;
    grid-template-rows:230px auto!important;
  }
}

/* ============================================================
   PUBLICATIONS PAGE REFINEMENT
   - no navigator below the map
   - taller / more dynamic map shell
   - publication cards keep original compact feel
   - venue shown at top-right with details link below
   ============================================================ */
.story-page[data-story-page="publications"] .story-map-shell{display:flex;flex-direction:column;min-height:clamp(700px,78vh,920px)}
.story-page[data-story-page="publications"] .story-map,
.story-page[data-story-page="publications"] .story-map-fallback{height:clamp(470px,58vh,700px);flex:1 1 auto}
.story-page[data-story-page="publications"] .story-map-caption{min-height:96px}

.story-page[data-story-page="publications"] .story-chapter{min-height:210px;max-height:none}
.story-page[data-story-page="publications"] .story-chapter-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.62fr);gap:18px;align-items:center;padding:18px 20px}
.story-page[data-story-page="publications"] .story-chapter-main{display:block;min-width:0}
.story-page[data-story-page="publications"] .story-chapter h3{font-size:1.08rem;line-height:1.2;margin:.42em 0 .3em}
.story-page[data-story-page="publications"] .story-publication-authors{margin:0;color:var(--muted);font-size:.68rem;line-height:1.48;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.story-page[data-story-page="publications"] .story-publication-authors span,
.story-page[data-story-page="publications"] .story-publication-venue span{display:block;margin-bottom:4px;color:var(--accent);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850}
.story-page[data-story-page="publications"] .story-chapter-meta{align-self:stretch;justify-content:flex-start;gap:10px;padding:0 0 0 16px;border-left:1px solid var(--line)}
.story-page[data-story-page="publications"] .story-publication-venue{margin:0;color:var(--primary2);font-size:.66rem;line-height:1.45}
.story-page[data-story-page="publications"] .story-location{font-size:.6rem!important;line-height:1.38!important;color:var(--muted)!important}
.story-page[data-story-page="publications"] .story-more{margin-top:auto;font-size:.6rem}

@media(max-width:1050px){
  .story-page[data-story-page="publications"] .story-map-shell{min-height:0}
  .story-page[data-story-page="publications"] .story-map,
  .story-page[data-story-page="publications"] .story-map-fallback{height:420px}
}

@media(max-width:780px){
  .story-page[data-story-page="publications"] .story-map,
  .story-page[data-story-page="publications"] .story-map-fallback{height:360px}
  .story-page[data-story-page="publications"] .story-chapter{min-height:168px}
  .story-page[data-story-page="publications"] .story-chapter-body{display:block;padding:13px 14px}
  .story-page[data-story-page="publications"] .story-chapter-meta{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px;padding:9px 0 0;border-left:0;border-top:1px solid var(--line)}
  .story-page[data-story-page="publications"] .story-publication-authors{font-size:.64rem;-webkit-line-clamp:2}
  .story-page[data-story-page="publications"] .story-publication-venue{font-size:.62rem}
}

@media(max-width:520px){
  .story-page[data-story-page="publications"] .story-map,
  .story-page[data-story-page="publications"] .story-map-fallback{height:320px}
  .story-page[data-story-page="publications"] .story-chapter{min-height:154px}
  .story-page[data-story-page="publications"] .story-publication-authors{font-size:.61rem}
  .story-page[data-story-page="publications"] .story-location{display:none!important}
}


/* Header refinement: remove logo mark and keep bold larger name */
.brand-text-only{display:flex;align-items:center;margin-right:auto}
.brand-text-only strong{font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;line-height:1.1;font-weight:700;letter-spacing:.01em;color:var(--primary2)}
.brand .brand-mark{display:none!important}
.brand-text-only small{display:none!important}
@media(max-width:720px){.brand-text-only strong{font-size:1.08rem}}


/* Home stats redesign */
.compact-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:28px;
  background:transparent;
  border:0;
}
.compact-stats .stat{
  position:relative;
  padding:18px 18px 16px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,var(--surface) 0%,color-mix(in srgb,var(--surface2) 28%,var(--surface)) 100%);
  box-shadow:8px 8px 0 color-mix(in srgb,var(--primary) 7%,transparent);
  overflow:hidden;
  min-height:122px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.compact-stats .stat::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:4px;
  background:linear-gradient(90deg,var(--accent),var(--primary));
}
.compact-stats .stat strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.28rem;
  line-height:1.15;
  color:var(--primary2);
  margin-top:2px;
}
.compact-stats .stat span{
  display:block;
  font-size:.77rem;
  line-height:1.45;
  color:var(--muted);
  margin-top:8px;
}
.compact-stats .stat-logo{
  width:86px;
  height:34px;
  margin:0 0 10px;
  display:flex;
  align-items:center;
}
.compact-stats .stat-logo img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.compact-stats .stat-with-logo strong{font-size:1.12rem}
@media(max-width:980px){
  .compact-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:780px){
  .compact-stats{grid-template-columns:repeat(2,1fr);gap:12px}
  .compact-stats .stat{min-height:118px;padding:16px 15px 14px;box-shadow:6px 6px 0 color-mix(in srgb,var(--primary) 7%,transparent)}
  .compact-stats .stat strong{font-size:1.12rem}
  .compact-stats .stat span{font-size:.72rem}
}
@media(max-width:520px){
  .compact-stats{grid-template-columns:1fr}
}


/* Final home-page refinements */
.compact-home-hero{
  padding:20px 0 26px;
}
.compact-home-copy h1{
  margin-top:0;
}
.compact-home-copy .academic-label,
.compact-home-copy .availability{
  display:none!important;
}
.compact-stats{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-top:20px;
}
.compact-stats .stat{
  min-height:108px;
  padding:14px 12px 12px;
  box-shadow:5px 5px 0 color-mix(in srgb,var(--primary) 7%,transparent);
}
.compact-stats .stat strong{
  font-size:1.02rem;
}
.compact-stats .stat span{
  font-size:.66rem;
  line-height:1.4;
}
.compact-stats .stat-logo{
  width:72px;
  height:28px;
  margin-bottom:8px;
}
.compact-stats .stat-with-logo strong{
  font-size:.96rem;
}
@media(max-width:1180px){
  .compact-stats{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:780px){
  .compact-home-hero{padding:18px 0 24px;}
  .compact-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
}
@media(max-width:520px){
  .compact-stats{grid-template-columns:1fr;}
}


/* Full-width achievement row and top-aligned profile panel */
.compact-home-layout{
  align-items:start;
}
.compact-profile-panel{
  align-self:start;
  margin-top:0;
}
.compact-stats{
  grid-column:1 / -1;
  width:100%;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  margin-top:8px;
}
.compact-stats .stat{
  min-height:98px;
  aspect-ratio:auto;
  padding:14px 14px 13px;
}
.compact-stats .stat strong{
  font-size:1.02rem;
  line-height:1.18;
}
.compact-stats .stat span{
  font-size:.66rem;
  line-height:1.42;
}
.compact-stats .stat:nth-child(4) strong{
  font-size:.92rem;
  line-height:1.18;
}
.compact-stats .stat-logo{
  width:68px;
  height:26px;
}
@media(max-width:1180px){
  .compact-stats{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:780px){
  .compact-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px;}
}
@media(max-width:520px){
  .compact-stats{grid-template-columns:1fr;}
}


/* Final home alignment: compact first row, higher achievement row, larger Esri logo */
.compact-home-layout{
  column-gap:52px;
  row-gap:10px;
}
.compact-home-copy{
  padding-top:2px;
}
.compact-home-copy .academic-keywords,
.compact-home-copy .hero-actions{
  display:none!important;
}
.compact-stats{
  margin-top:0;
}
.compact-stats .stat-with-logo{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  grid-template-rows:auto auto;
  grid-template-areas:
    "logo value"
    "logo label";
  column-gap:12px;
  align-content:center;
  align-items:center;
  padding:12px 14px;
}
.compact-stats .stat-with-logo .stat-logo{
  grid-area:logo;
  width:64px;
  height:64px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.compact-stats .stat-with-logo .stat-logo img{
  width:58px;
  height:58px;
  max-width:none;
  max-height:none;
  object-fit:contain;
}
.compact-stats .stat-with-logo strong{
  grid-area:value;
  align-self:end;
  margin:0;
  font-size:1.04rem;
}
.compact-stats .stat-with-logo span{
  grid-area:label;
  align-self:start;
  margin-top:5px;
}
@media(max-width:1180px){
  .compact-home-layout{row-gap:14px;}
}
@media(max-width:780px){
  .compact-home-layout{row-gap:12px;}
  .compact-stats .stat-with-logo{grid-template-columns:56px minmax(0,1fr);}
  .compact-stats .stat-with-logo .stat-logo{width:56px;height:56px;}
  .compact-stats .stat-with-logo .stat-logo img{width:50px;height:50px;}
}


/* Remove research-direction and journey area; lift achievements upward */
.compact-profile-panel .compact-route{display:none!important}
.compact-home-layout{row-gap:0}
.compact-profile-copy{padding-bottom:8px}
.compact-stats{margin-top:-2px}
@media(max-width:780px){
  .compact-home-layout{row-gap:8px}
  .compact-stats{margin-top:0}
}


/* Overlap fix for home hero layout */
.compact-home-layout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(380px,.72fr);
  grid-template-areas:
    "copy profile"
    "stats stats";
  align-items:start;
  column-gap:52px;
  row-gap:18px;
}
.compact-home-copy{grid-area:copy;padding-top:2px}
.compact-profile-panel{grid-area:profile;align-self:start;margin-top:0}
.compact-stats{
  grid-area:stats;
  grid-column:auto;
  width:100%;
  margin-top:0;
  align-self:start;
}
.compact-profile-copy{padding-bottom:8px}
.compact-profile-panel .compact-route{display:none!important}

@media(max-width:1180px){
  .compact-home-layout{
    grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);
    row-gap:16px;
  }
}
@media(max-width:900px){
  .compact-home-layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "copy"
      "profile"
      "stats";
    row-gap:14px;
  }
  .compact-profile-panel{max-width:560px}
}
@media(max-width:780px){
  .compact-home-layout{row-gap:12px}
}


/* Final home stat cards: horizontal rectangles, no overlap */
.compact-home-layout{
  row-gap:16px;
}
.compact-stats{
  grid-area:stats;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
  margin-top:12px;
}
.compact-stats .stat{
  min-height:88px;
  padding:12px 14px 11px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  aspect-ratio:auto;
  box-shadow:5px 5px 0 color-mix(in srgb,var(--primary) 6%,transparent);
}
.compact-stats .stat strong{
  font-size:.98rem;
  line-height:1.12;
  margin:0;
}
.compact-stats .stat span{
  margin-top:7px;
  font-size:.61rem;
  line-height:1.35;
}
.compact-stats .stat:nth-child(4) strong{
  font-size:.96rem;
}
.compact-stats .stat:nth-child(4) span{
  font-size:.60rem;
}
.compact-stats .stat-with-logo{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  grid-template-areas:
    "logo value"
    "logo label";
  align-items:center;
  column-gap:12px;
}
.compact-stats .stat-with-logo .stat-logo{
  grid-area:logo;
  width:74px;
  height:74px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin:0;
}
.compact-stats .stat-with-logo .stat-logo img{
  width:68px;
  height:68px;
  object-fit:contain;
}
.compact-stats .stat-with-logo strong{
  grid-area:value;
  font-size:1rem;
}
.compact-stats .stat-with-logo span{
  grid-area:label;
  margin-top:4px;
}
@media(max-width:1320px){
  .compact-stats{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:780px){
  .compact-home-layout{row-gap:14px;}
  .compact-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px;gap:12px;}
}
@media(max-width:520px){
  .compact-stats{grid-template-columns:1fr;}
}


/* Home social links section */
.home-social-section{
  padding:12px 0 34px;
}
.home-social-wrap{
  border-top:1px solid var(--line);
  padding-top:18px;
}
.home-social-icons{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:18px;
}
.home-social-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  min-width:62px;
  color:var(--primary2);
}
.home-social-glyph{
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--primary2);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:800;
  font-size:.88rem;
  letter-spacing:.03em;
  box-shadow:5px 5px 0 color-mix(in srgb,var(--primary) 7%,transparent);
}
.home-social-link small{
  font-size:.63rem;
  line-height:1.2;
  color:var(--muted);
  text-align:center;
}
.home-social-link:hover .home-social-glyph{
  transform:translateY(-2px);
}
.home-social-link.is-disabled{
  opacity:.7;
  pointer-events:none;
}
.home-social-actions{
  display:flex;
  justify-content:center;
  margin-top:18px;
}
.home-cv-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:210px;
  padding:14px 24px;
  border-radius:999px;
  background:#6f7784;
  color:#fff;
  font-weight:700;
  border:1px solid #6f7784;
}
.home-cv-button:hover{
  filter:brightness(.97);
}
@media(max-width:780px){
  .home-social-section{padding:8px 0 28px}
  .home-social-icons{gap:14px}
  .home-social-glyph{width:42px;height:42px;font-size:.8rem}
  .home-cv-button{min-width:180px;padding:12px 22px}
}

/* Undergraduate wetland research detail */
.research-detail-page{background:linear-gradient(180deg,color-mix(in srgb,var(--surface2) 38%,var(--bg)) 0,var(--bg) 620px)}
.research-detail-hero{padding:66px 0 52px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary2) 96%,#000),color-mix(in srgb,var(--primary) 82%,var(--primary2)));color:#fff;border-bottom:0}
.research-detail-hero .breadcrumbs,.research-detail-hero .lead{color:rgba(255,255,255,.74)}
.research-detail-hero .eyebrow{color:#fbbf24}
.research-detail-hero h1{font-size:clamp(2.45rem,5.3vw,4.75rem);max-width:1100px;letter-spacing:-.045em}
.research-hero-tags{margin-top:24px}
.research-detail-hero .tags span{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.2);color:#fff}
.research-detail-opening{padding-top:40px}
.research-detail-visual{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.research-detail-visual img{width:100%;aspect-ratio:1500/760;object-fit:cover}
.research-detail-visual figcaption,.research-media figcaption{padding:11px 16px;color:var(--muted);font-size:.75rem;border-top:1px solid var(--line);background:var(--surface)}
.research-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0 42px;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.research-fact{padding:20px 22px;min-width:0}
.research-fact+.research-fact{border-left:1px solid var(--line)}
.research-fact strong{display:block;color:var(--primary);font-size:1.35rem;line-height:1.2}
.research-fact span{display:block;margin-top:5px;color:var(--muted);font-size:.78rem}
.research-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:52px;align-items:start}
.research-detail-content{min-width:0}
.research-section{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);gap:22px;padding:0 0 58px;margin-bottom:58px;border-bottom:1px solid var(--line);scroll-margin-top:105px}
.research-section:last-child{margin-bottom:0}
.research-section-no{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--primary2);color:var(--bg);font-family:Georgia,"Times New Roman",serif;font-size:.85rem;font-weight:800;box-shadow:0 0 0 7px color-mix(in srgb,var(--primary) 9%,transparent)}
.research-section h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.85rem,3vw,2.75rem);line-height:1.12;margin:.25em 0 .55em;color:var(--primary2)}
.research-section p{margin:.65em 0;color:var(--muted)}
.research-note{margin:22px 0 0;padding:16px 18px;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--muted)}
.research-note strong{color:var(--text)}
.research-question-grid,.contribution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.research-question-grid>div,.contribution-grid>div{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.research-question-grid strong,.contribution-grid strong{color:var(--primary2);font-size:.94rem}
.research-question-grid p,.contribution-grid p{font-size:.82rem;line-height:1.55;margin:.45em 0 0}
.research-media{margin:25px 0 0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface)}
.research-media img{width:100%;max-height:640px;object-fit:contain;background:#fff}
.research-media-tall img{max-height:760px}
.research-media-wide img{max-height:620px}
.research-media-chart{max-width:720px}
.method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:26px 0}
.method-grid>div{position:relative;padding:19px 18px 17px 54px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.method-grid span{position:absolute;left:16px;top:19px;color:var(--accent);font-size:.7rem;font-weight:850}
.method-grid strong{display:block;color:var(--primary2);font-size:.9rem}
.method-grid p{font-size:.78rem;line-height:1.5;margin:.4em 0 0}
.finding-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}
.finding-card{padding:19px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.finding-card strong{display:block;color:var(--primary);font-size:1.35rem;line-height:1.2}
.finding-card span{display:block;margin-top:5px;color:var(--primary2);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.finding-card p{font-size:.78rem;line-height:1.48;margin:.45em 0 0}
.finding-grid-compact{grid-template-columns:repeat(3,1fr)}
.research-inline-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:24px 0}
.research-inline-metrics div{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}
.research-inline-metrics strong{display:block;color:var(--primary);font-size:1.02rem}
.research-inline-metrics span{display:block;margin-top:4px;color:var(--muted);font-size:.66rem;line-height:1.35}
.contribution-grid{grid-template-columns:repeat(2,1fr)}
.research-role-card{padding:23px 24px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.research-role-card p{margin:.48em 0}
.research-role-card strong{color:var(--primary2)}
.research-limitations{padding-left:20px;color:var(--muted)}
.research-limitations li{margin:.65em 0;padding-left:5px}
.research-sidebar{position:sticky;top:105px;display:grid;gap:14px}
.research-sidebar-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.research-sidebar-card h3{font-family:Georgia,"Times New Roman",serif;line-height:1.25;margin:.42em 0 .8em;color:var(--primary2)}
.research-sidebar-card dl{margin:0}
.research-sidebar-card dl div{padding:10px 0;border-top:1px solid var(--line)}
.research-sidebar-card dt{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.research-sidebar-card dd{margin:2px 0 0;color:var(--text);font-size:.8rem;line-height:1.45;font-weight:650}
.research-anchor-nav{display:grid}
.research-anchor-nav a{padding:8px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.77rem;font-weight:650}
.research-anchor-nav a:last-child{border-bottom:0}
.research-anchor-nav a:hover{color:var(--primary);padding-left:4px}
.research-sidebar-card .tags{margin-top:12px;gap:6px}
.research-sidebar-card .tags span{font-size:.62rem;padding:5px 7px}
.research-detail-footer-cta{margin-top:60px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid var(--line);border-radius:22px;background:var(--primary2);color:#fff}
.research-detail-footer-cta h2{font-family:Georgia,"Times New Roman",serif;margin:.25em 0 0;font-size:1.7rem;line-height:1.2}
.research-detail-footer-cta .eyebrow{color:#fbbf24}
.research-detail-footer-cta .button{background:#fff;color:var(--primary2);border-color:#fff;white-space:nowrap}
@media(max-width:1050px){.research-detail-layout{grid-template-columns:1fr}.research-sidebar{position:static;grid-template-columns:repeat(3,1fr)}.research-anchor-nav{display:none}.research-question-grid{grid-template-columns:1fr}.research-inline-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.research-detail-hero{padding:48px 0 42px}.research-detail-hero h1{font-size:2.5rem}.research-facts{grid-template-columns:repeat(2,1fr)}.research-fact:nth-child(3){border-left:0;border-top:1px solid var(--line)}.research-fact:nth-child(4){border-top:1px solid var(--line)}.research-section{grid-template-columns:1fr;gap:12px;padding-bottom:42px;margin-bottom:42px}.research-section-no{width:36px;height:36px}.method-grid,.finding-grid,.finding-grid-compact,.contribution-grid{grid-template-columns:1fr}.research-sidebar{grid-template-columns:1fr}.research-detail-footer-cta{display:block;padding:25px}.research-detail-footer-cta .button{margin-top:18px}.research-media-wide img{max-height:none}.research-detail-visual img{aspect-ratio:4/3}.research-question-grid{grid-template-columns:1fr}}

/* =========================================================
   ACADEMIC THESIS DETAIL — JOURNAL / FACULTY PROFILE STYLE
   ========================================================= */
.academic-research-page{background:#f3f1eb;color:#19242d}
.academic-research-page .site-header{background:rgba(248,247,243,.94)}
.academic-paper-hero{padding:24px 0 18px;background:#f8f7f3;border-bottom:1px solid #d5d1c8}
.academic-breadcrumbs{display:flex;gap:9px;align-items:center;margin-bottom:14px;color:#6c7378;font-size:.76rem}
.academic-breadcrumbs a{color:#163f61;font-weight:750}
.academic-paper-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(470px,1.12fr);gap:42px;align-items:start}
.academic-record-label,.academic-section-label{display:block;margin:0 0 8px;color:#8a651d;font-size:.66rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.academic-paper-heading h1{max-width:690px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.78rem,2.55vw,2.52rem);line-height:1.01;letter-spacing:-.018em;color:#122d43}
.academic-author-line{margin:11px 0 2px;font-family:Georgia,"Times New Roman",serif;font-size:.94rem;color:#263c4c}
.academic-affiliation{margin:0;color:#6c7378;font-size:.81rem;line-height:1.48}
.academic-keywords{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.academic-keywords span{padding:4px 7px;border:1px solid #cbc6bb;background:#fff;color:#4d5e69;font-size:.61rem;line-height:1.2}
.academic-cover-figure{margin:48px 0 0;border:1px solid #cbc6bb;background:#fff;padding:12px;box-shadow:9px 9px 0 #e3ded2;align-self:start;justify-self:end;max-width:660px;width:100%}
.academic-cover-figure img{display:block;width:100%;aspect-ratio:1500/760;object-fit:contain;object-position:center;background:#f8f7f3}
.academic-cover-figure figcaption,.academic-figure figcaption{padding:10px 3px 2px;color:#68737b;font-family:Georgia,"Times New Roman",serif;font-size:.72rem;line-height:1.5}
.academic-record-band{background:#122d43;color:#fff;border-bottom:4px solid #b68a35}
.academic-record-grid{display:grid;grid-template-columns:.75fr 1.35fr 1.15fr .95fr}
.academic-record-grid>div{padding:18px 22px;border-left:1px solid rgba(255,255,255,.14)}
.academic-record-grid>div:first-child{border-left:0}
.academic-record-grid span{display:block;color:#c8d1d8;font-size:.59rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.academic-record-grid strong{display:block;margin-top:4px;font-family:Georgia,"Times New Roman",serif;font-size:.84rem;line-height:1.35;font-weight:600}
.academic-paper-body{padding:58px 0 78px}
.academic-paper-layout{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:58px;align-items:start}
.academic-manuscript{min-width:0;background:#fff;border:1px solid #d5d1c8;padding:58px 66px;box-shadow:0 16px 42px rgba(25,36,45,.06)}
.academic-section{padding:0 0 44px;margin-bottom:44px;border-bottom:1px solid #ddd9d0;scroll-margin-top:102px}
.academic-section:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.academic-section h2{margin:.18em 0 .6em;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.72rem,2.7vw,2.45rem);line-height:1.22;color:#122d43}
.academic-section h3{margin:1.55em 0 .55em;font-family:Georgia,"Times New Roman",serif;font-size:1.34rem;color:#173b57}
.academic-section>p,.academic-section li{color:#46545d;font-family:Georgia,"Times New Roman",serif;font-size:1rem;line-height:1.82}
.academic-abstract>p:last-child{margin:0;font-size:1.06rem;color:#354650}
.academic-objectives{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.academic-objectives>div{padding:18px 19px;border-top:3px solid #b68a35;background:#f7f5f0}
.academic-objectives span{color:#7d5a17;font-size:.65rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.academic-objectives p{margin:.55em 0 0;color:#46545d;font-family:Georgia,"Times New Roman",serif;font-size:.9rem;line-height:1.65}
.academic-figure{margin:28px 0 0;padding:12px;border:1px solid #d4d0c7;background:#faf9f6}
.academic-figure img{width:100%;max-height:720px;object-fit:contain;background:#fff}
.academic-figure-map{max-width:700px}
.academic-figure-method img{max-height:790px}
.academic-figure-wide img{max-height:620px}
.academic-figure-chart{max-width:720px}
.academic-figure-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.academic-figure-pair .academic-figure{margin:0}
.academic-table-wrap{margin:24px 0 30px;overflow-x:auto;border-top:2px solid #173b57;border-bottom:1px solid #cfcac0}
.academic-table{width:100%;border-collapse:collapse;min-width:670px;font-size:.81rem;line-height:1.5}
.academic-table th{padding:11px 12px;background:#eef0f0;color:#173b57;text-align:left;font-size:.65rem;letter-spacing:.075em;text-transform:uppercase;border-bottom:1px solid #c6cbc9}
.academic-table td{padding:12px;border-bottom:1px solid #dedbd3;vertical-align:top;color:#45545d}
.academic-table tbody tr:last-child td{border-bottom:0}
.academic-table td:first-child{font-weight:750;color:#243b4c;width:21%}
.academic-results-table td:not(:first-child){white-space:nowrap}
.academic-authorship-box{margin-top:22px;border-left:4px solid #173b57;background:#f5f6f5;padding:11px 22px}
.academic-authorship-box dl{margin:0}
.academic-authorship-box dl>div{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:10px 0;border-bottom:1px solid #d9dddb}
.academic-authorship-box dl>div:last-child{border-bottom:0}
.academic-authorship-box dt{color:#7d5a17;font-size:.65rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.academic-authorship-box dd{margin:0;color:#45545d;font-family:Georgia,"Times New Roman",serif;font-size:.9rem;line-height:1.6}
.academic-limitations{margin:18px 0 0;padding-left:23px}
.academic-limitations li{margin:.6em 0;padding-left:4px}
.academic-research-sidebar{position:sticky;top:102px;display:grid;gap:15px}
.academic-sidebar-card{padding:20px;border:1px solid #d2cec5;background:#fbfaf7}
.academic-sidebar-card p{margin:.35em 0;color:#56636b;font-size:.78rem;line-height:1.62}
.academic-citation-card p:last-child{font-family:Georgia,"Times New Roman",serif}
.academic-sidebar-dl{margin:0}
.academic-sidebar-dl>div{padding:10px 0;border-top:1px solid #ddd9d1}
.academic-sidebar-dl>div:first-child{border-top:0;padding-top:0}
.academic-sidebar-dl dt{color:#7d5a17;font-size:.58rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.academic-sidebar-dl dd{margin:3px 0 0;color:#354650;font-size:.74rem;line-height:1.5}
.academic-page-nav{display:grid}
.academic-page-nav a{padding:8px 0;border-top:1px solid #ddd9d1;color:#53636d;font-size:.74rem;font-weight:680}
.academic-page-nav a:hover{color:#173b57;padding-left:3px}
.academic-back-button{display:block;padding:12px 16px;background:#173b57;color:#fff;text-align:center;font-size:.78rem;font-weight:800}
.academic-back-button:hover{background:#0f2e45}
@media(max-width:1050px){
  .academic-paper-grid{grid-template-columns:1fr}.academic-cover-figure{max-width:620px;margin-top:0}
  .academic-record-grid{grid-template-columns:1fr 1fr}.academic-record-grid>div:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.14)}.academic-record-grid>div:nth-child(4){border-top:1px solid rgba(255,255,255,.14)}
  .academic-paper-layout{grid-template-columns:1fr}.academic-research-sidebar{position:static;grid-template-columns:repeat(2,1fr)}.academic-page-nav{display:none}.academic-back-button{align-self:start}
}
@media(max-width:760px){
  .academic-paper-hero{padding:24px 0 22px}.academic-paper-heading h1{font-size:1.78rem;line-height:1.06}.academic-paper-grid{gap:22px}
  .academic-record-grid{grid-template-columns:1fr}.academic-record-grid>div{border-left:0;border-top:1px solid rgba(255,255,255,.14)}.academic-record-grid>div:first-child{border-top:0}
  .academic-paper-body{padding:34px 0 54px}.academic-paper-layout{gap:28px}.academic-manuscript{padding:34px 22px}
  .academic-section{padding-bottom:34px;margin-bottom:34px}.academic-section>p,.academic-section li{font-size:.96rem;line-height:1.72}
  .academic-objectives,.academic-figure-pair,.academic-research-sidebar{grid-template-columns:1fr}
  .academic-authorship-box dl>div{grid-template-columns:1fr;gap:3px}
}


/* Ongoing research detail-page refinements */
.academic-concept-figure{margin-top:24px}
.academic-concept-figure img{padding:18px;box-sizing:border-box;background:linear-gradient(135deg,#f7f8f6,#edf1ef);object-fit:contain}
.ongoing-research-table{min-width:580px}
.ongoing-research-table td:first-child{width:29%}
.academic-authorship-box>p{margin:.55em 0;color:#45545d;font-family:Georgia,"Times New Roman",serif;font-size:.9rem;line-height:1.65}
@media(max-width:1050px){.academic-concept-figure{margin-top:0}}

/* Harmonized research-record status treatment */
.story-page[data-story-page="research"] .story-chapter-kicker{display:block;min-height:2.15em;line-height:1.45}
.story-page[data-story-page="research"] .story-chapter:first-child .story-chapter-kicker{color:#8a651d}

/* ============================================================
   ACADEMIC CARD + PROFILE LINK REFINEMENT — August 2026
   Compact reviewer-friendly cards and real social-media marks.
   ============================================================ */
.home-social-icons{
  gap:16px;
}
.home-social-link{
  min-width:72px;
  gap:8px;
}
.home-social-glyph{
  width:46px;
  height:46px;
  padding:7px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  box-shadow:0 5px 16px rgba(15,39,68,.08);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.home-social-glyph img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.home-social-link small{
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.01em;
}
.home-social-link:hover .home-social-glyph{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--primary) 45%,var(--line));
  box-shadow:0 8px 20px rgba(15,39,68,.13);
}
.home-social-link.is-disabled{
  opacity:1;
}
.home-social-link.is-disabled .home-social-glyph{
  opacity:.82;
  filter:saturate(.78);
}
.home-cv-button{
  min-width:198px;
  padding:12px 19px;
  gap:12px;
  border-radius:8px;
  background:var(--primary2);
  border-color:var(--primary2);
  font-size:.82rem;
  letter-spacing:.015em;
  box-shadow:0 6px 18px rgba(15,39,68,.12);
}
.home-cv-button:hover{
  filter:none;
  transform:translateY(-1px);
  box-shadow:0 9px 22px rgba(15,39,68,.17);
}
.home-cv-arrow{
  font-size:.9rem;
  opacity:.78;
}

@media(min-width:781px){
  .story-page .story-chapter,
  .compact-story-page .story-chapter,
  .story-page[data-story-page="publications"] .story-chapter{
    grid-template-columns:44px 225px minmax(0,1fr);
    min-height:188px;
    max-height:204px;
  }
  .story-page .story-step,
  .compact-story-page .story-step{
    padding-top:56px;
  }
  .story-page .story-step::after,
  .compact-story-page .story-step::after{
    top:31px;
  }
  .story-page .story-chapter-body,
  .compact-story-page .story-chapter-body,
  .story-page[data-story-page="publications"] .story-chapter-body{
    display:grid;
    grid-template-columns:minmax(0,1fr) 102px;
    gap:14px;
    align-items:center;
    padding:15px 17px;
  }
  .story-page .story-chapter-meta,
  .compact-story-page .story-chapter-meta,
  .story-page[data-story-page="publications"] .story-chapter-meta{
    width:102px;
    min-width:102px;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0 0 0 13px;
    border-left:1px solid var(--line);
    border-top:0;
  }
}
.story-page .story-chapter,
.compact-story-page .story-chapter{
  border-color:color-mix(in srgb,var(--primary2) 18%,var(--line));
  background:color-mix(in srgb,var(--surface) 97%,var(--surface2));
}
.story-page .story-chapter.is-active,
.compact-story-page .story-chapter.is-active{
  border-color:color-mix(in srgb,var(--primary) 56%,var(--line));
  box-shadow:4px 4px 0 color-mix(in srgb,var(--accent) 10%,transparent);
}
.story-page .story-chapter h3,
.compact-story-page .story-chapter h3{
  margin:.34em 0 .27em;
  font-size:1.1rem;
  line-height:1.17;
}
.story-page .story-summary,
.compact-story-page .story-summary{
  font-size:.7rem;
  line-height:1.46;
  -webkit-line-clamp:3;
}
.story-page .story-metadata-block,
.compact-story-page .story-metadata-block,
.story-page .story-location,
.compact-story-page .story-location,
.story-page .story-publication-venue{
  display:none!important;
}
.story-page .story-publication-inline-venue{
  margin:.42rem 0 0;
  color:var(--primary2);
  font-size:.62rem;
  line-height:1.42;
}
.story-page .story-publication-inline-venue span{
  display:inline-block;
  margin-right:7px;
  color:var(--accent);
  font-size:.48rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.story-page .story-more,
.compact-story-page .story-more,
.story-page[data-story-page="publications"] .story-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:82px;
  margin:0;
  padding:8px 9px;
  border:1px solid color-mix(in srgb,var(--primary2) 30%,var(--line));
  border-radius:5px;
  background:var(--surface);
  color:var(--primary2);
  font-size:.61rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.story-page .story-more:hover,
.compact-story-page .story-more:hover{
  border-color:var(--primary);
  color:var(--primary);
  background:color-mix(in srgb,var(--primary) 5%,var(--surface));
}

@media(max-width:780px){
  .home-social-icons{gap:12px}
  .home-social-glyph{width:42px;height:42px;padding:6px}
  .story-page .story-chapter,
  .compact-story-page .story-chapter,
  .story-page[data-story-page="publications"] .story-chapter{
    grid-template-columns:36px 112px minmax(0,1fr);
    min-height:156px;
    max-height:178px;
  }
  .story-page .story-chapter-body,
  .compact-story-page .story-chapter-body,
  .story-page[data-story-page="publications"] .story-chapter-body{
    display:grid;
    grid-template-columns:minmax(0,1fr) 80px;
    gap:10px;
    padding:12px 13px;
  }
  .story-page .story-chapter-meta,
  .compact-story-page .story-chapter-meta,
  .story-page[data-story-page="publications"] .story-chapter-meta{
    width:80px;
    min-width:80px;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0 0 0 9px;
    border-top:0;
    border-left:1px solid var(--line);
  }
  .story-page .story-more,
  .compact-story-page .story-more{
    min-width:70px;
    padding:7px 7px;
    font-size:.56rem;
  }
}

@media(max-width:560px){
  .story-page .story-chapter,
  .compact-story-page .story-chapter,
  .story-page[data-story-page="publications"] .story-chapter{
    grid-template-columns:32px 88px minmax(0,1fr);
    min-height:148px;
    max-height:172px;
  }
  .story-page .story-chapter-body,
  .compact-story-page .story-chapter-body,
  .story-page[data-story-page="publications"] .story-chapter-body{
    display:block;
    padding:10px 11px;
  }
  .story-page .story-chapter-meta,
  .compact-story-page .story-chapter-meta,
  .story-page[data-story-page="publications"] .story-chapter-meta{
    width:auto;
    min-width:0;
    display:block;
    margin-top:7px;
    padding:7px 0 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .story-page .story-more,
  .compact-story-page .story-more{
    min-width:0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--primary);
  }
}

/* ============================================================
   LANDSCAPE CARD MEDIA — Aug 2026
   Gives research, publication, experience, education, training,
   skills, links, news, and CV cards a wider image stage so
   landscape figures and photographs fit more naturally.
   ============================================================ */
@media(min-width:781px){
  .story-page .story-chapter,
  .compact-story-page .story-chapter,
  .story-page[data-story-page="publications"] .story-chapter{
    grid-template-columns:44px clamp(235px,27vw,270px) minmax(0,1fr);
    min-height:186px;
    max-height:202px;
  }
  .story-page .story-chapter-media,
  .compact-story-page .story-chapter-media{
    padding:5px;
  }
  .story-page .story-chapter-media img,
  .compact-story-page .story-chapter-media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
  }
}

@media(min-width:561px) and (max-width:780px){
  .story-page .story-chapter,
  .compact-story-page .story-chapter,
  .story-page[data-story-page="publications"] .story-chapter{
    grid-template-columns:36px 128px minmax(0,1fr);
  }
}

@media(max-width:560px){
  .story-page .story-chapter,
  .compact-story-page .story-chapter,
  .story-page[data-story-page="publications"] .story-chapter{
    grid-template-columns:32px 98px minmax(0,1fr);
  }
}

/* ============================================================
   ALL-SECTION LANDSCAPE CARD MEDIA — Aug 2026
   Applies the approved landscape image treatment consistently
   across every portfolio section and every image-based card type.
   ============================================================ */

/* Story-record cards used by Research, Publications, Professional
   Experience, Education, Teaching, Expertise, Training, Contact & CV,
   Useful Links, and News. */
@media(min-width:781px){
  body.story-page[data-story-page] .story-chapter,
  body.compact-story-page[data-story-page] .story-chapter{
    grid-template-columns:44px clamp(235px,27vw,270px) minmax(0,1fr);
    min-height:186px;
    max-height:202px;
  }
  body.story-page[data-story-page] .story-chapter-media,
  body.compact-story-page[data-story-page] .story-chapter-media{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    min-height:0;
    padding:5px;
    background:color-mix(in srgb,var(--surface2) 82%,var(--surface));
  }
  body.story-page[data-story-page] .story-chapter-media img,
  body.compact-story-page[data-story-page] .story-chapter-media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
  }
}

@media(min-width:561px) and (max-width:780px){
  body.story-page[data-story-page] .story-chapter,
  body.compact-story-page[data-story-page] .story-chapter{
    grid-template-columns:36px 128px minmax(0,1fr);
  }
}

@media(max-width:560px){
  body.story-page[data-story-page] .story-chapter,
  body.compact-story-page[data-story-page] .story-chapter{
    grid-template-columns:32px 98px minmax(0,1fr);
  }
}

/* Blog-style cards used by Projects, Research Media, and any legacy
   section grids. The image panel now follows a clean 16:9 landscape frame. */
.blog-grid .blog-thumb,
.blog-grid-featured .blog-thumb{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16/9;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px;
  background:color-mix(in srgb,var(--surface2) 84%,var(--surface));
}
.blog-grid .blog-thumb img,
.blog-grid-featured .blog-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

/* Other image-based card systems kept in the package. */
.project-card .project-image,
.media-gallery-card img,
.gallery-card img{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:contain;
  object-position:center;
  padding:6px;
  background:color-mix(in srgb,var(--surface2) 84%,var(--surface));
}

/* Teaching and fieldwork evidence cards also use a consistent landscape
   image stage so wide photographs are shown without awkward cropping. */
.photo-evidence-card,
.photo-evidence-preserved .photo-evidence-card,
.photo-evidence-preserved .photo-evidence-card.photo-evidence-featured{
  grid-template-rows:auto auto!important;
}
.photo-evidence-card img,
.photo-evidence-preserved .photo-evidence-card img{
  width:100%;
  height:auto!important;
  aspect-ratio:16/9;
  object-fit:contain!important;
  object-position:center;
  padding:5px;
  background:color-mix(in srgb,var(--surface2) 84%,var(--surface));
}

@media(max-width:760px){
  .blog-grid-featured .blog-card{
    grid-template-columns:1fr;
  }
  .blog-grid .blog-thumb,
  .blog-grid-featured .blog-thumb,
  .project-card .project-image,
  .media-gallery-card img,
  .gallery-card img,
  .photo-evidence-card img,
  .photo-evidence-preserved .photo-evidence-card img{
    aspect-ratio:16/9;
  }
}

/* ============================================================
   VERIFIED UNIVERSAL LANDSCAPE CARD MEDIA — 02 Aug 2026
   Final consistency pass. This block deliberately appears last
   so every overview-section card receives the same image treatment.
   ============================================================ */

/* 1. Every StoryMap-style academic record card:
      Research, Publications, Professional Experience, Education,
      Teaching, Expertise, Training & Certification, Contact & CV,
      Useful Links, and News. */
@media (min-width: 781px) {
  body.story-page[data-story-page]:not([data-story-page="home"]) .story-chapter {
    grid-template-columns: 44px clamp(255px, 27vw, 285px) minmax(0, 1fr) !important;
    grid-template-areas: "step media body" !important;
    min-height: 184px !important;
    max-height: 202px !important;
  }

  body.story-page[data-story-page]:not([data-story-page="home"]) .story-chapter-media {
    grid-area: media;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 6px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-right: 1px solid var(--line) !important;
    border-radius: 0 !important;
    background: color-mix(in srgb, var(--surface2) 84%, var(--surface)) !important;
  }

  body.story-page[data-story-page]:not([data-story-page="home"]) .story-chapter-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body.story-page[data-story-page]:not([data-story-page="home"]) .story-chapter-body,
  body.story-page[data-story-page="publications"] .story-chapter-body {
    grid-area: body;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 94px !important;
    gap: 13px !important;
    align-items: center !important;
    min-width: 0 !important;
    padding: 14px 16px !important;
  }

  body.story-page[data-story-page]:not([data-story-page="home"]) .story-chapter-meta,
  body.story-page[data-story-page="publications"] .story-chapter-meta {
    width: 94px !important;
    min-width: 94px !important;
    align-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 0 0 12px !important;
    border: 0 !important;
    border-left: 1px solid var(--line) !important;
  }
}

@media (min-width: 561px) and (max-width: 780px) {
  body.story-page[data-story-page]:not([data-story-page="home"]) .story-chapter {
    grid-template-columns: 36px 132px minmax(0, 1fr) !important;
  }
}

@media (max-width: 560px) {
  body.story-page[data-story-page]:not([data-story-page="home"]) .story-chapter {
    grid-template-columns: 32px 102px minmax(0, 1fr) !important;
  }
}

/* 2. Every blog/project/media card receives a clean 16:9 stage. */
.blog-card .blog-thumb,
.blog-grid .blog-thumb,
.blog-grid-featured .blog-thumb,
.project-card .project-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  padding: 6px !important;
  overflow: hidden !important;
  background: color-mix(in srgb, var(--surface2) 84%, var(--surface)) !important;
}

.blog-card .blog-thumb img,
.blog-grid .blog-thumb img,
.blog-grid-featured .blog-thumb img,
.project-card .project-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* 3. Graphic-design and legacy media-gallery cards. */
.gallery-card img,
.media-gallery-card img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  padding: 6px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: color-mix(in srgb, var(--surface2) 84%, var(--surface)) !important;
}

/* 4. Teaching and fieldwork evidence cards. */
.photo-evidence-card,
.photo-evidence-preserved .photo-evidence-card,
.photo-evidence-preserved .photo-evidence-card.photo-evidence-featured {
  grid-template-rows: auto auto !important;
}

.photo-evidence-card img,
.photo-evidence-preserved .photo-evidence-card img,
.photo-evidence-preserved .photo-evidence-card.photo-evidence-featured img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  padding: 5px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: color-mix(in srgb, var(--surface2) 84%, var(--surface)) !important;
}

/* Simple Contact & CV page — no card layout */
.simple-contact-page .simple-contact-hero{padding:64px 0 46px}
.simple-contact-page .simple-contact-hero h1{font-size:clamp(2.8rem,6vw,5rem);margin:.18em 0 .12em}
.simple-contact-page .simple-contact-content{padding:58px 0 84px}
.address-list{border-top:1px solid var(--line)}
.address-row{display:grid;grid-template-columns:170px minmax(0,1fr);column-gap:44px;padding:34px 0;border-bottom:1px solid var(--line)}
.address-label{margin:4px 0 0;color:var(--primary);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.address-row h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.2;font-weight:650}
.address-row address{grid-column:2;margin:8px 0 0;color:var(--muted);font-style:normal;font-size:1.02rem;line-height:1.75}
.simple-cv-link{margin-top:54px;padding-top:38px;border-top:3px solid var(--primary)}
.simple-cv-link h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.15;margin:.22em 0}
.simple-cv-link p{max-width:680px;color:var(--muted);margin:0 0 22px}
@media(max-width:720px){.simple-contact-page .simple-contact-hero{padding:44px 0 34px}.simple-contact-page .simple-contact-content{padding:42px 0 64px}.address-row{grid-template-columns:1fr;gap:8px;padding:26px 0}.address-row address{grid-column:1;margin-top:2px}.simple-cv-link{margin-top:40px;padding-top:30px}}

/* ============================================================
   COMPACT CONTACT & CV WITH MAP — 02 Aug 2026
   Plain academic layout, no card system, minimal scrolling.
   ============================================================ */
.compact-contact-page main{
  min-height:auto;
}
.compact-contact-section{
  padding:34px 0 42px;
}
.compact-contact-container{
  max-width:1160px;
}
.compact-contact-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,430px);
  gap:32px;
  align-items:end;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.compact-contact-heading h1{
  margin:.12em 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.1rem,4.2vw,3.65rem);
  line-height:1.02;
  letter-spacing:-.035em;
}
.compact-contact-heading > p{
  margin:0 0 4px;
  color:var(--muted);
  font-size:.98rem;
  line-height:1.65;
}
.compact-contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:34px;
  align-items:start;
  padding-top:22px;
}
.compact-location-column{
  min-width:0;
}
.compact-map-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:9px;
  font-size:.8rem;
}
.compact-map-title span{
  color:var(--primary);
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.compact-map-title strong{
  color:var(--muted);
  font-size:.86rem;
  font-weight:650;
}
.compact-contact-map{
  width:100%;
  height:342px;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:var(--surface2);
}
.compact-contact-details{
  border-top:1px solid var(--line);
}
.compact-address-row{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:20px;
  padding:21px 0;
  border-bottom:1px solid var(--line);
}
.compact-address-label{
  margin:3px 0 0;
  color:var(--primary);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.11em;
  line-height:1.45;
  text-transform:uppercase;
}
.compact-address-row h2,
.compact-cv-row h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.24rem,2vw,1.62rem);
  line-height:1.23;
  font-weight:650;
}
.compact-address-row address{
  margin:6px 0 0;
  color:var(--muted);
  font-style:normal;
  font-size:.93rem;
  line-height:1.58;
}
.compact-cv-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:end;
  padding:21px 0 3px;
}
.compact-cv-row p:not(.compact-address-label){
  margin:6px 0 0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.55;
}
.compact-cv-button{
  min-width:104px;
  padding:11px 17px;
  white-space:nowrap;
}
.compact-contact-page .leaflet-control-attribution{
  font-size:9px;
}

@media(max-width:900px){
  .compact-contact-section{padding:28px 0 38px}
  .compact-contact-heading{grid-template-columns:1fr;gap:8px}
  .compact-contact-heading > p{max-width:680px}
  .compact-contact-layout{grid-template-columns:1fr;gap:24px}
  .compact-contact-map{height:300px}
  .compact-contact-details{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
  .compact-address-row{grid-template-columns:1fr;gap:7px}
  .compact-cv-row{grid-column:1/-1}
}

@media(max-width:620px){
  .compact-contact-section{padding:22px 0 32px}
  .compact-contact-heading{padding-bottom:14px}
  .compact-contact-heading h1{font-size:2.35rem}
  .compact-contact-layout{padding-top:16px}
  .compact-map-title{align-items:flex-start;flex-direction:column;gap:2px}
  .compact-contact-map{height:245px;border-radius:10px}
  .compact-contact-details{display:block}
  .compact-address-row{padding:17px 0}
  .compact-cv-row{grid-template-columns:1fr;align-items:start;padding-top:17px}
  .compact-cv-button{width:max-content}
}

/* ============================================================
   PROFESSOR-FOCUSED CONTACT & CV — 02 Aug 2026
   Compact academic layout with immediate email, CV, research,
   publications, experience, addresses, and location map.
   ============================================================ */
.professor-contact-page .compact-contact-section{
  padding:28px 0 36px;
}
.professor-contact-page .professor-contact-heading{
  grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
  gap:42px;
  align-items:center;
  padding-bottom:16px;
}
.professor-contact-intro p{
  margin:0;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.55;
}
.professor-quick-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.professor-quick-actions .button{
  padding:10px 15px;
  font-size:.87rem;
  border-radius:10px;
}
.professor-primary-action{
  min-width:112px;
}
.professor-fit-strip{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.professor-fit-strip > div{
  display:flex;
  align-items:baseline;
  gap:14px;
  min-width:0;
}
.professor-strip-label{
  flex:0 0 auto;
  color:var(--primary);
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.professor-fit-strip strong{
  color:var(--text);
  font-size:.88rem;
  line-height:1.45;
}
.professor-research-link{
  white-space:nowrap;
  font-size:.86rem;
}
.professor-contact-page .professor-contact-layout{
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
  gap:30px;
  padding-top:18px;
}
.professor-contact-page .compact-contact-map{
  height:300px;
}
.professor-contact-page .professor-contact-details{
  border-top:1px solid var(--line);
}
.professor-contact-row,
.professor-resource-row{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:18px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
}
.professor-email-list{
  display:grid;
  gap:3px;
}
.professor-email-list a{
  width:max-content;
  max-width:100%;
  color:var(--text);
  font-size:.92rem;
  font-weight:700;
  overflow-wrap:anywhere;
}
.professor-email-list a:hover{
  color:var(--primary);
  text-decoration:underline;
  text-underline-offset:3px;
}
.professor-contact-page .compact-address-row{
  grid-template-columns:112px minmax(0,1fr);
  gap:18px;
  padding:17px 0;
}
.professor-contact-page .compact-address-row h2{
  font-size:1.25rem;
}
.professor-address-note{
  margin:4px 0 0;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.45;
}
.professor-contact-page .compact-address-row address{
  margin-top:4px;
  font-size:.88rem;
  line-height:1.5;
}
.professor-resource-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px 14px;
}
.professor-resource-links a{
  color:var(--primary);
  font-size:.86rem;
  font-weight:800;
}
.professor-resource-links a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:940px){
  .professor-contact-page .professor-contact-heading{
    grid-template-columns:1fr;
    gap:10px;
    align-items:start;
  }
  .professor-contact-intro{max-width:760px}
  .professor-contact-page .professor-contact-layout{
    grid-template-columns:1fr;
    gap:20px;
  }
  .professor-contact-page .compact-contact-map{height:280px}
  .professor-contact-page .professor-contact-details{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:24px;
  }
  .professor-contact-page .professor-contact-row,
  .professor-contact-page .professor-resource-row,
  .professor-contact-page .compact-address-row{
    grid-template-columns:1fr;
    gap:6px;
  }
}
@media(max-width:660px){
  .professor-contact-page .compact-contact-section{padding:20px 0 28px}
  .professor-contact-page .professor-contact-heading{padding-bottom:13px}
  .professor-quick-actions{display:grid;grid-template-columns:1fr 1fr}
  .professor-quick-actions .button{width:100%;padding:10px 11px}
  .professor-fit-strip{grid-template-columns:1fr;gap:6px;padding:12px 0}
  .professor-fit-strip > div{display:block}
  .professor-fit-strip strong{display:block;margin-top:4px}
  .professor-contact-page .professor-contact-layout{padding-top:14px}
  .professor-contact-page .compact-contact-map{height:230px}
  .professor-contact-page .professor-contact-details{display:block}
  .professor-contact-page .professor-contact-row,
  .professor-contact-page .professor-resource-row,
  .professor-contact-page .compact-address-row{padding:14px 0}
}


/* ============================================================
   PUBLICATION TIMELINE — PROFESSOR-FOCUSED RECORDS
   Chronological grouping and complete bibliographic details
   ============================================================ */
.story-page[data-story-page="publications"] .story-chapters{
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.publication-year-divider{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin:10px 0 0;
  padding:0 0 7px;
  border-bottom:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));
}
.publication-year-divider span{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--primary2);
  font-size:1.35rem;
  font-weight:700;
  line-height:1;
}
.publication-year-divider small{
  color:var(--accent);
  font-size:.52rem;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.story-page[data-story-page="publications"] .story-chapter{
  grid-template-columns:44px 168px minmax(0,1fr)!important;
  min-height:238px!important;
  max-height:none!important;
}
.story-page[data-story-page="publications"] .story-chapter-media{
  height:100%!important;
  min-height:238px!important;
}
.story-page[data-story-page="publications"] .story-chapter-media img{
  object-fit:cover!important;
}
.story-page[data-story-page="publications"] .story-chapter-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 126px!important;
  gap:18px!important;
  align-items:stretch!important;
  padding:17px 18px!important;
}
.story-page[data-story-page="publications"] .story-chapter-main{
  display:flex!important;
  flex-direction:column;
  min-width:0;
}
.story-page[data-story-page="publications"] .story-chapter h3{
  margin:.38em 0 .38em!important;
  font-size:1.17rem!important;
  line-height:1.18!important;
}
.story-page[data-story-page="publications"] .story-publication-authors{
  margin:0 0 11px!important;
  color:var(--muted)!important;
  font-size:.67rem!important;
  line-height:1.47!important;
  display:block!important;
  overflow:visible!important;
}
.story-page[data-story-page="publications"] .story-publication-authors span{
  display:block;
  margin-bottom:3px;
  color:var(--accent);
  font-size:.47rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.publication-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 15px;
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid var(--line);
}
.publication-facts div{
  min-width:0;
}
.publication-facts span{
  display:block;
  margin-bottom:2px;
  color:var(--accent);
  font-size:.44rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.publication-facts strong{
  display:block;
  color:var(--primary2);
  font-size:.61rem;
  font-weight:650;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.story-page[data-story-page="publications"] .story-chapter-meta{
  width:126px!important;
  min-width:126px!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  padding:0 0 0 16px!important;
}
.story-page[data-story-page="publications"] .story-more{
  width:100%!important;
  min-width:0!important;
  margin-top:auto!important;
  padding:9px 10px!important;
  font-size:.59rem!important;
  text-align:center;
}
@media(max-width:980px){
  .story-page[data-story-page="publications"] .story-chapter{
    grid-template-columns:40px 132px minmax(0,1fr)!important;
  }
  .story-page[data-story-page="publications"] .story-chapter-body{
    grid-template-columns:minmax(0,1fr) 112px!important;
    gap:13px!important;
    padding:15px!important;
  }
  .story-page[data-story-page="publications"] .story-chapter-meta{
    width:112px!important;
    min-width:112px!important;
    padding-left:12px!important;
  }
}
@media(max-width:780px){
  .story-page[data-story-page="publications"] .story-chapter{
    grid-template-columns:34px 104px minmax(0,1fr)!important;
    min-height:265px!important;
  }
  .story-page[data-story-page="publications"] .story-chapter-media{
    min-height:265px!important;
  }
  .story-page[data-story-page="publications"] .story-chapter-body{
    display:flex!important;
    flex-direction:column;
    gap:10px!important;
    padding:13px!important;
  }
  .story-page[data-story-page="publications"] .story-chapter-meta{
    width:100%!important;
    min-width:0!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    padding:9px 0 0!important;
    border-left:0!important;
    border-top:1px solid var(--line)!important;
  }
  .story-page[data-story-page="publications"] .story-more{
    width:auto!important;
    min-width:132px!important;
  }
  .publication-facts{
    grid-template-columns:1fr 1fr;
    gap:6px 10px;
  }
}
@media(max-width:560px){
  .story-page[data-story-page="publications"] .story-chapter{
    grid-template-columns:1fr!important;
    grid-template-areas:"media" "body"!important;
  }
  .story-page[data-story-page="publications"] .story-step{
    display:none!important;
  }
  .story-page[data-story-page="publications"] .story-chapter-media{
    height:150px!important;
    min-height:150px!important;
  }
  .publication-facts{
    grid-template-columns:1fr!important;
  }
  .publication-year-divider{
    margin-top:16px;
  }
}

/* ============================================================
   PUBLICATIONS PAGE — VERIFIED PROFESSOR VIEW (v2)
   Natural-height records, no clipped content, full journal metadata
   ============================================================ */
.story-page[data-story-page="publications"] .story-chapters{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:14px!important;
}
.story-page[data-story-page="publications"] .publication-year-divider{
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 0 0;
  padding:0 0 8px;
  border-bottom:1px solid color-mix(in srgb,var(--accent) 58%,var(--line));
}
.story-page[data-story-page="publications"] .publication-year-divider span{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--primary2);
  font-size:1.3rem;
  font-weight:750;
  line-height:1;
}
.story-page[data-story-page="publications"] .publication-year-divider small{
  color:var(--accent);
  font-size:.5rem;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.story-page[data-story-page="publications"] .publication-record-card{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  grid-template-areas:"step body"!important;
  min-height:0!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  background:color-mix(in srgb,var(--surface) 98%,var(--surface2));
}
.story-page[data-story-page="publications"] .publication-record-card .story-step{
  grid-area:step!important;
  min-height:100%!important;
  height:auto!important;
  padding:54px 4px 18px!important;
}
.story-page[data-story-page="publications"] .publication-record-card .story-step::after{
  top:28px!important;
}
.story-page[data-story-page="publications"] .publication-record-body{
  grid-area:body!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 142px!important;
  gap:18px!important;
  align-items:stretch!important;
  min-width:0!important;
  width:auto!important;
  padding:18px 18px 17px!important;
  overflow:visible!important;
}
.story-page[data-story-page="publications"] .publication-record-main{
  display:block!important;
  min-width:0!important;
  overflow:visible!important;
}
.story-page[data-story-page="publications"] .publication-record-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 7px;
  padding-bottom:7px;
  border-bottom:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));
}
.story-page[data-story-page="publications"] .publication-record-topline span{
  color:var(--accent);
  font-size:.48rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.story-page[data-story-page="publications"] .publication-record-topline time{
  flex:0 0 auto;
  color:var(--muted);
  font-size:.57rem;
  font-weight:700;
}
.story-page[data-story-page="publications"] .publication-record-card h3{
  margin:0 0 8px!important;
  color:var(--primary2);
  font-size:1.08rem!important;
  line-height:1.2!important;
  overflow-wrap:anywhere;
}
.story-page[data-story-page="publications"] .story-publication-authors{
  display:block!important;
  margin:0 0 11px!important;
  color:var(--muted)!important;
  font-size:.65rem!important;
  line-height:1.48!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
}
.story-page[data-story-page="publications"] .story-publication-authors > span{
  display:inline-block!important;
  margin:0 7px 0 0!important;
  color:var(--accent)!important;
  font-size:.45rem!important;
  font-weight:850!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.story-page[data-story-page="publications"] .publication-portfolio-author{
  color:var(--primary2);
  font-weight:850;
  text-decoration:underline;
  text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent);
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.story-page[data-story-page="publications"] .publication-facts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px 16px!important;
  margin:0!important;
  padding:11px 0 0!important;
  border-top:1px solid var(--line)!important;
}
.story-page[data-story-page="publications"] .publication-facts div{
  min-width:0!important;
}
.story-page[data-story-page="publications"] .publication-facts .publication-fact-wide{
  grid-column:1 / -1;
}
.story-page[data-story-page="publications"] .publication-facts dt{
  display:block;
  margin:0 0 2px;
  color:var(--accent);
  font-size:.43rem;
  font-weight:850;
  letter-spacing:.105em;
  text-transform:uppercase;
}
.story-page[data-story-page="publications"] .publication-facts dd{
  display:block;
  margin:0;
  color:var(--primary2);
  font-size:.61rem;
  font-weight:650;
  line-height:1.36;
  overflow-wrap:anywhere;
}
.story-page[data-story-page="publications"] .publication-action-panel{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:3px 0 0 16px!important;
  border-left:1px solid var(--line)!important;
  border-top:0!important;
  overflow:visible!important;
}
.story-page[data-story-page="publications"] .publication-action-year{
  display:block;
  color:var(--primary2);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.55rem;
  font-weight:750;
  line-height:1;
}
.story-page[data-story-page="publications"] .publication-action-publisher{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.58rem;
  font-weight:700;
  line-height:1.35;
}
.story-page[data-story-page="publications"] .publication-action-panel .story-more{
  display:inline-flex!important;
  width:100%!important;
  min-width:0!important;
  margin:auto 0 0!important;
  padding:9px 10px!important;
  font-size:.61rem!important;
  white-space:nowrap;
}
.story-page[data-story-page="publications"] .publication-action-panel small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:.49rem;
  line-height:1.35;
}
@media(max-width:980px){
  .story-page[data-story-page="publications"] .publication-record-body{
    grid-template-columns:minmax(0,1fr) 126px!important;
    gap:14px!important;
    padding:16px!important;
  }
  .story-page[data-story-page="publications"] .publication-action-panel{
    padding-left:13px!important;
  }
}
@media(max-width:780px){
  .story-page[data-story-page="publications"] .publication-record-card{
    grid-template-columns:36px minmax(0,1fr)!important;
  }
  .story-page[data-story-page="publications"] .publication-record-body{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    padding:14px!important;
  }
  .story-page[data-story-page="publications"] .publication-action-panel{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px 12px!important;
    padding:10px 0 0!important;
    border-left:0!important;
    border-top:1px solid var(--line)!important;
  }
  .story-page[data-story-page="publications"] .publication-action-year{
    font-size:1.25rem;
  }
  .story-page[data-story-page="publications"] .publication-action-publisher{
    margin:0;
  }
  .story-page[data-story-page="publications"] .publication-action-panel .story-more{
    width:auto!important;
    min-width:104px!important;
    margin:0!important;
  }
  .story-page[data-story-page="publications"] .publication-action-panel small{
    grid-column:2 / -1;
    margin:-4px 0 0;
  }
}
@media(max-width:560px){
  .story-page[data-story-page="publications"] .publication-record-card{
    grid-template-columns:1fr!important;
    grid-template-areas:"body"!important;
  }
  .story-page[data-story-page="publications"] .publication-record-card .story-step{
    display:none!important;
  }
  .story-page[data-story-page="publications"] .publication-record-topline{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .story-page[data-story-page="publications"] .publication-facts{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .story-page[data-story-page="publications"] .publication-facts .publication-fact-wide{
    grid-column:auto;
  }
  .story-page[data-story-page="publications"] .publication-action-panel{
    grid-template-columns:auto 1fr!important;
  }
  .story-page[data-story-page="publications"] .publication-action-panel .story-more{
    grid-column:1 / -1;
    justify-self:start;
    min-width:118px!important;
  }
  .story-page[data-story-page="publications"] .publication-action-panel small{
    grid-column:1 / -1;
    margin-top:-2px;
  }
}

/* Publication record layout lock — ID specificity prevents universal card rules from clipping records. */
#publication-record-page .publication-record-card{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  grid-template-areas:"step body"!important;
  min-height:0!important;
  max-height:none!important;
  height:auto!important;
  overflow:hidden!important;
}
#publication-record-page .publication-record-card .story-step{
  grid-area:step!important;
  min-height:100%!important;
  height:auto!important;
}
#publication-record-page .publication-record-body{
  grid-area:body!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 142px!important;
  grid-template-rows:auto!important;
  gap:18px!important;
  align-items:stretch!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  padding:18px!important;
  overflow:visible!important;
}
#publication-record-page .publication-action-panel{
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  align-self:stretch!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:3px 0 0 16px!important;
  border-left:1px solid var(--line)!important;
  border-top:0!important;
}
@media(max-width:980px){
  #publication-record-page .publication-record-body{
    grid-template-columns:minmax(0,1fr) 126px!important;
    gap:14px!important;
    padding:16px!important;
  }
}
@media(max-width:780px){
  #publication-record-page .publication-record-card{
    grid-template-columns:1fr!important;
    grid-template-areas:"body"!important;
  }
  #publication-record-page .publication-record-card .story-step{
    display:none!important;
  }
  #publication-record-page .publication-record-body{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    padding:14px!important;
  }
  #publication-record-page .publication-action-panel{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px 12px!important;
    padding:10px 0 0!important;
    border-left:0!important;
    border-top:1px solid var(--line)!important;
  }
}
@media(max-width:560px){
  #publication-record-page .publication-record-card{
    grid-template-columns:1fr!important;
    grid-template-areas:"body"!important;
  }
  #publication-record-page .publication-record-card .story-step{display:none!important}
  #publication-record-page .publication-action-panel{
    grid-template-columns:auto 1fr!important;
  }
}

/* ============================================================
   PUBLICATIONS PAGE — COMPACT PROFESSOR CARD (v3)
   Small visual, reduced height, and metadata distributed across
   the main record and action column.
   ============================================================ */
#publication-record-page .publication-record-card{
  display:grid!important;
  grid-template-columns:44px 126px minmax(0,1fr)!important;
  grid-template-areas:"step media body"!important;
  grid-template-rows:auto!important;
  min-height:188px!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}
#publication-record-page .publication-record-card .story-step{
  grid-area:step!important;
  min-height:188px!important;
  height:100%!important;
  padding:48px 4px 14px!important;
}
#publication-record-page .publication-record-media{
  grid-area:media!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:188px!important;
  overflow:hidden!important;
  border-left:1px solid var(--line)!important;
  border-right:1px solid var(--line)!important;
  background:var(--surface2)!important;
}
#publication-record-page .publication-record-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:188px!important;
  object-fit:cover!important;
  object-position:center!important;
}
#publication-record-page .publication-record-body{
  grid-area:body!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 160px!important;
  grid-template-rows:auto!important;
  gap:15px!important;
  align-items:stretch!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  padding:13px 14px!important;
  overflow:visible!important;
}
#publication-record-page .publication-record-main{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}
#publication-record-page .publication-record-topline{
  display:block!important;
  margin:0 0 5px!important;
  padding:0 0 5px!important;
}
#publication-record-page .publication-record-topline span{
  font-size:.44rem!important;
  letter-spacing:.115em!important;
}
#publication-record-page .publication-record-card h3{
  margin:0 0 6px!important;
  font-size:1.02rem!important;
  line-height:1.14!important;
}
#publication-record-page .story-publication-authors{
  margin:0 0 7px!important;
  font-size:.59rem!important;
  line-height:1.34!important;
}
#publication-record-page .story-publication-authors > span{
  margin-right:6px!important;
  font-size:.42rem!important;
}
#publication-record-page .publication-facts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px 12px!important;
  margin:auto 0 0!important;
  padding:7px 0 0!important;
}
#publication-record-page .publication-facts .publication-fact-wide{
  grid-column:1 / -1!important;
}
#publication-record-page .publication-facts dt{
  margin-bottom:1px!important;
  font-size:.39rem!important;
}
#publication-record-page .publication-facts dd{
  font-size:.55rem!important;
  line-height:1.26!important;
}
#publication-record-page .publication-research-area{
  padding-top:1px;
}
#publication-record-page .publication-action-panel{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  align-self:stretch!important;
  padding:0 0 0 13px!important;
  border-left:1px solid var(--line)!important;
  border-top:0!important;
}
#publication-record-page .publication-action-year{
  font-size:1.42rem!important;
  line-height:1!important;
}
#publication-record-page .publication-side-facts{
  display:grid;
  gap:6px;
  margin-top:8px;
}
#publication-record-page .publication-side-facts div{
  min-width:0;
}
#publication-record-page .publication-side-facts span{
  display:block;
  margin-bottom:1px;
  color:var(--accent);
  font-size:.38rem;
  font-weight:850;
  letter-spacing:.105em;
  text-transform:uppercase;
}
#publication-record-page .publication-side-facts strong{
  display:block;
  color:var(--primary2);
  font-size:.54rem;
  font-weight:700;
  line-height:1.25;
  overflow-wrap:anywhere;
}
#publication-record-page .publication-action-panel .story-more{
  display:inline-flex!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  margin:auto 0 0!important;
  padding:8px 9px!important;
  font-size:.58rem!important;
}
#publication-record-page .publication-action-panel small{
  margin-top:5px!important;
  font-size:.43rem!important;
  line-height:1.25!important;
  text-align:center;
}

@media(max-width:1100px){
  #publication-record-page .publication-record-card{
    grid-template-columns:40px 108px minmax(0,1fr)!important;
  }
  #publication-record-page .publication-record-body{
    grid-template-columns:minmax(0,1fr) 145px!important;
    gap:12px!important;
    padding:12px!important;
  }
  #publication-record-page .publication-record-card h3{
    font-size:.96rem!important;
  }
  #publication-record-page .publication-action-panel{
    padding-left:11px!important;
  }
}

@media(max-width:820px){
  #publication-record-page .publication-record-card{
    grid-template-columns:94px minmax(0,1fr)!important;
    grid-template-areas:"media body"!important;
    min-height:0!important;
  }
  #publication-record-page .publication-record-card .story-step{
    display:none!important;
  }
  #publication-record-page .publication-record-media,
  #publication-record-page .publication-record-media img{
    min-height:210px!important;
  }
  #publication-record-page .publication-record-body{
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
    padding:12px!important;
  }
  #publication-record-page .publication-action-panel{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) 112px!important;
    align-items:center!important;
    gap:7px 11px!important;
    padding:8px 0 0!important;
    border-left:0!important;
    border-top:1px solid var(--line)!important;
  }
  #publication-record-page .publication-side-facts{
    display:flex;
    flex-wrap:wrap;
    gap:6px 14px;
    margin:0;
  }
  #publication-record-page .publication-action-panel .story-more{
    width:112px!important;
    margin:0!important;
  }
  #publication-record-page .publication-action-panel small{
    display:none!important;
  }
}

@media(max-width:580px){
  #publication-record-page .publication-record-card{
    grid-template-columns:1fr!important;
    grid-template-areas:"media" "body"!important;
  }
  #publication-record-page .publication-record-media,
  #publication-record-page .publication-record-media img{
    height:128px!important;
    min-height:128px!important;
  }
  #publication-record-page .publication-record-body{
    padding:13px!important;
  }
  #publication-record-page .publication-facts{
    grid-template-columns:1fr!important;
  }
  #publication-record-page .publication-facts .publication-fact-wide{
    grid-column:auto!important;
  }
  #publication-record-page .publication-action-panel{
    grid-template-columns:auto 1fr!important;
  }
  #publication-record-page .publication-side-facts{
    grid-column:2;
  }
  #publication-record-page .publication-action-panel .story-more{
    grid-column:1 / -1;
    width:auto!important;
    min-width:118px!important;
    justify-self:start;
  }
}


/* ============================================================
   TEACHING & CAPACITY BUILDING — COMPACT VISUAL EVIDENCE V3
   Equal landscape evidence cards remove the oversized blank area
   and keep the section concise for academic reviewers.
   ============================================================ */
.story-theme-teaching .photo-evidence-preserved{
  padding:34px 0 42px !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-head{
  grid-template-columns:minmax(0,.9fr) minmax(320px,.72fr) !important;
  gap:20px 40px !important;
  margin-bottom:18px !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-head .eyebrow{
  margin-bottom:-12px !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-head h2{
  font-size:clamp(1.65rem,2.45vw,2.25rem) !important;
  line-height:1.1 !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-head p{
  font-size:.82rem !important;
  line-height:1.6 !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-template-rows:auto !important;
  gap:12px !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card,
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card.photo-evidence-featured{
  grid-column:auto !important;
  grid-row:auto !important;
  grid-template-rows:auto auto !important;
  align-self:start !important;
  min-height:0 !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card img,
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card.photo-evidence-featured img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:center !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card figcaption{
  padding:12px 14px 14px !important;
  min-height:132px !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card strong{
  margin:5px 0 4px !important;
  font-size:1rem !important;
  line-height:1.25 !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card span{
  display:block !important;
  font-size:.72rem !important;
  line-height:1.48 !important;
}
@media(max-width:900px){
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-head{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-head .eyebrow{
    margin-bottom:0 !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-card:last-child{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr) !important;
    grid-template-rows:auto !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-card:last-child img{
    height:100% !important;
    aspect-ratio:auto !important;
  }
}
@media(max-width:600px){
  .story-theme-teaching .photo-evidence-preserved{
    padding:28px 0 34px !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-grid{
    grid-template-columns:1fr !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-card:last-child{
    grid-column:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-card:last-child img{
    height:auto !important;
    aspect-ratio:16 / 9 !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-card figcaption{
    min-height:0 !important;
  }
}


/* ============================================================
   GEOSPATIAL INSTRUCTION — FEATURED VISUAL EVIDENCE V4
   Large featured classroom photograph at left; two concise
   supporting evidence cards stacked at right, matching the
   approved academic visual-evidence composition.
   ============================================================ */
.story-theme-teaching .photo-evidence-preserved{
  padding:34px 0 44px !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-head{
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(330px,.72fr) !important;
  gap:18px 42px !important;
  align-items:end !important;
  margin-bottom:18px !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-head .eyebrow{
  grid-column:1 / -1 !important;
  margin:0 0 -10px !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-head h2{
  margin:0 !important;
  max-width:690px;
  font-size:clamp(1.75rem,2.75vw,2.55rem) !important;
  line-height:1.04 !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-head p{
  margin:0 !important;
  padding-left:18px !important;
  border-left:2px solid var(--accent) !important;
  border-top:0 !important;
  font-size:.78rem !important;
  line-height:1.58 !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.34fr) minmax(300px,1fr) !important;
  grid-template-rows:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:stretch !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card{
  display:grid !important;
  grid-template-rows:145px auto !important;
  min-height:0 !important;
  align-self:stretch !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card.photo-evidence-featured{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  grid-template-rows:minmax(350px,1fr) auto !important;
  min-height:0 !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card.photo-evidence-featured img{
  object-position:center 43% !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card figcaption{
  padding:11px 13px 13px !important;
  min-height:0 !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card strong{
  margin:5px 0 4px !important;
  font-size:.98rem !important;
  line-height:1.22 !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card span{
  display:block !important;
  font-size:.69rem !important;
  line-height:1.45 !important;
}
.story-theme-teaching .photo-evidence-preserved .photo-evidence-card small{
  font-size:.5rem !important;
}
@media(max-width:900px){
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-head{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-head .eyebrow{
    grid-column:auto !important;
    margin-bottom:0 !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-head p{
    padding:12px 0 0 !important;
    border-left:0 !important;
    border-top:2px solid var(--accent) !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:auto !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-card.photo-evidence-featured{
    grid-column:1 / -1 !important;
    grid-row:auto !important;
    grid-template-rows:310px auto !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-card{
    grid-template-rows:180px auto !important;
  }
}
@media(max-width:600px){
  .story-theme-teaching .photo-evidence-preserved{
    padding:28px 0 34px !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-grid{
    grid-template-columns:1fr !important;
  }
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-card.photo-evidence-featured,
  .story-theme-teaching .photo-evidence-preserved .photo-evidence-card{
    grid-column:auto !important;
    grid-row:auto !important;
    grid-template-rows:220px auto !important;
  }
}


/* ============================================================
   GIS Automation chapter refinement
   Simple academic cards for Expertise chapter 3 only.
   ============================================================ */
.automation-positioning{
  margin:0 0 20px;
  padding:16px 18px;
  border-left:3px solid var(--accent);
  background:linear-gradient(90deg, rgba(73,107,145,.09), rgba(73,107,145,.025));
  border-radius:0 14px 14px 0;
  color:var(--muted);
  line-height:1.65;
}
.automation-workflow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:18px 0 28px;
}
.automation-workflow div{
  min-height:96px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--card);
  box-shadow:var(--shadow-soft);
}
.automation-workflow b{
  display:block;
  margin-bottom:9px;
  color:var(--accent);
  font-size:.72rem;
  letter-spacing:.12em;
}
.automation-workflow span{
  display:block;
  color:var(--text);
  font-size:.82rem;
  line-height:1.45;
}
.automation-family-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:12px 0 28px;
}
.automation-family-card{
  padding:18px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--card);
  box-shadow:var(--shadow-soft);
}
.automation-family-card h3{
  margin:0 0 8px;
  font-size:1rem;
  line-height:1.3;
}
.automation-family-card p{
  margin:0 0 12px;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.58;
}
.automation-family-card small{
  display:block;
  margin:0 0 12px;
  padding-top:10px;
  border-top:1px solid var(--border);
  color:var(--muted);
  font-size:.72rem;
  line-height:1.5;
}
.automation-public-note{
  margin:22px 0 24px;
}
@media(max-width:900px){
  .automation-workflow,
  .automation-family-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:620px){
  .automation-workflow,
  .automation-family-grid{grid-template-columns:1fr;}
}

/* ============================================================
   GIS Automation chapter — professor-friendly visualization layer
   Added for Expertise Chapter 3 only.
   ============================================================ */
.automation-reviewer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:4px 0 22px;
}
.automation-reviewer-grid article{
  padding:18px;
  border:1px solid var(--border);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(73,107,145,.08), rgba(73,107,145,.025));
  box-shadow:var(--shadow-soft);
}
.automation-reviewer-grid span{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.automation-reviewer-grid strong{
  display:block;
  margin-bottom:8px;
  color:var(--text);
  font-size:1.08rem;
  line-height:1.2;
}
.automation-reviewer-grid p{
  margin:0;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.55;
}
.automation-flow-visual{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  align-items:center;
  gap:8px;
  margin:14px 0 30px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:22px;
  background:radial-gradient(circle at 10% 20%, rgba(73,107,145,.10), transparent 26%), linear-gradient(180deg, var(--card), rgba(73,107,145,.025));
  box-shadow:var(--shadow-soft);
}
.automation-flow-node{
  min-height:92px;
  padding:14px 12px;
  border:1px solid rgba(73,107,145,.22);
  border-radius:16px;
  background:var(--card);
  text-align:center;
}
.automation-flow-node b{
  display:inline-flex;
  width:32px;
  height:32px;
  align-items:center;
  justify-content:center;
  margin-bottom:9px;
  border-radius:999px;
  background:rgba(73,107,145,.10);
  color:var(--accent);
  font-size:.74rem;
  letter-spacing:.06em;
}
.automation-flow-node span{
  display:block;
  color:var(--text);
  font-size:.82rem;
  font-weight:650;
  line-height:1.35;
}
.automation-flow-visual i{
  color:var(--accent);
  font-style:normal;
  font-weight:800;
  opacity:.72;
}
.automation-capability-map{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:14px 0 30px;
}
.automation-capability-map article{
  padding:17px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--card);
  box-shadow:var(--shadow-soft);
}
.automation-capability-map b{
  display:block;
  margin-bottom:10px;
  color:var(--accent);
  font-size:.75rem;
  letter-spacing:.12em;
}
.automation-capability-map h3{
  margin:0 0 8px;
  font-size:.98rem;
}
.automation-capability-map p{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.55;
}
.automation-family-head{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-bottom:12px;
}
.automation-family-head b{
  flex:0 0 auto;
  display:inline-flex;
  width:32px;
  height:32px;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(73,107,145,.10);
  color:var(--accent);
  font-size:.72rem;
}
.automation-family-head h3{
  margin:2px 0 0;
}
.automation-family-card dl{
  display:grid;
  gap:10px;
  margin:0 0 12px;
}
.automation-family-card dt{
  margin-bottom:3px;
  color:var(--accent);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.automation-family-card dd{
  margin:0;
  color:var(--muted);
  font-size:.83rem;
  line-height:1.55;
}
.automation-evidence-table{
  overflow-x:auto;
  margin:14px 0 30px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--card);
  box-shadow:var(--shadow-soft);
}
.automation-evidence-table table{
  width:100%;
  border-collapse:collapse;
  min-width:720px;
}
.automation-evidence-table th,
.automation-evidence-table td{
  padding:13px 15px;
  border-bottom:1px solid var(--border);
  text-align:left;
  vertical-align:top;
  font-size:.82rem;
  line-height:1.45;
}
.automation-evidence-table th{
  color:var(--text);
  background:rgba(73,107,145,.07);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.automation-evidence-table td:first-child{
  color:var(--text);
  font-weight:700;
}
.automation-evidence-table td:nth-child(2),
.automation-evidence-table td:nth-child(3){
  color:var(--muted);
}
.automation-evidence-table tr:last-child td{border-bottom:0;}
@media(max-width:1000px){
  .automation-reviewer-grid,
  .automation-capability-map{grid-template-columns:1fr 1fr;}
  .automation-flow-visual{grid-template-columns:1fr;}
  .automation-flow-visual i{display:none;}
}
@media(max-width:620px){
  .automation-reviewer-grid,
  .automation-capability-map{grid-template-columns:1fr;}
}


/* Compact automation chapter redesign */
.automation-reviewer-grid.compact-reviewer{gap:12px;margin-bottom:14px;}
.automation-reviewer-grid.compact-reviewer article{padding:14px 15px;border-radius:14px;}
.automation-positioning{margin-top:6px;margin-bottom:16px;}
.automation-flow-visual.compact-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:center;}
.automation-flow-visual.compact-flow .automation-flow-node{min-height:92px;padding:12px;border-radius:14px;}
.automation-flow-visual.compact-flow i{justify-self:center;font-style:normal;font-size:1rem;color:var(--muted);}
.automation-capability-map.compact-capability{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px;}
.automation-capability-map.compact-capability article{padding:14px;border-radius:14px;}
.automation-family-grid.compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.automation-family-card.compact-card{padding:14px 14px 12px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:none;}
.automation-family-top{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:start;margin-bottom:10px;}
.automation-family-visual-wrap{width:86px;height:72px;border-radius:14px;background:#f7f9fc;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.automation-family-visual{width:100%;height:100%;object-fit:cover;display:block;}
.automation-family-head{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;}
.automation-family-head b{width:34px;height:34px;border-radius:10px;font-size:.82rem;}
.automation-family-head h3{margin:0 0 4px;font-size:1rem;line-height:1.28;}
.automation-evidence-inline{margin:0;color:var(--muted);font-size:.87rem;line-height:1.45;}
.automation-family-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:8px;margin-bottom:10px;}
.automation-family-mini-grid div{padding:9px 10px;border-radius:12px;background:var(--panel);border:1px solid var(--line);}
.automation-family-mini-grid dt{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.automation-family-mini-grid dd{margin:0;font-size:.9rem;line-height:1.48;color:var(--text);}
.automation-evidence-table.compact-table th,.automation-evidence-table.compact-table td{padding:11px 12px;vertical-align:top;}
@media (max-width: 1100px){.automation-capability-map.compact-capability{grid-template-columns:1fr 1fr;} .automation-flow-visual.compact-flow{grid-template-columns:1fr;} .automation-flow-visual.compact-flow i{display:none;} }
@media (max-width: 820px){.automation-family-grid.compact-grid{grid-template-columns:1fr;} .automation-family-mini-grid{grid-template-columns:1fr;} .automation-flow-visual.compact-flow{grid-template-columns:1fr;} .automation-flow-visual.compact-flow i{display:none;} .automation-capability-map.compact-capability{grid-template-columns:1fr;} }


/* Rashid-style compact automation case-study layout */
.detail-layout .detail-content:only-child{grid-column:1/-1;max-width:100%;}
.rs-auto-page{--rs-bg:var(--surface);--rs-soft:var(--surface2);--rs-line:var(--line);--rs-ink:var(--text);--rs-muted:var(--muted);display:grid;gap:26px;}
.rs-auto-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.88fr);gap:28px;align-items:center;background:linear-gradient(135deg,var(--surface),var(--surface2));border:1px solid var(--line);border-radius:24px;padding:26px;}
.rs-auto-label,.rs-section-head span{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);}
.rs-auto-hero h2{font-size:2rem;line-height:1.08;margin:.35rem 0 .7rem;}
.rs-auto-hero p{font-size:1rem;line-height:1.72;margin:0;color:var(--muted);}
.rs-auto-hero figure{margin:0;}
.rs-auto-hero figure img{width:100%;display:block;border-radius:18px;border:1px solid var(--line);background:#fff;}
.rs-auto-hero figcaption{font-size:.82rem;color:var(--muted);line-height:1.45;margin-top:8px;}
.rs-auto-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.rs-auto-chips span{font-size:.78rem;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 10px;color:var(--muted);}
.rs-auto-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.rs-auto-highlights article{border:1px solid var(--line);border-radius:18px;padding:16px 18px;background:var(--surface);}
.rs-auto-highlights span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800;}
.rs-auto-highlights strong{display:block;font-size:1.1rem;margin:5px 0;color:var(--text);}
.rs-auto-highlights p{font-size:.92rem;line-height:1.55;margin:0;color:var(--muted);}
.rs-auto-section{border-top:1px solid var(--line);padding-top:24px;}
.rs-section-head{margin-bottom:14px;}
.rs-section-head h2{margin:.25rem 0 .25rem;font-size:1.55rem;line-height:1.18;}
.rs-section-head p{margin:0;color:var(--muted);font-size:.98rem;}
.rs-flow-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.rs-flow-step{min-height:98px;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:14px;position:relative;}
.rs-flow-step:not(:last-child)::after{content:'→';position:absolute;right:-12px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:800;}
.rs-flow-step b{display:block;color:var(--accent);font-size:.78rem;margin-bottom:8px;}
.rs-flow-step span{display:block;font-weight:700;line-height:1.35;color:var(--text);}
.rs-auto-list{display:grid;gap:14px;}
.rs-auto-row{display:grid;grid-template-columns:172px minmax(0,1fr);gap:18px;align-items:stretch;border:1px solid var(--line);border-radius:22px;background:var(--surface);padding:14px;}
.rs-auto-media{border-radius:18px;background:#f7f9fc;border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:132px;}
.rs-auto-media img{width:100%;height:100%;object-fit:cover;display:block;}
.rs-auto-body{display:grid;gap:10px;}
.rs-auto-title{display:flex;gap:12px;align-items:flex-start;}
.rs-auto-title span{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:.8rem;font-weight:800;}
.rs-auto-title h3{font-size:1.14rem;line-height:1.25;margin:2px 0 0;}
.rs-auto-body>p{margin:0;color:var(--muted);line-height:1.62;font-size:.96rem;}
.rs-auto-mini{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.rs-auto-mini div{border:1px solid var(--line);background:var(--surface2);border-radius:14px;padding:10px;}
.rs-auto-mini b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px;}
.rs-auto-mini span{display:block;font-size:.88rem;line-height:1.48;color:var(--text);}
.rs-auto-evidence{display:flex;gap:8px;align-items:flex-start;border-left:3px solid var(--accent);padding:8px 10px;background:var(--surface2);border-radius:10px;}
.rs-auto-evidence strong{font-size:.78rem;white-space:nowrap;color:var(--text);}
.rs-auto-evidence span{font-size:.88rem;line-height:1.45;color:var(--muted);}
.rs-auto-two-col{display:grid;grid-template-columns:.86fr 1.14fr;gap:24px;align-items:start;}
.rs-capability-list{display:grid;gap:10px;}
.rs-capability-list article{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:14px;}
.rs-capability-list h3{font-size:1rem;margin:0 0 4px;}
.rs-capability-list p{font-size:.9rem;line-height:1.55;margin:0;color:var(--muted);}
.rs-evidence-table{overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface);}
.rs-evidence-table table{width:100%;border-collapse:collapse;font-size:.9rem;}
.rs-evidence-table th,.rs-evidence-table td{padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;}
.rs-evidence-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface2);}
.rs-evidence-table tr:last-child td{border-bottom:0;}
@media(max-width:1050px){.rs-auto-hero,.rs-auto-two-col{grid-template-columns:1fr}.rs-flow-strip{grid-template-columns:1fr}.rs-flow-step:not(:last-child)::after{display:none}.rs-auto-mini{grid-template-columns:1fr}.rs-auto-highlights{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.rs-auto-hero{padding:18px}.rs-auto-highlights{grid-template-columns:1fr}.rs-auto-row{grid-template-columns:1fr}.rs-auto-media{min-height:160px}.rs-auto-evidence{display:block}.rs-auto-evidence strong{display:block;margin-bottom:4px}}


/* Dedicated GIS automation research-case page */
.automation-study-page,.automation-code-page{background:var(--bg);}
.auto-study-narrow{max-width:1040px;}
.auto-study-hero{padding:88px 0 62px;border-bottom:1px solid var(--line);background:var(--surface);}
.auto-study-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.65fr);gap:70px;align-items:end;}
.auto-study-back{display:inline-block;margin-bottom:34px;color:var(--muted);font-weight:700;font-size:.9rem;}
.auto-study-kicker{display:block;color:var(--accent);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;}
.auto-study-title h1,.code-page-hero h1{max-width:820px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.8rem,6vw,5.4rem);line-height:.98;letter-spacing:-.045em;margin:0 0 24px;font-weight:600;}
.auto-study-title>p,.code-page-hero p{max-width:760px;font-size:1.16rem;line-height:1.75;color:var(--muted);margin:0;}
.auto-study-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
.auto-study-summary{border-top:2px solid var(--text);padding-top:10px;}
.auto-study-summary dl{margin:0;}
.auto-study-summary dl>div{display:grid;grid-template-columns:105px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);}
.auto-study-summary dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800;}
.auto-study-summary dd{margin:0;font-size:.92rem;line-height:1.45;color:var(--text);font-weight:650;}
.auto-study-intro{padding:70px 0 40px;}
.auto-study-intro h2,.auto-study-relevance h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;margin:0 0 20px;font-weight:600;}
.auto-study-intro p{max-width:850px;font-size:1.05rem;line-height:1.82;color:var(--muted);}
.auto-study-process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:38px;}
.auto-study-process div{padding:22px 20px;border-right:1px solid var(--line);}
.auto-study-process div:last-child{border-right:0;}
.auto-study-process b{display:block;color:var(--accent);font-size:.76rem;letter-spacing:.1em;margin-bottom:10px;}
.auto-study-process span{display:block;font-size:.96rem;font-weight:700;line-height:1.4;}
.auto-study-workflows{padding:25px 0 80px;}
.auto-project{padding:76px 0 70px;border-bottom:1px solid var(--line);}
.auto-project:first-child{border-top:1px solid var(--line);}
.auto-project header{max-width:820px;margin-bottom:28px;}
.auto-project header>span{display:block;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:13px;}
.auto-project header h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;margin:0 0 16px;font-weight:600;}
.auto-project header p{font-size:1.05rem;line-height:1.75;color:var(--muted);margin:0;}
.auto-project figure{margin:0 0 32px;}
.auto-project figure img{width:100%;display:block;border:1px solid var(--line);}
.auto-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:28px;}
.auto-project-grid h3{font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;color:var(--accent);margin:0 0 9px;}
.auto-project-grid p{font-size:.98rem;line-height:1.72;color:var(--muted);margin:0;}
.auto-project footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid var(--line);}
.auto-project footer>span{color:var(--muted);font-size:.86rem;line-height:1.5;}
.auto-project footer>div{display:flex;gap:9px;flex:0 0 auto;}
.auto-code-link,.auto-download-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--text);font-size:.82rem;font-weight:800;letter-spacing:.02em;}
.auto-code-link{background:var(--text);color:var(--bg);}
.auto-download-link{color:var(--text);background:transparent;}
.auto-study-relevance{padding:80px 0;background:var(--surface2);border-top:1px solid var(--line);}
.auto-relevance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:38px 0;}
.auto-relevance-grid article{border-top:2px solid var(--text);padding-top:16px;}
.auto-relevance-grid strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;margin-bottom:8px;}
.auto-relevance-grid p{color:var(--muted);line-height:1.65;margin:0;}
.auto-public-note{max-width:850px;color:var(--muted);font-size:.92rem;line-height:1.65;padding-top:20px;border-top:1px solid var(--line);}
.code-page-hero{padding:88px 0 55px;background:var(--surface);border-bottom:1px solid var(--line);}
.code-page-layout{max-width:1200px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:54px;padding-top:55px;padding-bottom:42px;}
.code-page-nav{position:sticky;top:100px;align-self:start;display:grid;gap:0;border-top:2px solid var(--text);}
.code-page-nav strong{padding:14px 0;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;}
.code-page-nav a{padding:12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;line-height:1.35;}
.code-sample{padding:0 0 65px;margin-bottom:65px;border-bottom:1px solid var(--line);scroll-margin-top:100px;}
.code-sample header span{color:var(--accent);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;}
.code-sample h2{font-family:Georgia,'Times New Roman',serif;font-size:2.15rem;line-height:1.1;margin:10px 0 9px;font-weight:600;}
.code-sample header p{color:var(--muted);margin:0 0 20px;}
.code-toolbar{display:flex;gap:9px;margin-bottom:10px;}
.code-toolbar button,.code-toolbar a{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:8px 11px;font-size:.78rem;font-weight:800;cursor:pointer;}
.code-sample pre{margin:0;overflow:auto;background:#101820;color:#e8eef4;border:1px solid #263644;padding:22px;line-height:1.62;font-size:.84rem;tab-size:4;}
@media(max-width:900px){.auto-study-hero-grid,.code-page-layout{grid-template-columns:1fr;}.auto-study-summary{max-width:520px}.auto-study-process{grid-template-columns:1fr 1fr}.auto-study-process div:nth-child(2){border-right:0}.auto-study-process div:nth-child(-n+2){border-bottom:1px solid var(--line)}.auto-project-grid{grid-template-columns:1fr;gap:20px}.auto-project footer{align-items:flex-start;flex-direction:column}.code-page-nav{position:static;}}
@media(max-width:600px){.auto-study-hero{padding:55px 0 42px}.auto-study-title h1,.code-page-hero h1{font-size:2.65rem}.auto-study-process{grid-template-columns:1fr}.auto-study-process div{border-right:0;border-bottom:1px solid var(--line)}.auto-study-process div:last-child{border-bottom:0}.auto-project{padding:52px 0}.auto-project footer>div{width:100%;flex-direction:column}.auto-code-link,.auto-download-link{width:100%}.auto-relevance-grid{grid-template-columns:1fr}.auto-study-summary dl>div{grid-template-columns:90px 1fr}}

/* Minimal image-led GIS automation portfolio */
.automation-gallery-page{background:var(--bg);}
.automation-gallery-shell{width:min(1480px,calc(100% - 64px));margin:0 auto;}
.automation-gallery-hero{padding:72px 0 44px;border-bottom:1px solid var(--line);background:var(--surface);}
.automation-gallery-back{display:inline-block;margin-bottom:36px;color:var(--muted);font-size:.9rem;text-decoration:none;}
.automation-gallery-back:hover{color:var(--text);}
.automation-gallery-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:72px;align-items:end;}
.automation-gallery-label,.automation-gallery-section-head span,.automation-project-type{display:block;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted);}
.automation-gallery-label{font-size:.76rem;margin-bottom:12px;}
.automation-gallery-heading h1{font-size:clamp(2.25rem,4.4vw,5rem);line-height:.98;letter-spacing:-.045em;margin:0;max-width:980px;}
.automation-gallery-heading>p{margin:0;font-size:1.03rem;line-height:1.8;color:var(--muted);max-width:600px;}
.automation-gallery-projects{padding:64px 0 72px;}
.automation-gallery-section-head{margin-bottom:30px;}
.automation-gallery-section-head span{font-size:.72rem;margin-bottom:8px;}
.automation-gallery-section-head h2{font-size:clamp(1.85rem,3vw,3rem);line-height:1.08;margin:0;letter-spacing:-.025em;}
.automation-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px;}
.automation-project-tile{min-width:0;}
.automation-project-image{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:#f3f6fa;border:1px solid var(--line);text-decoration:none;}
.automation-project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.automation-project-tile:hover .automation-project-image img{transform:scale(1.015);}
.automation-project-copy{padding:18px 2px 0;scroll-margin-top:100px;}
.automation-project-type{font-size:.67rem;margin-bottom:8px;}
.automation-project-copy h3{font-size:1.18rem;line-height:1.3;margin:0 0 8px;letter-spacing:-.012em;}
.automation-project-copy>p{font-size:.93rem;line-height:1.62;color:var(--muted);margin:0 0 13px;}
.automation-project-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.automation-project-meta span{font-size:.72rem;line-height:1;padding:7px 9px;border:1px solid var(--line);color:var(--muted);background:var(--surface);}
.automation-github-link,.automation-github-profile{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;color:var(--text);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;}
.automation-github-link:hover,.automation-github-profile:hover{opacity:.68;}
.automation-github-link[aria-disabled="true"],.automation-github-profile[aria-disabled="true"]{color:var(--muted);border-bottom-style:dashed;cursor:default;opacity:.78;}
.automation-academic-note{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:30px;align-items:start;margin-top:58px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.automation-academic-note strong{font-size:.86rem;text-transform:uppercase;letter-spacing:.1em;}
.automation-academic-note p{margin:0;max-width:820px;color:var(--muted);font-size:.93rem;line-height:1.65;}
@media (max-width:1100px){
  .automation-gallery-heading{grid-template-columns:1fr;gap:24px;}
  .automation-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .automation-academic-note{grid-template-columns:1fr;gap:14px;}
}
@media (max-width:700px){
  .automation-gallery-shell{width:min(100% - 32px,1480px);}
  .automation-gallery-hero{padding:42px 0 32px;}
  .automation-gallery-back{margin-bottom:26px;}
  .automation-gallery-projects{padding:42px 0 52px;}
  .automation-project-grid{grid-template-columns:1fr;gap:34px;}
  .automation-gallery-heading h1{font-size:2.4rem;}
}

/* Formal academic automation portfolio — compact, evidence-led */
.automation-academic-page .automation-gallery-shell{width:min(1540px,calc(100% - 56px));}
.automation-academic-hero{padding-bottom:34px;}
.automation-hero-statement{display:grid;gap:18px;align-content:end;}
.automation-hero-statement>p{margin:0;font-size:1.01rem;line-height:1.76;color:var(--muted);max-width:620px;}
.automation-hero-statement .automation-github-profile{justify-self:start;}
.automation-review-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.automation-review-strip article{padding:19px 22px 18px;border-right:1px solid var(--line);min-width:0;}
.automation-review-strip article:first-child{padding-left:0;}
.automation-review-strip article:last-child{border-right:0;padding-right:0;}
.automation-review-strip span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700;margin-bottom:7px;}
.automation-review-strip strong{display:block;font-size:.98rem;line-height:1.35;margin-bottom:5px;}
.automation-review-strip p{margin:0;color:var(--muted);font-size:.79rem;line-height:1.5;}
.automation-academic-heading{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);column-gap:34px;align-items:end;margin-bottom:34px;}
.automation-academic-heading span{grid-column:1;}
.automation-academic-heading h2{grid-column:1;margin-bottom:0;}
.automation-academic-heading p{grid-column:2;grid-row:1 / span 2;margin:0;color:var(--muted);font-size:.94rem;line-height:1.7;max-width:760px;justify-self:end;}
.automation-research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.automation-research-card{display:grid;grid-template-columns:minmax(210px,34%) minmax(0,1fr);min-width:0;border:1px solid var(--line);background:var(--surface);overflow:hidden;align-items:stretch;}
.automation-research-card>figure{margin:0;background:#f3f6fa;border-right:1px solid var(--line);min-height:100%;}
.automation-research-card>figure img{display:block;width:100%;height:100%;object-fit:cover;}
.automation-research-body{padding:22px 22px 20px;display:flex;flex-direction:column;min-width:0;}
.automation-research-body .automation-project-type{margin-bottom:7px;}
.automation-research-body h3{font-size:1.18rem;line-height:1.28;margin:0 0 8px;letter-spacing:-.012em;}
.automation-project-abstract{margin:0 0 13px;color:var(--muted);font-size:.88rem;line-height:1.55;}
.automation-project-facts{margin:0 0 12px;display:grid;gap:6px;}
.automation-project-facts>div{display:grid;grid-template-columns:66px minmax(0,1fr);gap:10px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--line) 78%,transparent);}
.automation-project-facts dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted);}
.automation-project-facts dd{margin:0;font-size:.79rem;line-height:1.45;color:var(--text);}
.automation-project-details{margin:1px 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.automation-project-details summary{cursor:pointer;list-style:none;padding:10px 0;font-size:.76rem;font-weight:800;letter-spacing:.02em;color:var(--text);display:flex;justify-content:space-between;align-items:center;}
.automation-project-details summary::-webkit-details-marker{display:none;}
.automation-project-details summary::after{content:'+';font-size:1.05rem;font-weight:500;color:var(--muted);}
.automation-project-details[open] summary::after{content:'−';}
.automation-project-details>div{padding:0 0 10px;}
.automation-project-details p{margin:0 0 8px;color:var(--muted);font-size:.78rem;line-height:1.5;}
.automation-project-details p:last-child{margin-bottom:0;}
.automation-project-details code,.automation-supporting-grid code{font-size:.92em;}
.automation-research-body>.automation-github-link{margin-top:auto;align-self:flex-start;font-size:.77rem;}
.automation-supporting-section{display:grid;grid-template-columns:minmax(230px,.42fr) minmax(0,1fr);gap:34px;margin-top:52px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.automation-supporting-head span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700;margin-bottom:8px;}
.automation-supporting-head h2{font-size:1.55rem;line-height:1.2;margin:0 0 10px;}
.automation-supporting-head p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.6;}
.automation-supporting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;}
.automation-supporting-grid article{border-top:2px solid var(--text);padding-top:11px;}
.automation-supporting-grid strong{display:block;font-size:.86rem;margin-bottom:5px;}
.automation-supporting-grid p{margin:0;color:var(--muted);font-size:.79rem;line-height:1.5;}
.automation-github-note{grid-template-columns:190px minmax(0,1fr) auto;}
.automation-github-note ul{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:.84rem;line-height:1.6;}
.automation-github-note li+li{margin-top:3px;}
@media (max-width:1250px){
 .automation-review-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
 .automation-review-strip article:nth-child(2){border-right:0;}
 .automation-review-strip article:nth-child(-n+2){border-bottom:1px solid var(--line);}
 .automation-review-strip article:nth-child(3){padding-left:0;}
 .automation-research-card{grid-template-columns:1fr;}
 .automation-research-card>figure{border-right:0;border-bottom:1px solid var(--line);aspect-ratio:16/8;min-height:0;}
}
@media (max-width:900px){
 .automation-academic-heading,.automation-supporting-section{grid-template-columns:1fr;gap:14px;}
 .automation-academic-heading p{grid-column:1;grid-row:auto;justify-self:start;}
 .automation-research-grid{grid-template-columns:1fr;}
 .automation-research-card{grid-template-columns:minmax(210px,34%) minmax(0,1fr);}
 .automation-research-card>figure{border-right:1px solid var(--line);border-bottom:0;aspect-ratio:auto;}
 .automation-github-note{grid-template-columns:1fr;}
}
@media (max-width:680px){
 .automation-academic-page .automation-gallery-shell{width:min(100% - 30px,1540px);}
 .automation-review-strip{grid-template-columns:1fr;}
 .automation-review-strip article,.automation-review-strip article:first-child,.automation-review-strip article:nth-child(3),.automation-review-strip article:last-child{padding:14px 0;border-right:0;border-bottom:1px solid var(--line);}
 .automation-review-strip article:last-child{border-bottom:0;}
 .automation-research-card{grid-template-columns:1fr;}
 .automation-research-card>figure{aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--line);}
 .automation-research-body{padding:18px;}
 .automation-supporting-grid{grid-template-columns:1fr;}
 .automation-project-facts>div{grid-template-columns:58px 1fr;}
}

/* =========================================================
   GIS AUTOMATION — EDITORIAL TASK PORTFOLIO (2026-08-02)
   Image-led long-form layout inspired by an academic task page.
   ========================================================= */
.automation-editorial-page{
  background:color-mix(in srgb,var(--bg) 88%,#eee5d8 12%);
}
.automation-editorial-shell{
  width:min(1180px,calc(100% - 44px));
  margin:0 auto;
}
.automation-editorial-hero{
  padding:58px 0 48px;
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--surface) 94%,#efe6d8 6%);
}
.automation-editorial-back{
  display:inline-flex;
  margin-bottom:30px;
  color:var(--muted);
  font-size:.87rem;
  font-weight:650;
}
.automation-editorial-back:hover{color:var(--text)}
.automation-editorial-kicker,
.automation-editorial-section-head>span,
.automation-editorial-story>header>span,
.automation-editorial-additional-head>span,
.automation-editorial-additional-grid article>div>span{
  display:block;
  color:#9a6515;
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.automation-editorial-kicker{margin-bottom:10px}
.automation-editorial-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  gap:64px;
  align-items:end;
}
.automation-editorial-hero h1{
  margin:0;
  max-width:720px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,5.6vw,5.6rem);
  line-height:.97;
  letter-spacing:-.045em;
  font-weight:600;
}
.automation-editorial-hero-grid>div>p{
  margin:0;
  color:var(--muted);
  font-size:1rem;
  line-height:1.78;
}
.automation-editorial-meta{
  display:grid;
  margin-top:24px;
  border-top:1px solid var(--line);
}
.automation-editorial-meta span{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:12px;
  padding:9px 0;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:.78rem;
  line-height:1.45;
}
.automation-editorial-meta b{
  color:var(--text);
  font-size:.67rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.automation-editorial-content{padding:64px 0 78px}
.automation-editorial-reading{max-width:1120px}
.automation-editorial-section-head{
  display:grid;
  grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);
  gap:8px 56px;
  align-items:end;
  margin-bottom:24px;
}
.automation-editorial-section-head>span{grid-column:1}
.automation-editorial-section-head h2{
  grid-column:1;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.8vw,3.35rem);
  line-height:1.05;
  font-weight:600;
}
.automation-editorial-section-head p{
  grid-column:2;
  grid-row:1 / span 2;
  margin:0;
  max-width:620px;
  justify-self:end;
  color:var(--muted);
  font-size:.93rem;
  line-height:1.7;
}
.automation-editorial-story{
  padding:62px 0 58px;
  border-top:1px solid var(--line);
  scroll-margin-top:100px;
}
.automation-editorial-story>header{
  max-width:980px;
  margin-bottom:25px;
}
.automation-editorial-story>header>span{margin-bottom:10px}
.automation-editorial-story h3{
  margin:0 0 13px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.85rem,3.2vw,3rem);
  line-height:1.09;
  letter-spacing:-.018em;
  font-weight:600;
}
.automation-editorial-story>header>p{
  margin:0;
  max-width:980px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.75;
}
.automation-editorial-story figure{
  margin:0 0 22px;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--surface) 96%,#f1eee8 4%);
}
.automation-editorial-story figure img{
  width:100%;
  height:clamp(270px,30vw,390px);
  padding:18px;
  object-fit:contain;
  background:#f6f8fb;
}
.automation-editorial-story figcaption{
  padding:12px 16px 13px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.76rem;
  line-height:1.55;
  background:var(--surface);
}
.automation-editorial-story figcaption strong{color:var(--text)}
.automation-editorial-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.automation-editorial-facts>div{
  padding:16px 18px 17px;
  min-width:0;
  border-right:1px solid var(--line);
}
.automation-editorial-facts>div:first-child{padding-left:0}
.automation-editorial-facts>div:last-child{border-right:0;padding-right:0}
.automation-editorial-facts b{
  display:block;
  margin-bottom:5px;
  color:var(--text);
  font-size:.67rem;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.automation-editorial-facts span{
  display:block;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.5;
}
.automation-editorial-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:15px;
}
.automation-editorial-tags span{
  padding:5px 9px;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--muted);
  font-size:.69rem;
  font-weight:700;
}
.automation-editorial-additional{
  padding:62px 0 56px;
  border-top:1px solid var(--line);
}
.automation-editorial-additional-head{
  display:grid;
  grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);
  gap:8px 56px;
  align-items:end;
  margin-bottom:28px;
}
.automation-editorial-additional-head>span{grid-column:1}
.automation-editorial-additional-head h2{
  grid-column:1;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,3vw,2.75rem);
  line-height:1.08;
  font-weight:600;
}
.automation-editorial-additional-head p{
  grid-column:2;
  grid-row:1 / span 2;
  margin:0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.68;
}
.automation-editorial-additional-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.automation-editorial-additional-grid article{
  min-width:0;
  border:1px solid var(--line);
  background:var(--surface);
}
.automation-editorial-additional-grid article>img{
  width:100%;
  height:185px;
  object-fit:contain;
  padding:12px;
  background:#f6f8fb;
  border-bottom:1px solid var(--line);
}
.automation-editorial-additional-grid article>div{padding:17px 18px 18px}
.automation-editorial-additional-grid article>div>span{margin-bottom:7px;font-size:.62rem}
.automation-editorial-additional-grid h3{
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.16rem;
  line-height:1.25;
}
.automation-editorial-additional-grid p{
  margin:0 0 12px;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.55;
}
.automation-editorial-additional-grid small{
  color:var(--muted);
  font-size:.68rem;
  line-height:1.45;
}
.automation-editorial-note{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:30px;
  padding:25px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.automation-editorial-note strong{
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.automation-editorial-note p{
  margin:0;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.65;
}
@media(max-width:900px){
  .automation-editorial-hero-grid,
  .automation-editorial-section-head,
  .automation-editorial-additional-head{grid-template-columns:1fr;gap:18px}
  .automation-editorial-section-head>span,
  .automation-editorial-section-head h2,
  .automation-editorial-section-head p,
  .automation-editorial-additional-head>span,
  .automation-editorial-additional-head h2,
  .automation-editorial-additional-head p{grid-column:1;grid-row:auto;justify-self:start}
  .automation-editorial-additional-grid{grid-template-columns:1fr 1fr}
  .automation-editorial-facts{grid-template-columns:1fr}
  .automation-editorial-facts>div,
  .automation-editorial-facts>div:first-child,
  .automation-editorial-facts>div:last-child{padding:12px 0;border-right:0;border-bottom:1px solid var(--line)}
  .automation-editorial-facts>div:last-child{border-bottom:0}
}
@media(max-width:620px){
  .automation-editorial-shell{width:min(100% - 30px,1180px)}
  .automation-editorial-hero{padding:42px 0 34px}
  .automation-editorial-back{margin-bottom:23px}
  .automation-editorial-hero h1{font-size:2.75rem}
  .automation-editorial-content{padding:42px 0 58px}
  .automation-editorial-story{padding:44px 0 42px}
  .automation-editorial-story h3{font-size:1.8rem}
  .automation-editorial-story figure img{height:235px;padding:10px}
  .automation-editorial-additional{padding:44px 0 40px}
  .automation-editorial-additional-grid{grid-template-columns:1fr}
  .automation-editorial-note{grid-template-columns:1fr;gap:10px}
}

/* =========================================================
   COMPACT GIS AUTOMATION PROJECT INDEX
   ========================================================= */
.automation-compact-page{background:#f2efe7;color:#10283c}
html[data-theme=dark] .automation-compact-page{background:var(--bg);color:var(--text)}
.automation-compact-shell{width:min(calc(100% - 34px),1220px);margin:0 auto}
.automation-compact-hero{padding:34px 0 28px;border-bottom:1px solid #d8d1c3;background:#f7f4ec}
html[data-theme=dark] .automation-compact-hero{background:var(--surface);border-color:var(--line)}
.automation-compact-back{display:inline-flex;margin-bottom:14px;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8b5d16}
.automation-compact-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:46px;align-items:end}
.automation-compact-kicker,.automation-compact-section-head>div>span{display:block;margin-bottom:7px;color:#9b6617;font-size:.64rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.automation-compact-hero h1{max-width:680px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,3.75vw,3.8rem);line-height:.98;letter-spacing:-.042em;color:#10283c}
html[data-theme=dark] .automation-compact-hero h1{color:var(--text)}
.automation-compact-intro>p{max-width:690px;margin:0;color:#5f6f7a;font-size:.97rem;line-height:1.65}
.automation-compact-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:18px;border-top:1px solid #d7cfc0;border-bottom:1px solid #d7cfc0}
html[data-theme=dark] .automation-compact-metrics{border-color:var(--line)}
.automation-compact-metrics div{padding:10px 12px 10px 0}
.automation-compact-metrics div+div{padding-left:13px;border-left:1px solid #d7cfc0}
html[data-theme=dark] .automation-compact-metrics div+div{border-color:var(--line)}
.automation-compact-metrics strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.34rem;line-height:1;color:#10283c}
.automation-compact-metrics span{display:block;margin-top:4px;color:#6c7880;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
html[data-theme=dark] .automation-compact-metrics strong{color:var(--text)}

.automation-compact-section{padding:30px 0 46px}
.automation-compact-section-head{display:grid;grid-template-columns:1fr .9fr;gap:35px;align-items:end;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #cec6b7}
html[data-theme=dark] .automation-compact-section-head{border-color:var(--line)}
.automation-compact-section-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,2.7vw,2.45rem);line-height:1.08;letter-spacing:-.025em}
.automation-compact-section-head>p{margin:0;color:#65737d;font-size:.85rem;line-height:1.55}

.automation-project-browser{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(450px,.94fr);gap:22px;align-items:start}
.automation-project-index{min-width:0}
.automation-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px;align-items:start}
.automation-project-group{min-width:0}
.automation-project-group h3{margin:0 0 7px;padding-bottom:5px;border-bottom:1px solid #d6cec0;color:#9b6617;font-size:.6rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
html[data-theme=dark] .automation-project-group h3{border-color:var(--line)}
.automation-project-group-grid{display:grid;gap:4px}
.automation-project-tab{width:100%;min-height:43px;display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center;padding:6px 8px;border:0;border-left:2px solid transparent;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.automation-project-tab:hover{background:#e9e4d9}
.automation-project-tab.active{background:#fffdf8;border-left-color:#b97816;box-shadow:inset 0 0 0 1px #d6cec0}
html[data-theme=dark] .automation-project-tab:hover{background:var(--surface2)}
html[data-theme=dark] .automation-project-tab.active{background:var(--surface);border-left-color:var(--accent);box-shadow:inset 0 0 0 1px var(--line)}
.automation-project-tab>span{font-family:Georgia,"Times New Roman",serif;font-size:.82rem;color:#a66c15}
.automation-project-tab strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.24;color:#142b3e}
html[data-theme=dark] .automation-project-tab strong{color:var(--text)}
.automation-project-tab small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;color:#748087;font-size:.6rem;line-height:1.2}

.automation-project-detail{position:sticky;top:92px;overflow:hidden;border:1px solid #cfc6b7;background:#fffdf8;transition:opacity .18s ease,transform .18s ease}
.automation-project-detail.is-updating{opacity:.55;transform:translateY(2px)}
html[data-theme=dark] .automation-project-detail{background:var(--surface);border-color:var(--line)}
.automation-project-visual{position:relative;height:166px;margin:0;overflow:hidden;background:#eae5da;border-bottom:1px solid #cfc6b7}
html[data-theme=dark] .automation-project-visual{background:var(--surface2);border-color:var(--line)}
.automation-project-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.automation-project-visual figcaption{position:absolute;left:13px;bottom:11px;max-width:calc(100% - 26px);padding:5px 8px;background:rgba(255,253,248,.92);border:1px solid rgba(207,198,183,.92);font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#384d5d}
html[data-theme=dark] .automation-project-visual figcaption{background:color-mix(in srgb,var(--surface) 90%,transparent);border-color:var(--line);color:var(--text)}
.automation-project-detail-body{padding:18px 20px 17px}
.automation-project-detail-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.automation-project-detail-heading>div>span{display:block;margin-bottom:5px;color:#9b6617;font-size:.6rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.automation-project-detail h2{max-width:500px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.56rem;line-height:1.08;letter-spacing:-.02em;color:#10283c}
html[data-theme=dark] .automation-project-detail h2{color:var(--text)}
.automation-project-format{flex:0 0 auto;padding:5px 8px;border:1px solid #cdc3b2;background:#f2eee5;color:#586a75;font-size:.59rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
html[data-theme=dark] .automation-project-format{background:var(--surface2);border-color:var(--line);color:var(--muted)}
.automation-project-summary{margin:10px 0 13px;color:#566a76;font-size:.79rem;line-height:1.48}
.automation-project-facts{display:grid;margin:0;border-top:1px solid #d7cfc0;border-bottom:1px solid #d7cfc0}
html[data-theme=dark] .automation-project-facts{border-color:var(--line)}
.automation-project-facts>div{display:grid;grid-template-columns:93px 1fr;gap:10px;padding:7px 0}
.automation-project-facts>div+div{border-top:1px dotted #d7cfc0}
html[data-theme=dark] .automation-project-facts>div+div{border-color:var(--line)}
.automation-project-facts dt{margin:0;color:#9b6617;font-size:.59rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.automation-project-facts dd{margin:0;color:#536672;font-size:.7rem;line-height:1.43}
.automation-project-reviewer{display:grid;grid-template-columns:126px 1fr;gap:12px;align-items:start;margin:11px 0 10px;padding:9px 10px;border-left:3px solid #b97816;background:#f1ede4}
html[data-theme=dark] .automation-project-reviewer{background:var(--surface2);border-left-color:var(--accent)}
.automation-project-reviewer span{color:#9b6617;font-size:.56rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.automation-project-reviewer strong{font-family:Georgia,"Times New Roman",serif;font-size:.75rem;line-height:1.4;color:#20384a}
html[data-theme=dark] .automation-project-reviewer strong{color:var(--text)}
.automation-project-detail-footer{display:grid;grid-template-columns:1fr 1.08fr;gap:14px;align-items:start}
.automation-project-tags{display:flex;flex-wrap:wrap;gap:4px}
.automation-project-tags span{padding:4px 7px;border:1px solid #d2c9ba;background:#faf7f0;color:#63717a;font-size:.55rem;font-weight:750}
html[data-theme=dark] .automation-project-tags span{background:var(--surface2);border-color:var(--line);color:var(--muted)}
.automation-project-evidence{min-width:0}
.automation-project-evidence>span{display:block;margin-bottom:3px;color:#9b6617;font-size:.55rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.automation-project-evidence p{margin:0;overflow-wrap:anywhere;color:#6b777e;font-family:Consolas,"Courier New",monospace;font-size:.55rem;line-height:1.4}
.automation-compact-source-note{margin:20px 0 0;padding-top:13px;border-top:1px solid #cec6b7;color:#69767e;font-size:.68rem;line-height:1.5}
html[data-theme=dark] .automation-compact-source-note{border-color:var(--line);color:var(--muted)}
.automation-compact-source-note strong{color:#253e50}
html[data-theme=dark] .automation-compact-source-note strong{color:var(--text)}

@media(max-width:1100px){
  .automation-project-browser{grid-template-columns:1fr minmax(420px,.92fr)}
  .automation-project-list{grid-template-columns:1fr}
  .automation-project-tab strong,.automation-project-tab small{white-space:normal}
}
@media(max-width:900px){
  .automation-compact-hero-grid,.automation-compact-section-head,.automation-project-browser{grid-template-columns:1fr}
  .automation-compact-hero-grid{gap:22px}
  .automation-project-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .automation-project-detail{position:relative;top:auto}
  .automation-compact-section-head{gap:10px}
}
@media(max-width:620px){
  .automation-compact-shell{width:min(calc(100% - 24px),1220px)}
  .automation-compact-hero{padding:27px 0 23px}
  .automation-compact-hero h1{font-size:2.45rem}
  .automation-compact-metrics{grid-template-columns:repeat(2,1fr)}
  .automation-compact-metrics div:nth-child(3){border-left:0;border-top:1px solid #d7cfc0}
  .automation-compact-metrics div:nth-child(4){border-top:1px solid #d7cfc0}
  .automation-project-list{grid-template-columns:1fr}
  .automation-project-detail-heading{display:block}
  .automation-project-format{display:inline-flex;margin-top:8px}
  .automation-project-visual{height:145px}
  .automation-project-detail-body{padding:16px}
  .automation-project-facts>div{grid-template-columns:1fr;gap:2px}
  .automation-project-reviewer,.automation-project-detail-footer{grid-template-columns:1fr}
}

/* =========================================================
   GIS AUTOMATION — ACADEMIC COMPACT REFINEMENT (V3)
   ========================================================= */
.automation-academic-section{padding:18px 0 38px}
.automation-academic-header{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:34px;align-items:end;margin-bottom:18px;padding:0 0 15px;border-bottom:1px solid #cfc6b7}
html[data-theme=dark] .automation-academic-header{border-color:var(--line)}
.automation-academic-title .automation-compact-back{margin-bottom:8px}
.automation-academic-title .automation-compact-kicker{margin-bottom:5px}
.automation-academic-title h1{max-width:610px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3vw,3rem);line-height:1.01;letter-spacing:-.038em;color:#10283c}
html[data-theme=dark] .automation-academic-title h1{color:var(--text)}
.automation-academic-summary>p{max-width:680px;margin:0;color:#5f6f7a;font-size:.84rem;line-height:1.55}
.automation-academic-domains{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.automation-academic-domains span{padding:4px 7px;border:1px solid #d0c7b8;background:#f8f5ee;color:#5f6f78;font-size:.56rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
html[data-theme=dark] .automation-academic-domains span{background:var(--surface2);border-color:var(--line);color:var(--muted)}

.automation-project-browser{grid-template-columns:minmax(0,1.08fr) minmax(470px,.92fr);gap:20px}
.automation-project-list{gap:14px 16px}
.automation-project-group h3{margin-bottom:5px}
.automation-project-group-grid{gap:2px}
.automation-project-tab{min-height:40px;padding:5px 7px}
.automation-project-detail{top:84px;box-shadow:0 8px 24px rgba(31,43,52,.055)}
.automation-project-visual{height:138px}
.automation-project-visual figcaption{left:11px;bottom:9px;padding:4px 7px;font-size:.56rem}
.automation-project-detail-body{padding:15px 17px 14px}
.automation-project-detail-heading{gap:14px}
.automation-project-detail-heading>div>span{margin-bottom:4px;font-size:.56rem}
.automation-project-detail h2{font-size:1.42rem;line-height:1.06}
.automation-project-format{padding:5px 7px;font-size:.55rem}
.automation-project-summary{margin:8px 0 10px;font-size:.73rem;line-height:1.42}
.automation-project-facts>div{grid-template-columns:116px 1fr;gap:9px;padding:6px 0}
.automation-project-facts dt{font-size:.54rem;line-height:1.35}
.automation-project-facts dd{font-size:.66rem;line-height:1.4}
.automation-project-reviewer{grid-template-columns:142px 1fr;gap:10px;margin:9px 0;padding:8px 9px}
.automation-project-reviewer span{font-size:.52rem;line-height:1.35}
.automation-project-reviewer strong{font-size:.69rem;line-height:1.35}
.automation-project-detail-footer{grid-template-columns:.82fr 1.18fr;gap:12px;padding-top:1px}
.automation-project-footer-label{display:block;margin-bottom:5px;color:#9b6617;font-size:.52rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.automation-project-tags{gap:3px}
.automation-project-tags span{padding:3px 6px;font-size:.51rem}
.automation-project-code-panel{min-width:0;padding-left:12px;border-left:1px solid #d7cfc0}
html[data-theme=dark] .automation-project-code-panel{border-color:var(--line)}
.automation-project-evidence>span{font-size:.52rem}
.automation-project-evidence p{max-height:34px;overflow:auto;font-size:.5rem;line-height:1.35;scrollbar-width:thin}
.automation-project-github{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:8px;padding:8px 10px;border:1px solid #17354c;background:#17354c;color:#fff;font-size:.61rem;font-weight:850;letter-spacing:.035em;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.automation-project-github:hover{background:#0f283b;border-color:#0f283b;transform:translateY(-1px)}
.automation-project-github img{width:15px;height:15px;filter:brightness(0) invert(1)}
.automation-project-github b{margin-left:auto;font-size:.76rem;font-weight:600}
.automation-project-github.is-unavailable{cursor:not-allowed;background:#ece7dc;border-color:#d3cab9;color:#778187}
.automation-project-github.is-unavailable:hover{transform:none;background:#ece7dc;border-color:#d3cab9}
.automation-project-github.is-unavailable img{filter:none;opacity:.5}
html[data-theme=dark] .automation-project-github{background:var(--accent);border-color:var(--accent);color:#fff}
html[data-theme=dark] .automation-project-github.is-unavailable{background:var(--surface2);border-color:var(--line);color:var(--muted)}
.automation-project-github-note{margin:5px 0 0;color:#7a8388;font-size:.49rem;line-height:1.35}

@media(max-width:1100px){
  .automation-project-browser{grid-template-columns:1fr minmax(430px,.94fr)}
}
@media(max-width:900px){
  .automation-academic-header,.automation-project-browser{grid-template-columns:1fr}
  .automation-academic-header{gap:12px;align-items:start}
  .automation-project-detail{position:relative;top:auto}
}
@media(max-width:620px){
  .automation-academic-section{padding-top:14px}
  .automation-academic-title h1{font-size:2.1rem}
  .automation-academic-summary>p{font-size:.78rem}
  .automation-project-detail-footer,.automation-project-reviewer{grid-template-columns:1fr}
  .automation-project-code-panel{padding-left:0;padding-top:9px;border-left:0;border-top:1px solid #d7cfc0}
  .automation-project-facts>div{grid-template-columns:1fr;gap:2px}
}

/* =========================================================
   GIS AUTOMATION — CONSOLIDATED ACADEMIC SYSTEMS (V4)
   ========================================================= */
.automation-academic-section .automation-project-visual{height:178px}
.automation-academic-section .automation-project-detail{background:#fffdf9;border-color:#c9c0b1;box-shadow:0 9px 24px rgba(30,43,53,.05)}
.automation-academic-section .automation-project-detail-body{padding:16px 18px 15px}
.automation-academic-section .automation-project-summary{font-size:.75rem;line-height:1.5;color:#506774;margin:9px 0 11px}
.automation-academic-section .automation-project-facts>div{grid-template-columns:116px 1fr;padding:7px 0}
.automation-academic-section .automation-project-facts dd{font-size:.68rem;line-height:1.47}
.automation-project-notes{margin:10px 0 11px;padding:9px 0 0;border-top:1px solid #d7cfc0}
.automation-project-notes span{display:block;margin-bottom:4px;color:#9b6617;font-size:.54rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.automation-project-notes p{margin:0;color:#536773;font-size:.67rem;line-height:1.47}
html[data-theme=dark] .automation-project-notes{border-color:var(--line)}
html[data-theme=dark] .automation-project-notes p{color:var(--muted)}
.automation-academic-section .automation-project-detail-footer{grid-template-columns:.9fr 1.1fr;gap:13px}
.automation-academic-section .automation-project-github{padding:9px 10px;background:#17354c;border-color:#17354c}
.automation-academic-section .automation-project-tab{min-height:47px;padding:6px 8px}
.automation-academic-section .automation-project-tab strong{font-size:.77rem}
.automation-academic-section .automation-project-tab small{font-size:.61rem;line-height:1.25}
.automation-academic-section .automation-project-list{gap:16px 18px}

@media(max-width:620px){
  .automation-academic-section .automation-project-visual{height:162px}
  .automation-academic-section .automation-project-detail-body{padding:15px}
  .automation-project-notes{margin-top:9px}
}

/* ArcMap-authentic automation portfolio refinement */
.automation-academic-section .automation-project-visual{height:205px}
.automation-project-format{max-width:175px;text-align:center}
@media (max-width:680px){.automation-academic-section .automation-project-visual{height:178px}}


/* Homepage text-only profile — preserves the original hero layout */
.compact-profile-text{
  align-self:center;
  max-width:520px;
  padding:4px 0 2px 30px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.compact-profile-kicker{
  display:block;
  margin-bottom:12px;
  color:var(--accent);
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.compact-profile-text p{
  margin:0 0 14px;
  color:var(--text);
  font-family:Georgia,"Times New Roman",serif;
  font-size:.94rem;
  line-height:1.7;
}
.compact-profile-text p:last-child{margin-bottom:0;}
@media(max-width:1050px){
  .compact-home-layout{grid-template-columns:minmax(0,1.08fr) minmax(300px,.82fr);gap:36px;}
  .compact-profile-text{padding-left:24px;}
}
@media(max-width:780px){
  .compact-profile-text{
    max-width:none;
    padding:18px 0 0;
  }
  .compact-profile-text p{font-size:.9rem;line-height:1.65;}
}


/* Homepage biography — single-column, borderless academic profile */
.compact-home-layout{
  grid-template-columns:1fr;
  gap:0;
  align-items:start;
}
.compact-home-biography{
  grid-column:1 / -1;
  max-width:1180px;
  margin:0 auto;
  padding:4px 0 2px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.compact-home-biography p{
  margin:0 0 18px;
  color:var(--text);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(.98rem,1.15vw,1.08rem);
  line-height:1.72;
  text-align:left;
}
.compact-home-biography p:last-child{margin-bottom:0;}
.compact-home-layout>.compact-stats{
  grid-column:1 / -1;
  width:100%;
  margin-top:24px;
}
@media(max-width:780px){
  .compact-home-biography{padding:0;}
  .compact-home-biography p{font-size:.94rem;line-height:1.65;margin-bottom:15px;}
  .compact-home-layout>.compact-stats{margin-top:20px;}
}

/* ============================================================
   DEVELOPMENT & CERTIFICATION — VERIFIED CREDENTIAL RECORD
   04 Aug 2026 · compact, professor-facing, PDF-linked layout
   ============================================================ */
.credential-page main{min-height:70vh}
.credential-hero{padding:46px 0 34px;border-bottom:1px solid var(--line);background:linear-gradient(115deg,color-mix(in srgb,var(--surface) 94%,var(--primary)),var(--bg))}
.credential-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:58px;align-items:end}
.credential-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.65rem,5.6vw,4.8rem);line-height:1;letter-spacing:-.045em;margin:.18em 0 .22em}
.credential-hero p{max-width:720px;margin:0;color:var(--muted);font-size:1.02rem;line-height:1.75}
.credential-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:2px solid var(--primary);border-bottom:1px solid var(--line)}
.credential-overview div{padding:14px 16px 13px;min-width:0}
.credential-overview div:nth-child(odd){border-right:1px solid var(--line)}
.credential-overview div:nth-child(n+3){border-top:1px solid var(--line)}
.credential-overview dt{font-size:.67rem;line-height:1.25;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}
.credential-overview dd{margin:5px 0 0;color:var(--primary2);font-size:1.03rem;line-height:1.25;font-weight:800}

.credential-record-section{padding:42px 0 72px}
.credential-record-head{display:flex;justify-content:space-between;align-items:end;gap:42px;padding-bottom:22px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.credential-record-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.85rem,3.4vw,2.75rem);line-height:1.1;margin:.2em 0 0}
.credential-record-head>p{max-width:560px;margin:0;color:var(--muted);font-size:.91rem;line-height:1.65}
.credential-groups{display:grid;gap:34px}
.credential-group{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:start}
.credential-group-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding-top:3px;position:sticky;top:94px}
.credential-group-head>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary2);color:var(--bg);font:800 .68rem/1 Consolas,monospace;letter-spacing:.08em}
.credential-group-head h3{font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;line-height:1.18;margin:0 0 6px}
.credential-group-head p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}
.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.credential-card{display:grid;grid-template-columns:178px minmax(0,1fr);min-height:205px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 22px rgba(7,33,39,.045);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.credential-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 36%,var(--line));box-shadow:0 14px 30px rgba(7,33,39,.08)}
.credential-card.is-certification{border-top:3px solid var(--accent)}
.credential-preview{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;padding:8px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface2) 88%,var(--surface))}
.credential-preview img{display:block;width:100%;height:100%;max-height:187px;object-fit:contain;object-position:center;background:#fff}
.credential-preview span{position:absolute;left:12px;bottom:11px;padding:4px 7px;border-radius:6px;background:rgba(6,38,45,.86);color:#fff;font-size:.61rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;opacity:0;transform:translateY(3px);transition:.2s}
.credential-preview:hover span,.credential-preview:focus-visible span{opacity:1;transform:none}
.credential-copy{display:flex;flex-direction:column;min-width:0;padding:14px 15px 13px}
.credential-topline{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px}
.credential-type{display:inline-flex;max-width:calc(100% - 48px);padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-size:.61rem;font-weight:850;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.is-certification .credential-type{background:color-mix(in srgb,var(--accent) 15%,transparent);color:color-mix(in srgb,var(--accent) 72%,var(--text))}
.credential-year{color:var(--muted);font:800 .7rem/1 Consolas,monospace}
.credential-copy h3{font-family:Georgia,"Times New Roman",serif;font-size:1.06rem;line-height:1.25;margin:0 0 4px}
.credential-issuer{margin:0 0 8px;color:var(--primary);font-size:.73rem;font-weight:800}
.credential-meta{display:grid;grid-template-columns:1.05fr .95fr;gap:7px;margin:0 0 8px}
.credential-meta div{min-width:0;padding-top:6px;border-top:1px solid var(--line)}
.credential-meta dt{font-size:.55rem;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.credential-meta dd{margin:3px 0 0;font-size:.67rem;line-height:1.35;font-weight:750;color:var(--text)}
.credential-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 9px;color:var(--muted);font-size:.69rem;line-height:1.45}
.credential-action{display:inline-flex;align-items:center;gap:6px;width:max-content;margin-top:auto;color:var(--primary);font-size:.72rem;font-weight:850}
.credential-action span{transition:transform .2s}
.credential-action:hover span{transform:translateX(3px)}

@media(max-width:1120px){
  .credential-group{grid-template-columns:180px minmax(0,1fr)}
  .credential-card{grid-template-columns:145px minmax(0,1fr)}
  .credential-preview img{max-height:176px}
}
@media(max-width:920px){
  .credential-hero-grid{grid-template-columns:1fr;gap:28px;align-items:start}
  .credential-overview{max-width:620px}
  .credential-group{grid-template-columns:1fr;gap:13px}
  .credential-group-head{position:static;max-width:560px}
}
@media(max-width:720px){
  .credential-hero{padding:36px 0 28px}
  .credential-record-section{padding:34px 0 54px}
  .credential-record-head{display:block;margin-bottom:24px}
  .credential-record-head>p{margin-top:12px}
  .credential-grid{grid-template-columns:1fr}
  .credential-card{grid-template-columns:150px minmax(0,1fr)}
}
@media(max-width:480px){
  .credential-hero-grid{gap:22px}
  .credential-overview div{padding:11px 10px}
  .credential-overview dd{font-size:.9rem}
  .credential-card{grid-template-columns:118px minmax(0,1fr);min-height:190px}
  .credential-preview{height:auto;border-right:1px solid var(--line);border-bottom:0;padding:6px}
  .credential-preview img{max-height:176px}
  .credential-copy{padding:12px 11px}
  .credential-copy h3{font-size:.97rem}
  .credential-summary{-webkit-line-clamp:2}
}

/* v17 — remove chapter-number strips from selected academic cards */
body[data-story-page="research"] .story-chapter > .story-step,
body[data-story-page="publications"] .story-chapter > .story-step,
body[data-story-page="teaching"] .story-chapter > .story-step,
body[data-story-page="skills"] .story-chapter > .story-step{
  display:none !important;
}

body[data-story-page="research"] .story-chapter,
body[data-story-page="teaching"] .story-chapter,
body[data-story-page="skills"] .story-chapter{
  grid-template-columns:minmax(0,1fr) !important;
  grid-template-areas:"media" "body" !important;
}

#publication-record-page .publication-record-card{
  grid-template-columns:126px minmax(0,1fr) !important;
  grid-template-areas:"media body" !important;
}

@media(max-width:1100px){
  #publication-record-page .publication-record-card{
    grid-template-columns:108px minmax(0,1fr) !important;
  }
}

@media(max-width:820px){
  #publication-record-page .publication-record-card{
    grid-template-columns:94px minmax(0,1fr) !important;
    grid-template-areas:"media body" !important;
  }
}

@media(max-width:580px){
  #publication-record-page .publication-record-card{
    grid-template-columns:1fr !important;
    grid-template-areas:"media" "body" !important;
  }
}


/* v18 — publication visual panel made more eye-catching */
#publication-record-page .publication-record-card{
  align-items:stretch !important;
  grid-template-columns:148px minmax(0,1fr) !important;
  min-height:214px !important;
}
#publication-record-page .publication-record-media{
  align-self:stretch !important;
  position:relative !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  min-height:214px !important;
  height:auto !important;
  background:linear-gradient(180deg,#102e47 0%,#18364a 18%,#f1f5f7 18%,#f8fafb 100%) !important;
  overflow:hidden !important;
}
#publication-record-page .publication-record-media::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:7px;
  background:linear-gradient(90deg,var(--accent) 0%, color-mix(in srgb,var(--accent) 45%,transparent) 50%, transparent 100%);
  z-index:2;
}
#publication-record-page .publication-record-media img{
  flex:1 1 auto !important;
  width:100% !important;
  height:100% !important;
  min-height:214px !important;
  object-fit:cover !important;
  object-position:center top !important;
  filter:saturate(.94) contrast(1.03) !important;
}
#publication-record-page .publication-record-body{
  min-height:214px !important;
}
@media(max-width:1100px){
  #publication-record-page .publication-record-card{grid-template-columns:132px minmax(0,1fr) !important; min-height:206px !important;}
  #publication-record-page .publication-record-media,
  #publication-record-page .publication-record-media img,
  #publication-record-page .publication-record-body{min-height:206px !important;}
}
@media(max-width:820px){
  #publication-record-page .publication-record-card{grid-template-columns:108px minmax(0,1fr) !important;}
  #publication-record-page .publication-record-media,
  #publication-record-page .publication-record-media img{min-height:220px !important;}
}
@media(max-width:580px){
  #publication-record-page .publication-record-media,
  #publication-record-page .publication-record-media img{min-height:200px !important;}
}


/* v19 — use supplied publication cover images */
#publication-record-page .publication-record-media{
  padding:8px !important;
  background:linear-gradient(180deg,#f4f7f8 0%,#edf2f4 100%) !important;
}
#publication-record-page .publication-record-media img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff !important;
  border:1px solid rgba(17,39,59,.08) !important;
  box-shadow:0 6px 16px rgba(17,39,59,.08) !important;
}
@media(max-width:820px){
  #publication-record-page .publication-record-media{padding:6px !important;}
}


/* v25 — building-footprint detail hero portrait fit */
#building-footprint-page .academic-paper-grid{
  grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
  gap:34px;
}
#building-footprint-page .academic-concept-figure-portrait{
  max-width:520px;
  margin-top:24px;
  justify-self:end;
}
#building-footprint-page .academic-concept-figure-portrait img{
  aspect-ratio:3 / 4;
  padding:14px;
  object-fit:contain;
  object-position:center top;
  background:linear-gradient(135deg,#f7f8f6,#edf1ef);
}
@media(max-width:1050px){
  #building-footprint-page .academic-paper-grid{grid-template-columns:1fr;}
  #building-footprint-page .academic-concept-figure-portrait{justify-self:center;max-width:500px;margin-top:0;}
}
@media(max-width:640px){
  #building-footprint-page .academic-concept-figure-portrait{max-width:100%;}
  #building-footprint-page .academic-concept-figure-portrait img{aspect-ratio:4 / 5;padding:10px;}
}


/* v26 — reduce hero figure height for building-footprint detail */
#building-footprint-page .academic-paper-grid{
  grid-template-columns:minmax(0,1fr) 430px;
  gap:28px;
  align-items:start;
}
#building-footprint-page .academic-concept-figure-portrait{
  max-width:430px;
  margin-top:10px;
}
#building-footprint-page .academic-concept-figure-portrait img{
  width:100%;
  height:auto;
  max-height:505px;
  aspect-ratio:auto;
  padding:10px;
}
#building-footprint-page .academic-cover-figure figcaption{
  padding:8px 3px 0;
  font-size:.7rem;
  line-height:1.45;
}
@media(max-width:1200px){
  #building-footprint-page .academic-paper-grid{grid-template-columns:minmax(0,1fr) 390px;}
  #building-footprint-page .academic-concept-figure-portrait{max-width:390px;}
  #building-footprint-page .academic-concept-figure-portrait img{max-height:470px;}
}
@media(max-width:1050px){
  #building-footprint-page .academic-paper-grid{grid-template-columns:1fr;}
  #building-footprint-page .academic-concept-figure-portrait{max-width:470px;margin-top:0;}
  #building-footprint-page .academic-concept-figure-portrait img{max-height:none;}
}


/* v28 — compact research-detail introductions; overview cards remain unchanged */
.research-detail-intro{
  padding:24px 0 20px;
  background:#f8f7f3;
  border-bottom:1px solid #d5d1c8;
}
.research-detail-intro .academic-breadcrumbs{margin-bottom:12px;}
.research-detail-label{
  display:block;
  margin-bottom:7px;
  color:var(--accent);
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.12em;
  line-height:1.4;
  text-transform:uppercase;
}
.research-detail-intro h1{
  max-width:1050px;
  margin:0;
  color:var(--primary2);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.75rem,3vw,2.8rem);
  line-height:1.06;
  letter-spacing:-.035em;
}
.research-detail-author{
  margin:9px 0 0;
  color:var(--primary2);
  font-size:.78rem;
  font-weight:700;
}
.research-detail-summary{
  max-width:980px;
  margin:12px 0 0;
  color:#556473;
  font-size:.9rem;
  line-height:1.68;
}
.research-detail-at-a-glance{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:17px;
}
.research-detail-at-a-glance article{
  min-width:0;
  padding:12px 14px;
  border:1px solid #d9d5cc;
  border-radius:8px;
  background:#fff;
}
.research-detail-at-a-glance span{
  display:block;
  margin-bottom:5px;
  color:var(--accent);
  font-size:.55rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.research-detail-at-a-glance p{
  margin:0;
  color:#253b4d;
  font-size:.7rem;
  font-weight:600;
  line-height:1.5;
}
.research-detail-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:11px;
}
.research-detail-tags span{
  padding:4px 7px;
  border:1px solid #d6d2c9;
  background:transparent;
  color:#40566a;
  font-size:.53rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.academic-research-page .academic-record-band{padding:12px 0;}
.academic-research-page .academic-record-grid{gap:0;}
@media(max-width:900px){
  .research-detail-at-a-glance{grid-template-columns:1fr;}
  .research-detail-intro h1{font-size:2rem;}
}
@media(max-width:560px){
  .research-detail-intro{padding:20px 0 16px;}
  .research-detail-intro h1{font-size:1.72rem;}
  .research-detail-summary{font-size:.82rem;}
}


/* v29 — compact professor-friendly research detail pages with visuals */
.compact-research-detail .research-detail-intro{padding:18px 0 16px;background:#f8f7f3;border-bottom:1px solid #d7d2c8;}
.compact-research-detail .research-detail-intro .container{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start;}
.compact-research-detail .research-detail-intro-copy{min-width:0;}
.compact-research-detail .research-detail-intro .academic-breadcrumbs{margin-bottom:8px;}
.compact-research-detail .research-detail-label{margin-bottom:6px;font-size:.58rem;letter-spacing:.12em;}
.compact-research-detail .research-detail-intro h1{max-width:none;font-size:clamp(1.55rem,2.5vw,2.28rem);line-height:1.08;}
.compact-research-detail .research-detail-author{margin-top:8px;font-size:.76rem;}
.compact-research-detail .research-detail-summary{max-width:none;margin-top:9px;font-size:.84rem;line-height:1.58;}
.compact-research-detail .research-detail-at-a-glance{margin-top:12px;gap:8px;}
.compact-research-detail .research-detail-at-a-glance article{padding:10px 12px;border-radius:10px;}
.compact-research-detail .research-detail-at-a-glance p{font-size:.68rem;line-height:1.46;}
.compact-research-detail .research-detail-tags{margin-top:10px;}
.compact-research-detail .research-detail-tags span{padding:4px 7px;font-size:.5rem;}
.compact-research-detail .research-detail-hero-visual{margin:0;align-self:start;justify-self:end;width:100%;max-width:360px;padding:8px;border:1px solid #d2cdc2;background:#fff;box-shadow:6px 6px 0 #ebe5da;}
.compact-research-detail .research-detail-hero-visual img{display:block;width:100%;height:auto;max-height:245px;object-fit:contain;object-position:center;background:linear-gradient(135deg,#f7f8f6,#eef1ef);}
.compact-research-detail .research-detail-hero-visual figcaption{padding:6px 2px 0;color:#61707f;font-family:Georgia,"Times New Roman",serif;font-size:.67rem;line-height:1.4;}
.compact-research-detail .academic-paper-body{padding-top:20px;}
.compact-research-detail .academic-paper-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;}
.compact-research-detail .academic-manuscript{min-width:0;}
.compact-research-detail .academic-section{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #e2ddd3;}
.compact-research-detail .academic-section:last-child{border-bottom:0;}
.compact-research-detail .academic-section h2{margin:.18rem 0 .45rem;font-size:1.16rem;line-height:1.28;}
.compact-research-detail .academic-section p{font-size:.84rem;line-height:1.58;}
.compact-research-detail .academic-section-label{font-size:.58rem;}
.compact-research-detail .academic-objectives{gap:10px;}
.compact-research-detail .academic-objectives div{padding:12px;border-radius:10px;}
.compact-research-detail .academic-objectives p{font-size:.8rem;line-height:1.5;}
.compact-research-detail .academic-table-wrap{margin-top:8px;}
.compact-research-detail .academic-table th,.compact-research-detail .academic-table td{padding:9px 10px;font-size:.79rem;line-height:1.45;}
.compact-research-detail .academic-limitations{columns:2;column-gap:24px;margin-top:6px;}
.compact-research-detail .academic-limitations li{break-inside:avoid;page-break-inside:avoid;margin-bottom:6px;font-size:.82rem;line-height:1.5;}
.compact-research-detail .academic-authorship-box{padding:12px 14px;border-radius:10px;margin-top:10px;}
.compact-research-detail .academic-research-sidebar{position:sticky;top:84px;align-self:start;}
.compact-research-detail .academic-sidebar-card{padding:14px 15px;border-radius:12px;}
.compact-research-detail .academic-sidebar-dl div{padding:7px 0;}
.compact-research-detail .academic-page-nav a{padding:6px 0;}
.compact-research-detail .academic-back-button{margin-top:10px;}
@media(max-width:1180px){
  .compact-research-detail .research-detail-intro .container{grid-template-columns:minmax(0,1fr) 320px;gap:20px;}
  .compact-research-detail .research-detail-hero-visual{max-width:320px;}
  .compact-research-detail .research-detail-hero-visual img{max-height:220px;}
}
@media(max-width:980px){
  .compact-research-detail .research-detail-intro .container{grid-template-columns:1fr;}
  .compact-research-detail .research-detail-hero-visual{justify-self:start;max-width:420px;}
  .compact-research-detail .academic-paper-layout{grid-template-columns:1fr;}
  .compact-research-detail .academic-research-sidebar{position:static;}
}
@media(max-width:760px){
  .compact-research-detail .academic-limitations{columns:1;}
}
@media(max-width:560px){
  .compact-research-detail .research-detail-intro h1{font-size:1.6rem;}
  .compact-research-detail .research-detail-summary{font-size:.8rem;}
  .compact-research-detail .research-detail-hero-visual{max-width:100%;}
  .compact-research-detail .research-detail-hero-visual img{max-height:none;}
  .compact-research-detail .research-detail-at-a-glance{grid-template-columns:1fr;}
}


/* v30 — minimal academic header for individual research pages */
.academic-detail-minimal .research-detail-intro{
  padding:14px 0 13px;
  background:#fbfaf7;
  border-bottom:1px solid #d9d4ca;
}
.academic-detail-minimal .research-detail-intro .container{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:22px;
  align-items:start;
}
.academic-detail-minimal .research-detail-intro-copy{min-width:0;}
.academic-detail-minimal .research-detail-intro .academic-breadcrumbs{
  margin-bottom:6px;
  font-size:.64rem;
}
.academic-detail-minimal .research-detail-label{
  margin-bottom:5px;
  font-size:.54rem;
  letter-spacing:.105em;
}
.academic-detail-minimal .research-detail-intro h1{
  max-width:none;
  margin:0;
  font-size:clamp(1.5rem,2.15vw,2.05rem);
  line-height:1.08;
  letter-spacing:-.026em;
}
.academic-detail-minimal .research-detail-author{
  margin:7px 0 0;
  font-size:.7rem;
  font-weight:700;
}
.academic-detail-minimal .research-detail-summary{
  max-width:none;
  margin:8px 0 0;
  color:#536271;
  font-size:.78rem;
  line-height:1.5;
}
.academic-detail-minimal .research-detail-synopsis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:11px 0 0;
  padding:9px 0 0;
  border-top:1px solid #d8d3ca;
}
.academic-detail-minimal .research-detail-synopsis>div{
  min-width:0;
  padding:0 12px;
  border-left:1px solid #ddd8cf;
}
.academic-detail-minimal .research-detail-synopsis>div:first-child{
  padding-left:0;
  border-left:0;
}
.academic-detail-minimal .research-detail-synopsis dt{
  margin:0 0 3px;
  color:#96661a;
  font-size:.49rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.academic-detail-minimal .research-detail-synopsis dd{
  margin:0;
  color:#243a4d;
  font-size:.64rem;
  font-weight:600;
  line-height:1.42;
}
.academic-detail-minimal .research-detail-hero-visual{
  width:100%;
  max-width:300px;
  margin:0;
  padding:6px;
  border:1px solid #d4cfc5;
  background:#fff;
  box-shadow:none;
}
.academic-detail-minimal .research-detail-hero-visual img{
  display:block;
  width:100%;
  height:160px;
  max-height:none;
  object-fit:contain;
  object-position:center;
  background:#f5f6f4;
}
.academic-detail-minimal .research-detail-hero-visual figcaption{
  padding:5px 1px 0;
  color:#687583;
  font-size:.58rem;
  line-height:1.35;
}
.academic-detail-minimal .academic-paper-body{padding-top:16px;}
.academic-detail-minimal .academic-paper-layout{
  grid-template-columns:minmax(0,1fr) 250px;
  gap:22px;
}
.academic-detail-minimal .academic-section{
  margin-bottom:12px;
  padding-bottom:12px;
}
.academic-detail-minimal .academic-section h2{
  font-size:1.08rem;
  margin:.15rem 0 .4rem;
}
.academic-detail-minimal .academic-section p{
  font-size:.81rem;
  line-height:1.55;
}
.academic-detail-minimal .academic-research-sidebar{top:78px;}
.academic-detail-minimal .academic-sidebar-card{padding:12px 13px;}
@media(max-width:1050px){
  .academic-detail-minimal .research-detail-intro .container{
    grid-template-columns:minmax(0,1fr) 270px;
  }
  .academic-detail-minimal .research-detail-hero-visual{max-width:270px;}
  .academic-detail-minimal .research-detail-hero-visual img{height:150px;}
}
@media(max-width:900px){
  .academic-detail-minimal .research-detail-intro .container{grid-template-columns:1fr;}
  .academic-detail-minimal .research-detail-hero-visual{max-width:360px;}
  .academic-detail-minimal .research-detail-hero-visual img{height:auto;max-height:210px;}
  .academic-detail-minimal .academic-paper-layout{grid-template-columns:1fr;}
}
@media(max-width:660px){
  .academic-detail-minimal .research-detail-synopsis{grid-template-columns:1fr;}
  .academic-detail-minimal .research-detail-synopsis>div{
    padding:6px 0;
    border-left:0;
    border-top:1px solid #e3ded5;
  }
  .academic-detail-minimal .research-detail-synopsis>div:first-child{border-top:0;}
}


/* v31 — coherent professor-first individual research pages */
.research-detail-coherent .research-detail-intro{
  padding:15px 0 14px;
  background:#fbfaf7;
}
.research-detail-coherent .research-detail-intro .container{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:22px;
  align-items:start;
}
.research-detail-coherent .research-detail-intro .academic-breadcrumbs{
  margin-bottom:6px;
  font:600 .64rem/1.35 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-coherent .research-detail-label{
  margin-bottom:5px;
  font:800 .54rem/1.35 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  letter-spacing:.1em;
}
.research-detail-coherent .research-detail-intro h1{
  margin:0;
  max-width:none;
  font-size:clamp(1.45rem,2.1vw,1.95rem);
  line-height:1.1;
  letter-spacing:-.025em;
}
.research-detail-coherent .research-detail-summary{
  margin:8px 0 0;
  max-width:900px;
  color:#4f5f6d;
  font:400 .79rem/1.52 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-coherent .research-detail-keylines{
  margin:10px 0 0;
  padding:8px 0 0;
  border-top:1px solid #d9d4ca;
}
.research-detail-coherent .research-detail-keylines>div{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:10px;
  padding:3px 0;
}
.research-detail-coherent .research-detail-keylines dt{
  margin:0;
  color:#96661a;
  font:800 .5rem/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.research-detail-coherent .research-detail-keylines dd{
  margin:0;
  color:#263a4b;
  font:500 .66rem/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-coherent .research-detail-hero-visual{
  width:100%;
  max-width:280px;
  margin:0;
  padding:6px;
  border:1px solid #d4cfc5;
  background:#fff;
  box-shadow:none;
}
.research-detail-coherent .research-detail-hero-visual img{
  display:block;
  width:100%;
  height:145px;
  max-height:none;
  object-fit:contain;
  object-position:center;
  background:#f5f6f4;
}
.research-detail-coherent .research-detail-visual-caption{
  margin:0;
  padding:5px 1px 0;
  color:#667583;
  font:400 .57rem/1.35 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-coherent .academic-paper-body{
  padding:16px 0 34px;
  background:#f7f5ef;
}
.research-detail-reading-shell{
  max-width:980px;
}
.research-detail-reading-note{
  margin:0 0 8px;
  color:#64717d;
  font:400 .7rem/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-disclosure{
  margin:0 0 8px;
  border:1px solid #d9d4ca;
  background:#fff;
}
.research-detail-disclosure summary{
  position:relative;
  cursor:pointer;
  list-style:none;
  padding:11px 40px 11px 14px;
  color:#17344b;
  font:700 .8rem/1.35 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-disclosure summary::-webkit-details-marker{display:none}
.research-detail-disclosure summary::after{
  content:"+";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  color:#96661a;
  font-size:1rem;
  font-weight:700;
}
.research-detail-disclosure[open] summary::after{content:"−"}
.research-detail-disclosure[open] summary{
  border-bottom:1px solid #e2ddd4;
}
.research-detail-disclosure-content{
  padding:12px 16px 4px;
}
.research-detail-coherent .research-detail-disclosure-content .academic-section{
  margin:0 0 12px;
  padding:0 0 12px;
  border-bottom:1px solid #e6e1d8;
}
.research-detail-coherent .research-detail-disclosure-content .academic-section:last-child{
  margin-bottom:0;
  border-bottom:0;
}
.research-detail-coherent .research-detail-disclosure-content .academic-section-label{
  margin:0 0 3px;
  color:#96661a;
  font:800 .5rem/1.35 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  letter-spacing:.08em;
}
.research-detail-coherent .research-detail-disclosure-content h2{
  margin:0 0 6px;
  color:#17344b;
  font:700 .9rem/1.35 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-coherent .research-detail-disclosure-content p,
.research-detail-coherent .research-detail-disclosure-content li,
.research-detail-coherent .research-detail-disclosure-content td,
.research-detail-coherent .research-detail-disclosure-content th{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:.76rem;
  line-height:1.5;
}
.research-detail-coherent .research-detail-disclosure-content p{margin:.35rem 0}
.research-detail-coherent .research-detail-disclosure-content .academic-objectives{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.research-detail-coherent .research-detail-disclosure-content .academic-objectives>div{
  padding:10px;
  border:1px solid #e1dcd3;
  background:#fbfaf7;
}
.research-detail-coherent .research-detail-disclosure-content .academic-limitations{
  columns:2;
  column-gap:22px;
  margin:6px 0 0;
}
.research-detail-coherent .research-detail-disclosure-content .academic-limitations li{
  break-inside:avoid;
  margin-bottom:4px;
}
.research-detail-coherent .research-detail-disclosure-content .academic-table th,
.research-detail-coherent .research-detail-disclosure-content .academic-table td{
  padding:7px 8px;
}
.research-detail-back-link{
  display:inline-block;
  margin-top:4px;
  color:#17344b;
  font:700 .72rem/1.4 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  text-decoration:none;
  border-bottom:1px solid #96661a;
}
@media(max-width:900px){
  .research-detail-coherent .research-detail-intro .container{grid-template-columns:1fr;}
  .research-detail-coherent .research-detail-hero-visual{max-width:360px;}
  .research-detail-coherent .research-detail-hero-visual img{height:auto;max-height:210px;}
}
@media(max-width:620px){
  .research-detail-coherent .research-detail-keylines>div{grid-template-columns:1fr;gap:1px;padding:5px 0;}
  .research-detail-coherent .research-detail-disclosure-content .academic-objectives{grid-template-columns:1fr;}
  .research-detail-coherent .research-detail-disclosure-content .academic-limitations{columns:1;}
}


/* v32 — standardized, readable typography for individual research pages */
.research-detail-coherent{
  --research-body-size: .92rem;
  --research-small-size: .78rem;
  --research-label-size: .68rem;
  --research-heading-size: 1.16rem;
}
.research-detail-coherent .research-detail-intro{
  padding:18px 0 16px;
}
.research-detail-coherent .research-detail-intro .academic-breadcrumbs{
  margin-bottom:8px;
  font:600 var(--research-small-size)/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-coherent .research-detail-label{
  margin-bottom:6px;
  font:800 var(--research-label-size)/1.4 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  letter-spacing:.08em;
}
.research-detail-coherent .research-detail-intro h1{
  font-size:clamp(1.9rem,2.65vw,2.38rem);
  line-height:1.12;
  letter-spacing:-.025em;
}
.research-detail-coherent .research-detail-summary{
  margin-top:10px;
  font:400 .94rem/1.58 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-coherent .research-detail-keylines{
  margin-top:12px;
  padding-top:9px;
}
.research-detail-coherent .research-detail-keylines>div{
  grid-template-columns:108px minmax(0,1fr);
  gap:12px;
  padding:5px 0;
}
.research-detail-coherent .research-detail-keylines dt{
  font:800 var(--research-label-size)/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  letter-spacing:.06em;
}
.research-detail-coherent .research-detail-keylines dd{
  font:500 .86rem/1.52 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-coherent .research-detail-visual-caption{
  padding-top:7px;
  font:400 .75rem/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-coherent .academic-paper-body{
  padding:18px 0 36px;
}
.research-detail-reading-note{
  margin-bottom:10px;
  font:400 .84rem/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-disclosure summary{
  padding:13px 42px 13px 16px;
  font:700 .96rem/1.42 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-disclosure-content{
  padding:14px 17px 6px;
}
.research-detail-coherent .research-detail-disclosure-content .academic-section-label{
  margin-bottom:4px;
  font:800 var(--research-label-size)/1.4 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  letter-spacing:.06em;
}
.research-detail-coherent .research-detail-disclosure-content h2{
  margin-bottom:7px;
  font:700 var(--research-heading-size)/1.38 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.research-detail-coherent .research-detail-disclosure-content p,
.research-detail-coherent .research-detail-disclosure-content li{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:var(--research-body-size);
  line-height:1.6;
}
.research-detail-coherent .research-detail-disclosure-content th,
.research-detail-coherent .research-detail-disclosure-content td{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:.86rem;
  line-height:1.5;
}
.research-detail-coherent .research-detail-disclosure-content .academic-objectives>div{
  padding:12px;
}
.research-detail-coherent .research-detail-disclosure-content .academic-table th,
.research-detail-coherent .research-detail-disclosure-content .academic-table td{
  padding:9px 10px;
}
.research-detail-back-link{
  font:700 .86rem/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
@media(max-width:900px){
  .research-detail-coherent .research-detail-intro h1{font-size:2rem;}
}
@media(max-width:620px){
  .research-detail-coherent .research-detail-intro h1{font-size:1.72rem;}
  .research-detail-coherent .research-detail-summary{font-size:.9rem;}
  .research-detail-coherent .research-detail-keylines>div{grid-template-columns:1fr;gap:2px;padding:7px 0;}
  .research-detail-disclosure summary{font-size:.92rem;}
  .research-detail-coherent .research-detail-disclosure-content p,
  .research-detail-coherent .research-detail-disclosure-content li{font-size:.9rem;}
}


/* v33 — research cards grouped by status and simplified */
.story-page[data-story-page="research"] .story-chapters{display:block;gap:0;}
.story-page[data-story-page="research"] .research-story-group{margin:0 0 22px;}
.story-page[data-story-page="research"] .research-story-group:last-child{margin-bottom:0;}
.story-page[data-story-page="research"] .research-story-group-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;padding:0 2px 10px;margin-bottom:10px;border-bottom:1px solid var(--line);}
.story-page[data-story-page="research"] .research-story-group-head .eyebrow{margin:0;display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:800;}
.story-page[data-story-page="research"] .research-story-group-head p{margin:0;max-width:38rem;font-size:.76rem;line-height:1.55;color:var(--muted);}
.story-page[data-story-page="research"] .research-story-group-cards{display:grid;gap:16px;}
.story-page[data-story-page="research"] .story-chapter-kicker{display:none !important;}
.story-page[data-story-page="research"] .story-chapter h3{margin:.05em 0 .38em;}
@media(max-width:820px){
  .story-page[data-story-page="research"] .research-story-group-head{grid-template-columns:1fr;gap:6px;}
}
