/* CFO CRAFT — Case studies 3D page ONLY. Navbar, hero and footer inherit site theme. */
.case-studies-page .case3d-hero{padding:clamp(8rem,13vw,10rem) 0 clamp(4rem,6vw,5.5rem)}
.case-studies-page .case3d-hero .resource-wrap{max-width:1440px!important}
.case-studies-page .case3d-hero .resource-hero-copy{max-width:920px!important}
.case-studies-page .case3d-eyebrow{display:inline-block;margin:0 0 1.15rem;color:#a6cbf7;font-size:.78rem;letter-spacing:.18em;font-weight:800;text-transform:uppercase}
.case-studies-page .case3d-hero h1{max-width:920px;font-size:clamp(2.6rem,5vw,4.25rem);line-height:1.15}
.case-studies-page .case3d-hero .resource-lede{max-width:850px}
.case3d-explore{display:inline-flex;align-items:center;gap:1rem;margin-top:1.8rem;padding:.78rem 1.2rem;border:1px solid rgba(166,203,247,.5);border-radius:999px;color:#fff!important;font-weight:700;font-size:.86rem}
.case3d-explore:hover{background:rgba(166,203,247,.14)}
.case3d-section{--case-navy:#082951;position:relative;isolation:isolate;min-height:720px;padding:2.2rem 0 5.5rem;overflow:hidden;background:radial-gradient(ellipse at 50% 34%,#e6f4ff 0%,#f9fcff 52%,#fff 82%);color:var(--dark-blue)}
.case3d-section::before{content:"";position:absolute;z-index:-1;left:50%;top:-22%;width:min(85vw,1150px);aspect-ratio:1;border:1px solid rgba(70,147,223,.1);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 105px rgba(70,147,223,.025),0 0 0 210px rgba(70,147,223,.018);pointer-events:none}
.case3d-intro{text-align:center;max-width:1100px;margin:0 auto 1rem;padding:0 1.5rem}
.case3d-kicker{display:block;color:#1761b4;font-size:.76rem;letter-spacing:.22em;font-weight:800;margin-bottom:.4rem}
.case3d-intro h2{font-size:clamp(1.9rem,3.1vw,3.1rem);font-weight:700;letter-spacing:-.035em;line-height:1.2;color:#092653}
.case3d-intro p{margin:.45rem auto 0;font-size:clamp(.86rem,1.2vw,1.05rem);color:#536d94}
.case3d-stage{width:100%;max-width:1920px;margin:0 auto;outline:none;overflow:hidden;perspective:1650px;touch-action:pan-y;user-select:none;position:relative}
.case3d-perspective{height:clamp(330px,45vw,525px);position:relative;transform-style:preserve-3d;will-change:auto}
.case3d-card{position:absolute;left:50%;top:50%;width:min(53vw,845px);aspect-ratio:1200/675;padding:0;overflow:hidden;border:1px solid rgba(67,144,231,.42);border-radius:22px;background:#031d43;box-shadow:0 15px 40px rgba(6,45,94,.13);cursor:pointer;transition:transform .64s cubic-bezier(.2,.75,.2,1),opacity .54s ease,box-shadow .54s ease;backface-visibility:hidden;transform-origin:center;outline-offset:5px}
.case3d-card img{width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}
.case3d-card[data-distance="0"]{box-shadow:0 24px 65px rgba(12,98,183,.3),0 0 0 2px #75bcff;cursor:default}
.case3d-card:focus-visible{outline:3px solid #167fff}
.case3d-card[data-distance="1"],.case3d-card[data-distance="-1"]{filter:none}
.case3d-card[data-distance="2"],.case3d-card[data-distance="-2"]{filter:none}
.case3d-card[data-hidden="true"]{pointer-events:none}
.case3d-controls{display:flex;align-items:center;justify-content:center;gap:clamp(.65rem,3vw,3rem);margin:.1rem auto 0;padding:0 1rem}
.case3d-arrow{width:46px;height:46px;flex:none;border:1px solid #c9def6;border-radius:50%;background:#fff;color:#092c64;font:600 1.6rem/1 Arial;cursor:pointer;box-shadow:0 5px 20px rgba(8,41,81,.055);transition:background .2s,transform .2s}
.case3d-arrow:hover{background:#e5f2ff;transform:translateY(-2px)}
.case3d-dots{display:flex;flex-wrap:wrap;gap:clamp(4px,.8vw,11px);align-items:center;justify-content:center}
.case3d-dot{min-width:32px;width:34px;height:34px;border:1px solid #d2e2f6;border-radius:50%;background:rgba(255,255,255,.85);color:#527aa8;font-size:.76rem;font-weight:700;cursor:pointer;transition:.2s}
.case3d-dot[aria-current="true"]{color:#fff;background:#082d68;box-shadow:0 6px 16px rgba(3,56,118,.24)}
.case3d-count{text-align:center;font-weight:800;letter-spacing:.16em;color:#183a65;margin:.7rem 0 1.3rem;font-size:.8rem}
.case3d-count-divider{color:#97b6db;margin:0 .2rem}
.case3d-detail{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;max-width:1040px;margin:0 auto;padding:1.5rem 2rem;border:1px solid #dce9f8;border-radius:19px;background:rgba(255,255,255,.83);box-shadow:0 15px 50px rgba(8,41,81,.07)}
.case3d-detail-tag{display:inline-block;border-radius:999px;background:#e8f2ff;padding:.28rem .8rem;color:#1466b9;font-size:.72rem;font-weight:700}
.case3d-detail h3{font-size:clamp(1.16rem,1.9vw,1.55rem);line-height:1.3;margin:.55rem 0 .45rem;color:#092653}
.case3d-detail p{font-size:.85rem;line-height:1.58;color:#506687;margin-top:.3rem}
.case3d-impact{border-left:1px solid #dce9f8;padding-left:1.8rem}
.case3d-impact-eyebrow{font-size:.69rem;letter-spacing:.14em;color:#0b67c0;font-weight:800}
.case3d-impact li{list-style:none;margin-top:.55rem;font-size:.83rem;line-height:1.5;color:#183a65;position:relative;padding-left:1.2rem}
.case3d-impact li::before{content:"✓";position:absolute;left:0;color:#0877d1;font-weight:900}
@media(max-width:900px){.case3d-card{width:min(69vw,700px)}.case3d-perspective{height:clamp(270px,53vw,440px)}.case3d-detail{margin:0 1rem}.case3d-section{padding-bottom:3.5rem}}
@media(max-width:600px){.case3d-stage{overflow:hidden}.case3d-card{width:82vw;border-radius:13px}.case3d-perspective{height:55vw;min-height:240px}.case3d-section{padding-top:2.3rem}.case3d-intro{margin-bottom:1.3rem}.case3d-dot{min-width:27px;width:27px;height:27px;font-size:.66rem}.case3d-controls{gap:.48rem}.case3d-arrow{width:34px;height:34px;font-size:1.2rem}.case3d-detail{display:block;padding:1.2rem;margin:0 1rem}.case3d-impact{border-left:0;border-top:1px solid #dce9f8;margin-top:1rem;padding:1rem 0 0}.case-studies-page .case3d-hero{padding-top:7.5rem}}
@media(prefers-reduced-motion:reduce){.case3d-card{transition:none}.case3d-arrow{transition:none}}

/* Performance-only: off-screen cards never capture clicks; preserve all layout sizes. */
.case3d-card { contain:layout paint; }
.case3d-card[data-hidden="true"] { visibility:hidden; transition:none; }
.case3d-card:not([data-hidden="true"]) { visibility:visible; }

/* Mobile only: hide the 01–09 selector row while keeping arrows and 01 / 09 count. */
@media (max-width: 600px) {
  .case-studies-page .case3d-controls .case3d-dots {
    display: none;
  }
  .case-studies-page .case3d-controls {
    justify-content: center;
    gap: clamp(2rem, 15vw, 5rem);
  }
}
