/* AOTC case-study shared enhancement — consistent look across all case studies */
:root{--aotc-accent:#d9000d;--aotc-accent2:#ff1520;--aotc-ghost:rgba(255,255,255,.045)}
/* fixed backdrop stage: content scrolls over an anchored studio backdrop for a premium, editorial feel */
.aotc-stage{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:
  radial-gradient(ellipse 65% 55% at 50% -15%,rgba(255,255,255,.09),transparent 62%),
  radial-gradient(ellipse 75% 65% at 50% 118%,rgba(255,255,255,.07),transparent 62%),
  radial-gradient(ellipse 120% 90% at 50% 50%,transparent 50%,rgba(0,0,0,.35) 100%)}
/* sleek shared polish for section furniture across all case studies */
section.blk .wrap,header .wrap{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
.aotc-in .wrap,.wrap.aotc-in{opacity:1!important;transform:none!important}
.card,.step,.num,.d,.out>div{border-radius:14px!important;border-color:rgba(255,255,255,.07)!important;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015))!important;box-shadow:0 18px 40px -22px rgba(0,0,0,.8)!important;transition:transform .35s ease,border-color .35s ease}
/* media polish: equal-height figure rows, soft frames, hover life */
figure{border-radius:14px!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 24px 50px -28px rgba(0,0,0,.85)!important;display:flex;flex-direction:column;height:100%;transition:transform .35s ease,border-color .35s ease}
figure:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.18)!important}
figure>img,figure>video{flex:1 1 auto;min-height:0;object-fit:contain!important;width:100%;background:#0c0c0e}
figure figcaption{position:relative;padding-left:30px!important;color:#a49d92!important}
figure figcaption:before{content:"";position:absolute;left:14px;top:50%;width:8px;height:1px;background:var(--aotc-accent2)}
div[style*="grid"]{align-items:stretch!important}
h1{text-wrap:balance}
h2{text-wrap:balance;background:linear-gradient(180deg,#fff 55%,#c8c2b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lead{text-wrap:pretty}
.card:hover,.step:hover,.num:hover,.d:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.16)!important}
.ey{position:relative;padding-left:34px!important}
.ey:before{content:"";position:absolute;left:0;top:50%;width:24px;height:1px;background:var(--aotc-accent2)}
.aotc-ghost{position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden;display:flex;align-items:center;justify-content:center;mix-blend-mode:screen}
.aotc-ghost b{font-family:"Anton","Barlow Condensed",Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.82;text-align:center;font-size:clamp(90px,26vw,420px);color:var(--aotc-ghost);white-space:nowrap;transition:opacity .6s ease,transform .6s ease;will-change:transform,opacity}
.aotc-hl{color:var(--aotc-accent2)!important;font-weight:800!important}
.aotc-accentbar{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--aotc-accent),var(--aotc-accent2));z-index:100000;transition:width .1s linear;pointer-events:none}
/* content sits in its own layer above the fixed stage/ghost so scrolling reads as the copy moving past a still backdrop */
body>*:not(.aotc-stage):not(.aotc-ghost):not(.aotc-accentbar){position:relative;z-index:1}
/* the nav (and its Got Ads? panel) must layer above the flattened content plane */
body>nav.nav,body>.nav{z-index:99999!important}
