@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap');

:root{
  --ink:#111;
  --muted:#666;
  --rule:#e9e9e9;
  --max:1180px;
  --accent:#d35b5b;
}

/* Base */
html, body{
  background:#fff;
  color:var(--ink);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-weight:300;
  line-height:1.75;
}



.navbar-title {
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-weight: 700;       
    font-size: 1.5rem;      
    letter-spacing: 0.02em; 
    color: #111 !important; 
}

/* Top navbar */
.navbar{
  border-bottom:1px solid var(--rule);
}
.navbar .navbar-nav .nav-link{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  font-weight:400;
  color:var(--ink) !important;
  padding-top:18px;
  padding-bottom:18px;
}
.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active{
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
}

/* Wrap */
.site-wrap{
  max-width: var(--max);
  margin: 0 auto;
  padding: 44px 22px 80px;
}

/* Wordmark */
.wordmark{
  font-family:"Playfair Display", Georgia, "Times New Roman", serif;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size: clamp(44px, 6vw, 74px);
  text-align:center;
  margin: 22px 0 10px;
}
.wordmark-sub{
  text-align:center;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  margin-bottom: 18px;
}

/* Secondary nav under wordmark */
.subnav{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  padding: 10px 0 18px;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  margin-bottom: 34px;
}
.subnav a{
  text-decoration:none;
  color:var(--ink);
  text-transform: uppercase;
  letter-spacing:.16em;
  font-size:12px;
  font-weight:400;
}
.subnav a:hover{
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
}

/* Editorial tiles (homepage) */
.tile-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 0 auto 28px;
}
.tile{
  display:block;
  border:1px solid var(--rule);
  background:#fafafa;
  text-decoration:none !important;
  color:var(--ink);
  overflow:hidden;
}
.tile img{
  width:100%;
  height: 280px;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
  transition: transform .35s ease, opacity .35s ease;
}
.tile:hover img{ transform: scale(1.06); opacity:.95; }
.tile-cap{ padding: 14px 14px 16px; }
.kicker{
  color:var(--muted);
  text-transform: uppercase;
  letter-spacing:.18em;
  font-size:11px;
  margin-bottom:6px;
}
.tile-title{
  font-family:"Playfair Display", Georgia, serif;
  font-weight:500;
  font-size:18px;
  margin:0;
}

/* Headings */
h1,h2,h3{
  font-family:"Playfair Display", Georgia, serif;
  font-weight:500;
}

/* ===== Bio two-column layout ===== */
.bio-grid{
  display:grid;
  grid-template-columns: 360px 1fr;
  gap: 56px;
  align-items:start;
}
.bio-left{
  text-align:center;
  position: sticky;
  top: 28px;
}
.avatar{
  width: 260px;
  height: 260px;
  border-radius: 50%;
  object-fit: cover;
  display:block;
  margin: 0 auto 18px;
}
.bio-name{
  font-family:"Playfair Display", Georgia, serif;
  font-size:44px;
  line-height:1.1;
  margin-top: 6px;
}
.bio-role{
  margin-top: 10px;
  font-size: 18px;
  color: var(--muted);
}
.badge-links{
  margin-top: 18px;
  display:flex;
  justify-content:center;
  gap: 12px;
  flex-wrap:wrap;
}
.badge-links a{
  text-decoration:none;
  font-weight:700;
  color: var(--accent);
  font-size: 14px;
  border:1px solid rgba(211,91,91,.25);
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255,255,255,.35);
}
.badge-links a:hover{
  border-color: rgba(211,91,91,.55);
  background: rgba(255,255,255,.6);
}

@media (max-width: 980px){
  .tile-grid{ grid-template-columns: 1fr; }
  .tile img{ height: 240px; }
  .bio-grid{ grid-template-columns: 1fr; }
  .bio-left{ position: static; }
}


.navbar {
    border-bottom: 1px solid #eee;
}


.navbar-nav .nav-link:hover {
    color: #007bff !important; 
}


body {
    max-width: 1000px;
    margin: 0 auto;
}


h1.title {
    font-size: 2.5rem;     
    font-weight: 600;     
    margin-bottom: 1rem;
    letter-spacing: -1px; 
    color: #111;          
    line-height: 1.1;
}

h2 {
    font-size: 2rem;
    font-weight: 600 !important; 
    color: #111; 
}

.anchorjs-link {
    display: none !important;
}
strong, b {
   
    font-weight: 600 !important; 
    color: #111 !important; 
}
.page-columns, 
body > .container, 
body > .grid, 
div#quarto-content,
body {
    max-width: 1350px !important; 
    width: 100%; 
    margin: 0 auto; 
}
