/* The whole life stays in view; the longer story opens from any point. */
:root{--hub-ink:#273c34;--hub-quiet:#596952;--hub-rule:#bfc8b2;--hub-paper:#eeebe2;--hub-focus:#934624}

.life-opening{padding:22px 6vw 26px;gap:6vw;grid-template-columns:1.1fr 1fr;align-items:center}
.life-opening .eyebrow{margin-bottom:13px;font-size:.68rem;color:#58674f}
.life-opening h1{font-size:clamp(3rem,5.1vw,5rem);line-height:1.02;letter-spacing:-.05em}
.life-opening h1 em{display:inline;white-space:normal}
.life-opening>p{max-width:450px;font-size:.92rem;line-height:1.65;margin:0;color:var(--hub-quiet)}
.life-opening>p>span{margin-top:9px;font-size:.82rem;color:#8c5134}
.life-opening .opening-feature{margin-top:10px;font-size:.8rem}

.work-entry{max-width:1450px;margin:0 auto;padding:0 6vw;scroll-margin-top:24px}
.work-entry-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:12px}
.work-entry-heading .eyebrow{font-size:.65rem;letter-spacing:.075em;color:var(--hub-quiet);line-height:1.5;margin:0}
.work-entry-actions>button{font-size:.76rem;padding:7px 0;color:#48613c;text-decoration:underline;text-underline-offset:4px}
.work-entry-actions>button:hover{color:#934624}
.work-shortcuts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;max-width:1450px;margin:0 auto;padding:0 0 27px}
.work-shortcuts>h2,.work-shortcuts>.eyebrow{grid-column:1/-1;margin:0 0 2px}
.work-shortcuts>.eyebrow{font-size:.65rem;color:var(--hub-quiet);letter-spacing:.08em}
.work-shortcut{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:113px;text-align:left;text-decoration:none;padding:14px 15px 13px;background:#e0e5d6;border:1px solid #aab69b66;border-radius:3px;color:var(--hub-ink);transition:background .2s,border-color .2s,transform .2s}
.work-shortcut:nth-of-type(2n){background:#e8e1d2}
.work-shortcut:nth-of-type(3n){background:#dce5d8}
.shortcut-number{font-family:'IBM Plex Mono',monospace;font-size:.6rem;line-height:1.4;letter-spacing:.08em;color:#596c51;padding-right:19px;margin-bottom:12px}
.shortcut-title{display:block;font-family:'DM Serif Display',Georgia,serif;font-size:clamp(1.16rem,1.7vw,1.65rem);font-weight:400;line-height:1.06;letter-spacing:-.025em;margin-bottom:7px}
.shortcut-meta{display:block;font-size:.7rem;line-height:1.45;color:#59674f;margin-top:auto}
.work-shortcut:hover{background:#d4dfc9;border-color:#788d67;transform:translateY(-3px)}

.life-overview{position:relative;max-width:1450px;margin:0 auto;padding:27px 6vw 48px;scroll-margin-top:24px;isolation:isolate}
.life-overview:before{content:'';position:absolute;left:6vw;right:6vw;top:0;border-top:1px solid var(--hub-rule)}
.overview-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;position:relative;z-index:2}
.overview-intro>div{min-width:0}
.overview-intro .eyebrow{font-size:.68rem;letter-spacing:.085em;color:#596b51;margin:0 0 10px}
.overview-intro h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2rem,3.1vw,3.1rem);font-weight:400;line-height:1.08;letter-spacing:-.04em;margin:0 0 10px}
.overview-intro h2 br{display:none}
.overview-intro h2 em{font-weight:400}
.overview-intro p:not(.eyebrow){font-size:.85rem;line-height:1.65;color:var(--hub-quiet);max-width:560px;margin:0}
.resume-reading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:18px;max-width:300px;text-align:left;flex-shrink:0;background:#dce4d1;border:1px solid #a8b797;border-radius:3px;padding:12px 15px;font-size:.78rem;line-height:1.45;color:#344d2b}
.resume-reading:after{content:'↗';grid-column:2;grid-row:1/4;font-size:1.1rem}
.resume-reading:hover{background:#d0ddc3;border-color:#738b60}
.resume-reading small,.resume-reading strong,.resume-reading>span{display:block;grid-column:1}
.resume-reading small{font-size:.65rem;font-weight:400;margin-bottom:4px;color:#526748}
.resume-reading strong{font-size:.83rem;font-weight:500;margin-bottom:4px}
.resume-reading>span{font-size:.7rem}

.overview-road{position:relative;min-height:333px;padding:8px 0 10px;margin-top:12px;isolation:isolate}
.overview-stops{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:25px;min-width:0}
.overview-road:before{content:'';position:absolute;inset:-3% -4% -5%;background:radial-gradient(ellipse at 25% 50%,#dce4cd77,transparent 46%),radial-gradient(ellipse at 82% 50%,#e3ddc78c,transparent 42%);z-index:-2;pointer-events:none}
.overview-line{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:-1}
.overview-line path{fill:none;stroke:#8b9d78;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.overview-stop{--stop-rise:25px;min-width:0;position:relative;padding-top:var(--stop-rise);padding-bottom:10px}
.overview-stop:nth-of-type(2){--stop-rise:88px}
.overview-stop:nth-of-type(3){--stop-rise:7px}
.overview-stop:nth-of-type(4){--stop-rise:72px}
.overview-stop:nth-of-type(5){--stop-rise:20px}
.overview-node{display:grid;place-items:center;width:40px;height:40px;padding:0;margin:0 0 6px -12px;font-size:0;line-height:0;border-radius:50%;color:#587247;background:transparent;position:relative;transition:background .2s}
.overview-node:before{content:'';display:block;width:13px;height:13px;border:2px solid #688355;border-radius:50%;background:var(--hub-paper);box-shadow:0 0 0 5px var(--hub-paper);transition:background .2s,box-shadow .2s}
.overview-node:hover:before,.overview-stop:focus-within .overview-node:before{background:#789362;box-shadow:0 0 0 5px var(--hub-paper),0 0 0 6px #8c9f76}
.overview-date{display:block;font-family:'IBM Plex Mono',monospace;font-size:.65rem;line-height:1.6;letter-spacing:.045em;color:#596e4d;margin:0 0 7px}
.overview-place{display:block;max-width:100%;padding:0;text-align:left;font-family:'DM Serif Display',Georgia,serif;font-size:clamp(1.55rem,2.1vw,2.15rem);font-weight:400;line-height:1.05;letter-spacing:-.035em;color:var(--hub-ink);text-wrap:balance}
.overview-place>span{display:inline-block;font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:400;margin-left:3px;vertical-align:middle;color:#768567;transition:transform .2s}
.overview-place:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.overview-place:hover>span{transform:translate(2px,-2px)}
.overview-summary{font-size:.79rem;line-height:1.65;color:var(--hub-quiet);margin:12px 0 12px;max-width:27ch}
.overview-themes{display:flex;flex-wrap:wrap;align-items:center;gap:3px 9px;max-width:100%}
.overview-themes button{font-size:.75rem;line-height:1.5;min-height:30px;padding:4px 0;text-align:left;color:#66523b;text-decoration:underline;text-decoration-color:#aa927766;text-underline-offset:4px}
.overview-themes button:hover{color:#8b4327;text-decoration-color:currentColor}
.overview-footnote{font-family:'Caveat',cursive;font-size:1.22rem;line-height:1.4;color:#7a7256;text-align:right;margin:9px 0 0;padding-right:2px}

#life-detail{scroll-margin-top:0}
.detail-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:10px 4.7vw;border-top:1px solid var(--hub-rule);border-bottom:1px solid #b6c2a466;background:#e7e9db66}
#show-overview,#quick-work{min-height:36px;font-size:.78rem;line-height:1.4;padding:5px 0;color:#3a5632;text-align:left}
#show-overview{text-decoration:underline;text-underline-offset:5px}
#show-overview:hover,#quick-work:hover{color:#934624}
.detail-chapters{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:3px 17px;min-width:0}
.detail-chapters button{min-height:34px;padding:4px 0;font-size:.69rem;line-height:1.3;color:#596d4e;text-align:left}
.detail-chapters button:hover,.detail-chapters button[aria-current='true']{color:#293f26;text-decoration:underline;text-underline-offset:4px}

.hub-dialog{width:min(900px,calc(100vw - 64px));max-height:min(820px,calc(100svh - 56px));margin:auto;overflow:auto;overscroll-behavior:contain;background:#f1eee5;color:var(--hub-ink);border:1px solid #b5c1a5;border-radius:5px;box-shadow:0 30px 100px #20372940;scrollbar-color:#9dac8c #e9e9dc}
.hub-dialog::backdrop{background:#243c2e70;backdrop-filter:blur(10px)}
.hub-chrome{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 30px 18px;background:#f1eee5f5;backdrop-filter:blur(14px);border-bottom:1px solid var(--hub-rule)}
.hub-chrome h2{font-family:'DM Serif Display',Georgia,serif;font-size:2.4rem;font-weight:400;line-height:1.08;letter-spacing:-.04em;margin:0}
.hub-chrome>button{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;padding:0;font-size:1.7rem;line-height:1;border:1px solid #afbea0;border-radius:50%;color:#47613b}
.hub-chrome>button:hover{background:#dbe3ce;border-color:#6c835b}
.hub-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:20px 30px 0}
.hub-tabs button{min-height:36px;padding:7px 13px;border:1px solid #a7b599;border-radius:22px;font-size:.78rem;line-height:1.4;color:#445b38}
.hub-tabs button:hover{background:#dfe6d4}
.hub-tabs button[aria-pressed='true']{background:#3c5638;border-color:#3c5638;color:#f8f6eb}
.hub-description{font-size:.9rem;line-height:1.65;color:var(--hub-quiet);padding:0 30px;margin:18px 0 22px;max-width:720px}
.hub-list{padding:0 30px 24px}
.hub-work-row{position:relative;width:100%;display:flex;align-items:center;gap:20px;text-align:left;padding:19px 0;border-top:1px solid #bac5ad;min-height:100px;color:var(--hub-ink);transition:background .2s}
.hub-work-row:hover{background:#dfe6d333}
.hub-work-row>img{display:block;flex:0 0 84px;width:84px;height:86px;object-fit:cover;border-radius:2px;filter:saturate(.8)}
.hub-work-placeholder{display:grid;place-items:center;flex:0 0 84px;width:84px;height:86px;border:1px solid #b6c3a7;background:#e1e6d7;border-radius:2px;font-family:'DM Serif Display',Georgia,serif;font-size:2.2rem;color:#698058}
.hub-work-copy{display:block;flex:1;min-width:0}
.hub-work-copy>small{display:block;font-family:'IBM Plex Mono',monospace;font-size:.63rem;line-height:1.6;letter-spacing:.025em;color:#596f4d;margin-bottom:6px}
.hub-work-copy>strong{display:block;font-family:'DM Serif Display',Georgia,serif;font-size:1.7rem;font-weight:400;line-height:1.12;letter-spacing:-.025em}
.hub-work-copy>p{font-size:.83rem;line-height:1.6;color:#586b4e;margin:7px 0 0;max-width:65ch}
.hub-work-arrow{flex-shrink:0;font-size:1.3rem;color:#738965;align-self:center;margin-right:2px;transition:transform .2s}
.hub-work-row:hover .hub-work-arrow{transform:translate(3px,-3px);color:#8d472b}

.work-shortcut:focus-visible,.overview-node:focus-visible,.overview-place:focus-visible,.overview-themes button:focus-visible,.resume-reading:focus-visible,.detail-heading button:focus-visible,.hub-dialog button:focus-visible{outline:2px solid var(--hub-focus);outline-offset:5px}

@media(min-width:1500px){.life-opening{padding-top:30px;padding-bottom:30px}.overview-road{min-height:350px}.overview-stops{column-gap:38px}.shortcut-title{font-size:1.65rem}}
@media(max-width:1100px){.work-shortcuts{gap:8px}.work-shortcut{padding:13px 12px;min-height:111px}.shortcut-title{font-size:1.25rem}.shortcut-meta{font-size:.67rem}.overview-stops{column-gap:17px}.overview-place{font-size:1.75rem}.overview-summary{font-size:.77rem}.overview-themes{gap:2px 8px}.overview-themes button{font-size:.67rem}.detail-heading{gap:15px}.detail-chapters{gap:2px 11px}.detail-chapters button{font-size:.65rem}}
@media(max-width:900px) and (min-width:761px){.work-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.work-shortcut{min-height:91px;padding:12px 14px}.shortcut-number{margin-bottom:6px}.shortcut-title{font-size:1.4rem;margin-bottom:5px}.shortcut-meta{font-size:.72rem}.overview-intro{gap:18px}.resume-reading{max-width:235px}.overview-stops{column-gap:14px}.overview-place{font-size:1.55rem}.overview-summary{font-size:.75rem}.detail-heading{grid-template-columns:auto 1fr auto}.detail-chapters{gap:0 10px}.detail-chapters button{font-size:.65rem}}
@media(max-width:760px){
 .life-opening{display:block;padding:10px 6vw 22px}.life-opening .eyebrow{font-size:.64rem;margin-bottom:12px}.life-opening h1{font-size:clamp(2.65rem,8vw,4.5rem);line-height:1.04}.life-opening>p{font-size:.88rem;line-height:1.65;margin-top:16px;max-width:540px}.life-opening>p>span{font-size:.8rem;margin-top:8px}
 .work-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding-bottom:24px}.work-shortcut{min-height:105px;padding:13px}.shortcut-number{font-size:.59rem;margin-bottom:9px}.shortcut-title{font-size:1.35rem}.shortcut-meta{font-size:.69rem}
 .life-overview{padding:24px 6vw 34px}.overview-intro{display:block}.overview-intro h2{font-size:2.25rem;max-width:480px;margin-bottom:9px}.overview-intro p:not(.eyebrow){font-size:.84rem;line-height:1.65;max-width:520px}.resume-reading{max-width:none;width:100%;margin-top:18px;padding:11px 14px;font-size:.78rem}
 .overview-road{min-height:0;padding:20px 0 0;margin-top:10px}.overview-stops{grid-template-columns:minmax(0,1fr);gap:0}.overview-road:before{inset:0 -3%;background:radial-gradient(ellipse at 35% 27%,#dce4cd88,transparent 47%),radial-gradient(ellipse at 75% 85%,#e3ddc77d,transparent 40%)}
 .overview-stop{--stop-x:0px;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:13px;align-items:start;padding:0 0 32px var(--stop-x);min-height:0}.overview-stop:nth-of-type(2){--stop-x:28px}.overview-stop:nth-of-type(3){--stop-x:7px}.overview-stop:nth-of-type(4){--stop-x:32px}.overview-stop:nth-of-type(5){--stop-x:15px;padding-bottom:5px}
 .overview-node{grid-column:1;grid-row:1/5;width:40px;height:40px;margin:0;align-self:start}.overview-date{grid-column:2;grid-row:1;font-size:.65rem;margin:1px 0 6px}.overview-place{grid-column:2;grid-row:2;font-size:1.95rem;line-height:1.08;text-wrap:initial}.overview-summary{grid-column:2;grid-row:3;font-size:.82rem;line-height:1.65;max-width:46ch;margin:10px 0 7px}.overview-themes{grid-column:2;grid-row:4;gap:2px 13px}.overview-themes button{font-size:.73rem;min-height:31px;padding:5px 0}
 .detail-heading{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:8px 5vw}.detail-chapters{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:3px 18px}.detail-chapters button{font-size:.66rem;min-height:27px}.detail-heading #show-overview,.detail-heading #quick-work{font-size:.76rem;min-height:32px}.detail-heading #quick-work{grid-column:2;grid-row:1}
 .hub-dialog{width:calc(100vw - 30px);max-height:calc(100svh - 30px);border-radius:4px}.hub-chrome{padding:21px 22px 17px;gap:14px}.hub-chrome h2{font-size:2.1rem}.hub-chrome>button{width:36px;height:36px}.hub-tabs{padding:17px 22px 0;gap:7px}.hub-tabs button{padding:7px 12px;font-size:.75rem}.hub-description{padding:0 22px;font-size:.85rem;margin:16px 0 20px}.hub-list{padding:0 22px 20px}.hub-work-row{gap:16px;padding:17px 0}.hub-work-row>img,.hub-work-placeholder{flex-basis:70px;width:70px;height:78px}.hub-work-copy>strong{font-size:1.5rem}.hub-work-copy>small{font-size:.6rem}.hub-work-copy>p{font-size:.79rem;line-height:1.55}.hub-work-arrow{font-size:1.1rem}
}
@media(max-width:480px){
 .masthead{padding-top:21px;min-height:100px}.life-opening{padding-top:7px;padding-bottom:21px}.life-opening h1{font-size:2.8rem}.life-opening .eyebrow{font-size:.61rem;letter-spacing:.065em}.life-opening>p{font-size:.86rem;line-height:1.65;margin-top:14px}.life-opening>p>span{font-size:.77rem}.life-opening .opening-feature{font-size:.77rem}
 .work-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-bottom:24px}.work-shortcut{min-height:102px;padding:12px 13px}.shortcut-title{font-size:1.35rem}.shortcut-number{margin-bottom:9px}.shortcut-meta{font-size:.67rem;line-height:1.45}
 .life-overview{padding-top:23px;padding-bottom:34px}.overview-intro .eyebrow{font-size:.62rem}.overview-intro h2{font-size:2.15rem}.overview-intro p:not(.eyebrow){font-size:.82rem}.overview-road{padding-top:15px}.overview-stop{column-gap:11px;padding-bottom:23px}.overview-stop:nth-of-type(2){--stop-x:22px}.overview-stop:nth-of-type(4){--stop-x:26px}.overview-stop:nth-of-type(5){--stop-x:10px}.overview-place{font-size:1.7rem}.overview-summary{font-size:.77rem;line-height:1.6;margin-top:8px}.overview-themes{gap:0 10px}.overview-themes button{font-size:.68rem;min-height:27px;padding:3px 0}.overview-footnote{font-size:1.1rem;margin-top:16px;text-align:left}
 .detail-chapters{gap:0 12px}.detail-chapters button{font-size:.62rem;line-height:1.3}.detail-heading{padding-left:6vw;padding-right:6vw}.detail-heading #show-overview,.detail-heading #quick-work{font-size:.72rem}
 .hub-dialog{width:calc(100vw - 20px);max-height:calc(100svh - 20px)}.hub-chrome{padding:18px 17px 16px}.hub-chrome h2{font-size:1.9rem}.hub-tabs{padding:16px 17px 0;gap:6px}.hub-tabs button{font-size:.71rem;padding:7px 11px;min-height:35px}.hub-description{padding:0 17px;font-size:.82rem}.hub-list{padding:0 17px 16px}.hub-work-row{gap:12px}.hub-work-row>img,.hub-work-placeholder{flex-basis:58px;width:58px;height:70px}.hub-work-copy>strong{font-size:1.35rem}.hub-work-copy>small{font-size:.57rem;line-height:1.6}.hub-work-copy>p{font-size:.76rem}.hub-work-arrow{font-size:1rem;margin-right:0}
}
@media(prefers-reduced-motion:reduce){.work-shortcut,.overview-node,.overview-node:before,.overview-place>span,.hub-work-row,.hub-work-arrow{transition:none}.work-shortcut:hover,.overview-place:hover>span,.hub-work-row:hover .hub-work-arrow{transform:none}}
@media(forced-colors:active){.work-shortcut,.resume-reading,.hub-dialog,.hub-tabs button,.hub-chrome>button{border:1px solid ButtonText}.overview-node:before{background:Canvas;border-color:ButtonText;box-shadow:none}.overview-line path{stroke:CanvasText}.hub-tabs button[aria-pressed='true']{outline:2px solid Highlight;outline-offset:2px}}

/* Every period remains an immediate choice on smaller screens. */
.overview-period-index{display:none}
@media(max-width:760px){.overview-period-index{display:flex;flex-wrap:wrap;gap:4px 17px;margin-top:19px;padding:11px 0;border-top:1px solid var(--hub-rule);border-bottom:1px solid var(--hub-rule)}.overview-period-index button{padding:5px 0;font-size:.75rem;color:#435b37;min-height:34px;text-underline-offset:4px}.overview-period-index button:hover{text-decoration:underline}.overview-period-index button:focus-visible{outline:2px solid var(--hub-focus);outline-offset:3px}}

.hub-section+ .hub-section{margin-top:32px}.hub-section>header h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.9rem;letter-spacing:-.03em;margin:0 0 9px}.hub-section>header p{font-size:.83rem;line-height:1.65;color:var(--hub-quiet);margin:0 0 18px;max-width:66ch}

.work-entry-actions{display:flex;justify-content:flex-end;gap:8px 20px;flex-wrap:wrap}.work-entry-actions>button{min-height:40px;text-align:right}
@media(max-width:600px){.work-entry-heading{align-items:center;gap:12px}.work-entry-actions{gap:0 14px}.work-entry-actions>button{font-size:.7rem}}
