/* Local, accessible refinements. Existing photos are shown in full. */
@font-face{font-family:"Memoir Rare Han";src:url("fonts/memoir-rare-han.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+20118}
:root{--reading-size:20px;--serif:"Memoir Rare Han","Noto Serif CJK SC","Songti SC","SimSun","SimSun-ExtB",serif}
html.large-type{font-size:22px;--reading-size:24px}
body{overflow-wrap:anywhere;font-family:"Memoir Rare Han","Microsoft YaHei","PingFang SC",system-ui,sans-serif}
.header-inner{padding-block:18px;gap:24px}
.brand{max-width:55%;letter-spacing:.04em}
.brand>span:last-child{min-width:0;overflow-wrap:anywhere}
.site-header nav{gap:12px;align-items:center}
.site-header nav a,.site-footer a,.back-link{min-height:48px;display:inline-flex;align-items:center;padding:8px 10px}
.site-header nav button{padding-inline:14px;background:transparent}
.family-intro{padding-block:44px 48px;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:54px}
.family-intro h1{font-family:var(--serif);font-size:clamp(2.2rem,4.2vw,3.25rem);line-height:1.48;letter-spacing:.07em}
.family-intro h1 span{display:block}
.family-intro .subtitle{color:var(--accent);letter-spacing:.12em;margin:16px 0 20px;font-family:var(--serif);font-size:1.35rem}
.preface-lead{font-size:var(--reading-size);line-height:1.9;max-width:760px;color:#51463c}
.intro-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}
.intro .intro-actions .button{margin-top:0}
.portrait{transform:none;max-width:320px;padding:12px 12px 0;box-shadow:8px 8px 0 #e9e1d5;border-radius:3px}
.portrait img{height:330px;object-fit:contain;background:#f1ede4}
.family-titleplate{justify-self:end;min-height:320px;width:min(100%,300px);padding:32px;display:flex;align-items:center;justify-content:space-between;flex-direction:column;text-align:center;border:1px solid #b9a689;outline:1px solid #cfbfaa;outline-offset:-10px;background:linear-gradient(135deg,#efe6d5,#f9f3e7);color:#64513c;box-shadow:8px 8px 0 #eae0d0}
.family-titleplate strong{font-family:var(--serif);font-weight:500;font-size:2.5rem;letter-spacing:.16em;writing-mode:vertical-rl;padding:16px 0;line-height:1.4}
.family-titleplate span{letter-spacing:.12em}
.chapters{padding-block:34px 48px}
.album-image{aspect-ratio:3/2;background:#eae4d8}
.album-image img{object-fit:contain;padding:8px}
.album-card-copy{padding:20px 22px 22px}
.album-card-copy p{display:block;overflow:visible;line-height:1.75;margin:10px 0 14px}
.album-card:focus-visible{outline-offset:5px}
.preface-section{border-top:1px solid var(--line);padding:46px 0 62px}
.preface-heading{max-width:850px;margin:0 auto 28px;text-align:center}
.preface-heading h2{font-family:var(--serif);font-size:2.5rem;line-height:1.2;margin:8px 0 18px}
.preface-heading>p:last-child{font-family:var(--serif);letter-spacing:.15em;color:var(--muted)}
.preface-body{max-width:850px;margin:auto;font-size:var(--reading-size);line-height:1.95}
.preface-body p{margin:0 0 1.1em;text-indent:2em}
.preface-body .preface-signature{text-align:right;text-indent:0;margin:.4em 0;font-family:var(--serif)}
.preface-section>.button{display:flex;width:fit-content;margin:32px auto 0}
.site-footer{align-items:center;flex-wrap:wrap}
.story{font-size:var(--reading-size);line-height:1.85}
@media(max-width:1000px){.family-intro{gap:30px;grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr)}.family-intro h1{font-size:2.5rem}.portrait img{height:300px}.site-header nav{gap:6px}.header-inner{padding-inline:24px}}
@media(max-width:700px){.header-inner{padding:14px 16px;flex-wrap:wrap;gap:10px}.brand{max-width:100%;font-size:1.2rem}.site-header nav{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:2px;border-top:1px solid var(--line);padding-top:8px}.site-header nav a{min-height:48px;padding:6px}.site-header nav button{font-size:1rem;padding:6px 10px}.family-intro{grid-template-columns:1fr;padding-block:28px 34px;gap:28px}.family-intro h1{font-size:clamp(1.95rem,8.4vw,2.6rem);letter-spacing:.04em}.family-intro .subtitle{font-size:1.2rem;letter-spacing:.04em}.family-intro .eyebrow{margin-bottom:12px}.intro-actions{margin-top:22px;gap:10px}.intro-actions .button{flex:1;padding-inline:10px;white-space:nowrap}.portrait{justify-self:center;max-width:250px}.portrait img{height:220px}.family-titleplate{display:none}.album-image{aspect-ratio:3/2}.album-card-copy{padding:18px}.preface-section{padding-block:30px 42px}.preface-body{line-height:1.9}.preface-heading .eyebrow{letter-spacing:.03em}.preface-body .preface-signature{font-size:1rem}.site-footer{align-items:flex-start}.site-footer a{padding-left:0}.chapters{padding-top:26px}.preface-lead{font-size:1.05rem}}
@media(max-width:360px){.site-header nav{display:grid;grid-template-columns:1fr 1fr}.site-header nav a{justify-content:center}.intro-actions{flex-direction:column}.brand{font-size:1.05rem}}
