.placeholder-visual{background:var(--lavender) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b3abcf' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") no-repeat center / 44px 44px}.case-intro{grid-template-columns:360px minmax(0,1fr);align-items:stretch;gap:24px;display:grid}.case-meta{background:var(--gradient-soft);color:#fff;border-radius:34px;flex-direction:column;padding:32px;display:flex;position:relative;overflow:hidden;box-shadow:0 32px 90px #2a1a5e3d}.case-meta .client-logo{object-fit:contain;object-position:left center;width:150px;height:auto;max-height:44px;margin-bottom:30px}.client-wordmark{letter-spacing:-.035em;color:#fff;align-items:center;min-height:46px;margin-bottom:28px;font-size:18px;font-weight:900;display:flex}.client-wordmark small{letter-spacing:.14em;text-transform:uppercase;color:#ffffff94;margin-top:2px;padding-left:10px;font-size:9px;display:block}.case-type{letter-spacing:.14em;text-transform:uppercase;color:#ffffffa8;font-size:11px;font-weight:900}.case-meta h2{letter-spacing:-.045em;margin:10px 0 0;font-size:28px;line-height:1.08}.case-meta .fact-list{gap:0;margin-top:auto;padding-top:28px;display:grid}.case-meta .fact-row{border-top:1px solid #fff3;justify-content:space-between;gap:16px;padding:14px 0;display:flex}.case-meta .fact-label{letter-spacing:.12em;text-transform:uppercase;color:#ffffff9e;font-size:10px;font-weight:900}.case-meta .fact-value{text-align:right;max-width:60%;font-size:13px;font-weight:800}.case-meta .btn{align-self:flex-start;margin-top:28px}.case-summary{box-shadow:var(--shadow);background:#fff;border:1px solid #2a1a5e14;border-radius:34px;padding:48px 52px}.case-summary h1{letter-spacing:-.055em;color:var(--indigo);margin:16px 0 20px;font-size:clamp(44px,5.8vw,55px);line-height:.98}.case-summary .lead{color:var(--indigo);max-width:850px;margin:0 0 22px;font-size:19px;font-weight:750;line-height:1.55}.case-summary p{color:var(--slate);max-width:900px;margin:0 0 14px;font-size:16px;line-height:1.8}.case-summary p:last-child{margin-bottom:0}@media (max-width:1000px){.case-intro{grid-template-columns:1fr}.case-summary{padding:34px 30px}}@media (max-width:760px){.case-summary{padding:28px 24px}}.hero-shot{border-radius:36px 36px 0 0;width:100%;height:clamp(300px,40vw,550px);margin:0;position:relative;overflow:hidden;box-shadow:0 38px 105px #2a1a5e33}.hero-shot img{object-fit:cover;object-position:top center;transition:object-position 5s ease-in-out}.hero-shot:hover img{object-position:bottom center}.shot-caption{color:var(--slate);letter-spacing:.04em;background:#fff;border-radius:0 0 20px 20px;justify-content:space-between;align-items:center;gap:20px;padding:14px 18px;font-size:12px;font-weight:800;display:flex}.shot-caption span:last-child{color:var(--pink)}.two-card{grid-template-columns:1.12fr .88fr;gap:22px;display:grid}.text-card{background:#fff;border:1px solid #2a1a5e14;border-radius:30px;padding:38px 40px;box-shadow:0 20px 65px #2a1a5e17}.text-card.dark{background:var(--gradient-soft);color:#fff;border-color:#ffffff1a;box-shadow:0 30px 85px #1e123e38}.text-card h2{letter-spacing:-.05em;color:var(--indigo);margin:0 0 20px;font-size:clamp(34px,4vw,52px);line-height:1}.text-card.dark h2{color:#fff}.text-card p{color:var(--slate);margin:0 0 14px;line-height:1.8}.text-card p:last-of-type{margin-bottom:0}.text-card.dark p{color:#ffffffc2}.impact-list{gap:8px;margin:22px 0 0;padding:0;list-style:none;display:grid}.impact-list li{color:inherit;align-items:flex-start;gap:10px;font-size:14px;font-weight:700;display:flex}.impact-list li:before{content:"";background:var(--pink);border-radius:50%;flex:none;width:7px;height:7px;margin-top:8px}@media (max-width:1000px){.two-card{grid-template-columns:1fr}}@media (max-width:760px){.text-card{padding:28px 24px}}.story-split{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:start;gap:30px;display:grid}.story-split.reverse{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)}.story-copy h2{letter-spacing:-.05em;color:var(--indigo);margin:16px 0 20px;font-size:clamp(38px,4.7vw,60px);line-height:1}.story-copy p{color:var(--slate);margin:0 0 14px;line-height:1.82}.story-copy p:last-of-type{margin-bottom:0}.story-visual{background:var(--lavender);border:1px solid #2a1a5e14;border-radius:30px;margin:0;overflow:hidden;box-shadow:0 24px 70px #2a1a5e1f}.story-visual.placeholder-visual{aspect-ratio:4/3;min-height:320px}.workflow-strip{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px;display:grid}.workflow-step{background:var(--gradient-soft);color:#fff;border-radius:20px;min-height:96px;padding:16px;position:relative;overflow:hidden}.workflow-step:after{content:"→";color:#ffffff40;font-size:28px;line-height:1;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.workflow-step span{letter-spacing:.13em;text-transform:uppercase;color:#fff9;font-size:10px;font-weight:900}.workflow-step strong{letter-spacing:-.03em;margin-top:8px;font-size:16px;display:block}.mini-pills{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.mini-pill{color:var(--slate);background:#fff;border:1px solid #2a1a5e1a;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:850}@media (max-width:1000px){.story-split,.story-split.reverse{grid-template-columns:1fr}.workflow-strip{grid-template-columns:repeat(2,1fr)}}.integration-band{background:linear-gradient(120deg, var(--ink) 0%, #241848 58%, #51145d 100%);color:#fff;border-radius:36px;grid-template-columns:1fr .86fr;align-items:center;gap:40px;padding:48px;display:grid;box-shadow:0 35px 95px #1e123e3d}.integration-band h2{letter-spacing:-.05em;margin:16px 0 20px;font-size:clamp(38px,4.8vw,60px);line-height:1}.integration-band p{color:#ffffffbf;margin:0 0 14px;line-height:1.8}.integration-band p:last-of-type{margin-bottom:0}.flow-diagram{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;display:grid}.flow-node{text-align:center;background:#ffffff14;border:1px solid #ffffff29;border-radius:20px;place-items:center;min-height:100px;padding:14px;font-size:13px;font-weight:850;display:grid}.flow-arrow{color:#f38abb;text-align:center;font-size:22px}@media (max-width:1000px){.integration-band{grid-template-columns:1fr;padding:32px}.flow-diagram{max-width:420px;margin:0 auto}}@media (max-width:760px){.integration-band{padding:28px 24px}.flow-diagram{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg)}}.report-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:22px;display:grid}.report-copy{background:#fff;border:1px solid #2a1a5e14;border-radius:30px;padding:40px;box-shadow:0 20px 65px #2a1a5e17}.report-copy h2{letter-spacing:-.05em;color:var(--indigo);margin:16px 0 20px;font-size:clamp(38px,4.6vw,58px);line-height:1}.report-copy p{color:var(--slate);margin:0 0 14px;line-height:1.82}.report-copy p:last-of-type{margin-bottom:0}.report-visual{background:var(--lavender);border:1px solid #2a1a5e14;border-radius:30px;min-height:340px;margin:0;position:relative;overflow:hidden;box-shadow:0 24px 70px #2a1a5e1f}.report-visual img{object-fit:cover;object-position:top center}@media (max-width:1000px){.report-grid{grid-template-columns:1fr}.report-visual{min-height:260px}}.build-grid{grid-template-columns:.9fr 1.1fr;align-items:stretch;gap:24px;display:grid}.build-copy{box-shadow:var(--shadow);background:#fff;border:1px solid #2a1a5e14;border-radius:30px;padding:42px}.build-copy h2{letter-spacing:-.05em;color:var(--indigo);margin:16px 0 20px;font-size:clamp(38px,4.6vw,58px);line-height:1}.build-copy p{color:var(--slate);margin:0 0 14px;line-height:1.8}.build-copy p:last-of-type{margin-bottom:0}.tech-card{color:#fff;background:linear-gradient(150deg,#2a1350,#5c196c 62%,#871b6e);border-radius:30px;padding:42px;box-shadow:0 28px 85px #36145338}.tech-card h2{letter-spacing:-.045em;margin:14px 0 24px;font-size:34px}.tech-groups{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tech-group{background:#ffffff14;border:1px solid #ffffff21;border-radius:18px;padding:17px}.tech-group h3{letter-spacing:.11em;text-transform:uppercase;color:#f5b1d1;margin:0 0 10px;font-size:12px}.tech-group p{color:#ffffffd1;margin:0;font-size:13px;line-height:1.7}.architecture{text-align:center;background:#0e0a2573;border:1px solid #ffffff1f;border-radius:18px;margin-top:16px;padding:16px;font-size:13px;font-weight:850;line-height:1.6}@media (max-width:1000px){.build-grid{grid-template-columns:1fr}}@media (max-width:760px){.build-copy,.tech-card{padding:28px 24px}.tech-groups{grid-template-columns:1fr}}.final-card{color:#fff;background:linear-gradient(120deg,#27113f 0%,#1b2146 55%,#5e175e 100%);border-radius:38px;padding:54px;box-shadow:0 40px 110px #2514483d}.final-card h2{letter-spacing:-.055em;max-width:820px;margin:16px 0 26px;font-size:clamp(44px,5.8vw,55px);line-height:.98}.final-layout{grid-template-columns:1fr .8fr;gap:38px;display:grid}.final-card p{color:#ffffffc2;margin:0 0 14px;line-height:1.8}.final-card p:last-of-type{margin-bottom:0}.case-summary p :where(strong,b),.text-card p :where(strong,b),.story-copy p :where(strong,b),.integration-band p :where(strong,b),.report-copy p :where(strong,b),.build-copy p :where(strong,b),.tech-group p :where(strong,b),.final-card p :where(strong,b){font-weight:800}.case-summary p a,.text-card p a,.story-copy p a,.integration-band p a,.report-copy p a,.build-copy p a,.tech-group p a,.final-card p a{color:var(--pink);text-underline-offset:2px;text-decoration:underline}.result-list{gap:11px;margin:0;padding:0;list-style:none;display:grid}.result-list li{background:#ffffff14;border:1px solid #ffffff1f;border-radius:16px;padding:15px 16px;font-size:13px;font-weight:800}@media (max-width:1000px){.final-layout{grid-template-columns:1fr}}@media (max-width:760px){.final-card{padding:32px 24px}}.next-case{background:var(--ink);color:#fff;border-radius:36px;justify-content:space-between;align-items:center;gap:24px;padding:40px 44px;display:flex}.next-case .card-num{color:var(--cyan)}.next-case h3{letter-spacing:-.05em;margin:10px 0 0;font-size:32px}.next-case .btn{flex-shrink:0}@media (max-width:760px){.next-case{flex-direction:column;align-items:flex-start;padding:32px}}
