/* Public editorial shell. Private reader keeps its existing stylesheet and routes. */
.personal-site { --paper:#f8f4e9; --ink:#223e3c; --teal:#1f625b; --gold:#a97b40; }
.personal-site > header, .personal-site > main, .personal-site > footer { max-width:1280px; padding-left:clamp(20px,4vw,64px); padding-right:clamp(20px,4vw,64px); }
.personal-site .site-header { padding-top:1rem; padding-bottom:.8rem; border-bottom:1px solid var(--line); }
.site-header .brand { font-size:1.32rem; line-height:1.25; white-space:nowrap; }
.site-header .brand span { display:block; font: .66rem system-ui,sans-serif; letter-spacing:.12em; color:var(--muted); margin-top:.35rem; }
.site-header nav { font-size:.9rem; gap:.2rem 1.5rem; }
.site-header nav a { text-decoration:none; color:var(--ink); border-bottom:2px solid transparent; }
.site-header nav a:hover, .site-header nav a[aria-current] { border-color:var(--gold); }
.personal-site main { padding-top:2.5rem; }
.eyebrow { font-size:.72rem; letter-spacing:.065em; line-height:1.6; color:#6d5939; text-transform:uppercase; margin:0 0 .6rem; font-weight:600; }
.personal-hero { display:grid; grid-template-columns:1.06fr 1fr; gap:clamp(26px,4vw,68px); align-items:center; padding:1rem 0 3rem; }
.hero-copy h1 { font-size:clamp(2.7rem,5.5vw,4.1rem); letter-spacing:-.035em; line-height:1.05; margin:1.15rem 0; }
.hero-subject { font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; line-height:1.4; margin:1rem 0; }
.hero-bio { color:var(--muted); font-size:.94rem; max-width:43ch; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1rem 1.4rem; margin-top:1.7rem; }
.button-link { display:inline-flex; gap:1rem; align-items:center; padding:.7rem 1rem; color:#fffaf0; background:#245e55; border:1px solid #245e55; border-radius:3px; min-height:48px; text-decoration:none; font-size:.84rem; }
.button-link:hover { color:#fff; background:#163f39; }
.text-link { display:inline-flex; align-items:center; min-height:44px; font-size:.9rem; }
.hero-photo { margin:0; position:relative; padding:12px; border:1px solid #b7a17a; border-radius:48% 48% 2px 2px / 29% 29% 2px 2px; }
.hero-photo::before { content:""; position:absolute; inset:-8px 6px 7px -7px; border:1px solid #b7a17a; border-radius:inherit; z-index:-1; }
.hero-photo img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:65% center; border-radius:inherit; }
.site-section { border-top:1px solid var(--line); padding-top:2.3rem; margin-top:1rem; margin-bottom:2.8rem; }
.section-heading { margin-bottom:1.6rem; }
.section-heading h2, .site-section > h2 { font-size:clamp(1.65rem,3vw,2.15rem); margin:.15rem 0 .7rem; }
.paired { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:.5rem 1.5rem; }
.paired h2 { margin-bottom:0; }
.work-columns { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.work-columns article { position:relative; padding-left:2rem; }
.section-number { position:absolute; left:0; top:.05rem; font:italic 1rem Georgia,serif; color:#927348; }
.work-columns h3 { font-size:1.35rem; margin:0 0 1rem; }
.work-columns h3 a { text-decoration:none; }
.work-columns p { font-size:.95rem; }
.link-row { display:flex; flex-wrap:wrap; gap:.3rem 1rem; font-size:.86rem; }
.link-row a { min-height:44px; display:inline-flex; align-items:center; }
.book-previews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.8rem; }
.book-preview .book-cover { display:block; max-width:190px; margin-bottom:1.2rem; }
.book-cover img { display:block; width:100%; height:auto; box-shadow:3px 5px 10px #17272420; border:1px solid #3948451a; }
.book-preview h3 { font-size:1.2rem; margin:.3rem 0 .65rem; }
.book-preview p:not(.eyebrow) { font-size:.9rem; margin-top:0; color:var(--muted); }
.section-intro { max-width:75ch; margin-bottom:1.5rem; }
.home-search { max-width:790px; margin:1.5rem 0 .5rem; }
.home-search label { display:block; font-weight:600; margin-bottom:.35rem; }
.journal-topics { display:flex; flex-wrap:wrap; gap:.35rem 1.25rem; font-size:.87rem; }
.journal-topics a { display:inline-flex; align-items:center; min-height:44px; }
.latest-label { font-size:1.3rem; margin:1.7rem 0 .5rem; }
.recent-posts { list-style:none; padding:0; margin:0; }
.recent-posts li { display:grid; grid-template-columns:160px minmax(0,1fr); gap:1rem; padding:.9rem 0; border-bottom:1px solid var(--line); }
.recent-posts time { font-size:.83rem; color:var(--muted); }
.recent-posts a { font-family:Georgia,serif; font-size:1.15rem; line-height:1.4; }
.short-bio p:not(.eyebrow) { max-width:76ch; }
.personal-site .site-footer { display:flex; flex-wrap:wrap; gap:1.4rem 2rem; align-items:start; margin-top:1.5rem; padding-top:1.5rem; padding-bottom:1.5rem; }
.footer-name { font:1.2rem Georgia,serif; text-decoration:none; }
.site-footer > div { flex:1 1 400px; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:.3rem 1.2rem; flex:1 1 300px; }
.site-footer nav a { display:inline-flex; align-items:center; min-height:44px; }
.site-footer .footer-note { flex-basis:100%; font-size:.82rem; }
.page-heading { margin:.5rem 0 2rem; max-width:85ch; }
.page-heading h1 { font-size:clamp(2rem,4.5vw,3.1rem); }
.bio-intro { display:grid; grid-template-columns:1.3fr .8fr; gap:2.5rem; align-items:start; }
.bio-intro p:first-child { margin-top:0; }
.bio-photo { margin:0; }
.bio-photo img { display:block; width:100%; height:auto; border-radius:50% 50% 2px 2px / 28% 28% 2px 2px; aspect-ratio:1; object-fit:cover; object-position:64% center; }
.timeline { margin:1.5rem 0; }
.timeline > div { display:grid; grid-template-columns:190px minmax(0,1fr); gap:2rem; padding:1.5rem 0; border-bottom:1px solid var(--line); }
.timeline dt { color:#725d3c; font-size:.9rem; }
.timeline dd { margin:0; max-width:73ch; }
.timeline h3 { margin:0 0 .6rem; font-size:1.3rem; }
.timeline p { margin:0; }
.prose-section { max-width:80ch; }
.reading-route { background:#eee8d9; border-left:3px solid var(--gold); padding:1.2rem 1.5rem; margin-bottom:1.2rem; }
.reading-route h2 { margin:0; font-size:1.35rem; }
.reading-route p:last-child { margin-bottom:0; }
.book-jump { display:flex; flex-wrap:wrap; gap:.3rem 1.4rem; margin-bottom:2rem; font-size:.9rem; }
.book-jump a { display:inline-flex; align-items:center; min-height:44px; }
.book-group, .book-detail { scroll-margin-top:1.5rem; }
.book-list { display:grid; grid-template-columns:1fr; }
.book-detail { display:grid; grid-template-columns:180px minmax(0,1fr); gap:2.3rem; padding:1.5rem 0 2rem; border-bottom:1px solid var(--line); max-width:1000px; }
.book-detail:last-child { border-bottom:0; padding-bottom:0; }
.book-detail h3 { font-size:1.5rem; margin:.1rem 0 .85rem; }
.book-detail p { max-width:70ch; }
.book-detail .book-purpose { font-size:.88rem; color:var(--muted); border-left:2px solid var(--line); padding-left:.8rem; }
.contact-email { font-size:1.15rem; overflow-wrap:anywhere; }
.contact-list,.guide-list { list-style:none; padding:0; }
.contact-list li,.guide-list li { padding:.85rem 0; border-bottom:1px solid var(--line); }
.contact-list li > a { font-size:1.1rem; }
.contact-list span { display:block; color:var(--muted); font-size:.9rem; margin-top:.25rem; }
.guide-list p { margin:.35rem 0 0; color:var(--muted); font-size:.9rem; }
.year-links { display:flex; flex-wrap:wrap; gap:.2rem 1.4rem; list-style:none; padding:0; }
.year-links a { display:inline-flex; align-items:center; min-height:44px; }
.journal-guide-link { font-size:.9rem; margin:.4rem 0 1.6rem; }
@media (max-width:1000px) {
  .site-header { align-items:start; }
  .site-header nav { gap:.15rem .9rem; }
  .hero-copy h1 { font-size:3rem; }
  .personal-hero { grid-template-columns:1.1fr 1fr; gap:1.8rem; }
  .hero-actions { gap:.5rem 1rem; }
  .work-columns { gap:1.8rem; }
}
@media (max-width:760px) {
  .personal-site .site-header { flex-direction:column; gap:.6rem; }
  .site-header .brand span { display:inline; margin-left:.65rem; }
  .site-header nav { width:100%; justify-content:space-between; gap:0 .8rem; }
  .personal-site main { padding-top:1.5rem; }
  .personal-hero { grid-template-columns:1fr; gap:1.7rem; padding-bottom:2rem; }
  .hero-copy h1 { font-size:clamp(2.5rem,10vw,3.6rem); }
  .hero-copy .eyebrow { font-size:.67rem; letter-spacing:.025em; }
  .hero-subject { font-size:1.2rem; }
  .hero-photo { max-width:510px; width:100%; justify-self:end; }
  .hero-photo img { aspect-ratio:3/2; object-position:center; }
  .hero-photo, .hero-photo::before { border-radius:3px; }
  .work-columns { grid-template-columns:1fr; gap:1.5rem; }
  .book-previews { gap:1.25rem; }
  .book-preview .book-cover { max-width:170px; }
  .book-preview h3 { font-size:1.05rem; }
  .book-preview .eyebrow { font-size:.65rem; }
  .book-preview p:not(.eyebrow) { font-size:.85rem; }
  .bio-intro { grid-template-columns:1fr; gap:1rem; }
  .bio-photo { max-width:420px; justify-self:end; }
  .bio-photo img { aspect-ratio:3/2; border-radius:3px; }
  .timeline > div { grid-template-columns:1fr; gap:.45rem; }
  .book-detail { grid-template-columns:140px minmax(0,1fr); gap:1.3rem; }
  .book-detail h3 { font-size:1.3rem; }
  .recent-posts li { grid-template-columns:1fr; gap:.2rem; }
  .site-section { margin-bottom:2rem; padding-top:1.7rem; }
}
@media (max-width:500px) {
  .site-header .brand { white-space:normal; font-size:1.25rem; }
  .site-header nav { font-size:.83rem; }
  .book-previews { grid-template-columns:1fr; gap:1.5rem; }
  .book-preview { display:grid; grid-template-columns:100px minmax(0,1fr); gap:0 1rem; }
  .book-preview .book-cover { grid-row:1/4; margin:0; }
  .book-preview h3 { margin-top:0; }
  .book-detail { grid-template-columns:1fr; gap:1rem; }
  .book-detail .book-cover { width:145px; }
  .reading-route { padding:1rem; }
}
@media print { .site-header nav,.hero-actions,.site-footer nav { display:none; } .personal-site main { padding:0; } .hero-photo { max-width:250px; } .book-detail { break-inside:avoid; } }
