.personal-book{color:var(--ink);background:var(--canvas);font-size:16px;line-height:1.7}.personal-book :is(a,button,summary):focus-visible,.book-chrome:focus-visible,.book-chrome :is(a,button):focus-visible{outline:2px solid var(--bronze);outline-offset:5px}.personal-book :is(h1,h2,h3,h4,blockquote){font-family:var(--font-serif-display), serif;text-wrap:pretty}.personal-book h2{letter-spacing:-.025em;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.3}.personal-book h3{font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.35}.book-caption{color:var(--ink-secondary);font-size:.8125rem;line-height:1.65}.book-shell{max-width:1120px;margin-inline:auto;padding-inline:24px}.book-link{border-bottom:1px solid var(--bronze);min-height:44px;color:var(--ink);align-items:center;gap:16px;font-size:16px;text-decoration:none;display:inline-flex}.book-link span{transition:transform .18s}.book-link:hover{color:var(--bronze)}.book-link:hover span{transform:translate(3px)}.book-page-title{letter-spacing:-.035em;font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.2}.book-cover{background:var(--paper);flex-direction:column;min-height:100svh;display:flex}.cover-meta{color:var(--ink-secondary);justify-content:space-between;align-items:center;padding:24px 40px;font-size:13px;display:flex}.cover-composition{flex:1;grid-template-columns:44% 56%;align-items:center;width:min(1160px,100%);margin:auto;padding:36px 32px 64px;display:grid}.cover-copy{z-index:2;position:relative}.cover-author{letter-spacing:.04em;margin-bottom:32px}.cover-title{letter-spacing:-.055em;max-width:5ch;font-size:clamp(5rem,8.7vw,8rem);font-weight:600;line-height:1.1}.cover-pos{font-family:var(--font-serif-display), serif;color:var(--bronze);margin-top:12px;font-size:23px;font-style:italic}.cover-narrative{font-family:var(--font-serif-display), serif;margin-top:32px;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.65}.cover-cta{margin-top:32px}.cover-art{z-index:0;height:min(76svh,780px);min-height:520px;margin-left:-155px;position:relative;box-shadow:0 12px 30px -22px #17171755}.cover-desktop-art{width:100%;height:100%;animation:.85s cubic-bezier(.16,1,.3,1) both book-arrive}.cover-mobile-art{display:none}@keyframes cover-enter{0%{opacity:.01;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes cover-art-enter{0%{opacity:.01;transform:translateY(6px)scale(1.025)}to{opacity:1;transform:none}}.book-cover :where(.cover-meta,.cover-author,.cover-title,.cover-pos,.cover-narrative p,.cover-cta){animation:.9s cubic-bezier(.22,1,.36,1) both cover-enter}.book-cover .cover-meta{animation-duration:.65s}.book-cover .cover-author{animation-delay:80ms}.book-cover .cover-title{animation-delay:.16s}.book-cover .cover-pos{animation-delay:.3s}.book-cover .cover-narrative p{animation-delay:.42s}.book-cover .cover-narrative p+p{animation-delay:.54s}.book-cover .cover-cta{transition:color .25s,border-color .25s;animation-delay:.68s}.book-cover .cover-art{animation:1.4s cubic-bezier(.22,1,.36,1) .1s both cover-art-enter}.cover-cursor-line{white-space:nowrap}.cover-cursor-line .intro-ink-cursor{pointer-events:none;min-width:1.5px;margin-left:.18em}@media (hover:hover) and (pointer:fine){.book-cover .book-responsive-art{transition:transform .65s cubic-bezier(.22,1,.36,1)}}.book-cover .cover-cta:focus-visible span{transform:translate(3px)}@keyframes book-arrive{0%{transform:translateY(8px)}to{transform:translateY(0)}}.book-toc-page{flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:100px 24px;display:flex}.book-toc-label{letter-spacing:.12em;width:min(100%,520px);margin-bottom:32px;padding-left:48px}.book-toc{width:min(100%,520px)}.book-toc-row{border-top:1px solid var(--hairline);grid-template-columns:28px minmax(0,1fr) 24px;align-items:baseline;gap:20px;padding:24px 0;display:grid}.book-toc li:last-child{border-bottom:1px solid var(--hairline)}.book-toc-title{font-family:var(--font-mono);font-size:clamp(1.5rem,3vw,2rem);line-height:1.4}.book-toc-row p{color:var(--ink-secondary);margin-top:7px;font-size:14px}.book-toc-arrow{color:var(--bronze);transition:transform .18s}.book-toc-row:hover .book-toc-title{color:var(--bronze)}.book-toc-row:hover .book-toc-arrow{transform:translate(2px,-2px)}.book-profile{grid-template-columns:.9fr 1.1fr;align-items:center;gap:90px;padding-block:90px 100px;display:grid}.book-portrait{border:1px solid var(--hairline);background:#fffcf7;width:100%;max-width:360px;padding:16px;transform:rotate(-2deg)}.book-portrait>div{aspect-ratio:3/4;position:relative}.book-portrait img{object-fit:cover}.book-portrait figcaption{text-align:center;margin-top:16px}.book-greeting{font:italic 28px/1.4 var(--font-serif-display), serif;color:var(--ink-secondary)}.book-profile h1{letter-spacing:-.035em;margin-block:8px 20px;font-size:clamp(2.5rem,5vw,4rem);line-height:1.25}.book-profile-intro{max-width:32ch}.book-profile blockquote{border-left:1px solid var(--bronze);margin-block:28px;padding-left:24px;font-size:21px;font-style:italic;line-height:1.7}.book-journey-heading{flex-direction:column;gap:18px;max-width:650px;margin-bottom:48px;display:flex}.book-chapter{border-top:1px solid var(--hairline);grid-template-columns:1fr 1.8fr;gap:70px;padding-block:48px;display:grid}.book-chapter-number{font-family:var(--font-serif-display), serif;color:var(--bronze);margin-bottom:12px;font-size:26px;display:block}.book-lead{margin-bottom:24px;font-size:18px;line-height:1.75}.book-work-list{gap:24px;display:grid}.book-work-list h4{font-size:21px}.book-work-list p{color:var(--ink-secondary)}.book-schools{color:var(--ink-secondary);grid-template-columns:1fr 1fr;gap:12px 24px;display:grid}.book-personal-projects li{border-top:1px solid var(--hairline);grid-template-columns:28px 1fr;align-items:center;gap:16px;padding-block:14px;display:grid}.book-personal-projects a{justify-content:space-between;align-items:center;min-height:44px;display:flex}.book-personal-projects a:hover{color:var(--bronze)}.book-closing{text-align:center;max-width:720px;margin:auto;padding-block:60px 100px}.book-closing blockquote{margin-bottom:32px;font-size:clamp(1.5rem,3vw,2.25rem);font-style:italic;line-height:1.55}.book-project-scroller{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--bronze) var(--paper);display:flex;overflow-x:auto}.book-project-column{border-right:1px solid var(--hairline);flex:0 0 clamp(360px,34vw,500px);min-width:0}.book-project-link{flex-direction:column;gap:20px;height:100%;padding:28px 32px;display:flex}.book-project-number{font-family:var(--font-serif-display);color:var(--bronze);margin-bottom:16px;font-size:26px;display:block}.book-project-link h2{font-size:24px}.book-project-summary{color:var(--ink-secondary);font-size:16px;line-height:1.7}.book-project-cover{border:1px solid var(--hairline);background:#ece8dd;flex-direction:column;gap:20px;min-height:360px;margin-top:auto;padding:24px;display:flex}.book-project-cover svg{width:100%;height:130px;stroke:var(--bronze);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.book-project-cover .cover-fine{stroke:#aaa08d;stroke-width:.75px}.book-cover-thesis{font-family:var(--font-serif-display);letter-spacing:-.02em;font-size:27px;line-height:1.25}.book-cover-steps{color:var(--ink-secondary);flex-wrap:wrap;gap:4px 14px;font-size:13px;display:flex}.cover-ai{background:#e6e9e0}.cover-moonie{background:#efe4d8}.cover-research{background:#e5e8e9}.book-project-cover figcaption{margin-top:auto}.book-project-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.book-project-scroller.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.book-project-scroller.is-dragging a{cursor:grabbing}.book-project-index{padding-bottom:48px}.book-service-offer{border-top:1px solid var(--hairline);grid-template-columns:1fr 1.35fr;gap:72px;padding-block:44px;scroll-margin-top:80px;display:grid}.book-service-offers{margin-top:32px}.book-service-heading h3{max-width:22ch}.book-service-body>p{margin-bottom:20px}.book-service-label{color:var(--ink-secondary);margin-bottom:4px;font-size:13px;display:block}.book-service-graphic{max-width:200px;margin:20px auto 0 0}.book-service-graphic svg{width:100%;height:auto}.book-service-related{color:var(--bronze);text-underline-offset:5px;align-items:center;gap:8px;min-height:44px;font-size:14px;text-decoration:underline;display:inline-flex}.book-services :is(.editorial-label,.editorial-button,.editorial-text-link){font-size:13px}.book-services :is(.editorial-button,.editorial-text-link,summary){min-height:44px}.book-chrome,.book-chrome :is(a,button){color:var(--ink-secondary);letter-spacing:.03em;min-height:44px;font-size:13px}body:has(.personal-book) .book-chrome{background:var(--canvas)}@media (max-width:1023px){.cover-composition{grid-template-columns:1fr;justify-items:center;gap:32px;padding:20px 24px 48px}.cover-meta{padding:20px 24px}.cover-art{aspect-ratio:4/5;grid-row:1;width:min(65vw,280px);height:auto;min-height:0;margin:0}.cover-desktop-art{display:none}.cover-mobile-art{object-fit:cover;object-position:center 20%;display:block}.cover-copy{text-align:center}.cover-author{margin-bottom:12px}.cover-title{max-width:none;font-size:clamp(2.5rem,8vw,4rem)}.cover-pos{margin-top:10px;font-size:20px}.cover-narrative{margin-top:20px;font-size:20px}.cover-cta{margin-top:24px}.book-project-scroller{display:block;overflow:visible}.book-project-column{border-right:0;border-bottom:1px solid var(--hairline)}.book-project-link{grid-template-columns:1fr 1fr;gap:20px 32px;max-width:850px;margin:auto;display:grid}.book-project-cover{grid-area:1/2/4;margin:0}.book-project-summary,.book-project-bottom{grid-column:1}}@media (max-width:767px){.book-profile{grid-template-columns:1fr;gap:40px;padding-block:40px 60px}.book-portrait{max-width:280px;margin:auto}.book-greeting{font-size:24px}.book-profile blockquote{font-size:20px}.book-chapter{grid-template-columns:1fr;gap:24px;padding-block:32px}.book-chapter>header{grid-template-columns:28px 1fr;align-items:baseline;gap:16px;display:grid}.book-chapter-number{margin:0}.book-schools{grid-template-columns:1fr}.book-closing{padding-block:32px 64px}.book-toc-row{grid-template-columns:24px minmax(0,1fr) 16px;gap:12px;padding-block:22px}.book-toc-label{padding-left:36px}.book-project-link{padding:28px 24px;display:flex}.book-project-cover{width:100%;min-height:320px}.book-project-bottom{align-items:start}.book-service-offer{grid-template-columns:1fr;gap:20px;padding-block:32px}.book-service-heading{grid-template-columns:32px 1fr;align-items:baseline;gap:16px;display:grid}.book-service-graphic{display:none}.book-service-body .book-lead{font-size:17px}.book-services .shell{padding-block:36px}.book-services>header.shell{padding-top:40px}.book-services h1{font-size:clamp(2rem,7vw,2.5rem)}}@media (prefers-reduced-motion:reduce){.personal-book *,.personal-book :before,.personal-book :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.personal-book .intro-image-treatment{transform:none!important}}.cover-meta :is(a,button){letter-spacing:.03em;min-height:44px;color:var(--ink-secondary);font-size:13px}.personal-book .editorial-label{color:var(--bronze)}.book-services #program-design-title~div .font-mono{color:var(--ink-secondary);font-size:13px}.book-project-link>div:first-child>p{font-size:13px}@media (min-width:1024px) and (max-width:1199px){.cover-art{margin-left:-110px}}.cover-art>div{position:absolute;inset:0}.book-responsive-art{object-fit:cover;object-position:left;transition:transform .18s ease-out;transform:none}@media (max-width:1023px){.book-responsive-art{object-position:center 20%;transform:none}}.book-responsive-art{width:102%!important;height:102%!important;top:-1%!important;left:-1%!important}.book-chrome:not([data-testid=contact-rail]){position:absolute}.book-page-end{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-block:24px 48px;display:flex}.book-page-end a{color:var(--ink-secondary);text-underline-offset:5px;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;display:inline-flex}.book-toc-page>.book-page-end{justify-content:flex-end;width:min(100%,520px);padding-bottom:0}.book-services .book-service-body details :is(p,li){font-size:16px;line-height:1.7}
