/* Flagship child-Page presentation. Every rule is scoped; no homepage overrides. */
.ims-case{--case-gap:clamp(28px,4.5vw,72px);--case-space:clamp(64px,7.5vw,116px);background:var(--ims-bg-primary);color:var(--white)}
.ims-case .container{max-width:var(--ims-shell-max);margin-inline:auto;padding-inline:var(--gutter)}
.ims-case :is(h1,h2,h3){text-wrap:balance}
.ims-case h1{font-size:clamp(36px,3.8vw,64px);line-height:var(--ims-heading-leading, var(--ims-leading-heading));letter-spacing:var(--ims-heading-tracking, var(--ims-tracking-heading));font-weight:750}
.ims-case h2{font-size:clamp(30px,3.5vw,54px);line-height:var(--ims-heading-leading, var(--ims-leading-heading));max-width:none;text-wrap:wrap;}
.ims-case h3{font-size:clamp(18px,1.6vw,24px);line-height:var(--ims-heading-leading, var(--ims-leading-heading));letter-spacing:var(--ims-heading-tracking, var(--ims-tracking-heading))}
.ims-case p{font-size:clamp(16px,1.25vw,19px);line-height:var(--ims-leading-body);color:var(--soft);text-wrap:pretty}
.ims-case p+p,.ims-case h3+p{margin-top:20px}
.ims-case .eyebrow{font-size:11px;letter-spacing:.17em;color:var(--aqua);line-height:1.5;margin:0 0 22px}
.ims-case img{width:100%;height:auto;object-fit:contain}
.ims-case :is(.ims-case__hero-grid,.ims-case__split,.ims-case__matrices,.ims-case__metrics,.ims-case__screens)>*{min-width:0}
.ims-case section[id]{scroll-margin-top:110px}
.ims-case__section{padding-block:var(--case-space);border-top:1px solid color-mix(in srgb, var(--ims-aqua) 12.16%, transparent)}
.ims-case__heading{margin-bottom:clamp(32px,4vw,60px)}
.ims-case__hero{padding:145px 0 70px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 85% 30%,color-mix(in srgb, var(--ims-border) 56.08%, transparent),transparent 56%),var(--ims-bg-primary)}
.ims-case__hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(color-mix(in srgb, var(--ims-aqua) 20.78%, transparent) .7px,transparent .8px),linear-gradient(color-mix(in srgb, var(--ims-aqua) 3.14%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--ims-aqua) 3.14%, transparent) 1px,transparent 1px);background-size:18px 18px,108px 108px,108px 108px;mask-image:linear-gradient(90deg,transparent 15%,var(--ims-ink) 100%)}
.ims-case__hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--case-gap);align-items:center}
.ims-case .ims-case__project{font-size:14px;font-weight:600;color:var(--aqua);margin-bottom:24px}
.ims-case .ims-case__services{font-size:13px;line-height:1.9;color:var(--ims-text-secondary);margin-top:28px;max-width:var(--ims-measure-wide)}
.ims-case__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.ims-case__actions .button{min-height:52px;border-radius:4px;max-width:100%;font-size:11px}
.ims-case__hero-visual{position:relative;padding:30px 0}
.ims-case .ims-case__caption{font-size:9px;color:var(--aqua);letter-spacing:.15em;text-transform:uppercase;border-top:1px solid color-mix(in srgb, var(--ims-aqua) 40%, transparent);padding-top:17px;margin-bottom:24px}
.ims-case .ims-case__visual-note{font-size:10px;letter-spacing:.12em;text-align:right;color:var(--ims-text-secondary);margin-top:26px}
.ims-case__intro{display:grid;grid-template-columns:1fr 1fr;gap:18px var(--case-gap);margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.ims-case__intro p:first-child{grid-row:1 / 3}
.ims-case__intro p+p{margin:0}
.ims-case__intro p:nth-child(2){font-weight:600;color:var(--white)}
/* Same approved straight-on teal desktop / overlapping phone component. */
.ims-case .ims-service__device{display:block;position:relative;width:100%;min-width:0;padding:0 9% 5% 0;isolation:isolate}
.ims-case .ims-service__device:after{content:'';position:absolute;inset:auto 2% -8% 3%;height:18%;z-index:-1;background:radial-gradient(ellipse,color-mix(in srgb, var(--ims-aqua) 16.86%, transparent),transparent 70%)}
.ims-case .ims-service__device-desktop{display:block;border:1px solid color-mix(in srgb, var(--ims-aqua) 60%, transparent);border-radius:9px;overflow:hidden;box-shadow:0 4px 0 var(--ims-bg-secondary),0 25px 45px color-mix(in srgb, var(--ims-ink) 40%, transparent);background:var(--ims-bg-primary)}
.ims-case .ims-service__device-phone{display:block;position:absolute;right:0;bottom:0;width:23%;border:4px solid var(--ims-bg-primary);outline:1px solid var(--ims-aqua);border-radius:17px;overflow:hidden;box-shadow:-8px 15px 28px color-mix(in srgb, var(--ims-ink) 60%, transparent)}
.ims-case__split{display:grid;grid-template-columns:1fr 1fr;gap:var(--case-gap);align-items:start}
.ims-case__split--visual{grid-template-columns:1.15fr 1fr;align-items:center}
.ims-case__closing{max-width:86ch;border-left:2px solid var(--aqua);padding-left:24px;margin-top:40px!important}
.ims-case__questions{padding:0;margin:0;list-style:none;counter-reset:question}
.ims-case__questions li{position:relative;padding:17px 0 17px 42px;border-bottom:1px solid var(--line);font-size:16px;line-height:1.6;counter-increment:question}
.ims-case__questions li:first-child{padding-top:0}
.ims-case__questions li:before{content:counter(question,decimal-leading-zero);position:absolute;left:0;color:var(--aqua);font-size:11px;padding-top:4px}
.ims-case__platform{background:var(--ims-bg-secondary)}
.ims-case__stack{display:flex;flex-wrap:wrap;gap:14px 22px;border-top:1px solid var(--line);margin-top:24px;padding-top:18px;color:var(--aqua);font-size:10px;letter-spacing:.04em}
.ims-case__screen{margin:0;min-width:0}
.ims-case__screen>a{display:block;border:1px solid color-mix(in srgb, var(--ims-aqua) 54.9%, transparent);border-radius:6px;overflow:hidden;box-shadow:0 18px 38px color-mix(in srgb, var(--ims-ink) 33.33%, transparent);background:var(--ims-bg-primary)}
.ims-case__screen figcaption{font-size:10px;line-height:1.7;color:var(--ims-text-secondary);margin-top:18px;letter-spacing:.05em}
.ims-case__matrices{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--case-gap);margin-top:45px}
.ims-case__matrices h3{padding-bottom:24px;border-bottom:1px solid var(--aqua);display:flex;gap:24px;align-items:center}
.ims-case__matrices h3 span{color:var(--aqua);font-size:11px;font-weight:400}
.ims-case__matrix{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
.ims-case__matrix li{font-size:14px;line-height:1.65;border-bottom:1px solid var(--line);padding:16px 0;color:var(--ims-text-secondary)}
.ims-case__matrices>div:last-child .ims-case__matrix{grid-template-columns:1fr}
.ims-case__seo{background:linear-gradient(115deg,var(--ims-bg-secondary),var(--ims-bg-primary))}
.ims-case__list{padding-left:18px;margin:26px 0 0;color:var(--soft);font-size:16px;line-height:1.7}
.ims-case__list li{padding:5px 0 5px 5px;break-inside:avoid}
.ims-case__list li::marker{color:var(--aqua);font-size:10px}
.ims-case__list--columns{columns:2;column-gap:32px}
.ims-case__split>.ims-case__list{margin-top:0}
.ims-case__callout{border-left:2px solid var(--aqua);padding:30px 32px;background:color-mix(in srgb, var(--ims-aqua) 3.92%, transparent);margin-top:30px}
.ims-case__split>.ims-case__callout{margin-top:0}
.ims-case__index{display:block;font-size:12px;color:var(--aqua);letter-spacing:.14em;margin-bottom:22px}
.ims-case__checkpoints{padding-bottom:70px;background:var(--ims-bg-secondary)}
.ims-case__checkpoints h2{max-width:none;text-wrap:wrap;}
.ims-case__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid color-mix(in srgb, var(--ims-aqua) 34.12%, transparent)}
.ims-case__metric{padding:30px 28px 30px 0}
.ims-case__metric+.ims-case__metric{padding-left:28px;border-left:1px solid color-mix(in srgb, var(--ims-aqua) 21.96%, transparent)}
.ims-case__metric strong{display:block;font-size:clamp(64px,7vw,112px);line-height:1.05;letter-spacing:-.07em;font-weight:650;color:var(--aqua);font-variant-numeric:tabular-nums;margin-bottom:25px}
.ims-case__metric h3{font-size:17px;min-height:69px}
.ims-case__metric p{font-size:12px;margin-top:15px;line-height:var(--ims-leading-body);color:var(--ims-text-secondary)}
.ims-case .ims-case__qualifier{margin-top:28px;font-size:13px;max-width:94ch}
.ims-case__responsive{padding-top:70px;background:linear-gradient(var(--ims-bg-secondary),var(--ims-bg-primary));border-top:0}
.ims-case-captures{display:grid;gap:28px;margin-top:36px;align-items:start}.ims-case-captures:has(.ims-case__screen--tablet){grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.ims-case-device-figure{min-width:0;max-width:880px;margin:32px auto 0}.ims-case-captures .ims-case-device-figure{width:100%;margin:0}.ims-case-device-figure>a{display:block}.ims-case-device-figure figcaption{margin-top:14px;font-size:12px;color:var(--soft)}
.ims-case__screen--tablet>a{border:4px solid var(--ims-bg-secondary);outline:1px solid color-mix(in srgb, var(--ims-aqua) 54.9%, transparent);border-radius:12px}

.ims-case__foundation .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--case-gap)}
.ims-case__timeline{padding:0;margin:0;list-style:none;position:relative}
.ims-case__timeline:before{content:'';position:absolute;left:15px;top:10px;bottom:30px;width:1px;background:linear-gradient(var(--aqua),color-mix(in srgb, var(--ims-aqua) 10.2%, transparent))}
.ims-case__timeline li{display:grid;grid-template-columns:48px 1fr;gap:25px;position:relative;padding:0 0 38px}
.ims-case__timeline li>span{color:var(--aqua);font-size:11px;background:var(--night);align-self:start;padding-block:6px;z-index:1}
.ims-case__timeline h3{font-size:21px}
.ims-case__timeline p{font-size:var(--ims-text-body);margin-top:12px}
.ims-case__discovery{background:var(--ims-bg-secondary)}
.ims-case__systems{list-style:none;padding:0;margin:25px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.ims-case__systems li{padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--white)}
.ims-case__progression{padding:0;margin:48px 0 0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid color-mix(in srgb, var(--ims-aqua) 40%, transparent)}
.ims-case__progression li{padding-top:25px}
.ims-case__progression span{font-size:11px;color:var(--aqua);display:block;margin-bottom:18px}
.ims-case__progression h3{font-size:23px}
.ims-case__discretion{background:var(--ims-bg-secondary);border-block:1px solid color-mix(in srgb, var(--ims-aqua) 29.02%, transparent)}
.ims-case__discretion .container{display:grid;grid-template-columns:1fr 1fr;gap:var(--case-gap)}
.ims-case__discretion-copy p:nth-child(3){color:var(--white);font-weight:600;border-left:2px solid var(--coral);padding-left:20px}





