/* Shared project identity, preview and carousel refinements. */
.project-title-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:16px;margin:0 0 16px}
.project-carousel-copy .project-title-row h2{margin:0;font-size:clamp(23px,2vw,31px);line-height:1.12}
.company-title-link{color:inherit;text-decoration:none;text-underline-offset:5px;text-decoration-thickness:1px;transition:color .2s ease}
.company-title-link:hover,.company-title-link:focus-visible{color:var(--red);text-decoration:underline}
.company-logo{display:block;width:100%;height:80px;object-fit:contain}
.project-carousel-controls{display:grid;grid-template-columns:44px 1fr 44px;gap:8px}
.project-carousel-dots{justify-content:center}
.project-carousel-controls [data-slide]{min-width:32px}
.project-carousel-counter{display:none}
.project-carousel-slide{gap:22px}
.project-carousel-copy>p{max-width:45ch}
.project-carousel-cta{position:relative;isolation:isolate;background:#b7090c;color:#fff8ee;padding:clamp(24px,3.5vw,48px);overflow:hidden}
.project-carousel-cta::before{content:"";position:absolute;z-index:-1;width:270px;height:270px;border:1px solid rgba(255,255,255,.2);border-radius:50%;right:-100px;top:-90px;box-shadow:0 0 0 44px rgba(255,255,255,.04),0 0 0 88px rgba(255,255,255,.025);pointer-events:none}
.project-carousel-cta .project-carousel-eyebrow{color:#fff0e5;letter-spacing:.14em;margin-bottom:28px}
.project-carousel-cta .project-carousel-copy h2{font-size:clamp(36px,4vw,58px);line-height:1.02;letter-spacing:-.045em;max-width:10ch;margin-bottom:24px;text-wrap:balance}
.project-carousel-cta .project-carousel-copy p{color:#fff0e5;font-size:16px;line-height:1.6;max-width:30ch;margin-bottom:30px}
.project-carousel-cta .project-carousel-link{display:flex;justify-content:space-between;gap:20px;padding:15px 19px;min-height:56px;background:#fff8ee;color:#151515;border:1px solid #fff8ee;border-radius:8px;font-weight:700}
.project-carousel-cta .project-carousel-link:hover{background:#111;border-color:#111;color:#fff;text-decoration:none}
.project-carousel-cta .project-carousel-link:focus-visible{outline-color:#fff;outline-offset:4px}
.work-brand-preview{position:relative;display:grid;place-items:center;aspect-ratio:1.6;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f4f1ea}
.work-brand-preview>.work-company-logo{display:block;width:65%;height:78%;object-fit:contain;transition:opacity .28s ease,transform .4s ease}
.work-brand-preview>.project-frame{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;border:0;border-radius:0;background:var(--paper);opacity:0;transition:opacity .28s ease;pointer-events:none}
.work-brand-preview>.project-frame .project-shot{width:100%;height:auto;max-height:calc(100% - 32px);object-fit:contain}
.work-index-card-link:focus-visible .work-brand-preview>.project-frame,.work-index-card.is-previewing .work-brand-preview>.project-frame{opacity:1}
.work-index-card-link:focus-visible .work-company-logo,.work-index-card.is-previewing .work-company-logo{opacity:0}
.work-preview-toggle{font:inherit;font-size:12px;border:1px solid var(--line);border-radius:30px;padding:10px 16px;min-height:44px;background:transparent;color:var(--ink);margin-top:14px;cursor:pointer}
.work-preview-toggle[hidden]{display:none}
.work-preview-toggle[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.work-list-logo{position:relative;overflow:hidden}
.work-list-logo .work-list-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;background:var(--paper);transition:opacity .25s ease}
.work-list-link:focus-visible .work-list-shot{opacity:1}
.case-company-logo{display:block;width:clamp(150px,19vw,240px);height:120px;object-fit:contain;object-position:left center;margin:0 0 24px}
[dir=rtl] .case-company-logo{object-position:right center}
@media(hover:hover) and (pointer:fine){
 .work-index-card-link:hover .work-brand-preview>.project-frame{opacity:1}
 .work-index-card-link:hover .work-company-logo{opacity:0;transform:scale(.96)}
 .work-list-link:hover .work-list-shot{opacity:1}
}
@media(max-width:760px){.project-title-row{grid-template-columns:minmax(0,1fr) 82px;gap:12px}.company-logo{height:70px}.project-carousel-cta .project-carousel-copy h2{font-size:clamp(36px,10vw,52px)}.case-company-logo{width:170px;height:100px}.project-carousel-slide{gap:18px}}
@media(prefers-reduced-motion:reduce){.company-title-link,.work-brand-preview>*,.work-list-logo .work-list-shot{transition:none!important}.work-index-card-link:hover .work-company-logo{transform:none}}
