.case-study{max-width:760px;margin:0 auto;padding:130px 24px 90px}.review-banner{border:1px solid var(--coral);border-radius:10px;background:color-mix(in srgb,var(--coral) 12%,transparent);color:var(--cream);font-size:.9rem;line-height:1.55;padding:14px 18px;margin-bottom:42px}.review-banner a{text-decoration:underline;text-underline-offset:3px}.review-banner code{font-size:.82em;background:color-mix(in srgb,var(--cream) 10%,transparent);padding:1px 5px;border-radius:4px}.case-header{margin-bottom:10px}.case-back{display:inline-block;font-size:.88rem;color:var(--muted);margin-bottom:34px}.case-study .eyebrow{color:var(--quiet);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;margin:0 0 6px}.prose{font-size:1.02rem;line-height:1.75;color:color-mix(in srgb,var(--cream) 92%,var(--muted))}.prose h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,5.5vw,3rem);line-height:1.12;color:var(--cream);margin:0 0 30px}.prose h2,.prose h3,.prose h4{font-family:var(--serif);font-weight:400;color:var(--cream);line-height:1.2;margin:2.6em 0 .65em}.prose h2{font-size:1.75rem}.prose h3{font-size:1.45rem}.prose h4{font-size:1.3rem;padding-top:1.1em;border-top:1px solid color-mix(in srgb,var(--line) 45%,transparent)}.prose p{margin:0 0 1.15em}.prose a{color:var(--coral);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--coral) 50%,transparent)}.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.3em}.prose li{margin-bottom:.4em}.prose img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);margin:2em 0;background:var(--forest-deep)}.prose em{font-style:italic}.prose blockquote{margin:1.6em 0;padding:12px 18px;border-left:3px solid var(--quiet);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--quiet) 12%,transparent);color:var(--muted);font-size:.92rem}.prose blockquote p{margin:0}.case-footer{margin-top:76px;padding-top:26px;border-top:1px solid color-mix(in srgb,var(--line) 45%,transparent);display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap}@media(max-width:640px){.case-study{padding-top:112px}}.prose .img-row{display:flex;gap:16px;justify-content:center;align-items:flex-start;margin:2em 0}.prose .img-row p{margin:0;min-width:0;display:flex;justify-content:center}.prose .img-row img{margin:0;width:auto;max-width:100%;max-height:560px;object-fit:contain}@media(max-width:640px){.prose .img-row{flex-direction:column;align-items:center}.prose .img-row img{max-height:none}}.prose img.zoomable{cursor:zoom-in}.lightbox{border:none;border-radius:12px;padding:0;background:var(--forest-deep);max-width:95vw;max-height:93vh;overflow:auto}.lightbox::backdrop{background:#06120fdb}.lightbox img{display:block;max-width:93vw;max-height:89vh;width:auto;height:auto;cursor:zoom-out}.lightbox-close{position:sticky;top:10px;float:right;margin:10px;z-index:1;border:1px solid color-mix(in srgb,var(--cream) 35%,transparent);border-radius:999px;width:36px;height:36px;background:color-mix(in srgb,var(--forest) 80%,transparent);color:var(--cream);cursor:pointer}.lightbox-close:hover{color:var(--coral);border-color:var(--coral)}.case-footer{display:block}.next-case{display:flex;flex-direction:column;gap:6px;border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:12px;padding:22px 26px;margin-bottom:34px;transition:border-color .15s ease}.next-case:hover{border-color:var(--coral);color:inherit}.next-case .next-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--quiet)}.next-case .next-title{font-family:var(--serif);font-size:1.5rem;color:var(--cream)}.next-case:hover .next-title{color:var(--coral)}.case-footer-row{display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap}.about-prose img:first-of-type{max-width:320px;border-radius:14px}.pub-list{list-style:none;padding:0;margin:2em 0}.pub-list li{border-top:1px solid color-mix(in srgb,var(--line) 45%,transparent);padding:26px 0}.pub-citation{margin:0 0 10px}.pub-link{font-size:.85rem;letter-spacing:.06em;color:var(--coral);text-decoration:none}.prose video{display:block;width:100%;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);margin:2em 0;background:var(--forest-deep)}.prose .embed-frame{display:block;width:100%;min-height:600px;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);border-radius:10px;margin:2em 0;background:#f3efdf}.prose .gallery{margin:2em 0}.prose .gallery:focus-visible{outline:2px solid var(--coral);outline-offset:6px;border-radius:12px}.gallery-viewport{overflow:hidden;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);background:var(--forest-deep)}.gallery-track{display:flex;transition:transform .35s cubic-bezier(.4,0,.2,1);will-change:transform}.gallery-slide{flex:0 0 100%;height:min(70vh,640px);display:grid;place-items:center;padding:12px}.prose .gallery-slide img{margin:0;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border:0;border-radius:4px;background:transparent;cursor:zoom-in}.gallery-caption{margin:12px 0 0;min-height:1.2em;font-size:.9rem;color:var(--muted);text-align:center}.gallery-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:10px}.gallery-btn{width:40px;height:40px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:transparent;color:var(--cream);font-size:1.1rem;cursor:pointer;transition:border-color .15s ease,color .15s ease}.gallery-btn:hover{border-color:var(--coral);color:var(--coral)}.gallery-counter{font-variant-numeric:tabular-nums;font-size:.85rem;letter-spacing:.06em;color:var(--quiet);min-width:64px;text-align:center}.gallery-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.gallery-dot{width:8px;height:8px;padding:0;border-radius:999px;border:0;background:color-mix(in srgb,var(--muted) 45%,transparent);cursor:pointer;transition:background .15s ease,transform .15s ease}.gallery-dot:hover{background:var(--muted)}.gallery-dot.is-active{background:var(--coral);transform:scale(1.35)}@media(max-width:640px){.gallery-slide{height:60vh}}.prose .video-embed{position:relative;aspect-ratio:16 / 9;margin:2em 0;border-radius:10px;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);background:#000}.prose .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
