/* Brutalist, high-contrast baseline */

/* CSS reset (trimmed) */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html,body{height:100%}
img,svg,video{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}

:root{
  --bg: #f7f3e8; /* cream */
  --fg: #111111; /* near black */
  --muted: #444444;
  --border: #111111;
  --accent: #111111;
  --link: #111111;
  --card: #fffaf0;
  --highlight: #f0e6c8;
  --shadow-offset: 0px;
  --shadow-color: transparent;
  --radius: 0;
  --border-width: 1.5px;

  color-scheme: light;
}

@media (prefers-color-scheme: dark){
  :root{ /* keep same in dark mode for simplicity */ }
}

body{
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  font-size: 16px;
  line-height: 1.6;
  background: var(--bg);
  color: var(--fg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.container{
  width: min(100% - 2rem, 62rem);
  margin-inline: auto;
}

.skip-link{
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus{
  left: 1rem;
  top: 1rem;
  width: auto;
  height: auto;
  padding: .5rem .75rem;
  background: var(--fg);
  color: var(--bg);
  border-radius: var(--radius);
}

.site-header{
  position: sticky;
  top: 0;
  background: var(--bg);
  border-bottom: var(--border-width) solid var(--border);
  z-index: 10;
}
.header-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 1rem;
}
.brand{
  font-weight: 700;
  letter-spacing: .2px;
  text-decoration: none;
  color: inherit;
}
.site-nav ul{
  list-style: none;
  display: flex;
  gap: 1rem;
}
/* remove heavy nav styling for minimal look */

.site-main{display:block}
.section{padding-block: 3.5rem}
.hero{padding-block: 5rem}
.paper{padding-block:3rem}
.paper-header{border-bottom: var(--border-width) solid var(--border); margin-bottom:1.5rem; padding-bottom: .75rem}
.paper-title{font-size: clamp(1.75rem, 3vw + .5rem, 2.5rem); line-height:1.25}
.paper-meta{color: var(--muted); margin-top:.25rem}
.toc{border: var(--border-width) solid var(--border); padding:1rem; margin:1.5rem 0; background: var(--card)}
.toc ol,.toc ul{padding-left:1rem}
.toc a{text-decoration: underline}
.abstract{background: var(--card); border: var(--border-width) solid var(--border); padding:1rem; box-shadow: var(--shadow-offset) var(--shadow-offset) 0 var(--shadow-color)}
.experience{margin-top:.75rem}
.experience dt{font-weight:700}
.experience dd{margin: .25rem 0 1rem 0}
.exp-dates{font-weight:400}
.references{padding-left:1.25rem}
.hero-title{font-size: clamp(2.25rem, 5vw, 3.25rem); line-height:1.2; letter-spacing:-.01em}
.hero-subtitle{color: var(--muted);margin-top:.75rem}
.hero-cta{display:flex;gap:.75rem;margin-top:1.25rem}

/* Center the profile section vertically and horizontally */
.site-main{min-height: 100vh; display:flex; align-items:center; justify-content:center; padding: 4rem 0}
.profile .container{text-align:left; max-width: 80rem; padding: 0 3rem}
.profile-name{font-size: clamp(1.8rem, 4vw, 2.5rem); line-height:1.1; letter-spacing:-.02em; white-space: nowrap; margin-bottom: 2.5rem; margin-left: -0.3rem;}
.lead{margin-bottom: 1.2rem; line-height: 2; font-size: 1.1rem; white-space: nowrap}
.links{list-style:none; display:flex; gap:2.5rem; justify-content:flex-start; margin-top:3.5rem; flex-wrap:nowrap; padding-left:0}
.links a{color:var(--fg); text-decoration:underline; text-underline-offset:2px; font-size: 1.05rem}

/* remove bold button styles; no buttons on the page now */

h2{font-size:1.1rem;margin-bottom:.25rem}

.card-grid{
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 1rem;
}
/* remove cards grid for minimal profile */
.card-body{padding:1rem}
.card-title{font-weight:600;margin-bottom:.25rem}
.card-text{color:var(--muted);margin-bottom:.75rem}
.tag-list{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}
.tag-list li{border:var(--border-width) solid var(--border);border-radius:var(--radius);padding:.2rem .5rem;font-size:.85rem;color:var(--fg);background:transparent}
.card-actions{display:flex;gap:.75rem}
.card-actions a{color:var(--fg);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}
.card-actions a:hover{background:var(--highlight)}

.contact-list{list-style:none;display:flex;gap:1rem;flex-wrap:wrap}
.contact-list a{color:var(--fg);text-decoration:underline;text-underline-offset:2px}
.contact-list a:hover{background:var(--highlight)}

.site-footer{
  border-top:var(--border-width) solid var(--border);
  padding-block:1rem;
}
.footer-inner{display:flex;align-items:center;justify-content:space-between}
.top-link{color:var(--fg);text-decoration:underline;text-underline-offset:2px}
.top-link:hover{background:var(--highlight)}

/* Global link and focus treatments */
a{color:var(--fg);text-decoration:underline;text-underline-offset:2px}
a:hover{background:var(--highlight)}
:focus-visible{outline:3px solid var(--fg);outline-offset:2px}

/* Reduce motion for those who prefer it */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}


