@font-face{font-family:Signifier;src:url('assets/fonts/signifier-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Signifier;src:url('assets/fonts/signifier-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--serif:Signifier,Georgia,serif}
/* Use the supplied upright cuts without synthesizing italic glyphs. */
h1 em,h2 em,footer em{font-style:normal}
body,.energy,.books,footer,.study-bar{background-image:linear-gradient(var(--surface-veil),var(--surface-veil)),url('assets/linen.webp');background-size:auto,620px 620px;background-repeat:repeat}
body{--surface-veil:#f1ecdfed}.energy{--surface-veil:#e8e1d3ed}.books{--surface-veil:#7d302df5}footer{--surface-veil:#ded6c5ed}.study-bar{--surface-veil:#e5deceed}
.hero h1{font-size:clamp(50px,6.4vw,102.5px);line-height:1.06;letter-spacing:-.045em;margin-left:-3px}
body[data-study=portrait] .hero h1{font-size:clamp(47.5px,5vw,80px)}
.section h2{font-size:clamp(25px,3.1vw,50px);line-height:1.12;letter-spacing:-.035em}
footer>p{font-size:clamp(31px,4.75vw,75px);line-height:1.1;letter-spacing:-.04em}footer>p>span{font-size:65px}
.career h3,.commitments h3{letter-spacing:-.025em;line-height:1.18}
.book-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.book-intro{align-self:center}.book-intro .handwritten{font-size:20px;margin:24px 0 38px}
.carousel-controls{display:flex;align-items:center;gap:20px}.carousel-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #e8cbbb70;border-radius:50%;background:transparent;color:inherit;font-size:23px;cursor:pointer;transition:background .2s}.carousel-controls button:hover:not(:disabled){background:#f4e9d420}.carousel-controls button:disabled{opacity:.3;cursor:default}.carousel-controls button:focus-visible,.book-carousel:focus-visible{outline-color:#f4e9d4}.carousel-controls span{font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:2px;min-width:65px;text-align:center}.carousel-hint{font-size:11px;color:#e0bdb0;margin-top:20px}
.book-carousel{height:590px;overflow-y:auto;scroll-snap-type:y mandatory;scroll-padding-block:65px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#c49987 transparent;padding:65px 30px;mask-image:linear-gradient(transparent,#000 6%,#000 94%,transparent)}
.book-slide{min-height:460px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;scroll-snap-align:start;padding-bottom:28px;gap:18px}
.book-slide img{display:block;width:240px;height:360px;aspect-ratio:2/3;object-fit:cover;border-radius:16px;box-shadow:0 18px 32px #290d0c55,0 4px 8px #290d0c30;flex-shrink:0}
.book-slide figcaption{text-align:center;max-width:330px}.book-slide h3{font:400 20px/1.2 var(--serif);margin:0 0 7px;letter-spacing:-.02em}.book-slide p{font-size:11px;line-height:1.5;margin:0;color:#e9cfc2}
.books{padding-bottom:60px}.books .section-label{margin-bottom:22px}
@media(max-width:800px){.hero h1{font-size:7vw}.book-layout{gap:3%}.book-carousel{padding-inline:15px}.book-slide img{width:210px;height:315px}.book-slide{min-height:415px}.book-carousel{height:545px}.book-intro .handwritten{font-size:18px}}
@media(max-width:580px){.hero h1,body[data-study=portrait] .hero h1{font-size:13.5vw}.section h2{font-size:27px}.section-intro{align-items:center}.section-intro>p{margin-top:0}footer>p{font-size:7vw}footer>p>span{font-size:35px}.book-layout{grid-template-columns:1fr;gap:12px}.book-intro .handwritten{margin:16px 0 22px}.book-carousel{height:520px;padding-block:50px;scroll-padding-block:50px}.book-slide{min-height:420px}.book-slide img{width:220px;height:330px}.carousel-hint{margin-bottom:0}.books{padding-bottom:35px}}
@media(prefers-reduced-motion:reduce){.book-carousel{scroll-behavior:auto}}

/* Spacing after removing the introductory and footer annotations. */
.hero-top,.hero-bottom,.footer-top{justify-content:flex-end}
.lives .section-label{justify-content:flex-start;margin-bottom:24px}
.lives .section-intro{margin-bottom:36px}
.lives .section-intro>p{margin:0}
.book-intro .carousel-controls{margin-top:32px}

/* A full-width, horizontal bookshelf. */
.book-layout{display:block}
.book-intro{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px 24px}
.book-intro .carousel-controls{margin-top:0}
.carousel-hint{grid-column:1/-1;margin:0}
.book-carousel{display:flex;gap:36px;width:100%;height:auto;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0 24px;padding:32px 24px 28px;mask-image:none}
.book-slide{flex:0 0 240px;min-height:0;padding-bottom:8px;gap:18px}
.book-slide img{width:240px;height:360px}
@media(max-width:800px){.book-carousel{gap:28px}.book-slide{flex-basis:210px}.book-slide img{width:210px;height:315px}}
@media(max-width:580px){.book-intro{gap:18px 12px}.carousel-controls{gap:8px}.carousel-controls span{min-width:54px;font-size:10px}.carousel-controls button{width:36px;height:36px}.book-carousel{gap:24px;padding:28px 16px;scroll-padding-inline:16px}.book-slide{flex-basis:220px}.book-slide img{width:220px;height:330px}}

.hero-headshot{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}

/* Keep the divider and bring the career introduction directly beneath it. */
.hero-bottom{padding:0}
.lives.section{padding-top:28px}

/* Keep text annotations level. */
.handwritten,.portrait>.handwritten,.energy-aside .handwritten,.book-heading .handwritten{transform:none}

.commitments article{grid-template-columns:1fr 25px}

.energy-grid .commitments{grid-column:2}
@media(max-width:580px){.energy-grid .commitments{grid-column:1}}

/* Align the section heading and commitment list in the same row. */
.energy-grid{margin-top:0;align-items:start}

.eyebrow-bold{font-weight:700}

.books .section-label{justify-content:flex-end}

/* Scale book covers down by 15%, retaining their proportions. */
.book-slide{flex-basis:204px}
.book-slide img{width:204px;height:306px}
@media(max-width:800px){.book-slide{flex-basis:178.5px}.book-slide img{width:178.5px;height:267.75px}}
@media(max-width:580px){.book-slide{flex-basis:187px}.book-slide img{width:187px;height:280.5px}}

/* Compact the page rhythm while preserving the type and book sizes. */
header{height:72px}
.hero{padding-top:12px}
.hero-layout{padding:8px 0 28px;gap:6%}
.hero h1{margin-bottom:22px}
.portrait,body[data-study=portrait] .portrait{width:300px;max-width:100%;height:320px;max-height:320px;aspect-ratio:auto;justify-self:center;margin:0 12px 8px 0}
.section{padding-top:40px;padding-bottom:44px}
.section-label{margin-bottom:24px}
.lives.section{padding-top:22px}
.lives .section-label{margin-bottom:12px}
.lives .section-intro{margin-bottom:22px}
.career:nth-child(2),.career:nth-child(3){margin-top:0}
.career-number{margin-bottom:10px}
.career-art{height:190px;margin-bottom:16px}
.plate{width:160px;max-width:72%}
.strategy-sheet{padding:18px}
.strategy-sheet span{font-size:25px}
.strategy-sheet i{margin-top:12px}
.design-window b{font-size:65px;line-height:1.2}
.career h3{margin-top:8px;margin-bottom:6px}
.layout-note{margin-top:18px}
.energy-grid{gap:6%}
.commitments article{padding:18px 0 22px}
.commitments h3{margin-top:10px;margin-bottom:6px}
.commitments .second-org{margin-top:18px}
.book-carousel{padding-top:20px;padding-bottom:20px}
.writing-placeholder{padding:18px 0}
.writing-placeholder p{margin:14px 0}
footer{padding-top:24px;padding-bottom:24px}
footer>p{margin:28px 0 8px}
@media(max-width:800px){.portrait,body[data-study=portrait] .portrait{width:250px;height:285px}.career-art{height:170px}.strategy-sheet{padding:14px}.strategy-sheet span{font-size:21px}.design-window b{font-size:52px}}
@media(max-width:580px){
 header{height:64px}
 .hero-layout,body[data-study=portrait] .hero-layout{grid-template-columns:1fr 1fr;gap:14px;padding:12px 0 22px}
 .hero h1,body[data-study=portrait] .hero h1{font-size:11vw;margin-bottom:16px}
 .hero-roles{font-size:10px;line-height:1.7}
 .portrait,body[data-study=portrait] .portrait{grid-row:auto;width:100%;height:210px;max-height:210px;margin:0;border-width:5px;border-bottom-width:25px;justify-self:center}
 .portrait-label{bottom:-18px;font-size:5px}
 body[data-study=portrait] .hero-name{margin-top:0}
 .section{padding-top:28px;padding-bottom:30px}
 .section-label{margin-bottom:18px}
 .lives.section{padding-top:20px}
 .lives .section-intro{margin-bottom:16px}
 .career-grid{gap:18px}
 .career,.career:nth-child(2),.career:nth-child(3){width:100%;margin:0;display:grid;grid-template-columns:112px 1fr;column-gap:18px;align-content:start;justify-self:stretch}
 .career-number{grid-column:2;grid-row:1;font-size:18px;margin:0 0 4px}
 .career-art{grid-column:1;grid-row:1 / span 3;height:122px;margin:0}
 .career h3{grid-column:2;font-size:24px;align-self:end;margin:0 0 6px}
 .career p{grid-column:2;align-self:start;margin:0;font-size:10px}
 .plate{width:85px;max-width:85%}.plate:after{font-size:36px}
 .strategy-sheet{padding:12px 8px}.strategy-sheet span{font-size:16px}.strategy-sheet i{margin-top:8px}
 .design-window{height:70%;width:80%}.design-window b{font-size:42px}
 .art-caption{font-size:5px;left:8px;bottom:7px;letter-spacing:1px}
 .energy-grid{gap:20px}
 .commitments article{padding:16px 0 18px}
 .writing-layout{gap:22px}
 .book-carousel{padding-block:18px}
 footer>p{margin:22px 0 6px}
}

/* Earlier career chapters recede slightly behind the current role. */
.career:nth-child(-n+2){opacity:.7}

/* Consistent bold weight for all eyebrow and section labels. */
.eyebrow,.section-label{font-weight:700}

header{justify-content:flex-end}

.hero h1{line-height:.9}

.poem-list{list-style:none;padding:0;margin:0;min-width:0}
.poem-list li{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.poem-list li:last-child{border-bottom:1px solid var(--line)}
.poem-list h3{font:400 28px/1.2 var(--serif);letter-spacing:-.025em;margin:0}
.poem-list time{font-size:12px;color:var(--muted);white-space:nowrap}
.writing-layout{align-items:start}
@media(max-width:800px){.poem-list li{flex-wrap:wrap;gap:8px}.poem-list h3{font-size:24px}}
@media(max-width:580px){.poem-list li{padding:16px 0}.poem-list time{font-size:11px}}

.poem-list li{display:block;padding:0}
.poem-open{display:flex;align-items:baseline;justify-content:space-between;gap:20px;width:100%;padding:20px 0;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer}
.poem-title{font:400 28px/1.2 var(--serif);letter-spacing:-.025em}
.poem-open:hover .poem-title{color:var(--red)}
.poem-open:focus-visible{outline-offset:4px}
html:has(.poem-sheet[open]){overflow:hidden}
.poem-sheet{position:fixed;inset:0;margin:auto;width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 48px);min-height:min(440px,calc(100dvh - 48px));overflow-y:auto;padding:64px 56px;border:1px solid var(--line);border-radius:16px;background-color:var(--paper);background-image:linear-gradient(#f1ecdfed,#f1ecdfed),url('assets/linen.webp');background-size:auto,620px 620px;box-shadow:0 24px 100px #20191340;color:var(--ink)}
.poem-sheet::backdrop{background:#20191380;backdrop-filter:blur(4px)}
.poem-close{position:absolute;right:18px;top:16px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:28px;cursor:pointer}
.poem-close:hover{background:#382c280c}
.poem-sheet>time{font-size:12px;color:var(--muted)}
.poem-sheet h2{font:400 40px/1.15 var(--serif);letter-spacing:-.035em;margin:18px 0 32px}
.poem-body{font:400 19px/1.7 var(--serif);white-space:pre-wrap}
.poem-pending{font:14px/1.6 Figtree,sans-serif;color:var(--muted);margin:0}
@media(max-width:800px){.poem-open{flex-wrap:wrap;gap:8px}.poem-title{font-size:24px}}
@media(max-width:580px){.poem-open{padding:16px 0}.poem-sheet{padding:58px 26px 36px}.poem-sheet h2{font-size:32px}}

/* Four career chapters, with dates replacing chapter numerals. */
.career-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.career-number{font:600 12px/1.5 Figtree,sans-serif;letter-spacing:.04em;margin-bottom:12px}
.career:nth-child(-n+3){opacity:.7}
.career:nth-child(4){opacity:1}
.founder{background:#c5b3a5;display:grid;place-items:center}
.founder-art{display:flex;align-items:center;justify-content:center}
.founder-art span{display:grid;place-items:center;width:64px;height:64px;border:1px solid #756355;border-radius:50%;font:32px var(--serif);color:#756355;background:#e9ddc7aa}
.founder-art span+span{margin-left:-22px}
@media(min-width:581px) and (max-width:1000px){.career-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}}
@media(max-width:580px){.career-grid{grid-template-columns:1fr}.career-number{font-size:11px;margin-bottom:5px}.founder-art span{width:40px;height:40px;font-size:24px}.founder-art span+span{margin-left:-13px}}

.hero-roles a{text-decoration:underline;text-underline-offset:3px}

/* Offset and overlap the name lines, keeping the surname in front. */
.hero h1{line-height:1}
.hero h1 .first-name{display:block;position:relative}
.hero h1 .last-name{display:block;position:relative;margin-top:-.38em;margin-left:.95em}
@media(max-width:580px){.hero h1,.hero h1:has(.last-name){font-size:9vw}.hero h1 .last-name{margin-left:.55em}}

.career-photo{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:50% 28%}

.consulting-photo{filter:grayscale(1);object-position:50% 50%}

.product-design-photo{object-position:left bottom}

/* Underline interactive text on hover and keyboard focus. */
a:hover,a:focus-visible,button:not(:disabled):hover,button:not(:disabled):focus-visible{ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px }
.poem-open:hover .poem-title,.poem-open:focus-visible .poem-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
/* SVG chevrons need a drawn underline rather than text decoration. */
.carousel-controls button:not(:disabled):hover svg,.carousel-controls button:focus-visible svg{border-bottom:1px solid currentColor;padding-bottom:2px}

.energy>.section-label{justify-content:flex-end}

/* Reduce the current book-cover dimensions by a further 20%. */
.book-slide{flex-basis:163.2px}
.book-slide img{width:163.2px;height:244.8px}
@media(max-width:800px){.book-slide{flex-basis:142.8px}.book-slide img{width:142.8px;height:214.2px}}
@media(max-width:580px){.book-slide{flex-basis:149.6px}.book-slide img{width:149.6px;height:224.4px}}

.hero .hero-roles{font-size:15px}

.eyebrow,.section-label{letter-spacing:.8px}

.portrait{border-color:#fff;background:#fff}

/* Use a shared right-hand icon column across sections. */
.commitments article{grid-template-columns:minmax(0,1fr) 44px}
.row-mark{width:44px;text-align:center;justify-self:end;line-height:1.2}
.footer-top a{display:inline-flex;align-items:center;gap:8px}
.back-top-icon{display:inline-block;width:44px;text-align:center}
@media(max-width:580px){.commitments article{grid-template-columns:minmax(0,1fr) 36px}.row-mark,.back-top-icon{width:36px}}

.footer-top .linkedin-link{margin-right:auto;gap:8px;letter-spacing:0;font-size:12px;min-height:44px}

/* A compact talk feature connecting commitments with personal influences. */
.talk{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:40px;align-items:center}
.talk-image-link{position:relative;display:block;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px #382c2815}
.talk-image-link img{display:block;width:100%;height:auto;aspect-ratio:470/264;object-fit:cover}
.talk-play{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#f1ecdfee;color:var(--red);font-size:15px;padding-left:2px}
.talk-image-link:hover .talk-play{background:#fff;text-decoration:underline;text-underline-offset:4px}
.talk .talk-details h2{font-size:32px;line-height:1.15;margin:14px 0 20px;letter-spacing:-.025em}
.talk-link{display:inline-flex;align-items:center;gap:14px;font-size:13px}
.talk-link span{font-size:20px;color:var(--red)}
@media(max-width:800px){.talk{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}.talk .talk-details h2{font-size:27px}}
@media(max-width:580px){.talk{grid-template-columns:1fr;gap:22px}.talk-image-link{max-width:400px}.talk .talk-details h2{font-size:27px;margin:12px 0 16px}}

/* Align the talk feature with the adjacent contained sections. */
.talk{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:6%;align-items:start;background-color:#dce0d3;background-image:linear-gradient(#dce0d3ed,#dce0d3ed),url('assets/linen.webp');background-size:auto,620px 620px}
.talk-details{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start}
.talk .talk-details h2{order:-1;font-size:clamp(25px,3.1vw,50px);line-height:1.12;letter-spacing:-.035em;margin:0 0 20px}
.talk-details .eyebrow{margin-bottom:18px}
.talk-image-link{grid-column:2;grid-row:1;width:min(100%,470px);max-width:none}
@media(max-width:580px){.talk{grid-template-columns:1fr;gap:24px}.talk-details{grid-column:1;grid-row:1}.talk-image-link{grid-column:1;grid-row:2;width:100%;max-width:400px}.talk .talk-details h2{font-size:27px}}

.footer-social{display:flex;justify-content:flex-end;margin-top:12px}
.footer-social .linkedin-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:12px}

/* Muted oxblood-family neutral for the TEDx feature. */
.talk{background-color:#d9c9c5;background-image:linear-gradient(#d9c9c5ed,#d9c9c5ed),url('assets/linen.webp')}

.footer-social{align-items:center;gap:24px}
.footer-social .linkedin-link{width:44px;justify-content:center}
.footer-social>a[href="#"]{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:9px;letter-spacing:1.7px}

.talk-image-link:hover,.talk-image-link:focus-visible,.talk-image-link:hover .talk-play,.talk-image-link:focus-visible .talk-play{text-decoration:none}
.talk-image-link:hover .talk-play,.talk-image-link:focus-visible .talk-play{background:#fff}

.footer-signature{font:italic 24px/1.4 var(--serif);margin-top:12px;color:var(--ink)}
@media(max-width:580px){.footer-signature{font-size:19px}}

.footer-signature{font-size:16px}