/* One approved navigation treatment for every native case study.
   Equal 36px of space between the buttons and the top/bottom section edges. */
.ims-case > .container:last-child{padding-bottom:36px}
.ims-case > .container:last-child .ims-case__related{display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap;gap:18px;margin:0;padding-top:36px;border-top:1px solid var(--line)}
@media(max-width:640px){.ims-case > .container:last-child{padding-bottom:24px}.ims-case > .container:last-child .ims-case__related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:24px}}
@media(max-width:350px){.ims-case > .container:last-child .ims-case__related{grid-template-columns:1fr}}
/* Preserve the approved GO3D introductory text and final CTA spacing. */
body.page-id-141 .ims-case__intro{display:block;width:100%;max-width:none;margin-inline:0}
body.page-id-141 .ims-case__intro p{display:block;width:100%;max-width:none;grid-row:auto;margin:0;font-size:clamp(17px,1.5vw,24px);line-height:var(--ims-leading-body)}
body.page-id-141 .ims-case > .ims-case__section:last-of-type{padding-bottom:32px}
body.page-id-141 .ims-case > .ims-case__section:last-of-type .ims-case__heading{margin-bottom:0}
@media(max-width:640px){body.page-id-141 .ims-case > .ims-case__section:last-of-type{padding-bottom:24px}}
@media(min-width:1600px){.ims-case__hero{padding-top:160px}}
@media(max-width:1100px){.ims-case__hero{padding-top:115px}.ims-case__hero-grid{gap:30px}.ims-case h1{font-size:clamp(36px,4.3vw,50px)}.ims-case__actions .button{padding-inline:16px}.ims-case__metric{padding-right:20px}.ims-case__metric+.ims-case__metric{padding-left:20px}.ims-case__metric h3{font-size:15px;min-height:82px}.ims-case__matrix{grid-template-columns:1fr}.ims-case__list--columns{columns:1}}
@media(max-width:800px){.ims-case__hero{padding-top:104px}.ims-case__hero-grid{grid-template-columns:1fr}.ims-case h1{font-size:clamp(36px,6.5vw,52px);max-width:23ch}.ims-case__hero-visual{width:100%;max-width:650px;justify-self:center;padding-bottom:0}.ims-case__intro{margin-top:35px}.ims-case__split--visual,.ims-case__foundation .container,.ims-case__discretion .container{grid-template-columns:1fr}.ims-case__platform-visual{max-width:620px}.ims-case__metrics{grid-template-columns:1fr 1fr}.ims-case__metric:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--line)}.ims-case__metric:nth-child(4){border-top:1px solid var(--line)}.ims-case__metric h3{min-height:48px;font-size:17px}.ims-case__progression{gap:22px}.ims-case__progression h3{font-size:19px}}
@media(max-width:550px){.ims-case .container{padding-inline:24px}.ims-case__hero{padding-bottom:50px}.ims-case h1{font-size:36px}.ims-case__split,.ims-case__intro,.ims-case__matrices{grid-template-columns:1fr}.ims-case__intro p:first-child{grid-row:auto}.ims-case__hero-visual{padding-top:12px}.ims-case__actions{gap:12px}.ims-case__actions .button{font-size:10px;padding-inline:15px}.ims-case .ims-service__device-phone{border-width:2px;border-radius:10px}.ims-case__callout{padding:25px 22px}.ims-case__metrics{gap:0}.ims-case__metric{padding:25px 15px 25px 0}.ims-case__metric+.ims-case__metric{padding-left:15px}.ims-case__metric:nth-child(3){padding-left:0}.ims-case__metric strong{font-size:66px}.ims-case__metric h3{font-size:15px;min-height:83px}.ims-case__metric p{font-size:11px}.ims-case-captures:has(.ims-case__screen--tablet){grid-template-columns:1fr;gap:26px}.ims-case-captures>.ims-case__screen--tablet{max-width:340px}.ims-case__screen figcaption{font-size:9px}.ims-case__timeline li{gap:12px;grid-template-columns:35px 1fr}.ims-case__progression{grid-template-columns:1fr;gap:0}.ims-case__progression li{display:grid;grid-template-columns:35px 1fr;gap:15px;align-items:baseline;border-bottom:1px solid var(--line);padding-block:22px}.ims-case__progression span{margin:0}}
/* Traffic analytics stays distinct from technical project validation. */
.ims-case__activity{margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}
.ims-case__activity>h3{font-size:18px}
.ims-case__activity dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:24px 0 0}
.ims-case__activity dl>div{display:flex;flex-direction:column;gap:12px;min-width:0}
.ims-case__activity dt{font-size:13px;line-height:1.6;color:var(--soft)}
.ims-case__activity dd{order:-1;margin:0;color:var(--white);font-size:36px;font-weight:650;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.ims-case__validation-count{display:flex;align-items:center;gap:28px;margin-bottom:40px;padding:24px 0;border-block:1px solid var(--line)}
.ims-case__validation-count>strong{font-size:clamp(56px,6vw,80px);font-weight:650;color:var(--aqua);line-height:1.1;letter-spacing:-.06em}
.ims-case__validation-count h3{font-size:20px;max-width:30ch}
.ims-case__validation-count p{font-size:12px;margin-top:10px}
@media(max-width:800px){.ims-case__activity dl{grid-template-columns:1fr 1fr;row-gap:26px}}
@media(max-width:550px){.ims-case__validation-count{align-items:flex-start;gap:20px}.ims-case__validation-count h3{font-size:16px}.ims-case__activity>h3{font-size:17px}}
/* Dated snapshots: traffic, search discovery and project QA are distinct. */
.ims-case .ims-case__snapshot-date{font-size:12px;line-height:1.65;color:var(--soft);margin-top:16px}
.ims-case .ims-case__baseline{max-width:90ch;font-size:15px;line-height:1.8;margin-top:28px}
.ims-case__qualifier strong{color:var(--white);font-weight:600}
.ims-case__search-snapshot{margin-top:48px;padding-top:32px;border-top:1px solid color-mix(in srgb, var(--ims-aqua) 34.12%, transparent)}
.ims-case__search-snapshot>div{display:flex;align-items:center;gap:30px}
.ims-case__search-count{font-size:clamp(52px,5vw,72px);line-height:1.1;letter-spacing:-.05em;color:var(--aqua);font-weight:650}
.ims-case__search-snapshot h3{font-size:20px}
.ims-case__search-snapshot .ims-case__qualifier{margin-top:10px;font-size:12px}
@media(max-width:550px){.ims-case__search-snapshot>div{align-items:flex-start;gap:22px}.ims-case__search-snapshot h3{font-size:17px}.ims-case__search-snapshot .ims-case__snapshot-date{font-size:11px}}
/* Spanish implementation: uncropped public captures in the approved device family. */
.ims-case__multilingual{background:var(--ims-bg-secondary)}
.ims-case__localization-details{grid-template-columns:1fr}
.ims-case__localization-details li:first-child{padding-top:0}
.ims-case__spanish-showcase{margin-top:48px}
.ims-case__spanish-devices{max-width:1100px;margin-inline:auto}
.ims-case__spanish-showcase figcaption{font-size:11px;line-height:1.7;color:var(--soft);margin-top:22px}
.ims-case__spanish-showcase>figure:first-child>figcaption{text-align:center}
.ims-case__spanish-detail{max-width:820px;margin:48px auto 0}
.ims-case__localization-proof{margin-top:48px}
.ims-case__localization-milestone{display:flex;align-items:flex-start;gap:26px;border-top:1px solid var(--line);padding-top:28px}
.ims-case__localization-milestone>strong{font-size:76px;line-height:1;color:var(--aqua);font-weight:650}
.ims-case__localization-milestone h3{font-size:17px;line-height:var(--ims-heading-leading, var(--ims-leading-heading))}
.ims-case__localization-proof .ims-case__callout h3{font-size:22px}
@media(max-width:800px){.ims-case__multilingual .ims-case__split{grid-template-columns:1fr}}
@media(max-width:550px){.ims-case__spanish-detail{margin-top:32px}.ims-case__localization-milestone{gap:20px}.ims-case__localization-milestone>strong{font-size:60px}}
