/* ------------ Base (Minimal look) ------------ */
body {
  background-color: #fff;
  padding: 50px;
  font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  color: #595959;
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6 { color:#222; margin:0 0 20px; }
p, ul, ol, table, pre, dl { margin:0 0 20px; }
h1, h2, h3 { line-height:1.1; }
h1 { font-size:28px; font-weight:500; }
h2 { color:#393939; font-weight:500; }
h3, h4, h5, h6 { color:#494949; font-weight:500; }

a { color:#39c; text-decoration:none; }
a:hover { color:#069; }
a small { font-size:11px; color:#777; margin-top:-0.3em; display:block; }
a:hover small { color:#777; }

.wrapper { max-width: 960px; margin: 0 auto; } /* wider than 860px to give text room */

blockquote {
  border-left:1px solid #e5e5e5;
  margin:0; padding:0 0 0 20px; font-style:italic;
}

code, pre {
  font-family: Monaco, Consolas, "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;
  color:#333;
}
pre { padding:8px 15px; background:#f8f8f8; border-radius:5px; border:1px solid #e5e5e5; overflow-x:auto; }

table { width:100%; border-collapse:collapse; }
th, td { text-align:left; padding:5px 10px; border-bottom:1px solid #e5e5e5; }
th, dt { color:#444; }
img { max-width:100%; }

small { font-size:11px; }
hr { border:0; background:#e5e5e5; height:1px; margin:0 0 20px; }

/* ------------ OVERRIDE: remove old fixed sidebar layout ------------ */
/* Make header/section/footer normal flow, full width */
header, section, footer {
  position: static !important;
  float: none !important;
  width: auto !important;
}

/* Optional: tidy header spacing */
header { margin-bottom: 20px; }
footer { margin-top: 40px; }

/* Ignore old header nav bar box styles (not used by your markup) */
header ul { all: unset; }
header li { all: unset; }
header ul a, header ul li + li + li { all: unset; }

/* ------------ Home page custom layout ------------ */
.home-row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

/* Larger rectangular portrait with a fixed column so text has room */
.home-photo {
  flex: 0 0 300px;         /* reserve space for the image */
  width: 300px;
  height: 360px;
  object-fit: cover;
  border-radius: 8px;      /* soft corners */
  border: 1px solid #ddd;
}

/* Let the text take the remaining width cleanly */
.home-text {
  flex: 1 1 auto;
  min-width: 0;            /* prevents squished wrapping */
}

.home-text h1 {
  font-size: 2.25rem;      /* larger name */
  line-height: 1.2;
}

.home-intro {
  margin-top: 16px;
  line-height: 1.55;
  max-width: 72ch;         /* readable measure */
}

/* ------------ Responsive tweaks ------------ */
@media print, screen and (max-width: 960px) {
  body { padding: 30px; }
  .wrapper { max-width: none; margin: 0; }
}

@media print, screen and (max-width: 720px) {
  body { word-wrap: break-word; padding: 20px; }
  .home-row { flex-direction: column; }
  .home-photo { width: 100%; height: auto; max-width: 420px; }
  pre, code { word-wrap: normal; }
}

@media print, screen and (max-width: 480px) {
  body { padding: 15px; }
}

@media print {
  body { padding: 0.4in; font-size: 12pt; color: #444; }
}

/* === Typography refresh to match the reference look === */
body {
  font-family: "Lora", Georgia, "Times New Roman", serif !important;
  font-size: 18.5px !important;      /* ~19px body size */
  line-height: 1.7 !important;
  color: #222 !important;             /* darker body text */
}

/* Wider readable column */
.wrapper {
  max-width: 980px !important;        /* a bit wider than 860px */
}

/* Headings: elegant serif with clear hierarchy */
h1, h2, h3, h4, h5, h6 {
  font-family: "Crimson Text", Georgia, "Times New Roman", serif !important;
  font-weight: 600;
  letter-spacing: 0.15px;
  color: #111;
  margin: 0 0 0.6em;
  line-height: 1.25;
}
h1 { font-size: 42px; }
h2 { font-size: 30px; }
h3 { font-size: 22px; }

/* Body text rhythm */
p, ul, ol, dl, blockquote {
  margin: 0 0 1.1em;
}

/* Links: subtle academic red; darken on hover */
a { color: #900; text-decoration: none; }
a:hover { color: #600; text-decoration: underline; }

/* Tables & code slightly refined */
pre, code { font-size: 0.95em; }
table { font-size: 0.95em; }

/* Home hero fine-tuning so text doesn’t feel cramped */
.home-intro {
  max-width: 78ch !important;         /* a touch wider paragraph */
}
.home-text h1 {
  font-size: 44px;                    /* larger name */
  line-height: 1.15;
}

/* Responsive tweaks */
@media (max-width: 720px) {
  body { font-size: 17px !important; }
  .wrapper { padding: 0 4px; }
}


