/* Astra: an editorial identity for Manoj B R's academic website. */
:root{--bg:#ffffff;--bg-alt:#ffffff;--bg-sidebar:#153a35;--bg-sidebar-hover:#234b44;--text:#293a35;--text-muted:#65716a;--text-on-dark:#edf1e9;--text-on-dark-muted:#b3c5b9;--primary:#246456;--primary-dark:#173f35;--primary-light:#f0f2f1;--accent:#a18448;--border:#e3e3e3;--border-dark:#36564c;--shadow:none;--shadow-md:0 8px 24px #183a3510;--radius:5px;--radius-sm:4px;--sidebar-w:256px;--font-serif:Georgia,'Times New Roman',serif;--font-sans:'Inter',system-ui,sans-serif}
body{background:var(--bg-alt);font-size:15px;line-height:1.8}
::selection{background:#dce7ce;color:#153a35}
a{ text-underline-offset:4px }
a,button{ -webkit-tap-highlight-color:transparent }
:focus-visible{outline:2px solid #a18448;outline-offset:5px}
h1,h2,h3,h4{color:var(--primary-dark)}
h1,h2{font-family:var(--font-serif);font-weight:400;letter-spacing:-.035em}
h2{font-size:1.5rem;margin:2.8rem 0 1.3rem;border-color:var(--border)}
h3{font-size:1.05rem;line-height:1.5}
.sidebar{padding:32px 22px 24px;background:var(--bg-sidebar);scrollbar-width:thin;scrollbar-color:#527365 transparent}
.sidebar-brand{gap:12px;padding-bottom:25px;margin-bottom:23px}
.sidebar-brand img{width:42px;height:48px;border-radius:3px;border:0;filter:saturate(.8)}
.sidebar-brand .name{font-family:var(--font-serif);font-size:22px;font-weight:400;letter-spacing:-.03em}
.sidebar-brand .role{font-size:10px;letter-spacing:.025em}
.nav-group{margin-bottom:20px}
.nav-group-title{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:700;line-height:1.3;letter-spacing:.01em;text-transform:none;color:#c5b484;margin:0 11px 8px}
.nav-group-title::after{content:'';display:block;height:1px;margin-top:6px;background:currentColor;opacity:.35}
.nav-group a{font-size:12px;padding:6px 11px;border-radius:3px;line-height:1.7;transition:background .18s,color .18s}
.nav-group a.active{background:#e9ecea;color:#183d33;font-weight:600;box-shadow:inset 3px 0 #b49b60}
.nav-group a.active::after{content:'↗';float:right;color:#728465}
.sidebar-footer{font-size:10px;line-height:1.9;padding:20px 10px 0;margin-top:24px}
.main-content,.main-content--wide{width:100%;max-width:1280px;min-width:0;padding:0 64px 40px;margin:0 auto}
.academic-masthead{height:82px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);margin-bottom:44px;gap:20px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted)}
.academic-masthead a{color:var(--primary-dark);font-weight:600}
.academic-masthead span{font-size:9px;letter-spacing:.09em}
.page-header{border-bottom:1px solid var(--border);padding:8px 0 28px;margin-bottom:30px;position:relative}
.page-header::before{content:'MANOJ B R / IIT GUWAHATI';display:block;font-size:9px;letter-spacing:.17em;color:var(--accent);margin-bottom:15px}
.page-header h1{font-size:clamp(28px,3.2vw,40px);line-height:1.15}
.page-header .subtitle{font-size:14px;margin-top:14px;max-width:65ch}
.hero{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr);gap:40px;background:transparent;border:0;border-radius:0;padding:13px 0 40px;margin:0 0 34px;border-bottom:1px solid var(--border);box-shadow:none;align-items:center;text-align:left}
.hero>img{width:190px;height:232px;object-fit:cover;border-radius:3px;border:0;box-shadow:none;filter:saturate(.85)}
.hero h1{font-size:clamp(32px,3.5vw,46px);line-height:1.1;margin:0 0 14px;font-weight:400}
.profile-eyebrow{font-size:9px;letter-spacing:.18em;color:#8a713c;font-weight:600;text-transform:uppercase;margin:0 0 15px}
.hero .hero-role{font-size:13px;line-height:1.8;margin-bottom:3px}
.hero .hero-role:first-of-type{font-size:16px;color:var(--primary-dark)}
.hero .hero-role a{color:var(--text-muted)}
.scholar-btn{font-size:11px;font-weight:500;letter-spacing:.02em;border-radius:3px;margin-top:20px;padding:10px 16px;background:var(--primary-dark)}
.lede{font-size:14px;line-height:1.95;color:#4b5951;max-width:83ch;margin-bottom:19px}
.hero+.lede{font-family:var(--font-serif);font-size:22px;color:var(--primary-dark);letter-spacing:-.025em;margin-bottom:16px}
.contact-card{border:0;border-left:3px solid #a48d54;border-radius:0;background:#f5f5f5;padding:25px 30px;font-size:13px;line-height:1.9;box-shadow:none}
.contact-card strong{font-family:var(--font-serif);font-size:22px;font-weight:400}
.entry-card{border:0;border-left:2px solid #acb99e;border-bottom:1px solid var(--border);border-radius:0;padding:23px 28px;background:transparent;margin-bottom:14px}
.entry-card .entry-title{font-family:var(--font-serif);font-size:19px;font-weight:400;line-height:1.4}
.entry-card p{font-size:13px;line-height:1.9}
.pub-jump{gap:9px;margin-bottom:32px}
.pub-jump a,.gallery-filter-btn,.talk-filter-btn{border-radius:3px;font-size:11px;padding:9px 15px;font-family:inherit}
.pub-count,.tab-count,.talk-filter-count{border-radius:3px;font-size:10px}
.pub-list li{padding:24px 22px 24px 54px;margin:0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}
.pub-list li:hover{background:#f5f5f5;border-color:var(--border);box-shadow:none}
.pub-list li::before{top:27px;left:10px;background:transparent;color:#8d946e;font-family:var(--font-serif);font-size:18px;font-weight:400;content:counter(pub,decimal-leading-zero)}
.pub-title{font-family:var(--font-serif);font-size:20px;font-weight:400;line-height:1.45;color:var(--primary-dark)}
.pub-authors,.pub-venue{font-size:12px;line-height:1.8}
.project-card{padding:26px 28px;border-left:3px solid #a18c56;background:var(--bg)}
.project-card .project-title{font-family:var(--font-serif);font-size:19px;font-weight:400;line-height:1.4}
.project-meta{font-size:12px;row-gap:9px;grid-template-columns:130px minmax(0,1fr)}
.project-desc{font-size:13px;line-height:1.9}
.status-pill{font-size:9px;border-radius:3px;letter-spacing:.09em}
.people-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.person-card{padding:24px 20px;gap:16px;align-items:flex-start;border-color:var(--border)}
.person-card img,.person-avatar-fallback{width:68px;height:82px;border-radius:3px;object-fit:cover}
.person-card .person-name{font-family:var(--font-serif);font-size:19px;font-weight:400;line-height:1.35;margin-bottom:9px}
.person-card p{font-size:11px;line-height:1.8;overflow-wrap:anywhere}
.alumni-list li{padding:18px 22px;font-size:13px}
.tabs{border-bottom-color:var(--border);gap:5px}
.tab-btn{font-family:inherit;font-size:12px;padding:13px 17px}
.tab-btn[aria-selected=true]{color:var(--primary-dark);border-bottom-color:var(--primary-dark)}
[data-tabs=side]>.tabs{background:transparent}
[data-tabs=side] .tab-btn{font-size:12px;border-radius:3px}
.ri-title{font-family:var(--font-serif);font-size:19px;font-weight:400;color:var(--primary-dark)}
.ri-item summary{padding-top:23px;padding-bottom:23px}
.ri-item[open]{background:transparent}
.ri-body{font-size:13px;line-height:1.9}
.ri-p1{font-size:14px;color:var(--text)}
.ri-sub{font-size:11.5px;font-weight:700;letter-spacing:.18em;color:var(--primary);gap:12px;margin:28px 0 14px}
.ri-sub::before{content:"";width:22px;height:3px;border-radius:2px;background:var(--accent);flex:none}
.ri-sub::after{background:linear-gradient(90deg,var(--border),transparent)}
.ri-ul li::before{background:var(--accent);opacity:.9;width:6px;height:6px}
.ri-ul li strong{color:var(--primary-dark)}
.equip-card{padding:25px;gap:28px;background:var(--bg)}
.equip-name{font-family:var(--font-serif);font-size:20px;font-weight:400;color:var(--primary-dark)}
.equip-body p,.equip-specs{font-size:12px;line-height:1.9}
.equip-media img{border-radius:3px}
.course-card{padding:23px 25px;box-shadow:none}
.course-title{font-family:var(--font-serif);font-size:19px;font-weight:400;color:var(--primary-dark)}
.course-code{background:var(--primary-light);font-size:10px;border-radius:2px}
.course-card::before{background:#a18c56;opacity:.65;width:2px}
.term{border-radius:3px;font-size:10px}
.notes-btn{border-radius:3px;font-size:11px}
.talk-stat{background:transparent;border:0;border-left:1px solid var(--border);border-radius:0;padding:8px 22px}
.talk-stat strong{font-family:var(--font-serif);font-size:38px;font-weight:400;color:var(--primary-dark)}
.talk-stat span{font-size:9px}
.talk-card{padding:24px;gap:20px;box-shadow:none}
.talk-title{font-family:var(--font-serif);font-size:18px;font-weight:400;line-height:1.4;color:var(--primary-dark)}
.talk-event,.talk-host{font-size:12px}
.talk-tag{font-size:8px;border-radius:3px}
.talk-date{border-radius:3px}
.gallery-grid{gap:22px}
.gallery-item{border-radius:4px;box-shadow:none}
.gallery-item .overlay{background:linear-gradient(transparent,#102b26e8);padding:26px}
.gallery-item .overlay .tag{color:#e4d1a0;font-size:14px;letter-spacing:.13em}
.gallery-item .overlay h4{font-family:var(--font-serif);font-size:20px;font-weight:400}
.conf-card .conf-body{padding:24px}
.conf-card .conf-acronym{font-family:var(--font-serif);font-size:20px;font-weight:400}
.conf-card .conf-footer{padding:12px 24px}
.conf-card .conf-title,.conf-card .conf-meta{font-size:12px}
.simple-table{font-size:13px}
.simple-table td,.simple-table th{padding:16px 12px}
.page-footer{font-size:10px;letter-spacing:.025em;margin-top:50px;padding:22px 0 0}
.skip-link{position:fixed;top:-70px;left:20px;background:var(--primary-dark);color:white;z-index:1000;padding:10px 20px}
.skip-link:focus{top:10px}
.sidebar-toggle{top:25px;width:30px;height:30px;box-shadow:none}
.mobile-topbar{height:60px;padding:0 22px}
.mobile-topbar .name{font-family:var(--font-serif);font-size:19px;font-weight:400}
.nav-toggle{font-size:18px;border-color:#6a8273;border-radius:3px}
@media(min-width:1600px){.main-content{padding-left:80px;padding-right:80px}}
@media(max-width:1150px) and (min-width:901px){.main-content{padding-left:42px;padding-right:36px}.hero{gap:26px;grid-template-columns:155px minmax(0,1fr)}.hero>img{width:155px;height:205px}.academic-masthead span{display:none}}
@media(max-width:900px){.main-content,.main-content--wide{padding:0 28px 32px;max-width:850px}.sidebar{top:60px;height:calc(100dvh - 60px);width:280px;max-width:85vw}.academic-masthead{height:66px;margin-bottom:28px}.hero{grid-template-columns:170px minmax(0,1fr);gap:30px;padding-bottom:32px}.hero>img{width:170px;height:210px}.hero h1{font-size:36px}.talk-year-label{top:60px}}
@media(max-width:560px){body{font-size:14px}.main-content,.main-content--wide{padding:0 21px 28px}.academic-masthead{font-size:9px;height:58px;margin-bottom:24px}.academic-masthead span{display:none}.hero{grid-template-columns:1fr;gap:26px}.hero>img{width:145px;height:173px}.hero h1{font-size:34px}.hero .hero-role{font-size:12px}.profile-eyebrow{font-size:8px}.hero+.lede{font-size:21px}.lede{font-size:13px}.page-header h1{font-size:30px}.people-grid{grid-template-columns:minmax(0,1fr)}.person-card{padding:20px 16px}.project-card{padding:22px 18px}.project-meta{grid-template-columns:85px minmax(0,1fr)}.project-meta dd{overflow-wrap:anywhere}.pub-list li{padding:20px 10px 20px 38px}.pub-list li::before{left:0;top:23px}.pub-title{font-size:19px}.contact-card{padding:22px}.talk-card{padding:18px 14px}.equip-card{padding:18px}.tabs{overflow-x:auto}.tab-btn{white-space:nowrap}.simple-table{display:block;overflow-x:auto}.page-footer{line-height:1.8}.course-list--compact{grid-template-columns:minmax(0,1fr)}}
/* Compact spacing across the faculty profile and all content pages. */
body{line-height:1.6}
p{margin-bottom:.65rem}
h2{margin:1.5rem 0 .75rem;padding-top:1rem}
h3{margin:1rem 0 .4rem}
.main-content,.main-content--wide{padding-bottom:24px}
.academic-masthead{height:56px;margin-bottom:22px}
.page-header{padding:0 0 16px;margin-bottom:18px}
.page-header::before{margin-bottom:8px}
.page-header .subtitle{margin:8px 0 0}
.hero{padding:0 0 22px;margin-bottom:20px;gap:28px;grid-template-columns:160px minmax(0,1fr)}
.hero>img{width:160px;height:195px;box-shadow:none}
.hero h1{margin-bottom:8px}
.profile-eyebrow{margin-bottom:8px}
.hero .hero-role{line-height:1.6;margin-bottom:2px}
.scholar-btn{margin-top:12px;padding:8px 14px}
.lede{line-height:1.65;margin-bottom:12px}
.hero+.lede{margin-bottom:10px}
.contact-card{padding:16px 22px;line-height:1.6}
.contact-card p{margin-bottom:2px}
.entry-card{padding:15px 22px;margin-bottom:8px}
.entry-card p,.project-desc,.ri-body,.equip-body p,.equip-specs{line-height:1.65}
.pub-jump,.gallery-filters,.talk-filters{margin-bottom:18px}
.pub-list{margin:.6rem 0 1rem}
.pub-list li{padding:15px 18px 15px 48px}
.pub-list li::before{top:18px}
.pub-authors,.pub-venue{line-height:1.6}
.project-card{padding:17px 22px;margin-bottom:12px}
.project-meta{row-gap:5px;margin-bottom:0}
.project-desc{margin-top:10px}
.people-grid{gap:12px;margin-bottom:18px}
.person-card{padding:16px;gap:13px}
.person-card .person-name{margin-bottom:6px}
.person-card p{line-height:1.6}
.alumni-list li{padding:12px 18px}
.tabs{margin-bottom:18px}
.tab-btn{padding:9px 14px}
.tab-panel{margin-bottom:20px}
.tab-panel h3{margin-top:1rem}
.ri-item summary{padding-top:14px;padding-bottom:14px}
.ri-body{padding-bottom:20px}
.equip-card{padding:17px;gap:20px;margin-bottom:14px}
.course-card{padding:15px 19px;row-gap:8px}
.course-card--wide{margin:12px 0 18px}
.talk-stats{margin-bottom:18px}
.talk-card{padding:16px;gap:14px;margin-bottom:10px}
.talk-year+.talk-year{margin-top:18px}
.gallery-grid{gap:14px}
.gallery-item .overlay{padding:18px}
.conf-card .conf-body{padding:16px}
.conf-card .conf-footer{padding:9px 16px}
.simple-table td,.simple-table th{padding:10px 12px}
.page-footer{margin-top:26px;padding-top:14px}
.sidebar{padding-top:22px}
.sidebar-brand{padding-bottom:16px;margin-bottom:16px}
.nav-group{margin-bottom:14px}
.nav-group-title{margin-bottom:5px}
.sidebar-footer{margin-top:16px;padding-top:14px}
.sidebar-toggle{top:13px}
@media(max-width:900px){.academic-masthead{height:50px;margin-bottom:18px}.hero{gap:22px;grid-template-columns:145px minmax(0,1fr)}.hero>img{width:145px;height:177px}}
@media(max-width:560px){.academic-masthead{height:46px;margin-bottom:16px}.hero{grid-template-columns:1fr;gap:18px;padding-bottom:18px;margin-bottom:16px}.hero>img{width:120px;height:145px}.page-header{padding-bottom:12px;margin-bottom:16px}.contact-card{padding:14px 18px}.project-card{padding:15px 16px}.pub-list li{padding:14px 8px 14px 34px}.pub-list li::before{top:17px}.person-card,.equip-card{padding:14px}.talk-card{padding:14px 12px}.page-footer{margin-top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.academic-masthead,.skip-link{display:none}.main-content{max-width:none;padding:0}.hero{break-inside:avoid}.page-header h1{font-size:32px}body{background:white;color:black}.tab-panel[hidden]{display:block!important}}
