/* Stacking Cards - Vanilla CSS for Services */
.stacking-cards-section { background: transparent; }
.stacking-cards { position: relative; }
.stack-card-wrap { height: 100vh; display:flex; align-items:center; justify-content:center; position:sticky; top:0; }
.stack-card { position: relative; transform-origin: top center; transform: translateY(var(--offset-top,0)) scale(var(--scale,1)); transition: transform 0.06s linear; width:min(72%,1120px); height:460px; background: var(--card-bg, #fff); color: var(--card-fg, #0a0a0a); border: none; border-radius:16px; box-shadow:0 20px 40px -20px rgba(0,0,0,.2); padding:1.5rem; }
.stack-title { text-align:center; font-size:clamp(1.5rem,2.5vw,2rem); font-weight:800; margin:0.25rem 0 0.75rem; color: inherit; }
.stack-content { display:grid; grid-template-columns:40% 60%; gap:1rem; height:calc(100% - 3rem); }
.stack-text { align-self:center; }
.stack-text p { color: var(--card-muted, rgba(255,255,255,0.95)); margin:0 0 .5rem; line-height:1.8; }
.stack-text ul { margin:.25rem 0 .75rem; padding-left:1.25rem; color: var(--card-muted, rgba(255,255,255,0.9)); }
.stack-link { color: var(--card-link, #fff); font-weight:700; text-decoration: underline; }
.stack-media { position:relative; border-radius:12px; overflow:hidden; }
.stack-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(var(--img-scale,1)); transition: transform 0.06s linear; }
@media (max-width: 900px){ .stack-card{ width:min(92%,1000px); height:auto;} .stack-content{ grid-template-columns:1fr; height:auto;} .stack-media{ height:220px; } }
