/* Client work: original editorial covers, contextual technical studies and quiet depth. */
.case-library{padding-top:24px}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}
.case-card{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid var(--line);padding-bottom:27px;transition:border-color .25s}
.case-card:hover{border-color:var(--city)}.case-cover{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:12px;background:#101722}
.case-cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.case-card:hover .case-cover img{transform:scale(1.035)}.case-card-copy{display:flex;flex-direction:column;flex:1;padding-top:25px}
.case-card .eyebrow{font-size:10px;line-height:1.8;margin-bottom:14px}.case-card h2{font-size:clamp(23px,2.2vw,29px);line-height:1.35;letter-spacing:-.025em;margin-bottom:17px}
.case-card-copy>p:not(.eyebrow){font-size:15px;line-height:1.9;margin:0 0 26px}.case-card-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;font-size:12px;color:var(--muted)}
.case-card-bottom .text-link{font-size:12px;gap:12px}.case-library-note{font-size:12px;line-height:1.9;margin:32px 0 0;max-width:720px}
.case-heading{position:relative;isolation:isolate;padding-bottom:38px}.case-heading:before{content:'';position:absolute;inset:-40px 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 48% 48% at 50% 50%,var(--tint),transparent 100%)}
.case-heading .breadcrumb{margin-bottom:36px}.case-heading h1{max-width:1050px;font-size:clamp(36px,4.3vw,61px);line-height:1.18;letter-spacing:-.035em}.case-heading .lead{max-width:820px;font-size:19px;margin-bottom:0}
.case-opening{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:52px;align-items:start;padding-top:0;padding-bottom:40px}
.case-feature{margin:0;min-width:0}.case-feature img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:13px;background:#101722}.case-feature figcaption{font-size:11px;color:var(--muted);line-height:1.8;margin-top:13px}
.case-at-a-glance{min-width:0}.case-at-a-glance dl{display:grid;gap:20px;margin:0}.case-at-a-glance dl>div{padding-bottom:18px;border-bottom:1px solid var(--line)}.case-at-a-glance dt{font-size:10px;letter-spacing:.1em;color:var(--city);line-height:1.8;margin-bottom:9px}.case-at-a-glance dd{font-size:16px;line-height:1.8;margin:0;color:var(--text)}
.case-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.case-tags span{font-size:11px;line-height:1.7;padding:7px 11px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}
.case-object{position:relative;isolation:isolate;max-width:350px;margin:6px auto -16px;color:var(--city);direction:ltr;pointer-events:none}
.case-object:before{content:'';position:absolute;inset:8%;z-index:-1;background:radial-gradient(ellipse,var(--tint),transparent 68%)}.case-object svg{width:100%;height:auto;display:block;overflow:visible}.case-object-core,.case-object-detail{transform-origin:center;transform-box:fill-box}
.case-reading{display:grid;grid-template-columns:210px minmax(0,760px);justify-content:center;gap:70px;padding-top:35px}
.case-contents{position:sticky;top:30px;padding-inline-start:20px;border-inline-start:1px solid var(--line)}.case-contents .eyebrow{margin-bottom:14px}.case-contents nav{display:flex;flex-direction:column;gap:5px}.case-contents a{font-size:13px;line-height:1.7;padding:9px 0}.case-contents a:hover{color:var(--accent)}
.case-copy{min-width:0}.case-section{scroll-margin-top:35px;margin-bottom:38px;padding-bottom:28px;border-bottom:1px solid var(--line)}.case-section h2,.case-enquiry h2{font-size:clamp(25px,2.4vw,32px);line-height:1.4;letter-spacing:-.025em;margin-bottom:20px}
.case-copy p{font-size:17px;line-height:1.95;margin:0 0 20px}.case-copy p:last-child{margin-bottom:0}.case-outcomes{padding:0;list-style:none;margin:0;display:grid;gap:0}.case-outcomes li{position:relative;padding:17px 0;padding-inline-start:27px;font-size:16px;line-height:1.9;color:var(--text);border-bottom:1px solid var(--line)}.case-outcomes li:last-child{border:0;padding-bottom:0}.case-outcomes li:before{content:'';position:absolute;inset-inline-start:1px;top:28px;width:7px;height:7px;border:1px solid var(--city);transform:rotate(45deg)}
.case-enquiry{padding-top:8px}.case-enquiry .eyebrow{font-size:11px;margin-bottom:18px}.case-enquiry .button{margin-top:26px}.case-related{padding-top:0}.case-related .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html[lang=ar] .case-heading h1{letter-spacing:0;line-height:1.6;font-size:clamp(33px,3.8vw,53px)}html[lang=ar] .case-card h2{letter-spacing:0;line-height:1.75;font-size:25px}html[lang=ar] .case-section h2,html[lang=ar] .case-enquiry h2{letter-spacing:0;line-height:1.7}html[lang=ar] .case-copy p{line-height:2.15}html[lang=ar] .case-at-a-glance dt{letter-spacing:0}
@supports not (-moz-appearance:none){@media(prefers-reduced-motion:no-preference){.case-object-core{animation:case-float 10s ease-in-out infinite}.case-object-detail{animation:case-float 10s ease-in-out -4s infinite}}}
@keyframes case-float{50%{transform:translateY(-5px)}}
@media(max-width:1100px){.case-opening{gap:32px}.case-object{max-width:270px}.case-reading{grid-template-columns:180px minmax(0,1fr);gap:35px}}
@media(max-width:1000px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-heading h1{font-size:45px}.case-opening{align-items:start}.case-at-a-glance dd{font-size:15px}.case-object{margin-bottom:0}}
@media(max-width:760px){.case-heading{padding-bottom:28px}.case-heading h1{font-size:35px;line-height:1.25}.case-heading .lead{font-size:17px}.case-heading .breadcrumb{margin-bottom:28px}.case-opening{grid-template-columns:1fr;gap:28px;padding-bottom:25px}.case-feature figcaption{font-size:10px;margin-top:12px}.case-at-a-glance dl{grid-template-columns:1fr 1fr;gap:22px}.case-object{max-width:250px;margin:2px auto -10px}.case-reading{display:block;padding-top:10px}.case-contents{position:static;margin-bottom:36px;padding:20px;border:1px solid var(--line);border-radius:8px}.case-contents nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.case-contents a{display:flex;align-items:center;min-height:44px;font-size:12px}.case-copy p{font-size:16px;line-height:1.95}.case-section{margin-bottom:30px;padding-bottom:24px}.case-outcomes li{font-size:15px}.case-enquiry .button{white-space:normal}.case-library{padding-bottom:55px}html[lang=ar] .case-heading h1{font-size:32px;line-height:1.65}}
@media(max-width:700px){.case-grid,.case-related .case-grid{grid-template-columns:1fr;gap:35px}.case-card h2{font-size:27px}.case-card .eyebrow{font-size:10px}.case-card-bottom{font-size:12px}.case-library-note{margin-top:27px}}
@media(max-width:380px){.case-at-a-glance dl{grid-template-columns:1fr;gap:16px}.case-heading h1{font-size:32px}html[lang=ar] .case-heading h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){.case-card,.case-cover img{transition:none}.case-card:hover .case-cover img{transform:none}.case-object-core,.case-object-detail{animation:none!important}}

