.projects-section{--project-gap:24px;--project-meta-height:100px;position:relative;background:var(--canvas)}
.projects-sticky{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(24px,3svh,36px);padding:clamp(40px,6svh,72px) var(--edge)}
.projects-intro h2{margin:0;font-size:clamp(40px,3.7vw,60px);line-height:1.12;font-weight:600;letter-spacing:-.035em;text-wrap:balance}
.projects-intro p{max-width:760px;margin:18px 0 0;color:var(--muted);font-size:clamp(16px,1.3vw,20px);line-height:1.55;letter-spacing:-.018em;text-wrap:pretty}
.projects-window{min-width:0;height:clamp(420px,55svh,510px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#2a506d #07111c;scroll-padding-inline:0;container-type:size}
.projects-track{display:flex;width:max-content;height:100%;gap:var(--project-gap);list-style:none;padding:0;margin:0}
.project-item{flex:0 0 calc((100cqh - var(--project-meta-height)) * 16 / 9);width:calc((100cqh - var(--project-meta-height)) * 16 / 9);height:100%;display:grid;grid-template-rows:minmax(0,1fr) var(--project-meta-height);scroll-snap-align:start}
.project-card{--project-accent:#67a5ff;display:block;position:relative;isolation:isolate;min-height:0;height:100%;overflow:hidden;border:1px solid #23384d;border-radius:20px;background:var(--canvas);color:var(--text)}
a.project-card:hover{border-color:var(--project-accent)}a.project-card:focus-visible{outline-offset:-4px;outline:2px solid var(--cyan)}
.project-iam{--project-accent:#aaa2ff}.project-filip{--project-accent:#7ad5ea}.project-vcf{--project-accent:#eca1a5}
.project-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;user-select:none}
.project-title{position:absolute;z-index:1;left:20px;right:20px;bottom:16px;display:flex;align-items:center;gap:12px;text-shadow:0 2px 8px #000}
.project-title svg{width:20px;height:20px;flex:none;color:var(--project-accent)}
.project-title h3{margin:0;font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.025em}.project-meta{padding:0 4px}.project-meta>p{min-height:3.1em;margin:12px 0 10px;color:#bdd0df;font-size:15px;line-height:1.55;text-wrap:pretty}
.project-note{display:flex;align-items:center;gap:8px;min-height:20px;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.02em}.project-link-arrow{margin-left:auto}
.projects-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0}.projects-position{display:flex;align-items:center;gap:20px;min-width:0}.projects-help{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.projects-progress{width:clamp(64px,12vw,180px);height:3px;flex:none;background:#173148;overflow:hidden;border-radius:3px}.projects-progress span{display:block;width:100%;height:100%;background:#7db1ff;transform:scaleX(0);transform-origin:left}
.projects-controls{display:flex;gap:10px}.projects-controls[hidden]{display:none}.projects-control{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #2a455d;border-radius:50%;background:#091624;color:var(--text);cursor:pointer;transition:background .2s,border-color .2s}.projects-control:hover:not(:disabled){background:#142c43;border-color:#6b9ed1}.projects-control:disabled{opacity:.35;cursor:default}.projects-control svg{width:18px;height:18px}
.projects-pinned .projects-sticky{position:sticky;top:0;height:100svh}.projects-pinned .projects-window{height:100%;max-height:510px;align-self:center;overflow:hidden;scroll-snap-type:none}.projects-pinned .projects-track{will-change:transform}
.projects-intro,.projects-window,.projects-footer{transition:opacity 1.8s ease-in-out,translate 2.1s cubic-bezier(.2,.8,.2,1)}
.projects-window,.projects-footer{transition-delay:.24s}
.projects-section.is-reveal-armed:not(.is-revealed) :is(.projects-intro,.projects-window,.projects-footer){opacity:0;translate:0 22px;transition:none}
.projects-section:focus-within :is(.projects-intro,.projects-window,.projects-footer){opacity:1;translate:none;transition:none}
@media(max-width:1099px){.projects-section{--project-gap:20px}.projects-intro h2{font-size:clamp(36px,5vw,50px)}}
@media(max-width:760px){.projects-section{--project-meta-height:140px;--project-gap:16px}.projects-sticky{padding:64px 24px;gap:28px}.projects-intro h2{font-size:clamp(34px,8.8vw,44px)}.projects-intro p{font-size:16px;margin-top:18px}.projects-window{height:calc((100vw - 76px) * 9 / 16 + var(--project-meta-height))}.project-card{border-radius:18px}.project-title{left:16px;right:16px;bottom:12px}.project-title h3{font-size:23px}.projects-position{gap:12px}.projects-progress{width:42px}.projects-help{font-size:12px;max-width:160px}.projects-footer{gap:12px}.projects-controls{gap:8px}.projects-control{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.projects-control{transition:none}.projects-window{scroll-behavior:auto}.projects-intro,.projects-window,.projects-footer{opacity:1!important;translate:none!important;transition:none!important}}
