:root{
  --ink:#1a2333;
  --ink-soft:#4a5568;
  --paper:#ffffff;
  --line:#e6e8ec;
  --physics:#1d3461;
  --data:#0f6e5c;
  --signal:#0e7490;
  --copper:#b5652d;
  --violet:#8e4a9e;
  --wash:#fafafb;
}

.link-copper{ color:var(--copper) !important; }
.sidebar-panel h4.follow-heading,
.about-bio h4.follow-heading{ border-bottom-color:var(--violet) !important; }

body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.6;
}

h1,h2,h3{ font-family:'Newsreader',serif; font-weight:500; letter-spacing:-0.01em; }

/* ---- hero ---- */
.hero-row{
  display:flex; justify-content:space-between; align-items:baseline;
  gap:24px; flex-wrap:wrap; padding:32px 0 40px; border-bottom:1px solid var(--line);
  margin-bottom:32px;
}
.hero-statement{
  font-family:'Newsreader',serif; font-weight:500; font-size:30px; line-height:1.25;
  order:1;
}
.hero-name{
  font-family:'Newsreader',serif; font-weight:600; font-size:26px; color:var(--ink);
  white-space:nowrap; order:2; text-align:right;
}
.hero-location{
  display:block; font-family:'JetBrains Mono',monospace; font-size:12px;
  font-weight:400; color:var(--ink-soft); letter-spacing:.08em; text-transform:uppercase;
  margin-top:4px;
}
.eq-physics{ font-family:'Newsreader',serif; font-style:italic; color:var(--physics); }
.eq-data{ font-family:'JetBrains Mono',monospace; color:var(--data); }

/* ---- strand highlighting in prose ---- */
.strand-physics{ font-style:italic; color:var(--physics); }
.strand-data{ font-family:'JetBrains Mono',monospace; color:var(--data); font-size:0.95em; }

/* ---- archive pillars ---- */
.pillars{ display:grid; grid-template-columns:1fr 1fr; gap:28px; margin:24px 0; }
@media (max-width:640px){ .pillars{ grid-template-columns:1fr; } }
.pillar{ padding:22px; background:var(--wash); border-radius:4px; }
.pillar-tag{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em;
  text-transform:uppercase; display:inline-block; padding:3px 8px; border-radius:3px; margin-bottom:12px;
}
.tag-physics{ color:var(--physics); background:#e9edf5; }
.tag-data{ color:var(--data); background:#e6f2ef; }
.pillar h3{ font-size:18px; margin:0 0 6px; }

/* ---- services ---- */
.services{ margin:16px 0; }
.service-row{ padding:16px 0; border-bottom:1px solid var(--line); font-size:14.5px; }
.service-row:last-child{ border-bottom:none; }

/* ---- sliding author-card sidebar ---- */
.sidebar-panel{
  position:fixed; top:0; right:0; height:100vh; width:280px;
  background:#f0f1f2; border-left:1px solid var(--line);
  padding:90px 24px 32px; overflow-y:auto; z-index:2000;
  transform:translateX(100%); transition:transform .25s ease;
  font-size:13.5px;
}
.sidebar-panel.open{ transform:translateX(0); }
.sidebar-panel h3{ font-size:16px; margin:0 0 10px; }
.sidebar-panel h4{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-soft); margin:22px 0 8px;
  padding-bottom:6px; border-bottom:2px solid var(--signal);
}
.sidebar-panel ul{ margin:0; padding-left:18px; }
.sidebar-panel li{ margin-bottom:4px; }
.sidebar-panel img.author-photo{ width:88px; height:88px; border-radius:50%; object-fit:cover; margin-bottom:12px; }

.sidebar-tab{
  position:fixed; top:70px; right:0;
  width:28px; height:44px; background:var(--signal); color:#fff;
  border:none; border-radius:6px 0 0 6px; cursor:pointer; z-index:2001;
  display:flex; align-items:center; justify-content:center; font-size:14px;
  transition:right .25s ease;
}
.sidebar-tab.shifted{ right:280px; }

/* homepage now shows the sidebar too — no suppression rule needed */

/* ---- physics/engineering slide gallery ---- */
.slide-gallery{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:12px; margin:20px 0;
}
.slide-gallery img{
  width:100%; height:auto; border-radius:4px; border:1px solid var(--line);
  display:block; transition:opacity .15s ease;
}
.slide-gallery img:hover{ opacity:0.85; }

.slide-deck-button{
  display:inline-block; margin:16px 0; padding:10px 18px;
  background:var(--signal); color:#fff !important; border-radius:4px;
  text-decoration:none; font-size:14.5px; font-weight:500;
}
.slide-deck-button:hover{ opacity:0.9; }

.pdf-embed{ margin:20px 0; border:1px solid var(--line); border-radius:4px; overflow:hidden; }
.pdf-embed iframe{ width:100%; height:600px; border:none; }

/* ---- About page: larger-font version of the same bio content ---- */
.about-bio{
  background:#f0f1f2; border-radius:4px; padding:36px 40px;
  font-size:17px; line-height:1.7; max-width:70ch;
}
.about-bio h4{
  font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-soft); margin:28px 0 8px;
  padding-bottom:6px; border-bottom:2px solid var(--signal);
}