.case-service-links{display:flex;flex-wrap:wrap;gap:10px 24px;padding-bottom:30px}.case-service-links a{font-size:13px;line-height:1.8;padding-block:10px;color:var(--city)}.case-service-links a:hover{text-decoration:underline;text-underline-offset:4px}

@media(min-width:1001px){.case-card .eyebrow{min-height:36px}.case-card h2{min-height:4.05em}html[lang=ar] .case-card h2{min-height:5.25em}}

/* A separate header sculpture complements each case's existing overview art.
   Logical grid direction places it opposite the copy in either language. */
.case-heading-art{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:40px;align-items:center}
.case-heading-copy{position:relative;z-index:1;min-width:0}
.case-hero-art{--case-metal-high:#b8cbe4;--case-metal-mid:#6683a6;--case-metal-low:#dce6f3;position:relative;isolation:isolate;width:100%;max-width:410px;justify-self:center;color:var(--city);pointer-events:none;user-select:none;direction:ltr}
[data-theme=dark] .case-hero-art{--case-metal-high:#d8e5f8;--case-metal-mid:#526b8f;--case-metal-low:#14243c}
.case-hero-art:before{content:'';position:absolute;inset:4% 0;z-index:-1;background:radial-gradient(ellipse at 50% 55%,var(--glow),transparent 69%);opacity:.8}
.case-hero-art svg{display:block;width:100%;height:auto;overflow:visible}
@media(prefers-reduced-motion:no-preference){
 .case-hero-art svg{animation:case-hero-drift 16s ease-in-out infinite;transform-origin:50% 60%}
 .case-hero-art:before{animation:case-hero-glow 12s ease-in-out infinite}
}
@keyframes case-hero-drift{0%,100%{transform:translateY(3px) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes case-hero-glow{0%,100%{opacity:.6}50%{opacity:1}}
@media(max-width:999px){
 .case-heading-art{display:block}
 .case-hero-art{position:absolute;inset-inline-end:28px;top:76px;width:36%;max-width:280px;opacity:.16;z-index:0}
}
@media(max-width:760px){.case-hero-art{width:66%;max-width:260px;inset-inline-end:8px;top:115px;opacity:.12}}
@media(prefers-reduced-motion:reduce){.case-hero-art svg,.case-hero-art:before{animation:none}}
@media print{.case-hero-art{display:none}.case-heading-art{display:block}}
@media(forced-colors:active){.case-hero-art{display:none}.case-heading-art{display:block}}
