.case-links{grid-column:2;display:flex;align-items:center;gap:24px}.case-links .text-link{font-size:14px}.case-instagram{font-size:12px;color:#666;text-decoration:underline;text-underline-offset:4px}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.case-card{display:block;min-width:0}.case-image{aspect-ratio:8/5;border-radius:20px;overflow:hidden;background:#d9c4ee}.case-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.case-card:hover .case-image img{transform:scale(1.025)}.case-type{display:flex;align-items:flex-end;padding:28px;background:#d4e7f3}.case-card:nth-child(3n+2) .case-type{background:#c4aaea}.case-card:nth-child(3n+3) .case-type{background:#e5dcef}.case-type span{font-size:clamp(22px,2.5vw,36px);font-weight:700;line-height:1.3;overflow-wrap:anywhere}.case-caption{padding:22px 0 12px}.case-meta{font-size:11px;letter-spacing:.4px;color:#666}.case-caption h3{font-size:22px;line-height:1.4;margin:12px 0;font-weight:600;overflow-wrap:anywhere}.case-caption p{font-size:15px;line-height:1.7;color:#555;margin:0 0 18px}.case-read{font-size:12px;border-bottom:1px solid #aaa;padding-bottom:4px}.cases-empty{border-top:1px solid #d6d6da;padding:32px 0 10px;margin-left:calc((100% - 22px)/3 + 22px)}.cases-empty p{font-size:20px;font-weight:600;margin:0 0 14px;line-height:1.5}.cases-empty span{font-size:14px;line-height:1.7;color:#666}.cases-index{padding-top:60px;padding-bottom:90px}.cases-index h1{font-size:clamp(36px,5vw,70px);font-weight:700;line-height:1.25;margin:28px 0 24px;letter-spacing:-.035em}.cases-lead{font-size:17px;line-height:1.7;color:#555;margin-bottom:50px}.cases-index .cases-empty{margin:55px 0 0;min-height:220px}.case-pagination{display:flex;gap:30px;justify-content:center;margin-top:45px;font-size:14px}.case-pagination a{text-decoration:underline;text-underline-offset:4px}.case-article{padding-top:30px;padding-bottom:80px}.case-back{font-size:13px;text-decoration:underline;text-underline-offset:5px;color:#666}.case-title{margin:45px 0}.case-title h1{font-size:clamp(34px,4.8vw,72px);font-weight:700;line-height:1.23;letter-spacing:-.035em;margin:24px 0;max-width:1200px;overflow-wrap:anywhere}.case-title p{font-size:clamp(16px,1.6vw,21px);line-height:1.7;color:#555;max-width:800px}.case-cover{border-radius:22px;overflow:hidden;margin-bottom:36px}.case-cover img{display:block;width:100%;height:auto;max-height:780px;object-fit:cover}.case-facts{display:flex;gap:45px;flex-wrap:wrap;margin:30px 0 55px}.case-facts>div{max-width:300px}.case-facts span{display:block;font-size:12px;color:#666;margin-bottom:12px}.case-facts strong{font-size:16px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.case-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:35px;background:#d4e7f3;border-radius:20px;margin:0 0 55px}.case-metrics strong{font-size:clamp(25px,3vw,48px);font-weight:700;line-height:1.3;display:block;overflow-wrap:anywhere}.case-metrics span{display:block;margin-top:12px;font-size:14px;line-height:1.6}.case-story{display:grid;grid-template-columns:1fr 2fr;gap:22px;padding:32px 0 42px;border-top:1px solid #d6d6da}.case-story h2{font-size:26px;line-height:1.4}.case-story p{font-size:17px;line-height:1.85;margin:0 0 24px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:850px}.case-story p:last-child{margin-bottom:0}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:35px 0}.case-gallery figure{margin:0}.case-gallery img{width:100%;height:auto;display:block;border-radius:16px}.case-gallery figcaption{font-size:13px;color:#666;margin-top:12px;line-height:1.7}.case-film{max-width:960px;margin:40px auto}.case-end{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #d6d6da;margin-top:55px;padding-top:35px}.case-end>span{font-size:12px;color:#666}.case-end .button{font-size:14px}.preview-banner{padding:14px 5%;background:#d9c6f0;display:flex;gap:25px;justify-content:center;font-size:13px;line-height:1.7}.preview-banner a{text-decoration:underline}
@media(max-width:900px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-caption h3{font-size:20px}.case-metrics{gap:20px;padding:28px}.case-story{grid-template-columns:1fr 2fr}.case-facts{gap:30px}}
@media(max-width:650px){.case-grid{grid-template-columns:1fr;gap:30px}.case-image{border-radius:16px}.case-caption{padding-top:18px}.case-caption h3{font-size:23px}.case-caption p{font-size:16px}.case-type span{font-size:32px}.case-links{grid-column:1;gap:22px}.cases-empty{margin-left:0;padding-top:25px}.cases-empty p{font-size:18px}.cases-index{padding-top:32px;padding-bottom:55px}.cases-index h1{font-size:34px;margin-top:24px}.cases-lead{font-size:16px;margin-bottom:35px}.case-article{padding-top:20px;padding-bottom:55px}.case-title{margin:30px 0}.case-title h1{font-size:32px}.case-story{grid-template-columns:1fr;gap:20px;padding:27px 0 35px}.case-story h2{font-size:23px}.case-story p{font-size:16px;line-height:1.85}.case-cover{border-radius:16px}.case-facts{margin:25px 0 35px}.case-metrics{grid-template-columns:1fr;padding:27px;gap:28px;margin-bottom:35px}.case-metrics strong{font-size:36px}.case-gallery{grid-template-columns:1fr;gap:25px}.case-end{flex-direction:column;align-items:flex-start;margin-top:35px}.case-end .button{font-size:13px}.preview-banner{flex-wrap:wrap;gap:8px 20px}}

.case-title .case-demo-note{font-size:13px;line-height:1.7;color:#666;margin:0 0 22px;max-width:720px}
.case-card{display:flex;flex-direction:column}.case-image{flex:none}.case-caption{flex:1;display:flex;flex-direction:column}.case-read{margin-top:auto;align-self:flex-start}
.case-grid-home{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px}.works .section-heading{margin-bottom:34px}.works .section-heading h2{font-size:clamp(32px,3.5vw,50px);line-height:1.15}.case-card-compact .case-image{border-radius:14px}.case-card-compact .case-type{padding:20px}.case-card-compact .case-type span{font-size:clamp(20px,2vw,28px);line-height:1.25}.case-card-compact .case-caption{padding:14px 0 0;gap:8px}.case-card-compact .case-meta{font-size:12px;line-height:1.5;letter-spacing:0}.case-card-compact h3{font-size:16px;line-height:1.5;letter-spacing:-.2px;margin:0;font-weight:600}.case-card-compact:hover h3{text-decoration:underline;text-underline-offset:4px}.case-card-compact:focus-visible{border-radius:14px}
@media(max-width:1000px){.case-grid-home{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.case-grid-home{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.case-card-compact .case-type{padding:16px}.case-card-compact .case-type span{font-size:21px}.case-card-compact h3{font-size:15px}.works .section-heading h2{font-size:34px}}
@media(max-width:420px){.case-grid-home{gap:24px 14px}.case-card-compact .case-type{padding:14px}.case-card-compact .case-type span{font-size:18px}.case-card-compact h3{font-size:14px;line-height:1.55}.case-card-compact .case-caption{padding-top:12px;gap:6px}.case-card-compact .case-meta{font-size:12px}}
@media(max-width:340px){.case-grid-home{grid-template-columns:1fr}.case-card-compact h3{font-size:16px}.case-card-compact .case-type span{font-size:24px}}
.case-brand-card{position:relative;display:flex;align-items:flex-end;padding:24px;background:#d4e7f3;isolation:isolate}.case-card:nth-child(3n+2) .case-brand-card{background:#c4aaea}.case-card:nth-child(3n+3) .case-brand-card{background:#e5dcef}.case-cover-label{font-size:clamp(22px,2.5vw,36px);font-weight:700;line-height:1.25;overflow-wrap:anywhere}.case-brand-card.has-cover{padding:0}.case-card-cover{object-fit:cover}.case-logo-base,.case-logo-reveal{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:28px}.logo-light{background:#fff;color:#161616}.logo-dark{background:#1c1c1f;color:#fff}.case-logo-base img,.case-logo-reveal img{width:100%;height:100%;object-fit:contain;transform:none!important}.case-logo-reveal{opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;z-index:1}.case-logo-reveal span{font-size:clamp(20px,2.6vw,36px);font-weight:700;line-height:1.3;text-align:center;overflow-wrap:anywhere}.case-card:hover .case-logo-reveal,.case-card:focus-visible .case-logo-reveal{opacity:1;transform:none}.case-card-compact .case-brand-card{padding:20px}.case-card-compact .case-brand-card.has-cover{padding:0}.case-card-compact .case-cover-label{font-size:clamp(20px,2vw,28px)}.case-card-compact .case-logo-reveal{padding:22px}.services-action{display:flex;justify-content:center;margin-top:32px}.services-action .button{font-size:16px}
.case-intro{display:grid;grid-template-columns:minmax(0,3fr) minmax(180px,1fr);gap:65px;align-items:start;padding:48px 0 60px;border-bottom:1px solid #dadade;margin-bottom:58px}.case-intro .case-title{margin:0}.case-intro h1{font-size:clamp(32px,4.5vw,68px);max-width:1000px}.case-intro .case-title>p{font-size:18px;line-height:1.8;margin-bottom:0}.case-project-meta{min-width:0;margin-top:50px}.case-project-meta dl{margin:0;display:flex;flex-direction:column;gap:23px}.case-project-meta dt{font-size:12px;color:#666;margin:0 0 6px}.case-project-meta dd{font-size:14px;line-height:1.65;margin:0;overflow-wrap:anywhere}.case-project-logo{padding:16px;border-radius:12px;margin-bottom:24px;max-width:200px}.case-project-logo img{display:block;max-width:100%;max-height:80px;margin:auto;object-fit:contain}.case-narrative{padding:12px 0 35px}.story-block+.story-block{margin-top:clamp(45px,6vw,96px)}.story-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}.story-copy{min-width:0}.story-copy h2,.story-wide>h2{font-size:clamp(26px,2.8vw,42px);line-height:1.3;margin:0 0 28px}.story-copy p{font-size:17px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 24px}.story-copy p:last-child{margin-bottom:0}.story-text .story-copy{max-width:850px;margin:auto}.story-figure{margin:0;min-width:0}.story-figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:16px}.story-figure figcaption{font-size:13px;line-height:1.8;color:#666;margin-top:14px}.story-wide .story-figure img{border-radius:20px}.story-text+.story-text{padding-top:40px;border-top:1px solid #dadade}.case-narrative+.case-end{margin-top:45px}
@media(max-width:900px){.case-intro{gap:32px;grid-template-columns:minmax(0,2fr) minmax(160px,1fr)}.story-split{gap:28px}.story-copy p{font-size:16px;line-height:1.85}}
@media(max-width:650px){.case-intro{display:block;padding:30px 0 35px;margin-bottom:35px}.case-intro .case-title>p{font-size:16px;line-height:1.85}.case-project-meta{margin-top:30px}.case-project-meta dl{display:flex;flex-direction:row;gap:20px;flex-wrap:wrap}.case-project-meta dl>div{min-width:100px;max-width:100%}.case-project-logo{max-width:190px}.story-split{display:flex;flex-direction:column;align-items:stretch;gap:25px}.story-block+.story-block{margin-top:42px}.story-copy h2,.story-wide>h2{font-size:26px;margin-bottom:20px}.story-copy p{font-size:16px}.story-figure img,.story-wide .story-figure img{border-radius:12px}.case-narrative{padding-top:0}.case-card-compact .case-brand-card{padding:14px}.case-card-compact .case-cover-label{font-size:18px}.case-logo-reveal span{font-size:20px}.services-action{margin-top:25px}}
@media(hover:none){.case-brand-card:not(.has-cover) .case-logo-reveal{display:none}.case-brand-card.has-cover .case-logo-reveal{inset:auto 10px 10px auto;width:40%;height:32%;padding:8px;opacity:1;transform:none;border-radius:8px}.case-brand-card.has-cover .case-logo-reveal span{font-size:12px}}
.story-centered{max-width:850px;margin-left:auto;margin-right:auto}.story-media-wide.story-media-left{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.story-media-wide.story-media-right{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.story-stack{display:flex;flex-direction:column;align-items:stretch;gap:clamp(28px,4vw,56px)}.story-stack .story-copy{width:100%;max-width:850px;margin:0 auto}.story-stack .story-figure{width:100%}.story-gallery-images{display:grid;gap:clamp(16px,2vw,28px);align-items:start}.story-gallery-pair .story-gallery-images{grid-template-columns:repeat(2,minmax(0,1fr))}.story-gallery-grid .story-gallery-images{grid-template-columns:repeat(3,minmax(0,1fr))}.story-gallery .story-figure{min-width:0}.story-gallery .story-figure img{width:100%;height:auto;object-fit:contain}
@media(max-width:900px){.story-gallery-grid .story-gallery-images{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.story-media-wide.story-media-left,.story-media-wide.story-media-right{display:flex;flex-direction:column}.story-stack{gap:25px}.story-gallery-pair .story-gallery-images,.story-gallery-grid .story-gallery-images{grid-template-columns:1fr}}

/* Five projects form a deliberate 3+2 grid rather than a lone final tile. */
@media(min-width:901px){
  .case-grid:has(>.case-card:nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
  .case-grid:has(>.case-card:nth-child(5):last-child)>.case-card{grid-column:span 2}
  .case-grid:has(>.case-card:nth-child(5):last-child)>.case-card:nth-last-child(-n+2){grid-column:span 3}
  .case-grid:has(>.case-card:nth-child(5):last-child) .case-image{aspect-ratio:auto;height:clamp(180px,19vw,280px)}
}
@media(min-width:701px) and (max-width:900px){
  .case-grid-home:has(>.case-card:nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
  .case-grid-home:has(>.case-card:nth-child(5):last-child)>.case-card{grid-column:span 2}
  .case-grid-home:has(>.case-card:nth-child(5):last-child)>.case-card:nth-last-child(-n+2){grid-column:span 3}
  .case-grid-home:has(>.case-card:nth-child(5):last-child) .case-image{aspect-ratio:auto;height:clamp(150px,19vw,180px)}
}
@media(min-width:651px) and (max-width:900px){
  .case-grid:not(.case-grid-home)>.case-card:last-child:nth-child(odd){grid-column:1/-1}
  .case-grid:not(.case-grid-home)>.case-card:last-child:nth-child(odd) .case-image{aspect-ratio:16/7}
}
@media(min-width:341px) and (max-width:700px){
  .case-grid-home>.case-card:last-child:nth-child(odd){grid-column:1/-1}
  .case-grid-home>.case-card:last-child:nth-child(odd) .case-image{aspect-ratio:16/7}
}

/* Uploaded logos fill the artwork; the hover layer and CTA sit above them. */
.case-brand-card{padding:0;align-items:center;justify-content:center}
.case-brand-card::after{content:"";position:absolute;inset:0;background:rgb(255 255 255 / 20%);opacity:0;transition:opacity .2s ease;z-index:2;pointer-events:none}
.case-card:hover .case-brand-card::after,.case-card:focus-visible .case-brand-card::after{opacity:1}
.case-brand-logo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1}
.case-brand-logo img{width:100%;height:100%;object-fit:contain;transform:none!important}
.case-brand-name{position:relative;z-index:2;max-width:85%;padding:12px 16px;border-radius:10px;background:#ffffffed;color:#161616;font-size:clamp(18px,2vw,28px);font-weight:700;overflow-wrap:anywhere;text-align:center}
.case-action-reveal{position:absolute;inset:auto 0 0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 20px;color:#161616;background:linear-gradient(rgb(255 255 255 / 0%), rgb(255 255 255 / 90%));opacity:0;transition:opacity .2s ease;pointer-events:none}
.case-action-reveal span:first-child{font-size:13px;font-weight:600;line-height:1.4}
.case-action-reveal span:last-child{font-size:25px;line-height:1}
.case-card:hover .case-action-reveal,.case-card:focus-visible .case-action-reveal{opacity:1}
.story-video>h2{font-size:clamp(26px,2.8vw,42px);line-height:1.3;margin:0 0 28px}
.story-video-frame{aspect-ratio:16/9;width:100%;background:#1c1c1f;border-radius:20px;overflow:hidden;margin-inline:auto}
.story-video-frame.video-portrait{aspect-ratio:9/16;width:min(100%,420px,calc(75svh * 9 / 16));max-width:420px}
.story-video-frame.video-square{aspect-ratio:1;max-width:800px}
.story-video-frame video,.story-video-frame iframe{display:block;width:100%;height:100%;object-fit:contain;border:0}
.story-video-frame video:focus-visible{outline:3px solid #9b73e7;outline-offset:-4px}
@media(hover:none){.case-action-reveal{opacity:1}}
@media(max-width:650px){.case-action-reveal{padding:12px}.case-action-reveal span:first-child{font-size:11px}.story-video-frame{border-radius:12px}}
@media(prefers-reduced-motion:reduce){.case-brand-card::after,.case-action-reveal{transition:none}}

@media(max-width:650px){.case-card-compact .case-brand-name{font-size:clamp(12px,3vw,16px);padding:9px 10px;max-width:90%;line-height:1.3}}
