/* Local Tailwind gradient utilities keep the overlay independent of a runtime CDN. */
.absolute{position:absolute}.inset-0{inset:0}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-slate-950{--tw-gradient-from:#020617;--tw-gradient-to:rgb(2 6 23 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-slate-950\/40{--tw-gradient-stops:var(--tw-gradient-from),rgb(2 6 23 / .4),var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent}
.project-showcase{background:var(--paper)}.project-showcase .head{margin-bottom:30px}.project-carousel{background:var(--blue-dark);color:white;border-radius:18px;overflow:hidden;touch-action:pan-y pinch-zoom;box-shadow:var(--shadow)}.project-stage{position:relative;height:560px;overflow:hidden}.project-slide{position:absolute;inset:0;overflow:hidden}.project-slide[hidden]{display:none}.project-slide>img{height:100%;width:100%;object-fit:cover;object-position:center 42%;animation:project-zoom 6s linear both}.project-slide.is-active{animation:project-reveal .6s ease both}.project-slide .bg-gradient-to-t{background-color:#07152f28}.project-caption{position:absolute;bottom:0;left:0;padding:40px 48px;max-width:760px}.project-badge{display:inline-flex;padding:6px 13px;border:1px solid #ffffff66;border-radius:5px;background:#07152fbc;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}.project-caption h3{font-size:clamp(2rem,4.5vw,3.7rem);line-height:1.06;letter-spacing:-.045em;margin:15px 0}.project-caption p{color:#edf1fa;max-width:540px;margin:0 0 23px}.project-controls{display:flex;align-items:center;gap:20px;padding:18px 24px}.project-controls button{cursor:pointer;color:white;background:transparent;border:1px solid #ffffff55;border-radius:6px;min-height:44px;min-width:44px}.project-controls button:hover{background:#ffffff20}.project-arrows{display:flex;gap:8px}.project-dots{display:flex;justify-content:center;flex:1;gap:0}.project-controls .project-dot{border:0;min-width:28px;width:28px;padding:10px 6px;display:grid;place-items:center}.project-dot span{display:block;width:7px;height:7px;border-radius:50%;background:#ffffff60;transition:transform .2s,background .2s}.project-dot[aria-pressed=true] span{background:#ff6672;transform:scale(1.5)}.project-pause{padding:4px 12px;font-size:.85rem}.project-count{font-size:.78rem;letter-spacing:.1em;color:#c2cce0;white-space:nowrap}.project-progress{height:3px;background:#ffffff26}.project-progress span{display:block;height:100%;background:#ff6672;transform:scaleX(0);transform-origin:left}.project-areas{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:22px;font-size:.84rem}.project-areas>span{color:var(--muted);margin-right:5px}.project-areas a{padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:white;text-decoration:none;color:var(--blue-dark);font-weight:700}.project-areas a:hover{border-color:var(--blue)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes project-zoom{from{transform:scale(1)}to{transform:scale(1.055)}}@keyframes project-reveal{from{opacity:.3}to{opacity:1}}.project-carousel.is-paused .project-slide>img{animation-play-state:paused}
@media(max-width:700px){.project-stage{height:530px}.project-caption{padding:28px 22px}.project-caption p{font-size:.94rem}.project-controls{padding:12px;gap:8px;flex-wrap:wrap}.project-dots{order:3;flex-basis:100%}.project-pause{margin-left:auto}.project-caption .btn{padding:12px 15px;font-size:.88rem}.project-count{margin-left:5px}.project-showcase .head h2{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){.project-slide,.project-slide>img{animation:none!important}.project-dot span{transition:none}}
