:root{--ink:#102848;--ink2:#17395f;--gold:#a8782c;--cream:#f2ede3;--paper:#fffdf9;--text:#2b2925;--muted:#6d675f;--rule:#d5c8b3;--shadow:rgba(31,26,20,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Georgia,'Times New Roman',serif;line-height:1.65}a{color:inherit}.shell{max-width:1160px;margin:auto;padding:0 28px}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;z-index:99;background:white;padding:10px 14px;border:2px solid var(--ink)}
header{padding:22px 0;border-bottom:1px solid rgba(16,40,72,.12);background:rgba(242,237,227,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}nav{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-weight:700;color:var(--ink);letter-spacing:.05em}.navlinks{display:flex;gap:22px;font-family:system-ui,-apple-system,sans-serif;font-size:.92rem}.navlinks a{text-decoration:none;color:#4f4a43}.navlinks a:hover,.navlinks a:focus{color:var(--ink)}
.hero{padding:62px 0 72px}.hero-grid{display:grid;grid-template-columns:minmax(260px,390px) 1fr;gap:74px;align-items:center}.cover-wrap{position:relative}.cover-wrap:before{content:"";position:absolute;inset:18px -18px -18px 18px;background:rgba(16,40,72,.13);border-radius:2px}.cover{position:relative;width:100%;display:block;box-shadow:0 18px 44px var(--shadow)}.eyebrow{font-family:system-ui,-apple-system,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:.78rem;font-weight:700;margin-bottom:14px}.hero h1{font-size:clamp(2.75rem,6vw,5rem);line-height:.98;margin:0;color:var(--ink);font-weight:600;letter-spacing:-.035em}.subtitle{font-size:1.45rem;color:#5c554b;margin:20px 0 27px}.intro{font-size:1.14rem;max-width:690px;color:#46413a}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.btn{font-family:system-ui,-apple-system,sans-serif;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:13px 20px;border-radius:3px;font-weight:650;border:1px solid var(--ink);transition:.15s ease}.btn.primary{background:var(--ink);color:white}.btn.secondary{color:var(--ink);background:transparent}.btn:hover,.btn:focus{transform:translateY(-1px);box-shadow:0 5px 14px rgba(16,40,72,.12)}
section{padding:74px 0;border-top:1px solid rgba(16,40,72,.11)}h2{color:var(--ink);font-size:2.25rem;margin:0 0 18px;font-weight:600}.section-intro{max-width:790px;color:var(--muted);font-size:1.06rem;margin-bottom:34px}.chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.chapter{background:rgba(255,253,249,.72);border:1px solid var(--rule);padding:20px;text-decoration:none;min-height:112px;display:flex;flex-direction:column;justify-content:space-between;transition:.15s ease}.chapter:hover,.chapter:focus{background:white;border-color:#b5a384;transform:translateY(-2px)}.chapter strong{color:var(--ink);font-size:1.05rem;line-height:1.28}.chapter span{font-family:system-ui,-apple-system,sans-serif;color:#8a7d6b;font-size:.78rem;margin-top:16px}.about-grid{display:grid;grid-template-columns:1fr 380px;gap:62px;align-items:center}.about-photo{width:100%;display:block;border:10px solid #e9dfcf;box-shadow:0 12px 30px rgba(26,22,17,.12)}.pull{font-size:1.4rem;line-height:1.45;color:var(--ink);border-left:3px solid var(--gold);padding-left:24px;margin:30px 0}.reading{background:var(--ink);color:white}.reading h2{color:white}.reading .section-intro{color:#d9dfe8}.reading .btn.primary{background:white;color:var(--ink);border-color:white}.reading .btn.secondary{color:white;border-color:#8393aa}.note{font-family:system-ui,-apple-system,sans-serif;color:var(--muted);font-size:.86rem;margin-top:18px}footer{padding:34px 0 48px;color:#756d62;font-family:system-ui,-apple-system,sans-serif;font-size:.87rem;text-align:center}
@media(max-width:850px){.hero-grid,.about-grid{grid-template-columns:1fr;gap:42px}.cover-wrap{max-width:370px;margin:auto}.hero{padding-top:42px}.chapters{grid-template-columns:repeat(2,1fr)}.about-photo{max-width:440px;margin:auto}.navlinks{display:none}header{position:static}}@media(max-width:520px){.shell{padding:0 18px}.hero h1{font-size:3rem}.chapters{grid-template-columns:1fr}.actions{flex-direction:column}.btn{width:100%}}

/* Preserve the photographs' original proportions on every screen size. */
.cover,.about-photo{height:auto;object-fit:contain}

/* v3: the family photograph is the authentic landscape original. */
.about-grid{grid-template-columns:minmax(0,1fr) minmax(420px,1.15fr)}
.about-photo{width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
@media(max-width:850px){
  .about-grid{grid-template-columns:1fr}
  .about-photo{max-width:680px;margin:auto}
}
