:root{--paper:#f8f7f3;--ink:#121212;--muted:#6f6d67;--line:#d8d5ce}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
.entry-page,.build-page{min-height:100vh;display:grid;place-items:center;padding:24px}
.entry-link{font-size:clamp(2rem,5vw,4.5rem);font-weight:600;letter-spacing:-.05em;line-height:1;text-decoration:none;transition:opacity 180ms ease}
.entry-link:hover,.entry-link:focus-visible,.section-link:hover,.section-link:focus-visible{opacity:.5}
.entry-link:focus-visible,.section-link:focus-visible,.corner-link:focus-visible{outline:2px solid currentColor;outline-offset:8px}
.corner-link{position:fixed;z-index:10;top:24px;left:24px;font-size:.82rem;letter-spacing:.02em;text-decoration:none;opacity:.48;transition:opacity 180ms ease}
.corner-link:hover,.corner-link:focus-visible{opacity:1}
.section-nav{display:flex;flex-direction:column;align-items:center;gap:clamp(.5rem,1.4vh,.95rem)}
.section-link{font-size:clamp(1.55rem,3.7vw,3.2rem);font-weight:600;letter-spacing:-.04em;line-height:1.05;text-decoration:none;transition:opacity 180ms ease}
.section-link-muted{color:#bbb8b0}
.buildings-page,.readings-page,.family-page,.writings-page,.future-page,.teams-page{width:min(100% - 48px,1180px);margin:0 auto;padding:116px 0 100px}
.buildings-header,.readings-header,.family-header,.writings-header,.future-header,.teams-header{margin-bottom:clamp(54px,9vw,110px)}
.eyebrow,.project-number,.reading-number,.family-number{color:var(--muted);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.eyebrow,.project-number{margin:0 0 18px}
.buildings-header h1,.readings-header h1,.family-header h1,.writings-header h1,.future-header h1,.teams-header h1{margin:0;font-size:clamp(4rem,11vw,9.5rem);font-weight:600;letter-spacing:-.075em;line-height:.85}
.buildings-intro,.readings-intro,.writings-intro,.teams-intro{max-width:620px;margin:38px 0 0 auto;color:var(--muted);font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.6}
.project,.reading,.reading-shelf{padding-top:22px;border-top:1px solid var(--line)}
.project+.project{margin-top:clamp(100px,16vw,190px)}
.project-hero,.gallery-image{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#e8e6df}
.project-hero img,.gallery-image img{display:block;width:100%;height:100%;object-fit:cover}
.project-heading{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding:34px 0 30px;border-bottom:1px solid var(--line)}
.project-heading h2{margin:0;font-size:clamp(2.6rem,6vw,5.8rem);font-weight:600;letter-spacing:-.065em;line-height:.9}
.project-heading address{color:var(--muted);font-size:.9rem;font-style:normal;line-height:1.55;text-align:right}
.project-story{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(50px,10vw,140px);padding:clamp(44px,7vw,84px) 0}
.project-story>p{max-width:700px;margin:0;font-size:clamp(1.25rem,2.4vw,2rem);letter-spacing:-.025em;line-height:1.43}
.project-narrative{max-width:700px}
.project-narrative p{margin:0;font-size:clamp(1.15rem,2.15vw,1.8rem);letter-spacing:-.022em;line-height:1.48}
.project-narrative p+p{margin-top:1.1em}
.project-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;margin:0}
.project-meta div,.book-meta div{padding-top:12px;border-top:1px solid var(--line)}
.project-meta dt,.book-meta dt{color:var(--muted);font-size:.67rem;letter-spacing:.11em;text-transform:uppercase}
.project-meta dd,.book-meta dd{margin:8px 0 0;font-size:.9rem;line-height:1.4}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,38px)}
.project-gallery figure{margin:0}
.project-gallery figure:last-child{grid-column:1/-1}
.project-gallery figure:last-child .gallery-image{aspect-ratio:16/8.4}
.project-gallery-six figure:last-child{grid-column:auto}
.project-gallery-six figure:last-child .gallery-image{aspect-ratio:16/10}
.gallery-image-contain img{object-fit:contain}
.project-gallery figcaption{padding-top:10px;color:var(--muted);font-size:.74rem;letter-spacing:.04em}
.reading{display:grid;grid-template-columns:minmax(190px,.42fr) minmax(0,1.58fr);gap:clamp(46px,10vw,140px)}
.reading-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,5vw,72px)}
.book-card{display:grid;grid-template-columns:minmax(160px,.62fr) minmax(0,1.38fr);grid-column:1/-1;gap:clamp(34px,7vw,90px);padding:26px 0 54px;border-bottom:1px solid var(--line);text-decoration:none}
.book-card:hover .book-cover img,.book-card:focus-visible .book-cover img{transform:scale(1.018)}
.book-card:focus-visible{outline:2px solid currentColor;outline-offset:10px}
.book-cover{width:100%;max-width:295px;overflow:hidden;background:#e8e6df;box-shadow:0 18px 46px rgb(20 18 12/14%)}
.book-cover img,.book-cover-detail img{display:block;width:100%;height:auto}
.book-card-content{align-self:center}
.book-card-content h2{max-width:780px;margin:0;font-size:clamp(2.8rem,6.5vw,6.4rem);font-weight:600;letter-spacing:-.075em;line-height:.86}
.book-card-author{margin:32px 0 0;color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.book-card-note{max-width:650px;margin:38px 0 0;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.45}
.book-card-link{display:inline-block;margin-top:38px;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:.82rem}
.book-cover img{transition:transform 260ms ease}
.book-spine{position:relative;display:flex;min-height:570px;flex-direction:column;justify-content:space-between;padding:26px 24px;overflow:hidden;background:#181818;color:var(--paper)}
.book-spine::after{position:absolute;inset:0 auto 0 12px;width:1px;background:rgb(255 255 255/18%);content:""}
.book-spine span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.book-spine strong{font-size:clamp(2.1rem,4vw,4rem);font-weight:600;letter-spacing:-.055em;line-height:.9}
.reading-content{padding-bottom:28px}
.reading-number{margin:4px 0 24px}
.reading-content h1,.reading-content h2{max-width:780px;margin:0;font-size:clamp(3.2rem,7vw,7rem);font-weight:600;letter-spacing:-.075em;line-height:.86}
.book-subtitle{margin:22px 0 0;color:var(--muted);font-size:clamp(1rem,1.7vw,1.25rem);font-style:italic}
.reading-lead{max-width:760px;margin:clamp(58px,9vw,105px) 0 0;font-size:clamp(1.55rem,3vw,2.7rem);letter-spacing:-.035em;line-height:1.25}
.reading-note{max-width:720px;margin:32px 0 0;color:var(--muted);font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.75}
.book-meta{display:grid;grid-template-columns:.7fr .6fr 1.5fr;gap:20px;margin:clamp(54px,8vw,92px) 0 0}
.reading-detail-page{padding-top:140px}
.reading-detail{padding-bottom:60px}
.book-cover-detail{margin:0}
.book-cover-detail img{box-shadow:0 18px 46px rgb(20 18 12/14%)}
.book-cover-detail figcaption{margin-top:12px;color:var(--muted);font-size:.66rem;line-height:1.5}
.family-intro{max-width:760px;margin:40px 0 0 auto;color:var(--muted);font-size:clamp(1.25rem,2.4vw,2rem);letter-spacing:-.02em;line-height:1.45}
.journey,.family-section{display:grid;grid-template-columns:minmax(210px,.56fr) minmax(0,1.44fr);gap:clamp(44px,9vw,130px);padding:26px 0 clamp(92px,14vw,170px);border-top:1px solid var(--line)}
.section-marker{align-self:start;position:sticky;top:30px}
.section-marker h2{max-width:300px;margin:18px 0 0;font-size:clamp(2rem,4vw,4rem);font-weight:600;letter-spacing:-.06em;line-height:.95}
.family-number{margin:0}
.journey-route{display:grid;grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.journey-route div{min-height:150px;padding:18px 24px 24px 0;border-bottom:1px solid var(--line)}
.journey-route div:nth-child(odd){border-right:1px solid var(--line)}
.journey-route div:nth-child(even){padding-left:24px}
.journey-route span,.generation-location{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.journey-route strong{display:block;max-width:340px;margin-top:34px;font-size:clamp(1.3rem,2.3vw,2rem);letter-spacing:-.035em;line-height:1.1}
.family-copy{grid-column:2;max-width:770px}
.family-copy-lead{margin-top:clamp(40px,7vw,80px)}
.family-copy p{margin:0;color:var(--muted);font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.72}
.family-copy p+p{margin-top:1.2em}
.family-copy .family-statement{margin-bottom:34px;color:var(--ink);font-size:clamp(2.4rem,5vw,5.2rem);font-weight:600;letter-spacing:-.065em;line-height:.92}
.generation-grid{display:grid;grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,5vw,70px)}
.generation-grid article{padding-top:18px;border-top:1px solid var(--ink)}
.generation-grid h3{margin:36px 0 24px;font-size:clamp(1.8rem,3.2vw,3.2rem);font-weight:600;letter-spacing:-.055em;line-height:.98}
.generation-grid article p:last-child,.generation-note{color:var(--muted);font-size:1rem;line-height:1.7}
.generation-note{grid-column:2;max-width:730px;margin:54px 0 0}
.family-meaning blockquote{grid-column:2;max-width:820px;margin:0 0 clamp(54px,8vw,92px);font-size:clamp(2.6rem,6vw,6.2rem);font-weight:600;letter-spacing:-.07em;line-height:.95}
.writing-list{border-top:1px solid var(--ink)}
.writing-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:clamp(24px,5vw,72px);align-items:start;padding:30px 0 48px;border-bottom:1px solid var(--line);text-decoration:none}
.writing-card:focus-visible{outline:2px solid currentColor;outline-offset:10px}
.writing-card-number,.writing-card-meta{color:var(--muted);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.writing-card h2{max-width:760px;margin:0;font-size:clamp(2.2rem,5vw,5rem);font-weight:600;letter-spacing:-.065em;line-height:.95}
.writing-card h2 span{display:block;margin-top:12px;color:var(--muted);font-size:.27em;font-weight:400;letter-spacing:.02em;line-height:1.35}
.writing-card-meta{text-align:right}
.writing-card-summary{max-width:650px;margin:28px 0 0;color:var(--muted);font-size:1rem;line-height:1.65}
.writing-detail-page{width:min(100% - 48px,940px)}
.writing-detail-header{padding-bottom:clamp(56px,9vw,100px);border-bottom:1px solid var(--ink)}
.writing-detail-header h1{max-width:890px;margin:18px 0 0;font-family:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;font-size:clamp(2.9rem,7vw,6.9rem);font-weight:600;letter-spacing:-.055em;line-height:1.06}
.writing-english-title{max-width:680px;margin:24px 0 0;color:var(--muted);font-size:clamp(1rem,1.8vw,1.35rem);line-height:1.5}
.writing-meta{display:flex;gap:24px;margin-top:42px;color:var(--muted);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.writing-body{max-width:760px;margin:clamp(60px,10vw,110px) auto 0;font-family:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif}
.writing-section{margin-top:clamp(64px,10vw,110px)}
.writing-section:first-child{margin-top:0}
.writing-section h2{margin:0 0 28px;font-size:clamp(1.9rem,3.5vw,3rem);letter-spacing:-.035em}
.writing-section p{margin:0;font-size:clamp(1.12rem,2vw,1.35rem);line-height:1.95}
.writing-section p+p{margin-top:1.1em}
.writing-summary{padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:600}
.writing-image-idea{margin-top:clamp(72px,11vw,120px);padding:clamp(34px,6vw,70px);background:#171717;color:var(--paper)}
.writing-image-idea .eyebrow{color:#aaa}
.writing-image-idea blockquote{max-width:680px;margin:32px 0;font-family:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;font-size:clamp(2.3rem,5vw,5rem);font-weight:600;letter-spacing:-.055em;line-height:1.05}
.writing-image-idea p{max-width:650px;margin:0;color:#c9c7c0;font-family:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;font-size:clamp(1.05rem,1.7vw,1.25rem);line-height:1.85}
.translation{max-width:760px;margin:clamp(90px,14vw,160px) auto 0;padding-top:28px;border-top:1px solid var(--ink)}
.translation h2{margin:18px 0 48px;font-size:clamp(2.3rem,5vw,4.8rem);letter-spacing:-.06em;line-height:.95}
.translation h3{margin:50px 0 18px;font-size:1.4rem}
.translation p{margin:0;color:var(--muted);font-family:Georgia,serif;font-size:1.05rem;line-height:1.85}
.translation p+p{margin-top:1em}
.future-statement{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:clamp(50px,10vw,150px);align-items:end;padding:28px 0 clamp(80px,13vw,150px);border-top:1px solid var(--ink)}
.future-lead{max-width:880px;margin:0;font-size:clamp(2.6rem,6.2vw,6.3rem);font-weight:600;letter-spacing:-.065em;line-height:.98}
.future-motto{margin:0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-family:Georgia,serif;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.65}
.future-motto span{display:block;margin-top:12px;color:var(--ink);font-family:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;font-size:.9em}
.leader-list{border-top:1px solid var(--ink)}
.leader{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(46px,9vw,130px);padding:clamp(42px,7vw,78px) 0;border-bottom:1px solid var(--line)}
.leader:nth-child(even) .leader-portrait{grid-column:2}
.leader:nth-child(even) .leader-copy{grid-column:1;grid-row:1}
.leader-portrait{align-self:start;margin:0;overflow:hidden;background:#e8e6df}
.leader-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(100%);transition:filter 240ms ease}
.leader:hover .leader-portrait img{filter:grayscale(0)}
.leader-copy{align-self:center}
.leader-role{margin:0 0 18px;color:var(--muted);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.leader-copy h2{margin:0;font-size:clamp(2.8rem,6vw,6rem);font-weight:600;letter-spacing:-.07em;line-height:.88}
.leader-statement{max-width:690px;margin:clamp(34px,5vw,58px) 0 0;font-size:clamp(1.28rem,2.35vw,2rem);letter-spacing:-.025em;line-height:1.45}
.leader-detail{max-width:680px;margin:24px 0 0;color:var(--muted);font-size:clamp(.98rem,1.35vw,1.15rem);line-height:1.75}
@media(max-width:760px){
  .corner-link{position:absolute}
  .buildings-page,.readings-page,.family-page,.writings-page,.future-page,.teams-page{width:min(100% - 32px,1180px);padding-top:92px}
  .buildings-intro,.readings-intro,.writings-intro,.teams-intro{margin-left:0}
  .project-heading,.project-story,.project-gallery,.reading,.reading-shelf,.book-card{grid-template-columns:1fr}
  .project-heading{align-items:start}
  .project-heading address{text-align:left}
  .project-story{gap:42px}
  .project-gallery figure:last-child{grid-column:auto}
  .project-gallery figure:last-child .gallery-image{aspect-ratio:16/10}
  .reading{gap:42px}
  .book-card{grid-column:auto}
  .book-cover{max-width:235px}
  .book-spine{min-height:260px}
  .book-meta{grid-template-columns:1fr}
  .family-intro{margin-left:0}
  .journey,.family-section{grid-template-columns:1fr;gap:44px}
  .section-marker{position:static}
  .journey-route,.family-copy,.generation-grid,.generation-note,.family-meaning blockquote{grid-column:1}
  .journey-route,.generation-grid{grid-template-columns:1fr}
  .journey-route div:nth-child(odd){border-right:0}
  .journey-route div:nth-child(even){padding-left:0}
  .writing-card{grid-template-columns:1fr;gap:18px}
  .writing-card-meta{text-align:left}
  .writing-detail-page{width:min(100% - 32px,940px)}
  .writing-meta{flex-wrap:wrap}
  .future-statement{grid-template-columns:1fr;align-items:start}
  .leader{grid-template-columns:1fr;gap:34px}
  .leader:nth-child(even) .leader-portrait,.leader:nth-child(even) .leader-copy{grid-column:1;grid-row:auto}
  .leader-portrait{max-width:420px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
