.project-main{--project-accent: var(--link)}.project-header{margin-bottom:2.75em;padding-bottom:1.5em;border-bottom:1px solid var(--border-light)}.project-header h1{font-size:2.2em;margin-bottom:.2em;letter-spacing:0}.project-description{font-size:1.1em;color:var(--text-secondary);line-height:1.6;margin:.75em 0 1em}.project-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.8em;font-family:Inter,Helvetica Neue,sans-serif;font-size:.88em;color:var(--text-dim);margin-bottom:1em}.project-links{display:flex;flex-wrap:wrap;gap:1em;font-family:Inter,Helvetica Neue,sans-serif;font-size:.9em}.project-links a{display:inline-flex;align-items:center;gap:.3em;padding:.5em 1em;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--text-secondary);transition:all .15s ease}.project-links a:hover{color:var(--text);border-color:var(--text-dim);background:var(--bg-alt)}.project-links a.primary{background:var(--project-accent);border-color:var(--project-accent);color:var(--bg)}.project-links a.primary:hover{filter:brightness(1.1)}.overview{background:var(--bg-alt);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1.5em 2em;margin-bottom:3em}.overview h2{font-size:1.3em;margin-top:0;margin-bottom:.75em;padding-bottom:.3em;border-bottom:1px solid var(--border-light)}.overview p{margin-bottom:1em;line-height:1.7}.overview p:last-child{margin-bottom:0}.project-section{margin-bottom:3em}.project-section>h2{font-size:1.3em;margin-bottom:1em;padding-bottom:.3em;border-bottom:1px solid var(--border-light)}.section-kicker{font-family:Inter,Helvetica Neue,sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--project-accent);margin-bottom:.5rem}.capstone-card{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1.5em 2em;background:var(--surface);margin-bottom:1.5em}.capstone-header{display:flex;align-items:center;gap:.8em;margin-bottom:.8em;flex-wrap:wrap}.capstone-header h3{font-size:1.2em;margin:0}.capstone-links{display:flex;flex-wrap:wrap;gap:1em;margin:1em 0}.capstone-links a{display:inline-flex;align-items:center;gap:.3em;padding:.5em 1em;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--text-secondary);font-family:Inter,Helvetica Neue,sans-serif;font-size:.9em;transition:all .15s ease}.capstone-links a:hover{color:var(--text);border-color:var(--text-dim);background:var(--bg-alt)}.capstone-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1em}.capstone-description:last-child{margin-bottom:0}.capstone-details{font-family:Inter,Helvetica Neue,sans-serif;font-size:.88em;color:var(--text-dim);margin-top:1em;padding-top:1em;border-top:1px solid var(--border-light)}.timeline{list-style:none;padding:0;margin:0;position:relative}.timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border)}.timeline-item{position:relative;padding-left:2em;padding-bottom:1.5em}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:0;top:.3em;width:18px;height:18px;border-radius:50%;background:var(--bg);border:2px solid var(--project-accent)}.timeline-content h3{font-size:1.05em;margin:0 0 .2em;border-bottom:none;padding:0}.timeline-content p{font-size:.95em;color:var(--text-secondary);margin:0;line-height:1.5}.artifacts-section{margin-bottom:3em}.artifact-list{list-style:none;padding:0;margin:0}.artifact-item{padding:.8em 0;border-bottom:1px solid var(--border-light);display:flex;align-items:baseline;gap:1em}.artifact-item:last-child{border-bottom:none}.artifact-item a{text-decoration:none;color:var(--link)}.artifact-item a:hover{text-decoration:underline}.artifact-type{font-family:Inter,Helvetica Neue,sans-serif;font-size:.78em;color:var(--text-dim);white-space:nowrap;min-width:5em}.takeaways-section{margin-bottom:2.5em}.takeaways-list{list-style:none;padding:0;margin:0}.takeaways-list li{padding:.4em 0 .4em 1.5em;position:relative;color:var(--text-secondary);line-height:1.6}.takeaways-list li:before{content:">";position:absolute;left:0;color:var(--project-accent)}.impact-band{margin-bottom:3em}.impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}.impact-item{padding:1.3em 1.4em;border:1px solid var(--border-light);border-left:3px solid var(--project-accent);border-radius:var(--radius-md);background:var(--bg-alt)}.impact-item .impact-figure{display:block;font-family:Inter,Helvetica Neue,sans-serif;font-size:1.5em;font-weight:700;line-height:1.1;color:var(--text);margin-bottom:.3em}.impact-item .impact-figure strong{color:var(--project-accent);font-weight:700}.impact-item p{margin:0;font-size:.9em;line-height:1.55;color:var(--text-secondary)}.comparison-wrap{overflow-x:auto;border:1px solid var(--border-light);border-radius:var(--radius-md);margin:0 0 1em}.comparison-table{width:100%;border-collapse:collapse;margin:0;font-size:.92em;min-width:560px}.comparison-table th,.comparison-table td{padding:.85em 1.1em;text-align:left;border-bottom:1px solid var(--border-light);vertical-align:top}.comparison-table thead th{font-family:Inter,Helvetica Neue,sans-serif;font-size:.78em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg-alt);border-bottom:2px solid var(--border)}.comparison-table thead th.is-ours{color:var(--project-accent)}.comparison-table tbody th{font-family:Inter,Helvetica Neue,sans-serif;font-weight:600;font-size:.9em;color:var(--text);white-space:nowrap}.comparison-table td.is-ours{background:color-mix(in srgb,var(--project-accent) 7%,transparent);color:var(--text);font-weight:500}.comparison-table tbody tr:last-child th,.comparison-table tbody tr:last-child td{border-bottom:none}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5em;margin-top:1em}.video-embed{display:flex;flex-direction:column;align-items:center}.video-embed iframe{width:100%;max-width:560px;aspect-ratio:16 / 9;border-radius:var(--radius-md);border:1px solid var(--border-light)}.video-embed p{margin-top:.5em;font-size:.88em;color:var(--text-secondary);text-align:center}@media(max-width:768px){.project-header h1{font-size:1.6em}.overview,.capstone-card{padding:1em}.project-links{gap:.6em}.project-links a{padding:.4em .8em}}
