.profile-page{--accent:#425c47;--soft:#e9eee6;--rule:#d3d6ca}
.profile-page .hans-wrap{width:100%}.profile-page .profile-hero h1 span{font-size:1em;font-weight:inherit;letter-spacing:inherit;margin-top:0}
.profile-page .profile-hero{grid-template-columns:minmax(250px,390px) 1fr}
.profile-page .profile-facts small{font-size:.88rem;color:var(--muted)}
.profile-page .story-section .photo-grid{align-items:start}.profile-page .story-section .profile-photo img{object-fit:contain}
.profile-page .profile-section h3{margin:38px 0 18px;color:var(--forest-deep);font-size:1.35rem}
.profile-translation{border-top:1px solid var(--rule);margin-top:16px;padding-top:12px;font-size:.94rem;line-height:1.65}
.profile-translation summary{cursor:pointer;font-weight:bold;color:var(--forest-deep);padding:8px 0}
.profile-translation p{margin:12px 0}.profile-reading-note{font-size:.88rem;color:var(--muted);line-height:1.65}
.profile-page .profile-document-grid{align-items:start}.profile-page .profile-document figcaption{padding:0}
.profile-page .chapter-nav{margin-top:0}.profile-page .profile-photo img{border-radius:0}
.profile-page main{width:min(1160px,calc(100% - 40px));margin:0 auto}
.profile-breadcrumb{padding:24px 0 12px;font-size:.92rem;color:var(--muted)}
.profile-hero{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:clamp(28px,5vw,72px);align-items:center;padding:28px 0 52px;border-bottom:1px solid var(--rule)}
.profile-hero h1{font-size:clamp(2.6rem,5.6vw,4.8rem);letter-spacing:-.035em;line-height:1.05;margin:16px 0 22px}
.profile-hero h1 span{display:block;font-size:.55em;font-weight:normal;letter-spacing:0;margin-top:14px}
.profile-dates{font-size:1.1rem;color:var(--accent);margin:0 0 22px}
.profile-deck{font-size:1.25rem;line-height:1.7;max-width:37em}
.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;margin:28px 0 0;padding-top:20px;border-top:1px solid var(--rule)}
.profile-facts div{min-width:0}.profile-facts dt{font:700 .73rem/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.profile-facts dd{margin:3px 0 0;font-size:1rem}
.profile-jump{display:flex;flex-wrap:wrap;gap:12px 25px;padding:22px 0;border-bottom:1px solid var(--rule);font-size:.97rem}
.profile-jump a{text-underline-offset:5px}
.profile-story{max-width:790px;margin:54px auto;font-size:1.12rem;line-height:1.82}
.profile-story h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:54px 0 22px;line-height:1.2}
.profile-story h3{font-size:1.25rem}.profile-story p{margin:0 0 22px}
.profile-story .chapter-year{font:700 .76rem/1.5 Arial,sans-serif;letter-spacing:.13em;color:var(--accent);text-transform:uppercase;margin-bottom:8px}
.profile-story .source-note{font-size:.88rem;color:var(--muted);line-height:1.6}
.profile-story .profile-photo{max-width:480px;margin:34px auto 42px}
.profile-memory{border-left:3px solid #9c815e;padding:20px 26px;background:#f0eadf;margin:30px 0}
.profile-memory p:last-child{margin-bottom:0}.profile-memory cite{font-style:normal;font-size:.95rem}
.profile-section{padding:50px 0;border-top:1px solid var(--rule)}
.profile-section>p{max-width:780px}.profile-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px;margin-top:30px}
.profile-photo{margin:0;min-width:0;align-self:start;font-size:.95rem;line-height:1.55}
.profile-photo-view{display:flex;align-items:center;justify-content:center;min-width:0;min-height:330px}
.profile-photo .scan-link{display:block;width:min(100%,calc(330px * var(--ratio)));text-decoration:none}
.profile-photo .scan-link{position:relative}
.profile-enlarge{position:absolute;right:14px;bottom:14px;z-index:4;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#fffdf4ed;color:var(--forest-deep);font:28px Georgia,serif;border:1px solid #b5a58b;border-radius:4px;box-shadow:0 2px 5px #0004}
.profile-photo .scan-link:hover .profile-enlarge,.profile-photo .scan-link:focus-visible .profile-enlarge{background:#fffdf4;box-shadow:0 2px 7px #0006}
.profile-photo .profile-slider+figcaption{margin-top:10px}
.profile-hero .profile-photo-view{min-height:0}.profile-hero .scan-link{width:100%}
.profile-story .profile-photo .scan-link{width:min(100%,calc(510px * var(--ratio)))}
.profile-compare{position:relative;display:block;aspect-ratio:var(--ratio);--split:100%;border:7px solid white;box-shadow:0 5px 20px #37291326;background:#f7f1e5;overflow:hidden}
.profile-compare>img,.profile-restore>img{width:100%;height:100%;object-fit:contain;max-width:none;display:block}
.profile-restore{position:absolute;inset:0;clip-path:inset(0 0 0 var(--split));pointer-events:none}
.profile-compare-line{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:white;box-shadow:0 0 3px #0007;pointer-events:none}
.profile-slider{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--accent);margin:10px 0 0}
.profile-slider input{min-width:40px;flex:1;min-height:38px;accent-color:var(--accent)}
.profile-photo .family-image-open,.profile-document .family-image-open{min-height:44px;justify-content:center;font-size:.87rem;text-decoration:none;margin:5px 0 12px}
.profile-photo figcaption{margin-top:0}.profile-photo figcaption strong{display:block;color:var(--forest-deep);font-size:1rem;margin-bottom:6px}
.profile-photo .photo-backlink{display:block;width:fit-content;margin-top:9px;font-size:.83rem;text-underline-offset:3px}
.profile-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:26px}
.profile-document{margin:0;padding:16px;background:#fffdf8;border:1px solid var(--line);min-width:0;font-size:.91rem;line-height:1.55}
.profile-document .scan-link{display:flex;height:270px;align-items:center;justify-content:center;background:#eee9df;padding:8px}
.profile-document img{max-height:100%;max-width:100%;height:auto;width:auto;object-fit:contain;box-shadow:0 2px 9px #352c2526;border:3px solid white}
.profile-document figcaption strong{display:block;font-size:1rem;color:var(--forest-deep);margin-bottom:6px}
.profile-sources{font-size:.94rem;line-height:1.75}.profile-sources li{margin:0 0 14px;overflow-wrap:anywhere}
.profile-sources a{text-underline-offset:3px}.profile-related{display:flex;flex-wrap:wrap;gap:12px 28px}
.profile-page [id]{scroll-margin-top:140px}.profile-page :focus-visible{outline:3px solid #597354;outline-offset:4px}
@media(max-width:850px){.profile-photo-grid,.profile-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-hero{grid-template-columns:minmax(240px,.8fr) 1fr;gap:30px}.profile-facts{grid-template-columns:1fr}}
@media(max-width:600px){.profile-page main{width:calc(100% - 32px)}.profile-hero{display:flex;flex-direction:column-reverse;gap:28px;padding-top:12px}.profile-hero .profile-photo{width:min(100%,340px)}.profile-hero h1{font-size:2.7rem}.profile-deck{font-size:1.12rem}.profile-facts{grid-template-columns:1fr 1fr;font-size:.95rem}.profile-story{font-size:1.05rem;margin:36px auto;line-height:1.8}.profile-story h2{margin-top:38px}.profile-photo-grid,.profile-document-grid{grid-template-columns:1fr}.profile-photo-view{min-height:0}.profile-photo .scan-link{width:min(100%,calc(450px * var(--ratio)))}.profile-document .scan-link{height:320px}.profile-memory{padding:17px 18px}.profile-section{padding:36px 0}.profile-jump{gap:12px 20px}.profile-photo-grid{gap:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep differently framed restorations proportional, with neutral margins. */
.profile-restore{background:#f7f1e5}
