.projects-section{width:100%;min-height:100vh;padding:calc(var(--header-h) + 70px) 24px 120px;display:flex;flex-direction:column;align-items:center}.projects-header{text-align:center;margin-bottom:40px}.projects-lead{font-family:var(--font-body);font-weight:300;color:var(--c-text-dim);max-width:520px;margin:1.4rem auto 0;line-height:1.7}.carousel-3d-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:1200px;min-height:540px;padding:40px 0;perspective:1500px}.carousel-3d-viewport{position:relative;display:grid;place-items:center;pointer-events:none;touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;min-height:500px;transform-style:preserve-3d}.project-card-3d{grid-area:1 / 1;position:relative;pointer-events:auto;width:min(500px,85vw);transform-style:preserve-3d;transition:transform .8s cubic-bezier(.25,1,.5,1),opacity .8s cubic-bezier(.25,1,.5,1),filter .8s cubic-bezier(.25,1,.5,1)}.project-card-3d.front{z-index:10;transform:translateZ(200px);opacity:1}.project-card-3d.left{z-index:5;transform:translate3d(-45%,0,-200px) rotateY(20deg);opacity:.4;filter:blur(2px)}.project-card-3d.right{z-index:5;transform:translate3d(45%,0,-200px) rotateY(-20deg);opacity:.4;filter:blur(2px)}.project-card-3d.left .card-inner,.project-card-3d.right .card-inner{cursor:pointer}.project-card-3d.left:hover,.project-card-3d.right:hover{opacity:.65;filter:blur(1px)}.project-card-3d.hidden{z-index:1;transform:translateZ(-500px);opacity:0;pointer-events:none}.carousel-3d-viewport.is-entering .project-card-3d.front{animation:entranceFront 1.2s cubic-bezier(.23,1,.32,1) .4s both}.carousel-3d-viewport.is-entering .project-card-3d.left{animation:entranceLeft 1.2s cubic-bezier(.23,1,.32,1) 0s both}.carousel-3d-viewport.is-entering .project-card-3d.right{animation:entranceRight 1.2s cubic-bezier(.23,1,.32,1) .2s both}@keyframes entranceFront{0%{opacity:0;transform:translate3d(0,50px,-500px)}to{opacity:1;transform:translateZ(200px)}}@keyframes entranceLeft{0%{opacity:0;transform:translate3d(-100%,50px,-800px) rotateY(40deg)}to{opacity:.4;transform:translate3d(-45%,0,-200px) rotateY(20deg)}}@keyframes entranceRight{0%{opacity:0;transform:translate3d(100%,50px,-800px) rotateY(-40deg)}to{opacity:.4;transform:translate3d(45%,0,-200px) rotateY(-20deg)}}.card-inner{position:relative;display:block;width:100%;height:100%;padding:0;overflow:hidden;text-align:left;text-decoration:none;font-family:var(--font-display);color:inherit;cursor:pointer;background:linear-gradient(165deg,#0a1a3ae6,#050c1afa);border:1px solid rgba(134,180,255,.12);border-radius:48px;box-shadow:0 20px 50px -10px #000000b3;transition:border-color .6s cubic-bezier(.23,1,.32,1),box-shadow .6s cubic-bezier(.23,1,.32,1)}.project-card-3d.front .card-inner:hover,.project-card-3d.front .card-inner:focus-visible{border-color:#86b4ff52;box-shadow:0 30px 70px -10px #000c,0 0 60px #5699ff1f}.card-inner.is-static{cursor:default}.glint{position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(circle at var(--glint-x, 50%) var(--glint-y, 50%),rgba(255,255,255,.12) 0%,transparent 60%);opacity:0;transition:opacity .3s ease}.card-inner:hover .glint{opacity:1}.project-media{position:relative;display:flex;align-items:center;justify-content:center;height:280px;overflow:hidden;background:#040a18;border-bottom:1px solid rgba(134,180,255,.08)}.project-media img{width:100%;height:100%;object-fit:cover;opacity:.78;transition:transform .8s cubic-bezier(.23,1,.32,1),opacity .4s ease}.project-card-3d.front .card-inner:hover .project-media img{transform:scale(1.05);opacity:1}.project-media.is-teaser{background:radial-gradient(circle at 50% 120%,rgba(86,153,255,.28) 0%,transparent 60%),linear-gradient(rgba(134,180,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(134,180,255,.04) 1px,transparent 1px),linear-gradient(135deg,#030b20,#071535);background-size:auto,28px 28px,28px 28px,auto}.project-teaser-mark{font-size:clamp(1.1rem,3.4vw,1.6rem);font-weight:800;letter-spacing:.42em;margin-right:-.42em;text-transform:uppercase;color:#86b4ff8c;text-shadow:0 0 30px rgba(86,153,255,.5)}.project-tag{position:absolute;top:20px;right:24px;padding:6px 14px;border-radius:100px;background:#061227b8;border:1px solid rgba(134,180,255,.3);color:var(--c-accent);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-tag.status-completed{color:#7dffb0;border-color:#4cff8859}.project-tag.status-upcoming{color:#ffd98a;border-color:#ffc86459}.project-info{padding:30px 34px 34px}.project-info h2{font-size:clamp(1.9rem,6vw,2.6rem);font-weight:800;letter-spacing:-.03em;margin-bottom:12px;background:linear-gradient(180deg,#fff,#86b4ff99);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.project-info p{font-family:var(--font-body);font-weight:300;font-size:.95rem;line-height:1.7;color:#c8dcffc7}.learn-more{display:inline-block;margin-top:18px;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-accent);transition:transform .3s var(--ease-out)}.card-inner:hover .learn-more{transform:translate(6px)}.nav-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(134,180,255,.18);background:#02060f80;color:#ffffff8c;font-size:18px;z-index:100;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:background .4s cubic-bezier(.23,1,.32,1),border-color .4s cubic-bezier(.23,1,.32,1),color .4s cubic-bezier(.23,1,.32,1),transform .4s cubic-bezier(.23,1,.32,1)}.nav-arrow.prev{left:10px}.nav-arrow.next{right:10px}.nav-arrow:hover{background:#86b4ff14;border-color:#86b4ff66;color:#fff;transform:translateY(-50%) scale(1.1)}.carousel-dots{display:flex;justify-content:center;margin-top:1px}.carousel-dot{display:grid;place-items:center;width:24px;height:24px;border-radius:50%}.carousel-dot:after{content:"";width:10px;height:10px;border-radius:50%;background:#86b4ff33;transition:background-color .3s ease,transform .3s ease}.carousel-dot:hover:after{background:#86b4ff80}.carousel-dot.active:after{background:var(--c-accent);transform:scale(1.25)}@media(max-width:720px){.projects-section{padding:calc(var(--header-h) + 44px) 0 90px}.projects-header{padding:0 18px}.carousel-3d-container{min-height:520px;padding:20px 0}.project-card-3d{width:min(500px,78vw);transition-duration:.5s;will-change:transform,opacity}.project-card-3d.left,.project-card-3d.right,.project-card-3d.left:hover,.project-card-3d.right:hover{filter:none;opacity:.35}.project-tag{-webkit-backdrop-filter:none;backdrop-filter:none;background:#061227e6}.project-card-3d.left{transform:translate3d(-58%,0,-260px) rotateY(24deg)}.project-card-3d.right{transform:translate3d(58%,0,-260px) rotateY(-24deg)}.card-inner{border-radius:36px}.project-media{height:200px}.project-info{padding:24px 24px 28px}.nav-arrow{top:auto;bottom:-52px;transform:none}.nav-arrow:hover{transform:scale(1.1)}.nav-arrow.prev{left:calc(50% - 110px)}.nav-arrow.next{right:calc(50% - 110px)}.carousel-dots{margin-top:22px}}
