:root { --case-ink:var(--ai-color-navy); --case-navy:var(--ai-color-panel); --case-blue:#3b52c7; --case-soft:var(--ai-color-surface); --case-line:#dce1ea; --case-muted:#626b82; }
.ai-case-study,.ai-case-study *{box-sizing:border-box}.ai-case-study{background:var(--ai-color-white);color:var(--case-ink);font-family:var(--ai-font-body);overflow:hidden}.ai-case-study h2,.ai-case-study h3,.ai-case-study p{margin-top:0}.single-our_projects .ai-page-hero{min-height:640px;padding-bottom:118px}.single-our_projects .ai-page-hero__copy{max-width:980px}.single-our_projects .ai-page-hero h1{font-size:clamp(52px,6vw,82px);max-width:1050px}
.ai-case-section{padding:105px 0}.ai-case-heading>p,.ai-case-facts span,.ai-case-gallery__item figcaption span,.ai-case-story__panel span,.ai-case-cta p{color:var(--case-blue);font-size:var(--ai-type-small-size);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ai-case-heading>p{margin-bottom:17px}.ai-case-heading h2{font-family:var(--ai-font-display);font-size:clamp(38px,4.2vw,62px);font-weight:600;letter-spacing:-.035em;line-height:1.04;margin:0;max-width:860px}.ai-case-heading>div{color:var(--case-muted);font-size:17px;line-height:var(--ai-type-copy-leading);margin-top:22px;max-width:720px}.ai-case-heading--wide{align-items:end;display:grid;gap:20px 70px;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);margin-bottom:55px}.ai-case-heading--wide>p{grid-column:1/-1;margin-bottom:-4px}.ai-case-heading--wide>div{margin:0}.ai-case-prose{color:#3e4659;font-size:17px;line-height:1.85}.ai-case-prose p{margin-bottom:20px}.ai-case-prose p:last-child{margin-bottom:0}.ai-case-prose ul{display:grid;gap:12px;margin:25px 0;padding-left:20px}.ai-case-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s var(--ai-motion-ease-out)}.ai-case-reveal.is-visible{opacity:1;transform:none}
.ai-case-facts{margin-top:-40px;position:relative;z-index:4}.ai-case-facts__grid{backdrop-filter:blur(18px);background:rgba(255,255,255,.96);border:1px solid var(--case-line);border-radius:0;border-top:3px solid var(--case-blue);box-shadow:0 18px 45px rgba(10,22,56,.09);display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));overflow:hidden;padding:0}.ai-case-facts__grid>div{min-height:106px;padding:25px 30px;position:relative}.ai-case-facts__grid>div+div:before{background:var(--case-line);content:"";height:100%;left:0;position:absolute;top:0;width:1px}.ai-case-facts span{display:block;margin-bottom:9px}.ai-case-facts strong{display:block;font-size:16px;line-height:1.35}
.ai-case-overview{padding-top:115px}.ai-case-overview__grid{align-items:start;display:grid;gap:40px 70px;grid-template-columns:minmax(0,.95fr) minmax(0,.8fr) minmax(250px,.45fr)}.ai-case-highlight{background:var(--case-navy);border-radius:0;border-top:3px solid #7086ff;color:var(--ai-color-white);overflow:hidden;padding:34px;position:sticky;top:110px}.ai-case-highlight:after{display:none}.ai-case-highlight strong{display:block;font-family:var(--ai-font-display);font-size:clamp(58px,5.5vw,86px);letter-spacing:-.05em;line-height:.9}.ai-case-highlight span{color:var(--ai-color-highlight);display:block;font-size:15px;font-weight:700;margin-top:13px;text-transform:uppercase}.ai-case-highlight p{border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.7);font-size:var(--ai-type-body-size);line-height:1.7;margin:24px 0 0;padding-top:20px}
.ai-case-highlight.has-long-value strong{font-size:clamp(24px,1.8vw,27px);letter-spacing:-.02em;line-height:1.06;overflow-wrap:normal;word-break:normal}
.ai-case-scope{background:var(--case-soft)}.ai-case-scope__grid{border-left:1px solid var(--case-line);border-top:1px solid var(--case-line);display:grid;grid-template-columns:repeat(3,1fr)}.ai-case-scope__item{background:var(--case-soft);border-bottom:1px solid var(--case-line);border-right:1px solid var(--case-line);min-height:255px;padding:32px;transition:background .25s ease,box-shadow .25s ease}.ai-case-scope__item:hover{background:var(--ai-color-white);box-shadow:inset 0 3px 0 var(--case-blue);transform:none}.ai-case-scope__item>span{color:var(--case-blue);font-size:var(--ai-type-label-size);font-weight:700}.ai-case-scope__item h3{font-size:19px;margin:42px 0 13px}.ai-case-scope__item p{color:var(--case-muted);font-size:var(--ai-type-body-size);line-height:1.7;margin-bottom:0}
.ai-case-scope__grid--1{grid-template-columns:1fr}.ai-case-scope__grid--2,.ai-case-scope__grid--4{grid-template-columns:repeat(2,1fr)}
/* Keep five authored scope items balanced without an empty final cell. */
@media(min-width:1001px){.ai-case-scope__grid--5{grid-template-columns:repeat(6,minmax(0,1fr))}.ai-case-scope__grid--5>.ai-case-scope__item{grid-column:span 2}.ai-case-scope__grid--5>.ai-case-scope__item:nth-last-child(-n+2){grid-column:span 3}}
@media(min-width:701px) and (max-width:1000px){.ai-case-scope__grid--3>.ai-case-scope__item:last-child,.ai-case-scope__grid--5>.ai-case-scope__item:last-child{grid-column:1/-1}.ai-case-challenges__grid>.ai-case-challenge:nth-child(odd){border-left:0;padding-left:0}.ai-case-challenges__grid>.ai-case-challenge:last-child:nth-child(odd){grid-column:1/-1}}
.ai-case-story{background:var(--ai-color-white)}.ai-case-story__grid{display:grid;gap:4px;grid-template-columns:1fr 1fr}.ai-case-story__panel{border-top:1px solid var(--case-line);margin:0;padding-top:4px}.ai-case-story__panel>div{aspect-ratio:1.45;background:#eef1f5;border-radius:0;overflow:hidden;position:relative}.ai-case-story__panel img{height:100%;object-fit:cover;width:100%;transition:filter .45s ease}.ai-case-story__panel:first-child img{object-fit:cover}.ai-case-story__panel:hover img{filter:brightness(.9);transform:none}.ai-case-story__panel span{background:rgba(16,26,59,.94);bottom:0;color:var(--ai-color-white);left:0;padding:10px 13px;position:absolute}.ai-case-story__panel figcaption{border-left:1px solid var(--case-line);color:var(--case-muted);font-size:var(--ai-type-small-size);line-height:1.7;margin-top:16px;padding:4px 18px 0}
.ai-case-challenges{background:var(--case-navy);color:var(--ai-color-white)}.ai-case-challenges .ai-case-heading>p{color:var(--ai-color-highlight)}.ai-case-challenges__grid{border-top:1px solid rgba(255,255,255,.17);display:grid;grid-template-columns:repeat(var(--ai-challenge-count,5),minmax(0,1fr))}.ai-case-challenge{min-height:310px;padding:35px 22px 15px 0}.ai-case-challenge+.ai-case-challenge{border-left:1px solid rgba(255,255,255,.17);padding-left:22px}.ai-case-challenge strong{color:var(--ai-color-highlight);display:block;font-family:var(--ai-font-display);font-size:clamp(32px,3vw,46px);letter-spacing:-.04em;white-space:nowrap}.ai-case-challenge h3{font-size:16px;margin:50px 0 14px}.ai-case-challenge p{color:rgba(255,255,255,.65);font-size:var(--ai-type-body-size);line-height:var(--ai-type-copy-leading);margin:0;max-width:760px}
.ai-case-gallery{background:var(--ai-color-white)}.ai-case-gallery__top{align-items:end;border-bottom:1px solid var(--case-line);display:flex;gap:35px;justify-content:space-between;margin-bottom:4px;padding-bottom:32px}.ai-case-gallery__top .ai-case-heading{max-width:760px}.ai-case-filters{display:flex;flex-wrap:wrap;gap:24px;justify-content:flex-end}.ai-case-filters button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--case-muted);cursor:pointer;font-family:inherit;font-size:var(--ai-type-control-size);padding:9px 0 7px;transition:color .2s,border-color .2s}.ai-case-filters button:hover,.ai-case-filters button.is-active{background:transparent;border-color:var(--case-blue);color:var(--case-ink)}.ai-case-gallery__grid{display:grid;gap:18px;grid-auto-flow:dense;grid-template-columns:repeat(12,1fr)}.ai-case-gallery__item{grid-column:span 4;margin:0;transition:opacity .25s ease,transform .25s ease}.ai-case-gallery__item.is-featured{grid-column:span 8;grid-row:span 2}.ai-case-gallery__item.is-hidden{display:none}.ai-case-gallery__item>a{aspect-ratio:1.25;background:var(--case-soft);border-radius:0;display:block;overflow:hidden;position:relative}.ai-case-gallery__item.is-featured>a{aspect-ratio:1.58}.ai-case-gallery__item img{height:100%;object-fit:cover;width:100%;transition:transform .65s var(--ai-motion-ease-out)}.ai-case-gallery__item[data-media-type=model] img{object-fit:contain}.ai-case-gallery__item a>span{background:var(--ai-color-white);border-radius:0;bottom:15px;color:var(--case-ink);font-size:var(--ai-type-label-size);font-weight:700;opacity:0;padding:9px 13px;position:absolute;right:15px;transform:translateY(8px);transition:.25s}.ai-case-gallery__item a:hover img{transform:scale(1.035)}.ai-case-gallery__item a:hover>span{opacity:1;transform:none}.ai-case-gallery__item figcaption{color:var(--case-ink);font-size:var(--ai-type-small-size);padding:14px 4px 8px}.ai-case-gallery__item figcaption span{display:block;margin-bottom:5px}
.ai-case-video{background:var(--case-soft)}.ai-case-video__grid{align-items:center;display:grid;gap:70px;grid-template-columns:minmax(280px,.55fr) minmax(0,1.45fr)}.ai-case-video__player{background:#080b1c;border:1px solid #222b4b;border-radius:0;box-shadow:0 18px 45px rgba(10,22,56,.12);overflow:hidden;position:relative}.ai-case-video__player video,.ai-case-video__player iframe{aspect-ratio:16/9;display:block;height:auto;width:100%}
.ai-case-result{background:var(--ai-color-white)}.ai-case-result__grid{display:grid;gap:70px;grid-template-columns:1fr 1fr}.ai-case-text-link{border-bottom:1px solid currentColor;color:var(--case-blue);font-weight:700;text-decoration:none}.ai-case-text-link span{display:inline-block;transition:transform .2s}.ai-case-text-link:hover span{transform:translate(3px,-3px)}
.ai-case-cta{padding:0 0 90px}.ai-case-cta__inner{align-items:center;background:var(--case-blue);border-radius:0;border-top:3px solid #91a0ff;color:var(--ai-color-white);display:flex;gap:40px;justify-content:space-between;min-height:240px;overflow:hidden;padding:52px 58px;position:relative}.ai-case-cta__inner:after{display:none}.ai-case-cta p{color:#cbd2ff;margin-bottom:13px}.ai-case-cta h2{font-family:var(--ai-font-display);font-size:clamp(34px,3.5vw,54px);letter-spacing:-.035em;line-height:1.05;margin:0;max-width:800px}.ai-case-cta a{background:var(--ai-color-white);border:1px solid var(--ai-color-white);border-radius:0;color:var(--case-ink);flex:0 0 auto;font-size:var(--ai-type-control-size);font-weight:700;padding:15px 20px;position:relative;text-decoration:none;transition:background .2s,color .2s;z-index:1}.ai-case-cta a:hover{background:transparent;color:var(--ai-color-white)}.ai-case-cta a span{margin-left:14px}
@media(max-width:1000px){.single-our_projects .ai-page-hero{min-height:570px}.ai-case-overview__grid{grid-template-columns:1fr 1fr}.ai-case-highlight{grid-column:1/-1;position:relative;top:auto}.ai-case-scope__grid{grid-template-columns:repeat(2,1fr)}.ai-case-challenges__grid{grid-template-columns:repeat(2,1fr)}.ai-case-challenge:nth-child(3){border-left:0}.ai-case-video__grid{gap:40px;grid-template-columns:1fr}.ai-case-gallery__item{grid-column:span 6}.ai-case-gallery__item.is-featured{grid-column:span 12}.ai-case-heading--wide{grid-template-columns:1fr}.ai-case-heading--wide>p{grid-column:auto}.ai-case-heading--wide>div{margin-top:0}}
@media(max-width:700px){.single-our_projects .ai-page-hero{min-height:520px;padding-bottom:85px}.single-our_projects .ai-page-hero h1{font-size:clamp(40px,12vw,54px)}.ai-case-section{padding:72px 0}.ai-case-facts{margin-top:-35px}.ai-case-facts__grid{grid-template-columns:1fr 1fr}.ai-case-facts__grid>div{min-height:95px;padding:20px}.ai-case-facts__grid>div+div:before{display:none}.ai-case-facts__grid>div:nth-child(even){border-left:1px solid var(--case-line)}.ai-case-facts__grid>div:nth-child(n+3){border-top:1px solid var(--case-line)}.ai-case-overview{padding-top:80px}.ai-case-overview__grid,.ai-case-result__grid{gap:35px;grid-template-columns:1fr}.ai-case-highlight{padding:28px}.ai-case-scope__grid,.ai-case-story__grid,.ai-case-challenges__grid{grid-template-columns:1fr}.ai-case-scope__item{min-height:220px;padding:26px}.ai-case-scope__item h3{margin-top:30px}.ai-case-challenge{border-left:0!important;border-top:1px solid rgba(255,255,255,.17);min-height:240px;padding:28px 0!important}.ai-case-challenge h3{margin-top:36px}.ai-case-gallery__top{align-items:flex-start;flex-direction:column}.ai-case-filters{justify-content:flex-start}.ai-case-gallery__item,.ai-case-gallery__item.is-featured{grid-column:span 12;grid-row:auto}.ai-case-gallery__item>a,.ai-case-gallery__item.is-featured>a{aspect-ratio:1.35}.ai-case-cta{padding-bottom:55px}.ai-case-cta__inner{align-items:flex-start;flex-direction:column;min-height:0;padding:38px 28px}.ai-case-cta a{align-self:flex-start}.ai-case-prose{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ai-case-reveal{opacity:1;transform:none;transition:none}.ai-case-story__panel img,.ai-case-gallery__item img{transition:none}}

/* Case-study polish and a compact, full-bleed project media wall. */
.ai-case-highlight{padding:34px 28px}
.ai-case-highlight strong{font-size:clamp(34px,2.65vw,40px);font-variant-numeric:tabular-nums;letter-spacing:-.045em;line-height:1;max-width:100%;overflow-wrap:break-word;white-space:normal}
.ai-case-approach{background:var(--ai-color-surface)}
.ai-case-approach__grid{align-items:start;display:grid;gap:70px;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)}
.ai-case-approach .ai-case-prose{background:var(--ai-color-white);border-left:3px solid var(--case-blue);padding:38px 42px}
.ai-case-approach .ai-case-prose ul{grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:30px 0;padding:0}
.ai-case-approach .ai-case-prose li{border-top:1px solid var(--case-line);padding:18px 18px 2px 0}
.ai-case-gallery__grid{background:var(--case-line);display:grid;gap:4px;grid-auto-flow:row dense;grid-auto-rows:clamp(150px,14vw,220px);grid-template-columns:repeat(12,minmax(0,1fr))}
.ai-case-gallery__item,.ai-case-gallery__item.is-featured{display:block;grid-column:span 3;margin:0;overflow:hidden;width:auto}
.ai-case-gallery__item.is-bento-wide-left{grid-column:1/span 6;grid-row:span 2}
.ai-case-gallery__item.is-bento-wide-right{grid-column:7/span 6;grid-row:span 2}
.ai-case-gallery__item.is-bento-col-1{grid-column:1/span 3}
.ai-case-gallery__item.is-bento-col-4{grid-column:4/span 3}
.ai-case-gallery__item.is-bento-col-7{grid-column:7/span 3}
.ai-case-gallery__item.is-bento-col-10{grid-column:10/span 3}
.ai-case-gallery__item.is-balanced-third{grid-column:span 4}
.ai-case-gallery__item.is-balanced-half{grid-column:span 6}
.ai-case-gallery__item.is-single{grid-column:4/span 6}
.ai-case-gallery__item.is-hidden{display:none}
.ai-case-gallery__item>a,.ai-case-gallery__item.is-featured>a{aspect-ratio:auto;background:#11162d;border:0;border-radius:0;display:block;height:100%;isolation:isolate;min-height:0;overflow:hidden;position:relative}
.ai-case-gallery__item img,.ai-case-gallery__item[data-media-type=model] img,.ai-case-gallery__item.is-featured[data-media-type=model] img{background:#11162d;display:block;height:100%;object-fit:cover;padding:0;transition:filter .35s ease;width:100%}
.ai-case-gallery__item[data-media-type=model]>a,.ai-case-gallery__item[data-media-type=model] img{background:#edf0f5}
.ai-case-gallery__item[data-media-type=model] img{mix-blend-mode:multiply}
.ai-case-gallery__item[data-media-type=drawing] img{object-position:center}
.ai-case-gallery__item a>.ai-case-gallery__overlay{align-items:end;background:linear-gradient(180deg,rgba(8,13,34,0) 28%,rgba(8,13,34,.12) 54%,rgba(8,13,34,.94) 100%);color:var(--ai-color-white);display:grid;font-size:inherit;font-weight:400;grid-template-columns:minmax(0,1fr) auto;inset:0;opacity:0;padding:52px 18px 16px;pointer-events:none;position:absolute;transform:translateY(7px);transition:opacity .25s ease,transform .32s var(--ai-motion-ease-out);z-index:2}
.ai-case-gallery__overlay small{color:#cbd2ff;font-size:var(--ai-type-small-size);font-style:normal;font-weight:700;grid-column:1;letter-spacing:.1em;margin-bottom:6px;text-transform:uppercase}
.ai-case-gallery__overlay strong{align-self:end;color:var(--ai-color-white);font-size:var(--ai-type-label-size);font-weight:500;grid-column:1;line-height:1.4;max-width:92%}
.ai-case-gallery__overlay i{align-items:center;align-self:end;border:1px solid rgba(255,255,255,.5);border-radius:0;color:var(--ai-color-white);display:flex;font-size:14px;font-style:normal;grid-column:2;grid-row:1/3;height:36px;justify-content:center;width:36px}
.ai-case-gallery__item a:hover>.ai-case-gallery__overlay,.ai-case-gallery__item a:focus-visible>.ai-case-gallery__overlay{opacity:1;transform:none}
.ai-case-gallery__item a:hover img,.ai-case-gallery__item a:focus-visible img{filter:brightness(.86);transform:none}
.ai-case-gallery__item a:focus-visible{outline:3px solid #8290ef;outline-offset:-3px}
@media(max-width:1000px){.ai-case-approach__grid{gap:42px;grid-template-columns:1fr}.ai-case-gallery__grid{grid-auto-rows:clamp(145px,24vw,220px)}.ai-case-gallery__item,.ai-case-gallery__item.is-featured,.ai-case-gallery__item.is-bento-col-1,.ai-case-gallery__item.is-bento-col-4,.ai-case-gallery__item.is-bento-col-7,.ai-case-gallery__item.is-bento-col-10,.ai-case-gallery__item.is-balanced-third,.ai-case-gallery__item.is-balanced-half{grid-column:span 6}.ai-case-gallery__item.is-bento-wide-left,.ai-case-gallery__item.is-bento-wide-right{grid-column:1/-1;grid-row:span 2}.ai-case-gallery__item.is-single{grid-column:3/span 8}}
@media(max-width:700px){.ai-case-highlight strong{font-size:clamp(48px,15vw,64px)}.ai-case-approach .ai-case-prose{padding:28px 24px}.ai-case-approach .ai-case-prose ul{grid-template-columns:1fr}.ai-case-gallery__grid{gap:3px;grid-auto-rows:auto}.ai-case-gallery__item,.ai-case-gallery__item.is-featured,.ai-case-gallery__item.is-bento-wide-left,.ai-case-gallery__item.is-bento-wide-right,.ai-case-gallery__item.is-bento-col-1,.ai-case-gallery__item.is-bento-col-4,.ai-case-gallery__item.is-bento-col-7,.ai-case-gallery__item.is-bento-col-10,.ai-case-gallery__item.is-balanced-third,.ai-case-gallery__item.is-balanced-half,.ai-case-gallery__item.is-single{grid-column:1/-1;grid-row:auto}.ai-case-gallery__item>a,.ai-case-gallery__item.is-featured>a{aspect-ratio:4/3}.ai-case-gallery__item.is-bento-wide-left>a,.ai-case-gallery__item.is-bento-wide-right>a{aspect-ratio:16/10}.ai-case-gallery__item a>.ai-case-gallery__overlay{opacity:1;padding:46px 16px 14px;transform:none}}
@media(hover:none){.ai-case-gallery__item a>.ai-case-gallery__overlay{opacity:1;transform:none}}

@media(max-width:700px){.ai-case-gallery__top{margin-bottom:3px;padding-bottom:24px}.ai-case-filters{flex-wrap:nowrap;gap:22px;justify-content:flex-start;max-width:100%;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.ai-case-filters::-webkit-scrollbar{display:none}}

/* Allow the project-facts card to overlap the hero without clipping its labels. */
.ai-case-study{overflow:visible;overflow-x:clip}

/* Five-image masonry rhythm. The outer grid must size itself from each group;
   otherwise its legacy implicit row height lets the cards overlap the next
   project section. */
.ai-case-gallery__grid{align-items:start;background:transparent;display:grid;gap:4px;grid-auto-rows:auto;grid-template-columns:minmax(0,1fr)}
.ai-case-gallery__top .ai-case-heading{flex:1 1 auto;max-width:640px;min-width:0}.ai-case-filters{flex:0 0 auto;flex-wrap:nowrap}
.ai-case-masonry-group,.ai-case-masonry-group.is-remainder-1,.ai-case-masonry-group.is-remainder-2,.ai-case-masonry-group.is-remainder-3,.ai-case-masonry-group.is-remainder-4{display:grid;gap:4px;grid-auto-rows:auto;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(6,clamp(58px,5vw,76px));min-height:0}
.ai-case-masonry-group .ai-case-gallery__item,.ai-case-masonry-group.is-complete .ai-case-gallery__item:nth-child(n),.ai-case-masonry-group.is-remainder-3 .ai-case-gallery__item:first-child{display:block;margin:0;min-height:0;min-width:0;overflow:hidden;width:auto}
.ai-case-masonry-group.is-complete .ai-case-gallery__item:nth-child(1){grid-column:1/span 5!important;grid-row:1/7!important}
.ai-case-masonry-group.is-complete .ai-case-gallery__item:nth-child(2){grid-column:6/span 4!important;grid-row:1/4!important}
.ai-case-masonry-group.is-complete .ai-case-gallery__item:nth-child(3){grid-column:6/span 4!important;grid-row:4/7!important}
.ai-case-masonry-group.is-complete .ai-case-gallery__item:nth-child(4){grid-column:10/span 3!important;grid-row:1/3!important}
.ai-case-masonry-group.is-complete .ai-case-gallery__item:nth-child(5){grid-column:10/span 3!important;grid-row:3/7!important}
.ai-case-masonry-group.is-complete.is-reversed .ai-case-gallery__item:nth-child(1){grid-column:8/span 5!important}
.ai-case-masonry-group.is-complete.is-reversed .ai-case-gallery__item:nth-child(2),.ai-case-masonry-group.is-complete.is-reversed .ai-case-gallery__item:nth-child(3){grid-column:4/span 4!important}
.ai-case-masonry-group.is-complete.is-reversed .ai-case-gallery__item:nth-child(4),.ai-case-masonry-group.is-complete.is-reversed .ai-case-gallery__item:nth-child(5){grid-column:1/span 3!important}
.ai-case-masonry-group.is-remainder-1{grid-template-rows:clamp(300px,36vw,500px)}
.ai-case-masonry-group.is-remainder-1 .ai-case-gallery__item{grid-column:1/-1!important;grid-row:1!important}
.ai-case-masonry-group.is-remainder-2{grid-template-rows:clamp(260px,28vw,390px)}
.ai-case-masonry-group.is-remainder-2 .ai-case-gallery__item{grid-column:span 6!important;grid-row:1!important}
.ai-case-masonry-group.is-remainder-3{grid-template-rows:repeat(2,clamp(150px,15vw,215px))}
.ai-case-masonry-group.is-remainder-3 .ai-case-gallery__item:first-child{grid-column:1/span 7!important;grid-row:1/3!important}.ai-case-masonry-group.is-remainder-3 .ai-case-gallery__item:nth-child(2){grid-column:8/span 5!important;grid-row:1!important}.ai-case-masonry-group.is-remainder-3 .ai-case-gallery__item:nth-child(3){grid-column:8/span 5!important;grid-row:2!important}
.ai-case-masonry-group.is-remainder-4{grid-template-rows:repeat(2,clamp(180px,18vw,250px))}
.ai-case-masonry-group.is-remainder-4 .ai-case-gallery__item:nth-child(1),.ai-case-masonry-group.is-remainder-4 .ai-case-gallery__item:nth-child(3){grid-column:1/span 6!important}.ai-case-masonry-group.is-remainder-4 .ai-case-gallery__item:nth-child(2),.ai-case-masonry-group.is-remainder-4 .ai-case-gallery__item:nth-child(4){grid-column:7/span 6!important}.ai-case-masonry-group.is-remainder-4 .ai-case-gallery__item:nth-child(-n+2){grid-row:1!important}.ai-case-masonry-group.is-remainder-4 .ai-case-gallery__item:nth-child(n+3){grid-row:2!important}
.ai-case-masonry-group .ai-case-gallery__item>a,.ai-case-masonry-group .ai-case-gallery__item.is-featured>a{aspect-ratio:auto;height:100%;min-height:0}
.single-our_projects .ai-case-gallery__item img,.single-our_projects .ai-case-gallery__item[data-media-type=model] img,.single-our_projects .ai-case-gallery__item.is-featured[data-media-type=model] img{background:#edf0f5;display:block;height:100%!important;max-height:none;mix-blend-mode:normal;object-fit:cover;object-position:center;width:100%}
.ai-case-gallery__item a>.ai-case-gallery__overlay{background:linear-gradient(180deg,rgba(8,13,34,0) 45%,rgba(8,13,34,.12) 62%,rgba(8,13,34,.94) 100%)}
.ai-case-story__panel>div{aspect-ratio:16/10}
.single-our_projects .ai-case-story__panel img{display:block;height:100%!important;max-height:none;object-fit:cover;object-position:center;width:100%}
.single-our_projects .ai-case-story__panel:first-child img{background:#edf0f5;object-fit:contain}
.ai-case-project-footer{background:var(--ai-color-white);padding:24px 0 82px}.ai-case-project-footer .container{border-top:1px solid var(--case-line);padding-top:26px}.ai-case-project-footer a{align-items:center;color:var(--case-ink);display:inline-flex;font-size:var(--ai-type-control-size);font-weight:700;gap:12px;text-decoration:none}.ai-case-project-footer a span{align-items:center;border:1px solid var(--case-ink);border-radius:50%;display:flex;font-size:var(--ai-type-control-size);height:38px;justify-content:center;transition:background .2s,color .2s;width:38px}.ai-case-project-footer a:hover span,.ai-case-project-footer a:focus-visible span{background:var(--case-ink);color:var(--ai-color-white)}
.ai-case-gallery__load-more-wrap{border-top:1px solid var(--case-line);display:flex;justify-content:center;margin-top:28px;padding-top:28px}.ai-case-gallery__load-more-wrap[hidden]{display:none}.ai-case-gallery__load-more{align-items:center;background:#11162d;border:1px solid #11162d;border-radius:0;color:var(--ai-color-white);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--ai-type-label-size);font-weight:700;gap:38px;justify-content:space-between;min-width:230px;padding:15px 18px;text-align:left;transition:background .2s,color .2s}.ai-case-gallery__load-more i{font-size:17px;font-style:normal;line-height:1;transition:transform .25s}.ai-case-gallery__load-more:hover,.ai-case-gallery__load-more:focus-visible{background:var(--ai-color-white);color:#11162d}.ai-case-gallery__load-more:hover i,.ai-case-gallery__load-more:focus-visible i{transform:translateY(3px)}.ai-case-gallery__load-more:focus-visible{outline:3px solid #8290ef;outline-offset:3px}.ai-case-gallery__load-more:disabled{cursor:wait;opacity:.68}.ai-case-gallery__load-more.is-loading i{animation:ai-gallery-loading .75s ease-in-out infinite alternate}@keyframes ai-gallery-loading{to{transform:translateY(4px)}}

.ai-case-details-wrap{margin-top:-30px;margin-bottom:64px}
.ai-case-details{border-top:1px solid var(--case-line);border-bottom:1px solid var(--case-line);color:var(--case-ink)}
.ai-case-details summary{align-items:center;cursor:pointer;display:flex;font-size:17px;font-weight:600;justify-content:space-between;list-style:none;gap:24px;padding:24px 0}
.ai-case-details summary::-webkit-details-marker{display:none}
.ai-case-details summary span{font-size:24px;font-weight:400}
.ai-case-details[open] summary span{transform:rotate(45deg)}
.ai-case-details summary:focus-visible{outline:2px solid var(--case-blue);outline-offset:4px}
.ai-case-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px;margin:0;padding:0 0 24px}
.ai-case-details dl>div{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);border-top:1px solid var(--case-line);gap:20px;padding:16px 0;align-items:start}
.ai-case-details dt{color:var(--case-muted);font-size:var(--ai-type-label-size);line-height:1.5}
.ai-case-details dd{font-size:var(--ai-type-small-size);line-height:1.5;margin:0;overflow-wrap:anywhere}
.ai-case-video__films{min-width:0;display:grid;gap:28px}
.ai-case-video__film{margin:0}
.ai-case-video__film figcaption{color:var(--case-muted);font-size:var(--ai-type-small-size);padding-top:12px}
.ai-case-gallery__item[data-media-type="model"] img,.ai-case-gallery__item[data-media-type="drawing"] img{object-fit:contain;background:#edf0f5}
@media(max-width:700px){.ai-case-details-wrap{margin-top:-10px;margin-bottom:40px}.ai-case-details dl{grid-template-columns:1fr}.ai-case-details dl>div{grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:16px}.ai-case-details summary{font-size:15px}}
@media(max-width:1000px){.ai-case-masonry-group,.ai-case-masonry-group.is-complete,.ai-case-masonry-group.is-remainder-1,.ai-case-masonry-group.is-remainder-2,.ai-case-masonry-group.is-remainder-3,.ai-case-masonry-group.is-remainder-4{grid-auto-rows:clamp(220px,35vw,300px);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.ai-case-masonry-group .ai-case-gallery__item,.ai-case-masonry-group.is-complete .ai-case-gallery__item:nth-child(n),.ai-case-masonry-group.is-complete.is-reversed .ai-case-gallery__item:nth-child(n),.ai-case-masonry-group.is-remainder-1 .ai-case-gallery__item,.ai-case-masonry-group.is-remainder-2 .ai-case-gallery__item,.ai-case-masonry-group.is-remainder-3 .ai-case-gallery__item:nth-child(n),.ai-case-masonry-group.is-remainder-4 .ai-case-gallery__item:nth-child(n){grid-column:auto!important;grid-row:auto!important}.ai-case-masonry-group .ai-case-gallery__item:last-child:nth-child(odd){grid-column:1/-1!important}}
@media(max-width:1100px){.ai-case-gallery__top{align-items:flex-start;flex-direction:column}.ai-case-gallery__top .ai-case-heading{max-width:760px}.ai-case-filters{flex-wrap:wrap;justify-content:flex-start}}
@media(max-width:700px){.ai-case-masonry-group,.ai-case-masonry-group.is-complete,.ai-case-masonry-group.is-remainder-1,.ai-case-masonry-group.is-remainder-2,.ai-case-masonry-group.is-remainder-3,.ai-case-masonry-group.is-remainder-4{display:grid;gap:3px;grid-auto-rows:auto;grid-template-columns:1fr;grid-template-rows:none}.ai-case-masonry-group .ai-case-gallery__item,.ai-case-masonry-group.is-complete .ai-case-gallery__item:nth-child(n),.ai-case-masonry-group.is-complete.is-reversed .ai-case-gallery__item:nth-child(n),.ai-case-masonry-group.is-remainder-3 .ai-case-gallery__item:first-child,.ai-case-masonry-group .ai-case-gallery__item:last-child:nth-child(odd){aspect-ratio:4/3;grid-column:1!important;grid-row:auto!important}.ai-case-masonry-group .ai-case-gallery__item>a{height:100%}}

/* Readability pass for project case studies. */
.ai-case-prose h3{font-family:var(--ai-font-display);font-size:clamp(20px,2vw,26px);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:36px 0 16px}
.ai-case-prose h3:first-child{margin-top:0}
.ai-case-scope__item p,.ai-case-challenge p{font-size:var(--ai-type-body-size)}
.ai-case-story__panel figcaption{font-size:var(--ai-type-small-size)}
.ai-case-filters button,.ai-case-gallery__item figcaption{font-size:var(--ai-type-control-size)}
.ai-case-project-footer a,.ai-case-gallery__load-more{font-size:var(--ai-type-control-size)}

.ai-case-heading h2+div,.ai-case-heading h3+div{margin-top:clamp(20px,2vw,27px)}

/* Let text shrink with its grid track before applying word wrapping. */
.ai-case-heading,.ai-case-prose,.ai-case-overview__grid>*,.ai-case-approach__grid>*{min-width:0;overflow-wrap:anywhere}
.ai-case-heading--wide:not(:has(>div)) h2{grid-column:1/-1}
@media(max-width:700px){
  .ai-case-heading--wide,.ai-case-overview__grid,.ai-case-approach__grid{grid-template-columns:minmax(0,1fr)}
}
