/* Scoped addition; existing layouts and breakpoints stay intact. */
.work-pv-air-md{background:#dce3d8;color:#233a2c}
.work-image{aspect-ratio:16/9;overflow:hidden}.work-image img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:top}
.work-tabs{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.pv-demo-link{display:inline-block;padding:14px 0;text-underline-offset:5px}
.pv-demo-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:600px){.work-tabs{grid-template-columns:1fr 1fr}.work-tab:last-child{grid-column:1/-1}}

/* Shared frame and text slots keep every feature the same size. */
.work-story h3{min-height:2.04em;margin-top:24px;margin-bottom:16px}.work-story p{min-height:6.4em;line-height:1.6}.work-controls{display:flex;justify-content:flex-end;margin-top:14px}.work-controls button{font:13px/1.5 Arial,sans-serif;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:30px;padding:9px 16px;cursor:pointer}.work-controls button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media(max-width:850px){.work-story{width:100%}.work-story h3{min-height:2.04em;margin-top:18px}.work-story p{min-height:4.8em;max-width:100%}.work-display{width:100%}}@media(max-width:520px){.work-story h3{font-size:34px}.work-story p{min-height:6.4em}.work-controls{justify-content:center}}
/* A gentle, shared 3D swing with a moving glass reflection. */
.work-display{--preview-sway:5deg;--preview-drift:5px;position:relative;overflow:hidden;isolation:isolate;transform-origin:center;animation:msl-preview-sway 7s ease-in-out infinite;will-change:transform}
.work-display::after{content:'';position:absolute;inset:-12% auto -12% 0;width:38%;z-index:3;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.04) 22%,rgba(255,255,255,.3) 49%,rgba(255,255,255,.09) 65%,transparent 100%);transform:translateX(-180%) skewX(-18deg);mix-blend-mode:screen;animation:msl-preview-reflection 7s ease-in-out infinite;will-change:transform,opacity}
@keyframes msl-preview-sway{0%,100%{transform:perspective(1500px) translateX(calc(-1 * var(--preview-drift))) rotateY(calc(-1 * var(--preview-sway))) rotateX(2deg) rotateZ(-.35deg)}50%{transform:perspective(1500px) translateX(var(--preview-drift)) rotateY(var(--preview-sway)) rotateX(1deg) rotateZ(.35deg)}}
@keyframes msl-preview-reflection{0%,12%{transform:translateX(-180%) skewX(-18deg);opacity:0}26%{opacity:.35}50%{opacity:.8}76%{opacity:.35}88%,100%{transform:translateX(420%) skewX(-18deg);opacity:0}}
.work-display:hover,.work-display:focus-within,.work-display:hover::after,.work-display:focus-within::after,#work:has(#work-rotation[aria-pressed="true"]) .work-display,#work:has(#work-rotation[aria-pressed="true"]) .work-display::after{animation-play-state:paused}
@media(max-width:850px){.work-display{--preview-sway:3deg;--preview-drift:3px}}
@media(prefers-reduced-motion:reduce){.work-display{animation:none!important;transform:none!important;will-change:auto}.work-display::after{display:none;animation:none!important}}
/* Gold specular light stays on the seed's surface and follows its tilt. */
.seed-image{filter:saturate(1.08) contrast(1.04)}
.seed-image::before,.seed-image::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;mask-image:url('assets/images/seed.jpg');mask-mode:luminance;mask-size:cover;mask-position:center;mask-repeat:no-repeat;-webkit-mask-image:url('assets/images/seed.jpg');-webkit-mask-size:cover;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;mix-blend-mode:screen}
.seed-image::before{background:radial-gradient(ellipse at var(--seed-light-x,30%) var(--seed-light-y,24%),rgba(255,250,215,.45),rgba(255,211,120,.12) 24%,transparent 52%);opacity:.7;transition:background-position 1.2s ease}
.seed-image::after{background-image:linear-gradient(var(--seed-light-angle,118deg),transparent 39%,rgba(255,215,140,.06) 43%,rgba(255,242,194,.32) 47.5%,rgba(255,255,238,.85) 49.5%,rgba(255,244,200,.45) 51%,rgba(255,218,144,.1) 54%,transparent 59%);background-size:300% 100%;animation:msl-gold-glint 6.5s cubic-bezier(.4,0,.25,1) infinite;will-change:background-position,opacity}
@keyframes msl-gold-glint{0%,10%{background-position:150% 0;opacity:0}25%{opacity:.45}45%{opacity:.9}66%{opacity:.55}85%,100%{background-position:-50% 0;opacity:0}}
.seed-stage.expanded .seed-image::after{animation-duration:1.8s}
@media(prefers-reduced-motion:reduce){.seed-image::after{display:none;animation:none!important}.seed-image::before{opacity:.35}}
