/* Family archive: the public reading layer. Native editor and dialogs retain their contracts. */
:root{--archive-serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;--site-width:1280px}
body{background:var(--background);color:var(--text-primary);font-size:16px;line-height:1.8;padding-bottom:0!important}
::selection{background:var(--primary-light);color:var(--text-primary)}
:focus-visible{outline:2px solid var(--primary);outline-offset:5px}
input,textarea{caret-color:var(--primary)}
a{text-underline-offset:.3em}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}button:disabled{cursor:default;opacity:.5}
[hidden]{display:none!important}
.archive-shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.archive-section{padding-block:76px;scroll-margin-top:90px}
.archive-section h2,.archive-title,.memory-cover h1,.story-spread h3,.chronicle h3,.album-chapter h2,.family-preface h1,.reading-title{font-family:var(--archive-serif);font-weight:500;line-height:1.4;text-wrap:balance}
.archive-section h2{font-size:clamp(28px,3vw,40px);margin:0 0 16px}
.archive-section h3{font-size:26px;font-weight:500;margin:0 0 12px}
.archive-section p{margin:0 0 24px}
.archive-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:38px}
.archive-section-heading h2{margin:0}
.archive-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:4px 0;border:0;border-bottom:1px solid currentColor;background:none;border-radius:0;color:var(--text-primary);font-size:15px;line-height:1.6;text-decoration:none;box-shadow:none}
.archive-link:hover{color:var(--primary)}.archive-link svg{width:16px;height:16px}
.archive-empty{padding:50px 0;color:var(--text-secondary)}
.site-header{position:relative;background:var(--background);backdrop-filter:none;border-bottom:1px solid var(--border)}
.site-header__inner{min-height:82px;gap:32px}.site-branding{gap:12px}.site-title{font-family:var(--archive-serif);font-size:24px!important;font-weight:500!important}.site-title a{color:var(--text-primary)}
.site-description{display:none}.site-branding .custom-logo-link,.site-branding__mark{width:32px;height:32px;flex-basis:32px;background:none;border-radius:0}.site-branding .custom-logo{width:32px;height:32px;border-radius:0}
.primary-navigation .primary-menu{display:flex;gap:30px;align-items:center}.primary-menu>li>a{display:block!important;padding:18px 0!important;background:none!important;border-radius:0!important;color:var(--text-primary)!important;font-size:15px!important;box-shadow:none!important}
.primary-menu>li>a svg,.primary-menu>li>a img{display:none!important}.primary-menu>.current-menu-item>a,.primary-menu>.current_page_item>a{border-bottom:2px solid var(--primary)}
.primary-menu a:hover{color:var(--primary)!important}.menu-toggle{border:0;border-radius:0;background:none;color:var(--text-primary);min-height:44px}
.memory-cover{display:grid;grid-template-columns:42.7% 57.3%;max-width:1600px;margin-inline:auto}
.memory-cover__copy{padding:clamp(50px,7vw,105px) 48px 60px clamp(40px,6vw,88px);display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.memory-cover__copy>time{font-size:16px}.memory-cover__age{margin-top:48px}.memory-cover__age p{font-family:var(--archive-serif);font-size:25px;margin:0}
.memory-cover__age>div{display:flex;align-items:baseline;gap:18px;line-height:1.05}.memory-cover__age strong{font-family:Georgia,serif;font-size:clamp(108px,15vw,214px);font-weight:400;letter-spacing:-.04em;font-variant-numeric:lining-nums}.memory-cover__age span{font-family:var(--archive-serif);font-size:40px}
.memory-cover h1{font-size:clamp(46px,6.5vw,92px);margin:22px 0 0;overflow-wrap:anywhere}.memory-cover__subtitle{margin:8px 0 0;font-size:17px;color:var(--text-secondary)}.memory-cover__birth{margin:8px 0 0;font-size:16px}.memory-cover__link{margin-top:48px}
.memory-cover__photo{margin:0;min-width:0;display:flex;flex-direction:column}.memory-cover__photo>img{width:100%;height:clamp(630px,62vw,850px);object-fit:cover}.memory-cover__photo figcaption{text-align:right;font-size:14px;padding:14px 40px 0 0;color:var(--text-secondary)}
.home-stories{border-top:1px solid var(--border);margin-top:40px}.story-spread{display:grid;grid-template-columns:12% 32% 1fr;gap:36px;padding-block:20px 48px}.story-spread__date{display:flex;flex-direction:column;gap:8px;font-size:18px;border-right:1px solid var(--border);font-variant-numeric:tabular-nums}.story-spread__date small{font-size:14px;color:var(--text-secondary)}
.story-spread h3{font-size:clamp(25px,2.5vw,36px);margin:18px 0 28px}.story-spread h3 a,.chronicle h3 a{text-decoration:none}.story-spread__copy p{font-size:16px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.story-spread__photo img{width:100%;height:100%;max-height:460px;object-fit:cover}.story-spread--short{border-top:1px solid var(--border);padding-top:32px;grid-template-columns:12% 1fr 25%}.story-spread--short h3{font-size:26px}.story-spread--short .story-spread__photo img{max-height:240px}
.home-photographs{padding-top:24px}.memory-film{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--primary) var(--cream);padding-bottom:12px}.memory-film>a{flex:1 0 23%;scroll-snap-align:start;min-width:0}.memory-film img{width:100%;height:320px;object-fit:cover}.memory-film>a:nth-child(3n+2){flex-basis:30%}
.memory-firsts{display:grid;grid-template-columns:32% 1fr;gap:72px;border-top:1px solid var(--border)}.memory-firsts header p{max-width:22em;color:var(--text-secondary)}.memory-firsts__list{list-style:none;padding:0;margin:0}.memory-firsts__list li{display:grid;grid-template-columns:112px 1fr auto;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--border)}.memory-firsts__list li:first-child{padding-top:0}.memory-firsts__list h3{font-family:var(--archive-serif);font-size:25px}.memory-firsts__list a{text-decoration:none}.memory-firsts__list p,.memory-firsts__list small{font-size:14px;color:var(--text-secondary);margin:0}
.home-observation{background:var(--cream)}.observation-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px}.observation-layout p{color:var(--text-secondary)}.observation-values{display:flex;gap:70px;margin:0;align-items:center}.observation-values dt{font-size:16px}.observation-values dd{font-family:Georgia,serif;font-size:72px;line-height:1.4;margin:0;white-space:nowrap}.observation-values small{font-family:inherit;font-size:20px;margin-left:12px}
.memory-letters{display:grid;grid-template-columns:32% 1fr;gap:72px}.memory-letters blockquote{margin:0;padding:24px 0;border-bottom:1px solid var(--border)}.memory-letters blockquote:first-child{padding-top:0}.memory-letters blockquote p{font-family:var(--archive-serif);font-size:21px}.memory-letters blockquote footer{display:flex;justify-content:space-between;gap:16px;font-size:13px;color:var(--text-secondary)}
.site-footer{margin-top:0!important;padding-top:48px;background:var(--background)!important;border-top:1px solid var(--border);color:var(--text-primary)}.site-footer__inner{display:grid;grid-template-columns:1fr auto;gap:36px}.footer-memory{grid-column:1/-1;display:flex;justify-content:space-between;gap:24px;align-items:center}.footer-memory>p{font-family:var(--archive-serif);font-size:30px}.site-footer__title{font-size:17px}.footer-menu{display:flex;gap:24px;flex-wrap:wrap}.footer-menu svg,.footer-menu img{display:none}.footer-menu a{font-size:14px}.site-footer__bottom{margin-top:32px;border-top:1px solid var(--border)}
.milestone-dialog__panel{background:var(--background);border-radius:4px}.milestone-dialog__header{background:var(--background);border-color:var(--border)}.milestone-dialog__header>div>p{display:none}.milestone-dialog__list>li>a{background:transparent;border-radius:0}.milestone-ring{box-shadow:none!important}
.archive-page-head{padding-block:64px 44px;border-bottom:1px solid var(--border);margin-bottom:44px;display:flex;align-items:end;justify-content:space-between;gap:40px}.archive-title{font-size:clamp(38px,5vw,68px);margin:0}.archive-page-head p{margin:16px 0 0;color:var(--text-secondary);max-width:36em}.archive-page-head small{color:var(--text-secondary)}
@media(max-width:1024px){.archive-shell{width:calc(100% - 64px)}.memory-cover__copy{padding:54px 32px}.memory-cover__age{margin-top:35px}.memory-cover__photo>img{height:690px}.story-spread{gap:24px;grid-template-columns:14% 36% 1fr}.memory-firsts,.memory-letters{gap:40px}.observation-values{gap:30px}.observation-values dd{font-size:58px}.primary-navigation .primary-menu{gap:20px}}
@media(max-width:768px){.archive-shell,.site-shell{width:calc(100% - 40px)}.archive-section{padding-block:48px}.site-header__inner{min-height:68px;gap:16px;flex-wrap:wrap}.site-title{font-size:20px!important}.site-header .menu-toggle{display:flex}.site-header.has-js .primary-navigation{display:none;width:100%;flex-basis:100%}.site-header.is-menu-open .primary-navigation{display:block}.site-header .primary-navigation .primary-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-bottom:20px}.primary-menu>li>a{padding:12px 0!important;font-size:18px!important;border-bottom:1px solid var(--border)}.memory-cover{display:flex;flex-direction:column}.memory-cover__copy{display:grid;grid-template-columns:1fr auto;align-items:start;padding:28px 20px;gap:10px 20px}.memory-cover__copy>time{grid-column:1/-1;font-size:13px}.memory-cover__age{grid-row:2/5;grid-column:2;margin:0}.memory-cover__age p{font-size:12px}.memory-cover__age strong{font-size:80px;letter-spacing:-.04em}.memory-cover__age span{font-size:21px}.memory-cover__age>div{gap:6px}.memory-cover h1{font-size:44px;margin:4px 0;grid-row:2;grid-column:1}.memory-cover__subtitle{grid-column:1;font-size:14px;margin:0}.memory-cover__birth{font-size:12px;grid-column:1;margin:0}.memory-cover__link{margin:8px 0 0;font-size:14px;grid-column:1/-1;justify-self:start}.memory-cover__photo>img{height:auto;aspect-ratio:4/3;object-fit:cover}.memory-cover__photo figcaption{font-size:12px;padding:12px 20px 0}.home-stories{margin-top:26px}.archive-section-heading{margin-bottom:26px;gap:16px}.archive-section-heading h2{font-size:26px}.archive-section-heading>a{font-size:13px;white-space:nowrap}.story-spread,.story-spread--short{grid-template-columns:1fr;gap:18px;padding:0 0 34px}.story-spread__date{flex-direction:row;gap:12px;border:0;font-size:14px}.story-spread__copy{grid-row:3}.story-spread__photo{grid-row:2}.story-spread h3{font-size:27px;margin:0 0 18px}.story-spread__photo img{aspect-ratio:4/3;height:auto;max-height:none}.story-spread--short{padding-top:28px}.memory-film>a{flex-basis:78%}.memory-film>a:nth-child(3n+2){flex-basis:65%}.memory-film img{height:300px}.memory-firsts,.memory-letters,.observation-layout{grid-template-columns:1fr;gap:30px}.memory-firsts__list li{grid-template-columns:90px 1fr;gap:12px}.memory-firsts__list small{grid-column:2}.memory-firsts__list h3{font-size:22px}.memory-firsts__list time{font-size:13px}.observation-values{gap:50px}.observation-values dd{font-size:58px}.memory-letters blockquote p{font-size:18px}.site-footer__inner{grid-template-columns:1fr;gap:20px}.footer-memory{display:block}.footer-memory>p{font-size:25px}.footer-menu{gap:14px}.site-footer__bottom{padding-bottom:24px}.archive-page-head{padding-top:36px;display:block;margin-bottom:28px}.archive-page-head small{display:block;margin-top:20px}.archive-title{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.primary-navigation a::before{display:none!important}.primary-navigation a{font-size:15px!important;font-weight:400!important;flex-direction:row!important;min-width:0!important;padding:16px 0!important;background:none!important;border-radius:0!important}.primary-navigation .menu{gap:28px!important}.footer-navigation a::before{display:none!important}
.chronicle-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:72px;padding-bottom:80px}.chronicle-index{align-self:start;position:sticky;top:30px;display:flex;flex-direction:column}.chronicle-index h2{font-size:15px;font-weight:400;margin:0 0 24px;color:var(--text-secondary)}.chronicle-index>a{display:flex;justify-content:space-between;gap:16px;padding:12px 0;text-decoration:none;border-bottom:1px solid var(--border);font-size:15px}.chronicle-index>[aria-current]{color:var(--primary);font-weight:600}.chronicle-index small{color:var(--text-secondary)}
.chronicle-filters{display:flex;flex-wrap:wrap;align-items:end;gap:24px;margin-bottom:40px}.chronicle-filters label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--text-secondary)}.chronicle-filters select,.archive-gallery select{min-height:44px;padding:7px 28px 7px 10px;border:1px solid var(--border);border-radius:0;background:var(--background);color:var(--text-primary);max-width:100%}.chronicle-month{font-family:var(--archive-serif);font-size:32px;font-weight:400;margin:40px 0 32px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.chronicle-entry{display:grid;grid-template-columns:80px minmax(0,1fr);gap:28px;margin-bottom:60px}.chronicle-date{display:flex;flex-direction:column;gap:12px;font-size:13px;color:var(--text-secondary)}.chronicle-date time{display:flex;flex-direction:column}.chronicle-date strong{font-family:Georgia,serif;font-size:48px;font-weight:400;line-height:1.15;color:var(--text-primary)}.chronicle h3{font-size:clamp(26px,3vw,40px);margin:0 0 24px}.chronicle-image{display:block;margin:24px 0}.chronicle-image img{width:100%;max-height:480px;object-fit:cover}.chronicle-entry__body>p{max-width:42em;color:var(--text-secondary)}.chronicle-entry__links{display:flex;flex-wrap:wrap;gap:16px 32px}.chronicle-entry:nth-of-type(even) .chronicle-image{width:65%;float:right;margin:0 0 24px 28px}
.archive-gallery .album-browser{padding-bottom:60px}.archive-gallery .album-toolbar{margin:0 0 45px;padding:0 0 24px;gap:24px;border-bottom:1px solid var(--border)}.archive-gallery .album-toolbar form{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.archive-gallery .album-view-switch{background:none;border:0;gap:8px;padding:0;display:flex}.archive-gallery .album-view-switch button{border-radius:0;background:none;min-height:44px;color:var(--text-secondary);padding:8px 14px;border-bottom:1px solid transparent}.archive-gallery .album-view-switch .is-active{color:var(--text-primary);border-bottom-color:var(--primary);box-shadow:none;background:none}
.archive-gallery .album-months{display:block;padding:0}.archive-gallery .album-months::before{display:none}.archive-gallery .album-month{margin:0 0 72px;padding:0;background:none;border:0;box-shadow:none;border-radius:0;scroll-margin-top:30px}.album-chapter__intro{display:grid;grid-template-columns:120px 1fr auto;gap:40px;align-items:start;margin-bottom:32px}.album-chapter__intro>time{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px}.album-chapter__intro>time>span{display:block;width:100%;font-size:15px}.album-chapter__intro>time>strong{font-family:Georgia,serif;font-size:78px;line-height:1.1;font-weight:400}.album-chapter__intro h2{font-size:36px;margin:0 0 14px}.album-chapter__intro p{color:var(--text-secondary);max-width:38em;margin:0 0 16px}.album-chapter__intro small{margin-right:28px;color:var(--text-secondary)}.archive-gallery .album-month__toggle{display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:none;border-radius:0;width:44px;height:44px;transform:rotate(90deg)}.archive-gallery .album-month.is-collapsed .album-month__toggle{transform:rotate(0)}.archive-gallery .album-month.is-collapsed .album-photo-grid{display:none}
.archive-gallery .album-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:24px;align-items:start;padding:0}.album-page-photo{margin:0;min-width:0}.album-page-photo:first-child{grid-column:span 2;grid-row:span 2}.album-page-photo:nth-child(6n){grid-column:span 2}.archive-gallery .album-photo{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;aspect-ratio:auto;box-shadow:none;overflow:hidden}.archive-gallery .album-photo>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:none}.archive-gallery .album-page-photo:first-child img{aspect-ratio:1}.album-page-photo figcaption{font-size:13px;padding-top:10px;color:var(--text-secondary)}.archive-gallery .album-photo:hover img{transform:none;filter:brightness(.96)}.archive-gallery .album-timeline__photos{flex-wrap:wrap}.archive-gallery .album-timeline__photo{width:150px}.archive-gallery .album-end{background:none;border-radius:0;color:var(--text-secondary);font-size:14px}.archive-gallery .album-lightbox__panel{background:var(--background);border-radius:0}
.archive-reading{padding-block:54px 80px}.reading-header{max-width:1080px}.reading-meta{display:flex;gap:20px;margin:52px 0 16px;font-size:14px;color:var(--text-secondary)}.reading-title{max-width:22em;font-size:clamp(32px,4.2vw,58px);margin:0 0 24px}.reading-tags{font-size:14px;color:var(--text-secondary)}.reading-body{width:min(760px,calc(100% - 40px));margin:60px auto;font-size:18px;line-height:2.05;overflow-wrap:anywhere}.reading-body p{margin-block:0 1.5em}.reading-body h2,.reading-body h3{font-family:var(--archive-serif);margin-top:2em}.reading-body img{height:auto;max-width:100%}.reading-body figure{max-width:100%;margin-inline:0}.reading-body iframe{max-width:100%}.reading-body pre,.reading-body .wp-block-table{overflow:auto}.reading-body .alignwide{width:100%;max-width:100%}.reading-after{max-width:1080px}.reading-after .post-navigation{border-top:1px solid var(--border);padding-top:30px}.reading-after .related-posts{background:none;border:0}.reading-after .post-card{background:none;border:0;box-shadow:none;border-radius:0}
@media(max-width:1024px){.chronicle-layout{grid-template-columns:150px minmax(0,1fr);gap:36px}.album-chapter__intro{gap:24px}.archive-gallery .album-photo-grid{gap:16px}}
@media(max-width:768px){.primary-navigation .menu{gap:0!important}.primary-navigation a{padding:14px 0!important}.chronicle-layout{display:block;padding-bottom:40px}.chronicle-index{position:static;display:flex;flex-direction:row;overflow-x:auto;gap:20px;margin-bottom:28px}.chronicle-index h2{display:none}.chronicle-index>a{white-space:nowrap;gap:10px;font-size:14px}.chronicle-filters{gap:12px}.chronicle-filters label{flex:1;min-width:120px}.chronicle-filters select{width:100%;font-size:14px}.chronicle-month{font-size:26px;margin-top:24px}.chronicle-entry{grid-template-columns:1fr;gap:16px;margin-bottom:40px}.chronicle-date{flex-direction:row;align-items:baseline}.chronicle-date time{display:flex;flex-direction:row;gap:8px;align-items:baseline}.chronicle-date strong{font-size:32px}.chronicle h3{font-size:28px}.chronicle-entry:nth-of-type(even) .chronicle-image{float:none;width:100%;margin:24px 0}.chronicle-entry__links{gap:12px}.chronicle-entry__links a{font-size:13px}.archive-gallery .album-toolbar{align-items:start;flex-direction:column;gap:18px}.archive-gallery .album-toolbar form{width:100%}.archive-gallery select{width:auto!important}.album-chapter__intro{grid-template-columns:62px 1fr 44px;gap:12px}.album-chapter__intro>time>strong{font-size:46px}.album-chapter__intro>time>span{font-size:12px}.album-chapter__intro h2{font-size:24px}.album-chapter__intro p{font-size:14px}.album-chapter__intro .archive-link{font-size:13px}.archive-gallery .album-photo-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--primary) var(--cream);padding-bottom:14px}.album-page-photo,.album-page-photo:first-child{flex:0 0 85%;scroll-snap-align:start}.archive-gallery .album-page-photo img,.archive-gallery .album-page-photo:first-child img{height:340px;aspect-ratio:auto}.archive-gallery .album-month{margin-bottom:48px}.archive-gallery .album-timeline__photo{width:calc(50% - 8px)}.reading-meta{margin-top:32px}.archive-reading{padding-top:28px}.reading-body{font-size:17px;margin-block:36px}.reading-title{font-size:34px;line-height:1.55}.reading-header{width:calc(100% - 40px)}}
.growth-observation{display:grid;grid-template-columns:26% 1fr;gap:48px;padding-block:8px 48px;border-bottom:1px solid var(--border)}.growth-observation h2{font-family:var(--archive-serif);font-size:27px;font-weight:400;margin:0 0 20px}.growth-observation time{font-size:21px;font-variant-numeric:tabular-nums}.growth-observation p,.growth-observation small{color:var(--text-secondary)}.growth-measurements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0;align-items:center}.growth-measurements dt{font-size:16px}.growth-measurements dd{font-family:Georgia,serif;font-size:clamp(40px,4.8vw,70px);margin:6px 0;line-height:1.3;white-space:nowrap}.growth-measurements small{font-size:17px;margin-left:8px}.growth-measurements p{font-size:13px;margin:12px 0 0}
.growth-periods,.growth-metric-tabs{display:flex;gap:10px;flex-wrap:wrap}.growth-periods button,.growth-metric-tabs button{padding:10px 16px;min-height:44px;border:0;border-bottom:1px solid transparent;border-radius:0;background:none;color:var(--text-secondary)}.growth-periods button.is-active,.growth-metric-tabs button.is-active{color:var(--text-primary);border-bottom-color:var(--primary)}.growth-metric-tabs{margin-bottom:24px}.archive-growth #growth-trend-chart{min-height:0;width:100%;background:none;border:0;padding:0}.archive-growth #growth-trend-chart svg{width:100%;height:auto}.archive-growth .growth-chart-axis{fill:var(--text-secondary);font-size:12px}.archive-growth .growth-chart-gridline{stroke:var(--border);stroke-width:1}.measurement-line{stroke:var(--primary)}.measurement-point{fill:var(--primary)}.growth-chart-caption{font-size:13px;color:var(--text-secondary);margin:18px 0 0!important}.growth-ledger{padding-top:0}.measurement-row{display:grid;grid-template-columns:26% 1fr;gap:24px 48px;border-top:1px solid var(--border);padding:28px 0}.measurement-row header{display:flex;flex-direction:column;gap:8px}.measurement-row header span{font-size:14px;color:var(--text-secondary)}.measurement-row dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;gap:24px}.measurement-row dt{font-size:13px;color:var(--text-secondary)}.measurement-row dd{margin:8px 0 0;font-size:20px;font-variant-numeric:tabular-nums}.measurement-row>p{grid-column:2;font-size:14px;color:var(--text-secondary);margin:0}
.family-preface{display:grid;grid-template-columns:40% 1fr;gap:70px;padding-block:70px}.family-preface h1{font-size:clamp(40px,5vw,68px);margin:0 0 20px}.family-preface__subtitle{font-size:17px;color:var(--text-secondary)}.family-preface h2{font-family:var(--archive-serif);font-weight:400;font-size:28px;margin:60px 0 16px}.family-preface figure{margin:0}.family-preface figure img{width:100%;height:620px;object-fit:cover}.family-preface figcaption{text-align:right;font-size:13px;margin-top:12px;color:var(--text-secondary)}.family-people{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:52px}.family-people article{display:grid;grid-template-columns:200px minmax(0,520px);gap:64px;align-items:center}.family-people article:nth-child(even){margin-left:auto;grid-template-columns:minmax(0,520px) 200px}.family-people article:nth-child(even) .family-people__portrait{grid-column:2;grid-row:1}.family-people__portrait img{width:200px;height:220px;object-fit:cover}.family-people__portrait>span{display:grid;place-items:center;width:200px;height:220px;background:var(--cream);font-family:var(--archive-serif);font-size:64px}.family-people h2{font-size:32px}.family-people p{color:var(--text-secondary);margin:0}.family-reason,.family-history{display:grid;grid-template-columns:32% 1fr;gap:72px;border-top:1px solid var(--border)}.family-reason dl{margin:0}.family-reason dl>div{display:flex;gap:28px;padding:14px 0;border-bottom:1px solid var(--border)}.family-reason dt{font-family:var(--archive-serif);font-size:22px;white-space:nowrap}.family-reason dd{margin:0;color:var(--text-secondary)}.family-history ol{list-style:none;padding:0;margin:0}.family-history li{display:grid;grid-template-columns:110px 1fr;gap:28px;border-bottom:1px solid var(--border);padding:22px 0}.family-history li:first-child{padding-top:0}.family-history h3{font-family:var(--archive-serif);font-size:25px}.family-history a{text-decoration:none}.family-history p{font-size:15px;color:var(--text-secondary)}
.family-letter{padding-bottom:80px}.archive-about .about-message{display:grid;grid-template-columns:32% 1fr;gap:24px 72px;align-items:start;border:0;border-top:1px solid var(--border);border-radius:0;background:none;box-shadow:none;padding:64px 0 0}.archive-about .about-message__heading{display:block}.archive-about .about-message__heading h2{font-family:var(--archive-serif);font-size:36px;font-weight:400}.archive-about .about-message__heading .heading-icon,.archive-about .about-message__decoration{display:none}.archive-about .about-message__heading p{font-size:15px;color:var(--text-secondary)}.archive-about .about-message__form{display:flex;flex-direction:column;align-items:stretch;gap:24px;width:100%}.archive-about .about-message__form>label{width:100%;display:block}.archive-about .about-message__form .letter-label{display:block;font-size:14px;margin-bottom:8px}.archive-about .about-message__form input,.archive-about .about-message__form textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:0;color:var(--text-primary);padding:12px;box-shadow:none}.archive-about .about-message__form textarea{min-height:150px;resize:vertical}.archive-about .about-message__form ::placeholder{color:var(--text-secondary);opacity:1}.archive-about .about-message__form>button{align-self:flex-start;min-height:48px;background:var(--text-primary);color:var(--background);border:0;border-radius:0;padding:12px 30px}.archive-about .about-message__form .about-message__website{display:none}.archive-about .about-message__meta{grid-column:2;color:var(--text-secondary)}
@media(max-width:1024px){.growth-observation{grid-template-columns:1fr}.growth-measurements{max-width:850px}.family-preface{gap:36px}.family-preface figure img{height:550px}.family-reason,.family-history{gap:40px}.archive-about .about-message{gap:24px 40px}}
@media(max-width:768px){.growth-observation{gap:24px;padding-bottom:32px}.growth-observation header{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline}.growth-observation h2{width:100%;font-size:25px;margin-bottom:8px}.growth-observation time{font-size:17px}.growth-observation p{margin:0}.growth-observation small{width:100%}.growth-measurements{gap:14px}.growth-measurements dd{font-size:36px;white-space:normal}.growth-measurements small{font-size:13px;margin-left:3px}.growth-measurements p{font-size:12px}.growth-journey .archive-section-heading{display:block}.growth-periods{gap:2px}.growth-periods button,.growth-metric-tabs button{font-size:14px;padding:10px 12px}.growth-metric-tabs{gap:12px}.growth-ledger .archive-section-heading{display:block}.measurement-row{grid-template-columns:1fr;gap:18px}.measurement-row header{flex-direction:row;justify-content:space-between}.measurement-row dl{gap:12px}.measurement-row dd{font-size:17px}.measurement-row>p{grid-column:1}.family-preface{display:flex;flex-direction:column;gap:26px;padding-block:36px}.family-preface h1{font-size:42px}.family-preface h2{margin-top:32px}.family-preface figure img{height:auto;aspect-ratio:4/3}.family-people{gap:36px}.family-people article,.family-people article:nth-child(even){display:grid;grid-template-columns:100px minmax(0,1fr);gap:22px;margin:0}.family-people article:nth-child(even) .family-people__portrait{grid-column:1}.family-people__portrait img,.family-people__portrait>span{width:100px;height:130px}.family-people h2{font-size:26px}.family-people p{font-size:15px}.family-reason,.family-history{display:block}.family-reason>div,.family-history>ol{margin-top:28px}.family-reason dd{font-size:15px}.family-history li{grid-template-columns:85px 1fr;gap:18px}.family-history time{font-size:12px}.family-history h3{font-size:22px}.archive-about .about-message{display:block;padding-top:38px}.archive-about .about-message__heading{margin-bottom:24px}.archive-about .about-message__meta{margin-top:20px}.archive-about .about-message__heading h2{font-size:30px}.family-letter{padding-bottom:48px}}
.reading-cover{max-width:1080px;margin-block:40px}.reading-cover img{width:100%;height:auto;max-height:660px;object-fit:cover}.reading-cover figcaption{font-size:13px;color:var(--text-secondary);padding-top:12px}
.observation-layout>*{min-width:0}.observation-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.observation-values dd{white-space:normal}
@media(max-width:768px){.observation-layout{grid-template-columns:minmax(0,1fr)}.observation-values{gap:16px}.observation-values dd{font-size:clamp(36px,10vw,54px)}.observation-values small{font-size:17px;margin-left:6px}.archive-gallery .archive-page-head{padding-block:22px 18px;margin-bottom:18px}.archive-gallery .archive-page-head h1{font-size:34px}.archive-gallery .archive-page-head p{margin-top:8px;font-size:14px}.archive-gallery .archive-page-head small{margin-top:8px}.archive-gallery .album-toolbar{margin-bottom:24px;padding-bottom:16px;gap:10px}.archive-gallery .album-chapter{display:flex;flex-direction:column}.archive-gallery .album-photo-grid{order:-1;margin-bottom:20px}.archive-gallery .album-chapter__intro{margin-bottom:0}.reading-cover{margin-block:28px}}

