/* Project index, case studies and public speaking */
[hidden]{display:none!important}
.site-header nav a[aria-current=page]{color:var(--accent)}
.portfolio-page h1{font-size:clamp(2.8rem,6.7vw,7.2rem);line-height:1.04;letter-spacing:-.06em;font-weight:400;max-width:1150px;overflow-wrap:normal}
.directory-heading{padding-block:65px 48px}.directory-heading>.eyebrow{margin-bottom:30px;color:var(--muted);font-size:.875rem}
.directory-intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;max-width:1100px;margin-top:38px}.directory-intro p{font-size:1.125rem;line-height:1.75;max-width:500px}.directory-intro p:last-child{color:var(--muted);font-size:1rem}
.project-filters{display:grid;grid-template-columns:minmax(230px,1.8fr) minmax(140px,1fr) minmax(140px,1fr) auto;align-items:end;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:27px}
.project-filters label{font-size:.875rem;line-height:1.5;display:block}.project-filters input,.project-filters select{display:block;width:100%;min-height:48px;padding:10px 12px;margin-top:9px;background:transparent;color:var(--ink);border:1px solid #9ba39b;border-radius:0;font:inherit;font-size:1rem}.project-filters select{padding-right:25px}.project-filters button{background:var(--dark);color:var(--paper);border:1px solid var(--dark);min-height:48px;padding:10px 17px;font:inherit;font-size:.875rem;cursor:pointer}.project-filters button:hover{background:var(--ink)}.project-filters :focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.directory-count{display:flex;justify-content:space-between;gap:20px;margin-block:24px 35px;font-size:.875rem;color:var(--muted)}.directory-count p{color:var(--ink)}
.project-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 30px}.project-card{min-width:0;display:flex;flex-direction:column;align-items:start;scroll-margin-top:25px}
.project-card-image{display:block;width:100%;overflow:hidden;background:#e6e7e3}.project-card-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .4s}.project-card-image:hover img{transform:scale(1.025)}
.project-card .card-credit{font-size:.875rem;line-height:1.45;color:var(--muted);margin-top:11px}.card-credit a:hover{text-decoration:underline;text-underline-offset:3px}
.card-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px 14px;width:100%;font-size:.875rem;line-height:1.4;color:var(--muted);margin-top:24px}.card-meta span:last-child{color:var(--accent)}
.project-card h3{font-weight:400;font-size:clamp(1.5rem,2vw,2rem);letter-spacing:-.035em;line-height:1.2;margin-block:11px}.project-card h3 a:hover{color:var(--accent)}.project-card h3 span{white-space:nowrap;font-size:.75em}
.project-card>p:not(.card-credit){font-size:1rem;line-height:1.7;color:var(--muted);margin-bottom:12px}.project-card .card-location{font-size:.875rem!important;color:var(--ink)!important}.project-card .card-role{font-size:.875rem!important;margin-top:auto;padding-top:4px;color:var(--ink)!important}.project-card .text-link{font-size:.875rem;margin-top:8px}
.project-card-text{border-top:2px solid var(--ink);padding-top:8px}.project-card-text h3{margin-top:22px}.project-card-text .card-role{margin-top:20px}.project-empty{font-size:1.125rem;padding-block:65px;line-height:1.7}
.index-end{border-top:1px solid var(--line);margin-top:58px;padding-block:30px 65px;display:flex;gap:40px;justify-content:space-between;align-items:start}.index-end>p{font-size:.9375rem;line-height:1.7;max-width:660px;color:var(--muted)}.index-end a{white-space:normal}
.case-heading{padding-block:42px 42px}.breadcrumb{font-size:.9375rem;border-bottom:1px solid var(--line);padding-bottom:5px}.breadcrumb:hover{color:var(--accent)}
.case-meta{display:flex;flex-wrap:wrap;gap:16px 32px;color:var(--muted);font-size:.875rem;line-height:1.5;margin-block:50px 20px}.case-meta .status{margin-left:auto;color:var(--accent)}.case-heading h1{max-width:1160px}.case-intro{font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.55;max-width:820px;margin-top:26px;letter-spacing:-.018em}
.case-hero{margin-bottom:60px}.case-hero img{height:auto;width:100%;max-height:780px;object-fit:contain;background:#e7e9e4}.case-hero figcaption,.gallery-figure figcaption,.speaking-page figcaption,.home-speaking figcaption{color:var(--muted);font-size:.875rem;line-height:1.6;margin-top:13px}.case-hero figcaption a:hover,.gallery-figure figcaption a:hover{text-decoration:underline;text-underline-offset:4px}
.case-body{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,1.75fr);gap:11%;padding-bottom:56px;align-items:start}.project-facts{margin:0}.project-facts>div{border-top:1px solid var(--line);padding-block:15px 18px}.project-facts dt{color:var(--muted);font-size:.875rem;line-height:1.5;margin-bottom:5px}.project-facts dd{margin:0;font-size:1rem;line-height:1.55}
.case-story{max-width:760px}.personal-role{border-top:2px solid var(--ink);padding-top:20px;margin-bottom:35px}.personal-role>.eyebrow{color:var(--accent);font-size:.875rem;margin-bottom:18px}.case-story h2{font-weight:400;font-size:clamp(1.5rem,2.3vw,2.25rem);line-height:1.2;letter-spacing:-.025em;margin-bottom:19px}.case-story p:not(.eyebrow){font-size:1.0625rem;line-height:1.8;color:var(--muted)}.project-narrative{margin-top:32px}.project-narrative h2{font-size:1.35rem}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-bottom:55px;align-items:start}.gallery-figure img{height:auto;object-fit:contain;width:100%;background:#e7e9e4}
.project-sources{border-top:1px solid var(--line);padding-top:27px;max-width:950px;margin-bottom:52px}.project-sources h2{font-size:1.15rem;line-height:1.5;font-weight:400;margin-bottom:15px}.project-sources p,.project-sources li{font-size:.9375rem;line-height:1.8;color:var(--muted)}.project-sources ol{padding-left:22px;margin-block:18px}.project-sources li{padding-left:7px;margin-block:8px}.project-sources a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}.project-sources a:hover{color:var(--accent)}.project-sources .updated-note{font-size:.875rem}
.project-next{display:flex;justify-content:space-between;align-items:end;gap:35px;padding-block:28px 65px;border-top:1px solid var(--line)}.project-next>a{font-size:1.25rem;line-height:1.5;max-width:55%}.project-next>a:first-child{font-size:.9375rem}.project-next>a:last-child{text-align:right}.project-next .eyebrow{display:block;color:var(--muted);font-size:.875rem;margin-bottom:8px}.project-next a:hover{color:var(--accent)}
.portfolio-footer{border-top:1px solid var(--line);padding-block:38px 30px;display:grid;grid-template-columns:1fr 1fr;gap:25px 60px}.portfolio-footer .wordmark{font-size:1.7rem}.portfolio-footer p{font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:18px}.portfolio-footer>div:nth-child(2){display:flex;flex-direction:column;align-items:start;gap:18px;font-size:.9375rem}.portfolio-footer a:hover{color:var(--accent)}.portfolio-footer .rights-note{grid-column:1/-1;max-width:850px;margin-top:6px}
.speaking-event{border-top:1px solid var(--line);padding-top:30px}.speaking-event-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:12%;margin-bottom:32px}.speaking-event-heading .eyebrow{color:var(--muted);font-size:.875rem;margin-bottom:20px}.speaking-event h2{font-size:clamp(2.1rem,3.5vw,4rem);line-height:1.12;font-weight:400;letter-spacing:-.045em;max-width:690px}.speaking-event dl{margin:0}.speaking-event dl>div{border-bottom:1px solid var(--line);padding-block:12px;display:grid;grid-template-columns:1fr 1.2fr;gap:16px;font-size:.9375rem;line-height:1.5}.speaking-event dt{color:var(--muted)}.speaking-event dd{margin:0}.speaking-stage img{height:auto;object-fit:contain}.speaking-story{display:grid;grid-template-columns:1.5fr 1fr;gap:15%;margin-top:45px;align-items:start}.speaking-story>div{max-width:650px}.speaking-story p{font-size:1.0625rem;line-height:1.8;margin-bottom:21px;color:var(--muted)}.speaking-story .speaking-lead{font-size:1.4rem;color:var(--ink);line-height:1.6}.speaking-story .text-link{margin-top:12px}.speaking-portrait{max-width:280px;justify-self:center}.speaking-portrait img{height:auto;object-fit:contain}.speaking-themes{margin-block:70px 55px}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.theme-grid .eyebrow{color:var(--accent);font-size:.875rem}.theme-grid h3{font-weight:400;font-size:1.6rem;line-height:1.2;letter-spacing:-.03em;margin-block:20px 16px}.theme-grid p{font-size:1rem;line-height:1.8;color:var(--muted);margin-bottom:18px}.theme-grid .text-link{font-size:.875rem}.speaking-contact{border-top:1px solid var(--line);padding-block:32px 65px;display:flex;justify-content:space-between;align-items:center;gap:30px}.speaking-contact>p{font-size:1.8rem;letter-spacing:-.035em}.speaking-contact>div{display:flex;gap:30px;flex-wrap:wrap}
/* Connections from the homepage */
.experience .section-line>a{font-size:.875rem}.project-copy .feature-role{font-size:1rem!important;margin-top:18px}.experience .project-image figcaption{display:block;font-size:.875rem;background:linear-gradient(transparent,rgba(0,0,0,.72));line-height:1.5}.experience .project-image figcaption a{text-decoration:underline;text-underline-offset:3px}.project-park-lamar .project-image{height:clamp(350px,36vw,580px)}.homepage-project-grid .project-card{scroll-margin-top:30px}.archive .index-end{padding-bottom:0;margin-bottom:0}.home-speaking{padding-bottom:80px}.home-speaking-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:center}.home-speaking-image img{height:auto;object-fit:contain}.home-speaking-grid h3{font-size:clamp(2.7rem,4.2vw,4.75rem);line-height:1.1;font-weight:400;letter-spacing:-.05em;margin-block:15px 23px}.home-speaking-grid>div>p:not(.eyebrow){font-size:1rem;line-height:1.8;color:var(--muted);max-width:400px;margin-bottom:23px}.home-speaking-grid .eyebrow{font-size:.875rem;color:var(--accent)}
@media(max-width:1100px){.project-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-filters{grid-template-columns:1.5fr 1fr 1fr}.project-filters button{grid-column:1/-1;justify-self:end;min-width:140px}.case-body{gap:7%}.theme-grid{gap:25px}.speaking-event-heading{gap:6%}.index-end{flex-direction:column;gap:22px}}
@media(max-width:700px){.portfolio-page h1{font-size:clamp(2.65rem,9.5vw,4.7rem);overflow-wrap:anywhere}.directory-heading{padding-block:38px}.directory-heading>.eyebrow{font-size:.875rem;margin-bottom:23px}.directory-intro{grid-template-columns:1fr;gap:18px;margin-top:25px}.directory-intro p{font-size:1.0625rem}.project-filters{grid-template-columns:1fr 1fr;gap:20px 16px}.project-filters .search-label{grid-column:1/-1}.project-filters button{justify-self:start}.directory-count{margin-bottom:28px;line-height:1.5}.directory-count>span{text-align:right}.project-index-grid{gap:38px 22px}.card-meta{margin-top:20px}.case-meta{margin-top:38px;gap:8px 20px}.case-meta .status{margin-left:0}.case-meta>span:first-child{flex-basis:100%}.case-heading{padding-block:28px 30px}.case-intro{font-size:1.2rem;line-height:1.65;margin-top:20px}.case-hero{margin-bottom:35px}.case-body{display:flex;flex-direction:column-reverse;gap:32px;padding-bottom:35px}.case-body aside{width:100%}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.case-story p:not(.eyebrow){font-size:1rem}.case-story h2{font-size:1.65rem}.project-narrative h2{font-size:1.25rem}.project-gallery{gap:25px;grid-template-columns:1fr;margin-bottom:38px}.project-sources{margin-bottom:32px}.project-next{padding-bottom:40px}.project-next>a{font-size:1.0625rem}.portfolio-footer{grid-template-columns:1fr;gap:27px}.portfolio-footer .rights-note{grid-column:auto}.speaking-event-heading{grid-template-columns:1fr;gap:25px}.speaking-story{grid-template-columns:1fr;gap:30px}.speaking-portrait{justify-self:start;max-width:260px}.speaking-story .speaking-lead{font-size:1.25rem}.speaking-story p{font-size:1rem}.speaking-themes{margin-top:45px}.theme-grid{grid-template-columns:1fr;gap:35px}.theme-grid h3{margin-top:13px}.speaking-contact{align-items:start;flex-direction:column;padding-bottom:45px}.home-speaking-grid{grid-template-columns:1fr;gap:30px}.home-speaking-grid h3{font-size:3rem}.home-speaking{padding-bottom:50px}.project-park-lamar .project-image{height:auto;aspect-ratio:4/3}}
@media(max-width:520px){.project-index-grid{grid-template-columns:1fr}.project-card h3{font-size:1.7rem}.project-card-text{padding-top:0}.directory-count>span{max-width:125px}.project-facts{grid-template-columns:1fr}.project-next{align-items:start}.project-next>a{max-width:60%}.project-next>a:first-child{max-width:35%}.speaking-contact>div{flex-direction:column;gap:20px}.site-header nav{column-gap:16px;justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.project-card-image img{transition:none}.project-card-image:hover img{transform:none}}

.speaking-story{grid-template-columns:minmax(0,650px) minmax(0,280px);gap:28px;justify-content:start;align-items:start}
.speaking-portrait{justify-self:start;width:100%;max-width:280px}
@media(max-width:1000px) and (min-width:701px){.speaking-story{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px}}
@media(max-width:700px){.speaking-story{grid-template-columns:minmax(0,1fr);gap:18px}.speaking-portrait{max-width:260px}.speaking-story>div>p:last-of-type{margin-bottom:16px}}

/* Detailed project case studies */
.case-focus{display:flex;flex-wrap:wrap;gap:9px 24px;list-style:none;padding:0;margin:25px 0 0;font-size:.875rem;color:var(--muted)}
.case-focus li{border-bottom:1px solid var(--line);padding-bottom:6px}
.case-toc{margin-top:32px;border-top:2px solid var(--ink);padding-top:20px;display:flex;flex-direction:column;gap:13px;font-size:.9375rem;line-height:1.5}
.case-toc .eyebrow{color:var(--accent);margin-bottom:4px}.case-toc a:hover,.inline-refs a:hover{color:var(--accent)}
.project-narrative,.personal-role,.portfolio-archive,.project-sources li{scroll-margin-top:30px}
.inline-refs{white-space:nowrap;font-size:.875rem}.inline-refs a,.source-caption a{text-decoration:underline;text-underline-offset:3px}
.case-table-wrap{overflow-x:auto;margin-block:22px}.case-table-wrap table{border-collapse:collapse;width:100%;font-size:.9375rem;line-height:1.6;text-align:left}.case-table-wrap td,.case-table-wrap th{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}.case-table-wrap thead{background:#e7e9e4}.case-table-wrap tbody th{font-weight:400;white-space:nowrap}.case-story .source-caption{font-size:.875rem!important}
.case-timeline{list-style:none;padding:0;margin:25px 0}.case-timeline li{border-top:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:110px 1fr;gap:20px}.case-timeline strong{font-size:1rem;font-weight:500}.case-timeline p{margin:0}
.portfolio-archive{padding-block:35px 55px;border-top:1px solid var(--line)}.archive-heading{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:32px}.archive-heading .eyebrow{color:var(--accent);font-size:.875rem;margin-bottom:15px}.archive-heading h2,.related-projects h2{font-weight:400;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.03em;line-height:1.2}.archive-heading>p{font-size:1rem;line-height:1.7;color:var(--muted);max-width:520px}
.archive-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 24px;align-items:start}.archive-sheet img{width:100%;height:auto;display:block}.archive-sheet figcaption{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:12px}.image-enlarge{display:block;cursor:zoom-in}.image-enlarge:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.related-projects{border-top:1px solid var(--line);padding-block:30px 45px}.related-projects>div{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px}.related-projects a{display:flex;flex-direction:column;align-items:start;gap:12px}.related-projects strong{font-size:1.5rem;font-weight:400}.related-projects span{font-size:1rem;line-height:1.7;color:var(--muted)}.related-projects .eyebrow{font-size:.875rem;color:var(--accent)}
.project-lightbox{width:min(1400px,96vw);max-width:96vw;height:94dvh;max-height:94dvh;background:#171918;color:#f5f6f4;border:0;padding:16px;margin:auto;overflow:auto}.project-lightbox::backdrop{background:rgba(0,0,0,.85)}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;background:#171918;padding-bottom:12px;z-index:1}.lightbox-bar button,.lightbox-bar a{min-height:44px;min-width:44px;padding:9px 13px;border:1px solid #777;background:#171918;color:#fff;font:inherit;font-size:.9375rem;cursor:pointer}.lightbox-bar div{display:flex;gap:10px;align-items:center}.project-lightbox img{display:block;width:100%;height:calc(94dvh - 150px);object-fit:contain}.project-lightbox figcaption{font-size:.9375rem;line-height:1.6;color:#ddd;margin-top:15px}.project-lightbox figure{margin:0}.lightbox-count{font-size:.875rem;color:#ddd}
@media(max-width:900px){.archive-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.case-body{display:flex;flex-direction:column;gap:35px}.case-toc{gap:0}.case-toc a{padding:9px 0;min-height:44px}.archive-heading{grid-template-columns:1fr;gap:20px}.archive-page-grid{grid-template-columns:1fr 1fr;gap:25px 16px}.case-timeline li{grid-template-columns:1fr;gap:10px}.related-projects>div{grid-template-columns:1fr;gap:30px}.lightbox-bar{align-items:start;flex-wrap:wrap}.project-lightbox{padding:10px}.lightbox-bar a{font-size:.875rem}}
@media(max-width:450px){.archive-page-grid{grid-template-columns:1fr}.case-table-wrap td,.case-table-wrap th{padding:10px 6px}}
@media print{.site-header nav,.case-toc,.project-next,.related-projects,.portfolio-footer,.skip-link{display:none}.case-body{display:block}.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px}.case-story{max-width:none}.case-hero img{max-height:500px}.project-narrative,figure{break-inside:avoid}.archive-page-grid{grid-template-columns:repeat(2,1fr)}.wrap{width:100%}}

/* Personal contribution receives the softest rose surface. */
.personal-role{border-top-color:var(--rose);background:var(--rose-soft);padding:24px}
.case-toc{border-top-color:var(--rose)}
.case-table-wrap thead{background:var(--rose-soft)}
.project-card-text{border-top-color:var(--rose)}
.project-filters button:hover{background:var(--rose);border-color:var(--rose);color:var(--ink)}
.speaking-event{border-top-color:var(--rose)}
.speaking-event-heading .eyebrow{color:var(--accent)}
.lightbox-bar button:hover,.lightbox-bar a:hover{background:var(--rose);border-color:var(--rose);color:var(--ink)}
