.project-bookshelf{margin-bottom:35px;scroll-margin-top:100px}.shelf-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:12px 0 5px}.shelf-heading h3{font-size:22px}.shelf-heading p{font-size:12px;color:var(--muted);margin:0}.bookcase{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:15px 10px 0;background:#ebece4;border:1px solid #e0e2d8;border-radius:5px;margin-top:20px;gap:0 9px}.book-slot{padding:15px 8px 23px;border-bottom:9px solid #b8a78d;box-shadow:0 8px 8px -8px #42332870;min-width:0;display:flex;justify-content:center;position:relative}.project-book{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;width:100%;max-width:195px;min-height:260px;text-align:left;padding:24px 17px 20px 26px;border:0;border-radius:2px 6px 6px 2px;color:#fff;background:var(--book-color,#223138);box-shadow:5px 5px 0 #d2d0c4,8px 9px 14px #28342c20;transform:perspective(900px) rotateY(-6deg);transform-origin:left center;transition:transform .25s,box-shadow .25s;cursor:pointer;isolation:isolate}.project-book::before{content:"";position:absolute;inset:0 auto 0 0;width:13px;background:linear-gradient(90deg,#0004,#fff2 45%,#0002);border-right:1px solid #ffffff28}.project-book::after{content:"";position:absolute;inset:9px 8px;border:1px solid #ffffff28;pointer-events:none}.project-book:hover,.project-book:focus-visible{transform:perspective(900px) rotateY(-2deg) translateY(-9px);box-shadow:5px 7px 0 #d2d0c4,8px 17px 20px #28342c30}.book-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;color:#ffffffb5;gap:8px;position:relative;z-index:1}.book-title{font-size:25px;letter-spacing:-.05em;line-height:1.3;display:block;margin:23px 0 13px;overflow-wrap:anywhere;text-wrap:balance}.book-subtitle{font-size:10px;line-height:1.8;color:#ffffffcc;display:block;min-height:38px}.book-bottom{border-top:1px solid #ffffff40;padding-top:12px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;position:relative;z-index:1}.book-read-state{color:#ffffffa6;font-size:8px}.project-book.has-read .book-read-state{color:#fff}.book-instructions{font-size:10px;color:var(--muted);margin-top:16px}.shelf-return{position:fixed;right:25px;bottom:24px;z-index:18;display:flex;align-items:center;gap:9px;padding:12px 17px;min-height:46px;border:1px solid #6e7c75;border-radius:40px;background:#223138;color:white;font-size:12px;font-weight:650;box-shadow:0 5px 20px #22313820}.shelf-return svg{width:18px;height:18px}.shelf-return:hover{background:#bc2547}.reader-launch{border:1px solid #8c9990;border-radius:3px;background:#fffefa;padding:9px 14px;min-height:42px;font-size:11px;white-space:nowrap}.project-toolbar{flex-wrap:wrap}.reader-launch:hover{color:var(--pink);border-color:var(--pink)}
#project-reader{width:min(1220px,96vw);max-width:96vw;height:92dvh;max-height:92dvh;padding:0;overflow:hidden;border-radius:9px;background:#fffefa;box-shadow:0 25px 100px #0f202655}#project-reader::backdrop{background:#152028dc;backdrop-filter:blur(5px)}.reader-shell{height:100%;display:flex;flex-direction:column;min-height:0}.reader-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 26px;border-bottom:1px solid var(--line);background:#f5f4ed;flex-shrink:0}.reader-header>div{min-width:0}.reader-header .reader-kicker{font-size:8px;letter-spacing:.14em;color:var(--pink);margin:0 0 4px;text-align:left}.reader-header h2{font-size:21px;line-height:1.4}.reader-close{border:1px solid #cbd1c7;border-radius:3px;min-height:42px;background:#fffefa;padding:8px 14px;font-size:11px;white-space:nowrap}.reader-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:35px 40px 20px}.reader-body>.project{width:100%;max-width:100%;padding:0;margin:0;border:0;scroll-margin:0}.reader-body .project-intro{grid-template-columns:1.1fr 1fr;gap:35px}.reader-body .key-figure{order:0}.reader-body .key-image img{object-fit:contain;background:#f1f3ed}.reader-body p{text-align:inherit;margin-top:0}.reader-body .project-thesis{margin-top:20px}.reader-body .project-intro-copy .project-meta{margin-top:20px}.reader-body .project-number{font-size:38px}.reader-body .key-image{height:350px}.reader-body .system-evidence{grid-template-columns:.7fr 1fr}.reader-footer{padding:13px 26px;background:#f5f4ed;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;flex-shrink:0}.reader-nav{border:1px solid #c4cdc3;background:#fffefa;padding:9px 15px;font-size:12px;min-height:44px;border-radius:3px;justify-self:start}.reader-nav:last-child{justify-self:end}.reader-nav:disabled{opacity:.35;cursor:default}.reader-nav:not(:disabled):hover{color:var(--pink);border-color:var(--pink)}.reader-progress{display:flex;gap:7px;align-items:center}.reader-progress button{width:27px;height:27px;min-height:27px;padding:0;border:1px solid #c4cdc3;background:transparent;border-radius:50%;font-size:10px}.reader-progress button[aria-current="step"]{background:#223138;color:#fff;border-color:#223138}.reader-header .reader-status{margin:2px 0 0;color:var(--muted);font-size:10px;text-align:left}.reader-caption{font-size:10px;color:var(--muted);text-align:center;margin:0 0 12px}.reader-body :focus-visible{outline:2px solid var(--pink);outline-offset:3px}body.reader-open{overflow:hidden}.footer{padding-bottom:85px}
@media(max-width:1000px){.bookcase{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:20px}.project-book{min-height:245px;max-width:230px}.reader-body{padding:28px}.reader-body .project-intro{gap:24px}.reader-body .key-image{height:300px}}
@media(max-width:700px){.shelf-heading{display:block}.shelf-heading h3{font-size:22px}.shelf-heading p{margin-top:10px;font-size:11px}.bookcase{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 5px 0;gap:16px 7px}.book-slot{padding:12px 5px 20px;border-bottom-width:7px}.project-book{min-height:235px;padding:21px 12px 16px 22px}.book-title{font-size:23px}.book-top{font-size:7px;letter-spacing:.06em}.book-subtitle{font-size:10px}.book-bottom{font-size:9px}.book-instructions{font-size:10px}.shelf-return{right:16px;bottom:16px;padding:10px 14px;min-height:44px;font-size:11px}.reader-launch{font-size:11px}#project-reader{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.reader-header{padding:13px 17px;gap:10px}.reader-header h2{font-size:18px}.reader-close{font-size:10px;padding:7px 10px}.reader-body{padding:24px 20px 15px}.reader-body .project-intro{grid-template-columns:1fr;gap:22px}.reader-body .key-image{height:auto;aspect-ratio:1.36}.reader-body .project-number{font-size:35px}.reader-body .system-evidence{grid-template-columns:1fr}.reader-footer{padding:12px 14px;gap:7px}.reader-nav{padding:8px 10px;font-size:11px}.reader-progress{gap:5px}.reader-progress button{width:23px;height:23px;min-height:23px;font-size:9px}.reader-caption{font-size:9px}.reader-header .reader-status{font-size:9px}.footer{padding-bottom:85px}}
@media(max-width:370px){.project-book{min-height:225px;padding-left:20px;padding-right:10px}.book-title{font-size:20px}.book-subtitle{font-size:9px}.book-top{font-size:6px}.reader-progress{gap:4px}.reader-progress button{width:21px;height:21px;min-height:21px}.reader-header h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){.project-book,.project-book:hover,.project-book:focus-visible{transform:none;transition:none}#project-reader::backdrop{backdrop-filter:none}}
@media print{.project-bookshelf,.shelf-return,.reader-launch,#project-reader{display:none!important}.footer{padding-bottom:20px}}
.book-art{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:#ffffff18;border:1px solid #ffffff30;margin:18px 0 0;overflow:hidden}.book-art img{display:block;width:100%;height:100%;object-fit:contain;background:transparent}.project-book .book-title{font-size:23px;margin:15px 0 10px}.project-book{min-height:325px}.project-book .book-subtitle{font-size:9px}
@media(max-width:700px){.project-book{min-height:290px}.project-book .book-title{font-size:21px}.book-art{margin-top:15px}}
@media(max-width:370px){.project-book{min-height:275px}.project-book .book-title{font-size:19px}.project-book .book-subtitle{font-size:8px}}

/* Larger reading controls and clearer book labels. */
.project-book:focus-visible,.reader-progress button:focus-visible,.reader-nav:focus-visible,.reader-close:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.book-top{font-size:10px;letter-spacing:.04em}.project-book .book-subtitle,.book-read-state{font-size:11px}.book-instructions{font-size:12px;line-height:1.8}
.reader-progress{gap:4px}.reader-progress button{width:44px;height:44px;min-height:44px;font-size:12px}
@media(max-width:700px){.reader-footer{grid-template-columns:1fr 1fr;gap:10px}.reader-progress{grid-column:1/-1;grid-row:1;justify-content:center}.reader-nav{grid-row:2}.reader-nav:last-child{grid-column:2}.book-top{font-size:9px}.project-book .book-subtitle,.book-read-state{font-size:11px}.book-instructions{font-size:12px}.reader-header .reader-status{font-size:11px}.book-bottom{gap:4px}}

/* Six books are the only project entry points on the landing page. */
.bookcase{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px;padding:16px 18px 0}.project-book{max-width:290px;min-height:345px}.project-book .book-title{font-size:26px}.book-count{font-size:13px;color:var(--pink);vertical-align:middle;margin-left:8px}.book-instructions{display:inline-block;margin-right:24px}.project-bookshelf>.reader-launch{margin-top:16px}.project-bookshelf{margin-bottom:0}.projects{padding-bottom:65px}.field-book-art{display:flex;flex-direction:column;gap:8px;padding:10px;align-items:flex-start;justify-content:center}.field-book-art>span{font-size:13px;font-weight:600;border-bottom:1px solid #ffffff35;width:100%;padding-bottom:4px}
.keyword-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.keyword-heading p{font-size:14px;color:var(--muted);margin:0}.keyword-section .competencies{margin-top:32px}.credentials-section .credentials{grid-template-columns:1.15fr 1fr 1fr;gap:35px}.credentials-section h2{font-size:34px}.credentials-section .credentials p{line-height:1.8}.credentials-section .source-link{font-size:12px;line-height:1.7}
.experience-chapters{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 32px}.experience-chapters a{border:1px solid var(--line);border-radius:30px;min-height:44px;display:inline-flex;align-items:center;padding:9px 16px;font-size:13px}.experience-chapters a:hover{border-color:var(--pink);color:var(--pink)}.field-experience .experience-grid{grid-template-columns:1fr;gap:30px}.field-experience .experience-card,.field-experience .embedded-experience{display:grid;grid-template-columns:1fr 1.15fr;padding:0;grid-column:auto;overflow:hidden}.field-experience .experience-media img{height:auto;min-height:210px;max-height:330px;object-fit:contain;background:#fff;aspect-ratio:1.6}.field-experience .experience-media{align-self:start;display:block}.field-experience .experience-copy{padding:24px}.field-experience .experience-copy p{font-size:14px;line-height:1.9}.field-experience .experience-foot{display:block;line-height:1.8}.experience-points{margin-top:20px;border-top:1px solid var(--line)}.experience-points>div{padding-top:14px}.experience-points span{font-size:11px;color:var(--pink);font-weight:650}.experience-points p{margin:4px 0 0}.field-experience .experience-card{scroll-margin-top:20px}.field-experience .key-description{max-width:720px}#print-projects{display:none}
@media(max-width:1000px){.project-book{min-height:325px}.project-book .book-title{font-size:23px}.credentials-section .credentials{gap:25px}.credentials-section h2{font-size:30px}}
@media(max-width:700px){.bookcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px;padding:10px 5px 0}.project-book{min-height:300px}.project-book .book-title{font-size:21px}.field-book-art{gap:5px;padding:7px}.field-book-art>span{font-size:10px;padding-bottom:3px}.keyword-heading{display:block}.keyword-heading p{margin-top:18px;font-size:13px}.credentials-section .credentials{grid-template-columns:1fr;gap:30px}.field-experience .experience-card,.field-experience .embedded-experience{grid-template-columns:1fr}.field-experience .experience-copy{padding:20px}.field-experience .experience-media img{min-height:0;max-height:none}.field-experience .experience-copy h3{font-size:25px}.reader-progress{gap:4px}.reader-progress button{width:44px;height:44px;min-height:44px}.projects{padding-bottom:45px}}
@media(max-width:370px){.project-book .book-title{font-size:19px}.field-book-art>span{font-size:9px}}
@media print{#print-projects{display:block}.projects{padding-bottom:0}.keyword-heading{display:block}.credentials-section .credentials{grid-template-columns:1fr 1fr 1fr}.field-experience .experience-card{break-inside:avoid}.field-experience{break-before:page}}
