.prose-portfolio{color:#1a1a1a;font-size:1.125rem;line-height:1.8}.prose-portfolio>*+*{margin-top:1.5rem}.prose-portfolio h2{font-size:1.5rem;font-weight:500;margin-top:3rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e5e5}.prose-portfolio h3{font-size:1.25rem;font-weight:500;margin-top:2rem;margin-bottom:.75rem}.prose-portfolio p{margin-bottom:1.5rem;color:#555;font-size:1rem}.prose-portfolio ul,.prose-portfolio ol{margin-bottom:1.5rem;padding-left:1.5rem}.prose-portfolio ul{list-style-type:disc}.prose-portfolio ol{list-style-type:decimal}.prose-portfolio li{margin-bottom:.5rem;color:#555;font-size:1rem}.prose-portfolio a{color:#1a1a1a;text-decoration:underline;text-underline-offset:2px}.prose-portfolio a:hover{color:#666}.prose-portfolio strong{font-weight:600}.prose-portfolio blockquote{border-left:2px solid #e5e5e5;padding-left:1.5rem;margin:2rem 0;font-style:italic;color:#666}.tldr{background:color-mix(in srgb,var(--blue) 50%,white);border:2px solid #000;padding:1rem 1.5rem 1.25rem;margin-bottom:2rem}.tldr-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;margin:0 0 .5rem!important;margin-top:0!important;padding:0 0 .5rem;border:none;border-bottom:1px solid #000!important;color:#000}.tldr-text{margin-bottom:1rem;color:#1a1a1a;font-size:1rem;line-height:1.6}.tldr-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(min-width:640px){.tldr-metrics{grid-template-columns:repeat(4,1fr)}}.tldr-metric{text-align:center}.tldr-metric-value{display:block;font-size:1.5rem;font-weight:600;color:#1a1a1a}.tldr-metric-label{display:block;font-size:.8rem;color:#666}.toc{background:#fff;border:1px solid #e5e5e5;padding:1.25rem 1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000000a}.toc-title{font-size:.9rem;font-weight:600;margin:0 0 .75rem!important;margin-top:0!important;padding:0;border:none;color:#666;text-transform:uppercase;letter-spacing:.05em}.toc-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem}.toc-list li{padding-left:.25rem}.toc-link{color:#1a1a1a;text-decoration:none!important;font-size:.95rem;transition:color .2s}.toc-link:hover{color:#666;text-decoration:none!important}.prose-portfolio table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}.prose-portfolio td{padding:.75rem 1rem;border-bottom:1px solid #f0f0f0}.prose-portfolio td:first-child{width:120px;color:#666}.prose-portfolio tbody tr:last-child td{border-bottom:none}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0}@media(min-width:640px){.results-grid{grid-template-columns:repeat(3,1fr)}}.result-item{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;background:#fff;border:1px solid #e5e5e5;box-shadow:0 1px 3px #0000000a}.result-icon{font-size:1.25rem;color:#666;flex-shrink:0;margin-top:.125rem}.result-content{display:flex;flex-direction:column}.result-value{font-size:1.5rem;font-weight:700;color:#000;line-height:1.2}.result-label{font-size:.85rem;color:#555;font-weight:500}.result-detail{font-size:.75rem;color:#999;font-style:italic}.approach-timeline{display:flex;flex-direction:column;gap:2rem;margin:2rem 0}.approach-card{position:relative;background:#fff;border:1px solid #e5e5e5;padding:2rem 2rem 2rem 2.5rem;max-width:85%;box-shadow:0 2px 8px #0000000a;overflow:hidden}.approach-card.align-left{margin-right:auto;margin-left:0}.approach-card.align-right{margin-left:auto;margin-right:0}.approach-bg-number{position:absolute;top:-.5rem;left:-.5rem;font-size:8rem;font-weight:800;color:#00000008;line-height:1;pointer-events:none;user-select:none;z-index:0}.approach-card-content{position:relative;z-index:1}.approach-phase-num{font-size:.7rem;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:.25rem}.approach-title{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin:0 0 .75rem;padding:0;border:none}.approach-desc{color:#444;margin-bottom:1rem;font-size:.95rem;line-height:1.7}.approach-tasks{margin:0;padding-left:1.25rem;list-style-type:disc}.approach-tasks li{font-size:.9rem;color:#666;margin-bottom:.25rem}@media(max-width:640px){.approach-card{max-width:100%}.approach-bg-number{font-size:5rem}}.image-gallery{display:flex;flex-direction:column;gap:2rem;margin:1.5rem 0}.gallery-item{margin:0}.gallery-img{width:100%;height:auto;cursor:zoom-in;border:1px solid #e5e5e5;border-radius:4px;transition:opacity .2s}.gallery-img:hover{opacity:.9}.gallery-item figcaption{font-size:.85rem;color:#666;text-align:center;margin-top:.5rem}.success-list{list-style:none;padding:0;margin:1.5rem 0}.success-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding:0}.success-icon{font-size:1.25rem;color:#666;flex-shrink:0;margin-top:.125rem}.success-item strong{display:block;margin-bottom:.25rem}.success-desc{display:block;font-size:.95rem;color:#666}.testimonial{background:#fafafa;border:none;border-left:3px solid #1a1a1a;padding:1.5rem;margin:2rem 0}.testimonial p{font-size:1.1rem;font-style:italic;margin-bottom:1rem}.testimonial footer{font-style:normal;font-size:.9rem;color:#666}.lightbox{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:9999}.lightbox.active{opacity:1;visibility:visible}.lightbox-content{text-align:center;margin:0}.lightbox-content img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:4px}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:1rem;opacity:.7;transition:opacity .2s}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{opacity:1}.lightbox-close{top:1rem;right:1rem}.lightbox-prev{left:1rem;top:50%;transform:translateY(-50%)}.lightbox-next{right:1rem;top:50%;transform:translateY(-50%)}.lightbox-caption{color:#ffffffb3;margin-top:1rem;font-size:.9rem}.lightbox-counter{position:absolute;top:1.5rem;left:50%;transform:translate(-50%);color:#ffffff80;font-size:.85rem}
