.projects-page{color:var(--portfolio-ink);background:var(--portfolio-paper);--projects-muted: color-mix( in srgb, var(--portfolio-ink) 72%, var(--portfolio-paper) )}.projects-page a{text-underline-offset:5px}.projects-page a:focus-visible{outline:2px solid currentColor;outline-offset:6px}.projects-page h1,.projects-page h2,.projects-page h3{font-family:inherit}.projects-hero,.projects-content{max-width:1480px;margin:0 auto;padding-inline:clamp(24px,5vw,90px)}.projects-hero{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:clamp(28px,5vw,84px);padding-block:100px 110px}.projects-eyebrow,.projects-index{font-family:var(--font-mono);font-size:10px;font-weight:400;line-height:1.7;letter-spacing:.09em;text-transform:uppercase;color:var(--projects-muted)}.projects-hero h1{margin:25px 0;font-size:clamp(58px,7vw,108px);font-weight:500;line-height:.95;letter-spacing:-.075em;overflow-wrap:anywhere}.projects-hero h1 em{color:var(--portfolio-accent);font-style:normal}.projects-hero-copy>p{max-width:37ch;font-size:16px;line-height:1.8;color:var(--projects-muted)}.projects-text-link{display:inline-flex;align-items:center;gap:16px;font-size:13px;text-decoration:underline;text-decoration-color:var(--portfolio-line)}.projects-hero-link{margin-top:36px}.projects-hero-art{overflow:hidden;background:var(--art-background)}.projects-hero-art img{width:100%;aspect-ratio:1;object-fit:cover}.projects-section{padding-bottom:96px;scroll-margin-top:110px}.projects-section-heading{display:flex;align-items:baseline;gap:25px;border-top:1px solid var(--portfolio-line);padding:25px 0 44px}.projects-section-heading h2{margin:0;font-size:clamp(23px,2.5vw,34px);font-weight:400;line-height:1.2;letter-spacing:-.04em}.projects-feature{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(32px,5vw,80px);padding:0 0 64px}.projects-featured-list>.portfolio-reveal+.portfolio-reveal .projects-feature{padding-top:64px;border-top:1px solid var(--portfolio-line)}.projects-featured-list>.portfolio-reveal:nth-child(2n) .projects-feature{grid-template-columns:1fr 1.2fr}.projects-featured-list>.portfolio-reveal:nth-child(2n) .projects-feature-image{order:2}.projects-featured-list>.portfolio-reveal:last-child .projects-feature{padding-bottom:0}.projects-feature-image{position:relative;margin:0;background:var(--art-background);overflow:hidden}.projects-feature-image img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.projects-feature:hover .projects-feature-image img{transform:scale(1.035)}.projects-feature-image figcaption{position:absolute;bottom:16px;left:20px;color:var(--art-foreground);font:10px var(--font-mono);letter-spacing:.08em}.projects-feature-copy h3{margin:16px 0 24px;font-size:clamp(28px,3.2vw,44px);font-weight:400;line-height:1.13;letter-spacing:-.045em;text-wrap:pretty}.projects-page h3 a{text-decoration:none}.projects-page h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}.projects-page h3 svg{display:inline;vertical-align:baseline;margin-left:5px}.projects-description{margin:0;font-size:14px;font-weight:400;line-height:1.85;color:var(--projects-muted);overflow-wrap:anywhere}.projects-description p{margin:0 0 14px}.projects-description p:last-child{margin-bottom:0}.projects-description a{color:var(--portfolio-ink);text-decoration:underline}.projects-description strong{color:var(--portfolio-ink);font-weight:500}.projects-description code{font-family:var(--font-mono);font-size:.88em}.projects-details{margin:28px 0 0;padding:18px 0 0;list-style:none;border-top:1px solid var(--portfolio-line);display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--font-mono);font-size:10px;line-height:1.7;color:var(--projects-muted)}.projects-archive-entry{display:grid;grid-template-columns:36px minmax(0,.85fr) minmax(0,1.6fr);align-items:baseline;gap:28px;padding:28px 0;border-bottom:1px solid var(--portfolio-line)}.projects-archive>.portfolio-reveal:first-child .projects-archive-entry{padding-top:0}.projects-archive-entry h3,.projects-leadership-entry h3{margin:0;font-size:19px;font-weight:500;line-height:1.4;letter-spacing:-.025em}.projects-leadership-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:64px;padding:32px 0;border-bottom:1px solid var(--portfolio-line)}.projects-leadership>.portfolio-reveal:first-child .projects-leadership-entry{padding-top:0}.projects-leadership-role{margin:12px 0 0;font-size:13px;line-height:1.7;color:var(--projects-muted)}.projects-leadership-points{list-style:none;padding:0}.projects-leadership-points li+li{margin-top:14px}@media (max-width: 900px){.projects-hero{grid-template-columns:1fr 1fr;gap:28px;padding-block:70px}.projects-hero h1{font-size:clamp(48px,8vw,80px)}.projects-feature{gap:30px}.projects-feature-copy h3{font-size:29px}.projects-archive-entry{grid-template-columns:25px minmax(0,.8fr) minmax(0,1.2fr);gap:20px}.projects-leadership-entry{gap:32px}}@media (max-width: 640px){.projects-hero{grid-template-columns:1fr;padding-block:55px 64px}.projects-hero h1{font-size:68px;margin-top:20px}.projects-hero-art{margin-top:15px}.projects-hero-art img{aspect-ratio:3 / 2}.projects-section{padding-bottom:64px}.projects-section-heading{padding-bottom:30px}.projects-feature,.projects-featured-list>.portfolio-reveal:nth-child(2n) .projects-feature{grid-template-columns:1fr;gap:25px;padding-bottom:40px}.projects-featured-list>.portfolio-reveal:nth-child(2n) .projects-feature-image{order:0}.projects-featured-list>.portfolio-reveal+.portfolio-reveal .projects-feature{padding-top:40px}.projects-feature-copy h3{font-size:33px;margin-bottom:18px}.projects-archive-entry{grid-template-columns:25px minmax(0,1fr);gap:10px 18px;padding-block:24px}.projects-archive-entry>.projects-description{grid-column:2}.projects-leadership-entry{grid-template-columns:1fr;gap:20px}}@media (prefers-reduced-motion: reduce){.projects-page *,.projects-page *:before,.projects-page *:after{transition:none!important;scroll-behavior:auto!important}.projects-feature:hover .projects-feature-image img{transform:none}}.journal-page{width:min(100% - 3rem,1280px);margin-inline:auto;padding-bottom:6rem}.journal-header{padding-block:clamp(4rem,9vw,8rem) 3.5rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.journal-header h1,.journal-admin-heading{font-size:clamp(3.5rem,8vw,7.5rem);font-weight:400;line-height:1.02;letter-spacing:-.075em;max-width:15ch;overflow-wrap:anywhere}.journal-header p{max-width:38rem;color:var(--muted-foreground);font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.8;margin-top:1.6rem}.journal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem}.journal-empty{padding-block:5rem;border-bottom:1px solid var(--border)}.journal-empty>svg{width:2rem;height:2rem;margin-bottom:1.5rem;color:var(--primary);stroke-width:1.2}.journal-empty h1,.journal-empty h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:400;letter-spacing:-.04em;margin-bottom:1rem}.journal-empty p{max-width:38rem;color:var(--muted-foreground);line-height:1.8}.journal-entry{display:grid;grid-template-columns:10rem minmax(0,1fr) auto auto;gap:2rem;padding-block:2.5rem;border-bottom:1px solid var(--border);align-items:start}.journal-entry-date{display:flex;flex-direction:column;gap:.5rem;font-size:.72rem;font-family:var(--font-mono);color:var(--muted-foreground);padding-top:.5rem}.journal-entry-copy h2{font-size:clamp(1.65rem,3vw,2.8rem);font-weight:400;letter-spacing:-.05em;line-height:1.2;transition:color .2s}.journal-entry:hover h2{color:var(--primary)}.journal-entry-copy p{color:var(--muted-foreground);max-width:42rem;line-height:1.8;margin-top:.8rem}.journal-entry-stats{display:flex;gap:1.2rem;margin-top:1.5rem;color:var(--muted-foreground);font-size:.75rem;font-family:var(--font-mono)}.journal-entry-stats span{display:inline-flex;align-items:center;gap:.35rem}.journal-entry-stats svg{width:14px;height:14px;stroke-width:1.5}.journal-entry-image{width:clamp(8rem,18vw,15rem);aspect-ratio:4/3;object-fit:cover}.journal-entry-arrow{width:1.5rem;height:1.5rem;margin-top:.4rem;color:var(--primary);transition:transform .25s;stroke-width:1.3}.journal-entry:hover .journal-entry-arrow{transform:translate(3px,-3px)}.journal-post-header{max-width:60rem;margin-inline:auto}.journal-post-header h1{font-size:clamp(2.6rem,6vw,5.4rem);max-width:22ch;letter-spacing:-.065em}.journal-post-cover{display:block;width:100%;max-height:38rem;object-fit:cover;margin-top:2.5rem}.journal-post-body{max-width:48rem;margin-inline:auto;padding-top:1.5rem}.journal-section{border-top:1px solid var(--border);padding-top:2rem;margin-top:3rem}.journal-section-title{display:flex;align-items:center;gap:.7rem;font-size:1.5rem;font-weight:400;letter-spacing:-.035em;margin-bottom:1.8rem}.journal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.journal-metrics dt{display:flex;gap:.5rem;align-items:center;font-size:.75rem;color:var(--muted-foreground)}.journal-metrics dd{margin-top:.7rem;font-size:2.6rem;font-weight:400;letter-spacing:-.055em}.journal-prose{--tw-prose-body: var(--foreground);--tw-prose-headings: var(--foreground);--tw-prose-bold: var(--foreground);--tw-prose-counters: var(--muted-foreground);--tw-prose-bullets: var(--primary);font-size:1.06rem;line-height:1.9}.journal-prose :where(h1,h2,h3,h4){font-weight:450;letter-spacing:-.04em}.journal-prose :where(img,pre){border-radius:0;box-shadow:none}.journal-prose :where(pre){background:var(--foreground);color:var(--background)}.journal-prose :where(code):not(pre code){background:var(--muted);border-radius:0}.journal-prose :where(blockquote){border-left-width:1px;font-weight:400;font-size:1.3em}.journal-admin{padding-top:4rem}.journal-admin-top{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:1.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.journal-admin-heading{font-size:clamp(2.5rem,5vw,5rem);margin-bottom:.8rem}.journal-admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border);margin-bottom:3rem}.journal-admin-metrics>div{padding:0}.journal-admin-metrics .text-3xl{font-size:clamp(2rem,5vw,3.5rem);font-weight:400;letter-spacing:-.06em;margin-bottom:.35rem}.journal-admin-row{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding-block:1.5rem;border-bottom:1px solid var(--border)}.journal-status{font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);border-left:1px solid var(--border);padding-left:.6rem}.journal-status-live{color:var(--primary)}.journal-field{width:100%;min-width:0;border:1px solid var(--border);border-radius:0;background:transparent;padding:.75rem;transition:border-color .2s}.journal-field:focus{outline:2px solid var(--primary);outline-offset:3px}.journal-editor{border:1px solid var(--border);background:transparent}.journal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.125rem;padding:.5rem;border-bottom:1px solid var(--border);background:var(--muted)}.journal-toolbar button{border-radius:0}.auth-dialog{position:relative;padding:2.5rem;border:1px solid var(--border);background:var(--background);box-shadow:0 25px 90px color-mix(in srgb,var(--foreground) 20%,transparent)}.auth-dialog h2{font-size:2.2rem;line-height:1.15;font-weight:400;letter-spacing:-.055em;padding-right:1rem;margin-bottom:1rem}.auth-dialog header p{color:var(--muted-foreground);line-height:1.7;margin-bottom:2rem}.auth-dialog-close{position:absolute;right:.75rem;top:.75rem;padding:.5rem;color:var(--muted-foreground)}.auth-dialog-close:hover{color:var(--foreground)}@media (max-width: 640px){.journal-page{width:min(100% - 2rem,1280px);padding-bottom:4rem}.journal-entry{grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding-block:2rem}.journal-entry-date{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}.journal-entry-image{grid-column:1 / -1;width:100%;max-height:15rem;grid-row:3}.journal-entry-arrow{grid-column:2;grid-row:2}.journal-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-admin-row{align-items:flex-start;flex-wrap:wrap}.journal-admin-row>div:first-child{flex-basis:100%}.journal-metrics{gap:.7rem}.journal-metrics dt{flex-wrap:wrap}.auth-dialog{padding:2rem 1.5rem}}@media (prefers-reduced-motion: reduce){.journal-entry-arrow{transition:none}.journal-entry:hover .journal-entry-arrow{transform:none}.journal-page .animate-spin{animation:none}}