/* Native motion layer: progressive enhancement only. */
.motion-enabled .motion-reveal,.motion-enabled .motion-stagger{opacity:0;transform:translate3d(0,18px,0)}
.motion-enabled .motion-reveal.is-visible,.motion-enabled .motion-stagger.is-visible{opacity:1;transform:translate3d(0,0,0);transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1);transition-delay:var(--motion-delay,0ms)}
.motion-enabled .motion-hero-item{opacity:0;transform:translate3d(0,20px,0)}
.motion-enabled.motion-started .motion-hero-item{opacity:1;transform:translate3d(0,0,0);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transition-delay:var(--motion-delay,0ms)}
.motion-enabled .motion-hero-photo{overflow:hidden}.motion-enabled .motion-hero-photo>img{opacity:.72;transform:scale(1.035)}.motion-enabled .motion-hero-photo>figcaption{position:relative;z-index:1;background:var(--background)}
.motion-enabled.motion-started .motion-hero-photo>img{opacity:1;transform:scale(1);transition:opacity .9s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}
.motion-timeline{--motion-progress:0;position:relative}.motion-timeline::before,.motion-timeline::after{content:"";position:absolute;z-index:1;top:0;bottom:0;left:-24px;width:1px;pointer-events:none}.motion-timeline::before{background:var(--border)}.motion-timeline::after{background:var(--primary);transform:scaleY(var(--motion-progress));transform-origin:top;will-change:transform}
.chronicle.motion-timeline::before,.chronicle.motion-timeline::after{left:-32px}
.motion-chart-line{stroke-dasharray:var(--motion-line-length);stroke-dashoffset:var(--motion-line-length)}.motion-chart-line.is-drawn{stroke-dashoffset:0;transition:stroke-dashoffset .9s cubic-bezier(.22,1,.36,1)}
.motion-chart-point{opacity:0;transform:scale(.5);transform-box:fill-box;transform-origin:center}.motion-chart-point.is-visible{opacity:1;transform:scale(1);transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1);transition-delay:var(--motion-delay,0ms)}
.motion-enabled .archive-link{position:relative}.motion-enabled .archive-link::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:1px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.motion-enabled .archive-link:hover::after,.motion-enabled .archive-link:focus-visible::after{transform:scaleX(1)}
.motion-enabled .archive-link svg{transition:transform .22s ease}.motion-enabled .archive-link:hover svg,.motion-enabled .archive-link:focus-visible svg{transform:translateX(4px)}
.motion-enabled .album-lightbox:not([hidden]) .album-lightbox__panel{animation:archive-lightbox-in .3s cubic-bezier(.22,1,.36,1)}
.motion-enabled .album-lightbox__image.motion-photo-loaded{animation:archive-photo-in .35s cubic-bezier(.22,1,.36,1)}
@keyframes archive-lightbox-in{from{opacity:0;transform:translate3d(0,12px,0) scale(.985)}to{opacity:1;transform:none}}
@keyframes archive-photo-in{from{opacity:.35;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(max-width:768px){.motion-enabled .motion-reveal,.motion-enabled .motion-stagger{transform:translate3d(0,12px,0)}.motion-timeline::before,.motion-timeline::after,.chronicle.motion-timeline::before,.chronicle.motion-timeline::after{left:-12px}.motion-lite .motion-stagger{transition-delay:0ms!important}}
@media(prefers-reduced-motion:reduce){.motion-reveal,.motion-stagger,.motion-hero-item,.motion-hero-photo>img,.motion-chart-line,.motion-chart-point{opacity:1!important;transform:none!important;stroke-dashoffset:0!important}.motion-timeline::after{transform:scaleY(1)!important}}
/* Desktop highlight: vertical scroll drives one horizontal photo chapter. */
@media(min-width:900px){.home-photographs.motion-horizontal-gallery{display:flex;min-height:100vh;min-height:100svh;flex-direction:column;justify-content:center;overflow:hidden;overflow:clip;padding-block:clamp(56px,8vh,96px)}.motion-horizontal-gallery .archive-section-heading{flex:none;width:min(1280px,calc(100% - 112px))}.motion-horizontal-gallery .memory-film{width:max-content;max-width:none;flex:none;overflow:visible;scroll-snap-type:none;padding:0 max(56px,calc((100vw - 1280px)/2));will-change:transform}.motion-horizontal-gallery .memory-film>a,.motion-horizontal-gallery .memory-film>a:nth-child(3n+2){flex:0 0 clamp(360px,38vw,560px)}.motion-horizontal-gallery .memory-film img{height:clamp(360px,58vh,600px)}}
/* Desktop growth chronicle: ScrollTrigger keeps the active memory legible in context. */
@media(min-width:900px){.chronicle-current{min-height:116px;margin-top:30px;padding-top:22px;border-top:1px solid var(--border);display:flex;flex-direction:column}.chronicle-current>span{font-size:12px;letter-spacing:.12em;color:var(--text-secondary)}.chronicle-current>strong{font-family:var(--archive-serif);font-size:24px;font-weight:400;margin-top:5px}.chronicle-current>time{font-size:13px;color:var(--text-secondary)}.motion-storytelling .chronicle-entry__body{transform:translate3d(0,14px,0);transition:transform .55s cubic-bezier(.22,1,.36,1)}.motion-storytelling .chronicle-entry.is-current .chronicle-entry__body{transform:none}.motion-storytelling .chronicle h3 a{transition:color .3s ease}.motion-storytelling .chronicle-entry.is-current h3 a{color:var(--primary)}.motion-storytelling .chronicle-image{overflow:hidden}.motion-storytelling .chronicle-entry:not(.is-current) .chronicle-image img{filter:grayscale(.28) saturate(.72);transform:scale(.985)}.motion-storytelling .chronicle-image img{transition:filter .55s ease,transform .65s cubic-bezier(.22,1,.36,1)}.motion-storytelling .chronicle-entry.is-current .chronicle-image img{filter:none;transform:scale(1)}}

.memory-letters__heading{min-width:0}.memory-letters__intro{margin-top:52px;border-top:1px solid var(--border);padding-top:18px}.memory-letters__intro summary{cursor:pointer;color:var(--text-secondary);font-size:14px}.memory-letters__intro summary:hover{color:var(--primary)}.memory-letters__intro p{margin:18px 0 0;font-size:14px;color:var(--text-secondary);line-height:1.9}.memory-letters__gallery{min-width:0}.memory-letters__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none}.memory-letters__track::-webkit-scrollbar{display:none}.memory-letters__track:focus-visible{outline-offset:4px}.memory-letters .memory-letters__card{position:relative;box-sizing:border-box;display:flex;flex:0 0 100%;flex-direction:column;min-width:0;min-height:340px;margin:0;padding:48px clamp(28px,5vw,58px) 34px;border:1px solid var(--border);background:var(--cream);scroll-snap-align:start}.memory-letters__card::before{content:'“';position:absolute;top:8px;left:clamp(28px,5vw,58px);color:var(--primary);font-family:var(--archive-serif);font-size:64px;line-height:1;opacity:.7}.memory-letters .memory-letters__card p,.memory-letters__full summary{font-family:var(--archive-serif);font-size:clamp(20px,2.1vw,28px);line-height:1.8;color:var(--text-primary);overflow-wrap:anywhere}.memory-letters .memory-letters__card p{margin:0 0 28px}.memory-letters__full summary{cursor:pointer;list-style:none}.memory-letters__full summary::-webkit-details-marker{display:none}.memory-letters__full summary .memory-letters__toggle{display:block;margin-top:12px;font-family:inherit;font-size:13px;color:var(--primary);text-decoration:underline;text-underline-offset:4px}.memory-letters__preview{display:block;margin-top:0}.memory-letters__full[open] .memory-letters__preview{display:none}.memory-letters__full[open] .memory-letters__toggle{font-size:0}.memory-letters__full[open] .memory-letters__toggle::after{content:'收起';font-size:13px}.memory-letters__full[open] p{margin-top:14px}.memory-letters .memory-letters__card footer{margin-top:auto;padding-top:26px;border-top:1px solid var(--border);align-items:center}.memory-letters__card footer strong{font-weight:600;color:var(--text-primary)}.memory-letters__controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.memory-letters__count{color:var(--text-secondary);font-family:Georgia,serif;font-size:15px;font-variant-numeric:tabular-nums}.memory-letters__count [data-memory-current]{color:var(--text-primary);font-size:23px}.memory-letters__controls>div{display:flex;gap:8px}.memory-letters__controls button{width:44px;height:44px;border:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-primary);font-size:21px;line-height:1}.memory-letters__controls button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.memory-letters__controls button:disabled{opacity:.35}.memory-letters__empty{padding:40px;background:var(--cream);color:var(--text-secondary)}
@media(max-width:768px){.memory-letters__intro{margin-top:24px}.memory-letters .memory-letters__card{min-height:300px;padding:45px 24px 26px}.memory-letters__card::before{left:24px}.memory-letters .memory-letters__card p,.memory-letters__full summary{font-size:clamp(19px,5vw,23px)}}
@media(prefers-reduced-motion:no-preference){.memory-letters__track{scroll-behavior:smooth}}
.memory-letters .memory-letters__card:first-child{padding-top:48px}
@media(max-width:768px){.memory-letters .memory-letters__card:first-child{padding-top:45px}}
