@charset "UTF-8";._shell_11nte_1{min-height:100vh;display:flex;flex-direction:column}._skip_11nte_7{position:absolute;top:-999px;left:1rem;z-index:100;padding:.8rem 1rem;border-radius:var(--radius);background:var(--ink);color:var(--paper);text-decoration:none}._skip_11nte_7:focus{top:1rem}._headerWrap_11nte_23{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--hairline)}._header_11nte_23{width:var(--container);margin:0 auto;min-height:4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}._brand_11nte_41{font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none}._brand_11nte_41:lang(zh){font-family:var(--font-name);font-weight:var(--weight-name);letter-spacing:var(--tracking-name)}._headerActions_11nte_56{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1rem,3vw,2.5rem)}._nav_11nte_63{display:flex;min-width:0;align-items:center;gap:clamp(.9rem,2vw,1.6rem)}._navLink_11nte_70{position:relative;padding:.35rem 0;font-family:var(--font-mono);font-size:var(--text-meta);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);text-decoration:none;transition:color var(--dur-fast) var(--ease-inout)}._navLink_11nte_70:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-med) var(--ease-inout)}._navLink_11nte_70:hover,._navLink_11nte_70:focus-visible{color:var(--ink)}._navLink_11nte_70:hover:after,._navLink_11nte_70:focus-visible:after{transform:scaleX(1)}._navLinkActive_11nte_106{color:var(--ink)}._navLinkActive_11nte_106:after{transform:scaleX(1);background:var(--accent)}._localeSwitch_11nte_115{display:inline-flex;flex-shrink:0;align-items:baseline;gap:.35rem}._localeDivider_11nte_122{color:var(--hairline-strong);font-family:var(--font-mono);font-size:var(--text-meta)}._localeButton_11nte_128{border:0;padding:.35rem 0;background:transparent;font-family:var(--font-mono);font-size:var(--text-meta);font-weight:500;letter-spacing:.1em;color:var(--ink-muted);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-inout)}._localeButton_11nte_128:hover,._localeButton_11nte_128:focus-visible{color:var(--ink)}._localeButtonActive_11nte_147{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.35em}._main_11nte_154{width:var(--container);margin:0 auto;flex:1}._footer_11nte_160{margin-top:var(--space-section);border-top:1px solid var(--hairline-strong);background:var(--paper-deep)}._footerInner_11nte_166{width:var(--container);margin:0 auto;padding:var(--space-4) 0 var(--space-3);display:grid;gap:var(--space-3)}._footerEmail_11nte_174{display:inline-flex;align-items:center;gap:.6rem;width:fit-content;font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,4vw,2.8rem);letter-spacing:-.02em;color:var(--ink);text-decoration:none;transition:color var(--dur-fast) var(--ease-inout);overflow-wrap:anywhere}._footerEmailArrow_11nte_189{transition:transform var(--dur-fast) var(--ease-inout)}._footerEmail_11nte_174:hover,._footerEmail_11nte_174:focus-visible{color:var(--accent)}._footerEmail_11nte_174:hover ._footerEmailArrow_11nte_189,._footerEmail_11nte_174:focus-visible ._footerEmailArrow_11nte_189{transform:translate(8px)}._footerRow_11nte_203{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;padding-top:var(--space-2);border-top:1px solid var(--hairline)}._footerLinks_11nte_213{display:flex;flex-wrap:wrap;gap:var(--space-3)}._footerLinks_11nte_213 a{font-family:var(--font-mono);font-size:var(--text-meta);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);text-decoration:none;transition:color var(--dur-fast) var(--ease-inout)}._footerLinks_11nte_213 a:hover,._footerLinks_11nte_213 a:focus-visible{color:var(--accent)}._footerCounter_11nte_235{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}@media(max-width:820px){._header_11nte_23{flex-direction:column;align-items:flex-start;gap:.4rem;padding:.75rem 0}._headerActions_11nte_56{width:100%;justify-content:space-between;gap:1rem}._nav_11nte_63{overflow-x:auto;max-width:100%;padding-bottom:.2rem}._navLink_11nte_70{white-space:nowrap}}._row_f997v_1{display:grid;grid-template-columns:5rem minmax(0,1fr) minmax(8rem,auto);grid-template-areas:"marker heading links" "marker detail links";gap:var(--space-2) var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--hairline);transition:background-color var(--dur-fast) var(--ease-inout)}._row_f997v_1:hover{background:var(--paper-deep)}._marker_f997v_15{grid-area:marker;display:grid;gap:.4rem;align-content:start}._index_f997v_22{font-family:var(--font-mono);font-size:.85rem;font-weight:500;letter-spacing:.1em;color:var(--accent)}._meta_f997v_30{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}._heading_f997v_38{grid-area:heading;min-width:0;display:grid;gap:.45rem;align-content:start}._title_f997v_46{margin:0;font-size:var(--text-h3);max-width:52ch;line-height:1.4;letter-spacing:-.015em;text-wrap:pretty;transition:color var(--dur-fast) var(--ease-inout)}._row_f997v_1:hover ._title_f997v_46{color:var(--accent)}._subtitle_f997v_60{margin:0;color:var(--ink-muted)}._detail_f997v_65{grid-area:detail;min-width:0;max-width:72ch;display:grid;gap:.75rem;align-content:start}._summary_f997v_74{margin:0;line-height:1.7}._tags_f997v_79{margin:0;font-family:var(--font-mono);font-size:var(--text-meta);line-height:1.8;color:var(--ink-muted)}._links_f997v_87{grid-area:links;display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;justify-self:end}@media(max-width:767px){._row_f997v_1{grid-template-columns:minmax(0,1fr);grid-template-areas:"marker" "heading" "detail" "links";gap:.85rem}._marker_f997v_15{display:flex;flex-wrap:wrap;gap:1rem}._links_f997v_87{flex-direction:row;flex-wrap:wrap;gap:1.25rem;justify-self:start}}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:Name Sans SC;src:url(/fonts/name-sans-sc.woff) format("woff");font-style:normal;font-weight:100 900;font-display:swap}:root{--paper: #f5f1e8;--paper-raised: #faf7f0;--paper-deep: #ece6d9;--ink: #1c1814;--ink-soft: #45403a;--ink-muted: #686157;--accent: #b3441e;--hairline: rgba(28, 24, 20, .18);--hairline-strong: rgba(28, 24, 20, .45);--font-body: "Manrope Variable", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-display: var(--font-body);--font-name: "Name Sans SC", var(--font-body);--weight-name: 500;--tracking-name: .04em;--font-mono: "IBM Plex Mono", "SFMono-Regular", "Consolas", monospace;--text-display: clamp(2.5rem, 6.5vw, 5.5rem);--text-h1: clamp(2rem, 4.5vw, 3.5rem);--text-h2: clamp(1.5rem, 2.4vw, 2rem);--text-h3: clamp(1.125rem, 1.8vw, 1.5rem);--leading-heading: 1.3;--tracking-heading: -.025em;--text-lede: clamp(1.05rem, 1.5vw, 1.25rem);--text-body: 1rem;--text-meta: .75rem;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem;--space-5: 4rem;--space-section: clamp(4rem, 9vw, 7.5rem);--container: min(1200px, calc(100vw - clamp(2rem, 5vw, 4rem)) );--radius: 2px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--dur-fast: .25s;--dur-med: .45s;--dur-slow: .8s}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink-soft);font-family:var(--font-body);font-size:var(--text-body);line-height:1.75;background:var(--paper);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}button,input,textarea,select{font:inherit}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-display);font-weight:600;color:var(--ink);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);overflow-wrap:break-word}:lang(zh){--tracking-heading: 0}.eyebrow{display:inline-block;font-family:var(--font-mono);font-size:var(--text-meta);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.mono-label{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.page-stack{display:block;padding:var(--space-4) 0 0}.page-stack>*+*{margin-top:var(--space-section)}.page-stack>.page-header+.work-index{margin-top:var(--space-4)}.page-header__row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.page-header{padding-bottom:var(--space-3);border-bottom:1px solid var(--hairline-strong)}.page-header h1{margin:var(--space-2) 0 0;font-size:var(--text-h1);line-height:1.15;text-wrap:balance}.page-header h1:first-child{margin-top:0}.page-header__lede{margin:var(--space-2) 0 0;max-width:60ch;font-size:var(--text-lede);line-height:1.7;color:var(--ink-soft)}.notfound{display:grid;gap:var(--space-3);justify-items:start;padding:var(--space-5) 0}.notfound__title{margin:0;font-size:var(--text-display);line-height:1.15;text-wrap:balance}.notfound__body{margin:0;max-width:50ch;font-size:var(--text-lede)}.section-header{display:flex;align-items:baseline;gap:var(--space-2);padding-bottom:var(--space-2);margin-bottom:var(--space-3);border-bottom:1px solid var(--hairline-strong)}.section-header__title{margin:0;font-size:var(--text-h1);line-height:1.15}.section-header__meta{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}.hero__topline{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;padding-bottom:var(--space-1);margin-bottom:var(--space-4);border-bottom:1px solid var(--hairline-strong)}.hero__location{margin-left:auto}.hero__title{margin:0 0 calc(var(--space-4) - .14em);font-size:var(--text-display);line-height:1.12;letter-spacing:var(--tracking-heading);text-wrap:balance}.hero__title:lang(zh){font-family:var(--font-name);font-weight:var(--weight-name);letter-spacing:var(--tracking-name)}.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:clamp(1.5rem,3.5vw,3rem);align-items:start}.hero-facts{display:block;margin:0}.hero-facts dd{margin:0}.hero-facts .mono-label{font-size:clamp(.82rem,.9vw,.92rem)}.hero-facts__row{display:grid;gap:.3rem;padding:var(--space-2) 0;border-top:1px solid var(--hairline)}.hero-facts__row:last-child{border-bottom:1px solid var(--hairline)}.hero-facts__value{color:var(--ink);font-size:clamp(1.1rem,1.45vw,1.3rem);line-height:1.65}.hero__portrait{margin:0 0 0 auto;width:100%;max-width:300px}.hero__portrait img{width:100%;height:auto;aspect-ratio:.85/1;object-fit:cover;object-position:center top;border-radius:var(--radius);outline:1px solid var(--hairline);outline-offset:6px}.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--space-5);border-top:1px solid var(--hairline-strong);border-bottom:1px solid var(--hairline-strong)}.stats-strip__cell{padding:var(--space-3) var(--space-3)}.stats-strip__cell+.stats-strip__cell{border-left:1px solid var(--hairline)}.stats-strip__value{display:block;font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4vw,3rem);line-height:1;color:var(--ink)}.stats-strip__label{display:block;margin-top:.6rem;font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.9rem;padding:.7rem 1.5rem;border:1px solid var(--ink);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-inout),border-color var(--dur-fast) var(--ease-inout),color var(--dur-fast) var(--ease-inout)}.button--primary{background:var(--ink);color:var(--paper)}.button--primary:hover,.button--primary:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--paper)}.button--ghost{background:transparent;border-color:var(--hairline-strong);color:var(--ink)}.button--ghost:hover,.button--ghost:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--paper)}.text-link{color:var(--accent);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size var(--dur-med) var(--ease-inout)}.text-link:hover,.text-link:focus-visible{background-size:100% 1px}.arrow-link{display:inline-flex;align-items:center;gap:.45rem;width:fit-content;font-family:var(--font-mono);font-size:var(--text-meta);font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ink);transition:color var(--dur-fast) var(--ease-inout)}.arrow-link:after{content:"→";transition:transform var(--dur-fast) var(--ease-inout)}.arrow-link:hover,.arrow-link:focus-visible{color:var(--accent)}.arrow-link:hover:after,.arrow-link:focus-visible:after{transform:translate(5px)}.arrow-link--back:after{content:none}.arrow-link--back:before{content:"←";transition:transform var(--dur-fast) var(--ease-inout)}.arrow-link--back:hover:before,.arrow-link--back:focus-visible:before{transform:translate(-5px)}.list-links{display:flex;flex-wrap:wrap;gap:var(--space-2)}.work-index{display:block;border-bottom:1px solid var(--hairline)}.focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem)}.focus-col{display:grid;gap:var(--space-2);align-content:start}.focus-col+.focus-col{border-left:1px solid var(--hairline);padding-left:clamp(1.5rem,3vw,2.5rem)}.focus-col h3{margin:0;font-size:var(--text-h3);line-height:var(--leading-heading)}.focus-col p{margin:0}.focus-col ul{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.focus-col li{padding-left:1.4rem;position:relative}.focus-col li:before{content:"-";position:absolute;left:0;font-family:var(--font-mono);color:var(--ink-muted)}.contact-list{display:block;border-bottom:1px solid var(--hairline)}.contact-row{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-1);border-top:1px solid var(--hairline);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-inout)}.contact-row:hover,.contact-row:focus-visible{background:var(--paper-deep)}.contact-row strong{font-family:var(--font-display);font-weight:600;font-size:clamp(1.25rem,2vw,1.6rem);color:var(--ink)}.contact-row span{color:var(--ink-muted)}.contact-row__arrow{margin-left:auto;color:var(--ink);transition:transform var(--dur-fast) var(--ease-inout)}.contact-row:hover .contact-row__arrow{transform:translate(6px);color:var(--accent)}.note-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem);padding-top:var(--space-3);border-top:1px solid var(--hairline)}.note-duo article{display:grid;gap:var(--space-2);align-content:start}.note-duo article+article{border-left:1px solid var(--hairline);padding-left:clamp(1.5rem,3vw,2.5rem)}.note-duo h2{margin:0;font-size:var(--text-h2);line-height:var(--leading-heading);overflow-wrap:break-word}.note-duo p{margin:0}.timeline{display:grid;gap:var(--space-4)}.timeline-group{border-bottom:1px solid var(--hairline)}.timeline-group__title{display:block;margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:.875rem;font-weight:600;line-height:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.timeline-row{display:grid;grid-template-columns:10.75rem 7rem minmax(0,1fr);gap:clamp(1rem,2.5vw,2rem);padding:var(--space-3) 0;border-top:1px solid var(--hairline)}.timeline-row__period{font-family:var(--font-mono);font-size:1rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);line-height:1.7}.timeline-row__media{display:flex;align-items:flex-start;min-height:4rem}.timeline-row__logo{max-height:4rem;max-width:100%;width:auto;height:auto;object-fit:contain}.timeline-row__body{display:grid;gap:.5rem}.timeline-row__body h3{margin:0;font-size:var(--text-h3);line-height:var(--leading-heading)}.timeline-row__subtitle{margin:0;color:var(--ink-muted)}.timeline-row__body p{margin:0;line-height:1.7}.memory-list{display:grid;gap:var(--space-5)}.memory-link{display:block;color:inherit;text-decoration:none}.memory-entry{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,2.5rem);padding-top:var(--space-3);border-top:1px solid var(--hairline)}.memory-entry__frame{overflow:hidden;border-radius:var(--radius);border:1px solid var(--hairline)}.memory-entry__frame img{width:100%;height:100%;min-height:18rem;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}.memory-link:hover .memory-entry__frame img,.memory-link:focus-visible .memory-entry__frame img{transform:scale(1.04)}.memory-entry__body{display:grid;gap:var(--space-2);align-content:start}.memory-entry__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between;font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.memory-entry__body h2{margin:0;font-size:var(--text-h2);line-height:var(--leading-heading)}.memory-entry__body p{margin:0}.memory-link:hover .memory-entry__body h2{color:var(--accent);transition:color var(--dur-fast) var(--ease-inout)}.note-detail__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(1.5rem,3vw,2.5rem);align-items:start;margin-top:var(--space-3)}.note-detail__hero--text-only{grid-template-columns:minmax(0,1fr)}.note-detail__copy{display:grid;gap:var(--space-2);align-content:start}.note-detail__copy h1{margin:0;font-size:var(--text-h1);line-height:1.2;text-wrap:balance}.note-detail__copy p{margin:0;font-size:var(--text-lede);line-height:1.7}.note-detail__hero-image{width:100%;min-height:18rem;height:100%;object-fit:cover;border-radius:var(--radius);border:1px solid var(--hairline)}.note-article{width:min(100%,72ch);margin:0 auto;display:grid;gap:1.15rem}.note-article h2{margin:var(--space-3) 0 0;font-size:var(--text-h2);line-height:var(--leading-heading)}.note-article p{margin:0;line-height:1.9}.note-article__figure{margin:var(--space-2) 0}.note-article__figure img{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--hairline)}.note-article hr{width:100%;margin:var(--space-2) 0;border:0;border-top:1px solid var(--hairline)}.pdf-frame{width:100%;min-height:70vh;overflow:hidden;border-radius:var(--radius);border:1px solid var(--hairline)}.pdf-frame iframe{width:100%;height:70vh;border:0;background:#fff}.reveal{opacity:0;transform:translateY(24px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal--fade{transform:none}.reveal--stagger{opacity:1;transform:none;transition:none}.reveal--stagger>*{--stagger-delay: var(--reveal-delay, 0ms);opacity:0;transform:translateY(18px);transition:opacity var(--dur-slow) var(--ease-out) var(--stagger-delay),transform var(--dur-slow) var(--ease-out) var(--stagger-delay),background-color var(--dur-fast) var(--ease-inout)}.reveal--stagger.is-visible>*{opacity:1;transform:translateY(0)}.reveal--stagger>:nth-child(2){--stagger-delay: calc(var(--reveal-delay, 0ms) + 1 * var(--reveal-stagger, 80ms))}.reveal--stagger>:nth-child(3){--stagger-delay: calc(var(--reveal-delay, 0ms) + 2 * var(--reveal-stagger, 80ms))}.reveal--stagger>:nth-child(4){--stagger-delay: calc(var(--reveal-delay, 0ms) + 3 * var(--reveal-stagger, 80ms))}.reveal--stagger>:nth-child(5){--stagger-delay: calc(var(--reveal-delay, 0ms) + 4 * var(--reveal-stagger, 80ms))}.reveal--stagger>:nth-child(6){--stagger-delay: calc(var(--reveal-delay, 0ms) + 5 * var(--reveal-stagger, 80ms))}.reveal--stagger>:nth-child(7){--stagger-delay: calc(var(--reveal-delay, 0ms) + 6 * var(--reveal-stagger, 80ms))}.reveal--stagger>:nth-child(8){--stagger-delay: calc(var(--reveal-delay, 0ms) + 7 * var(--reveal-stagger, 80ms))}.reveal--stagger>:nth-child(n+9){--stagger-delay: calc(var(--reveal-delay, 0ms) + 8 * var(--reveal-stagger, 80ms))}.line-mask{display:block;overflow:hidden;padding-bottom:.14em}.line-mask .line{display:block;transform:translateY(110%);animation:line-rise .9s var(--ease-out) calc(var(--line-i, 0) * 90ms) forwards}@keyframes line-rise{to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal>*,.reveal--stagger>*,.line-mask .line{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}*,*:before,*:after{transition-duration:1ms!important;animation-duration:1ms!important}}@media(min-width:961px){.hero__grid{align-items:stretch}.hero-facts{display:grid;grid-template-rows:repeat(3,minmax(0,1fr))}.hero-facts__row{align-content:center}}@media(max-width:960px){.hero__grid,.note-detail__hero,.memory-entry,.focus-grid,.note-duo{grid-template-columns:1fr}.focus-col+.focus-col,.note-duo article+article{border-left:0;padding-left:0;border-top:1px solid var(--hairline);padding-top:clamp(1.5rem,3vw,2.5rem)}.hero__portrait{margin:0;max-width:420px}.timeline-row{grid-template-columns:minmax(0,1fr);gap:.75rem}.timeline-row__media:empty{display:none}}@media(max-width:720px){.page-stack{padding-top:var(--space-3)}.page-stack>*+*{margin-top:clamp(3rem,14vw,4.5rem)}.section-header{flex-wrap:wrap}.section-header__meta{margin-left:0;flex-basis:100%}.hero__actions{flex-direction:column;align-items:stretch}.stats-strip{grid-template-columns:1fr}.stats-strip__cell{padding:var(--space-2) 0}.stats-strip__cell+.stats-strip__cell{border-left:0;border-top:1px solid var(--hairline)}.contact-row{flex-wrap:wrap;gap:.5rem}.pdf-frame,.pdf-frame iframe{min-height:50vh;height:50vh}}
