.projects-page{--project-ink: #050505;--project-paper: #f4f2ec;--project-yellow: #f7c900;--project-muted: rgba(244, 242, 236, .58);--project-line: rgba(244, 242, 236, .15);background:var(--project-ink);color:var(--project-paper)}.projects-page *{box-sizing:border-box}.projects-page .projects-wrap{width:min(100% - 2 * var(--gutter, 4vw),1440px);margin-inline:auto}.projects-page .projects-mono{font-family:var(--app-font-mono, "Geist Mono", monospace);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.projects-page .projects-hero{min-height:100svh;padding:132px 0 46px;position:relative;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}.projects-page .projects-grid-light{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.68;background-image:linear-gradient(rgba(244,242,236,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(244,242,236,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(260px circle at var(--pointer-x, 50%) var(--pointer-y, 50%),#000 0%,transparent 100%);-webkit-mask-image:radial-gradient(260px circle at var(--pointer-x, 50%) var(--pointer-y, 50%),#000 0%,transparent 100%)}.projects-page .projects-breadcrumb{color:var(--project-muted);margin:0}.projects-page .projects-hero-copy{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin:clamp(30px,6vh,76px) 0 24px}.projects-page .projects-hero-title{margin:0;font-size:clamp(4rem,14vw,16rem);line-height:.78;letter-spacing:-.075em;font-weight:600}.projects-page .projects-title-mask{display:block;overflow:hidden;padding:.08em .12em .13em 0}.projects-page .projects-title-mask>span{display:block;animation:projects-word-in 1.1s cubic-bezier(.16,1,.3,1) both}.projects-page .projects-total{color:var(--project-yellow);padding-top:.18em;white-space:nowrap;font-size:clamp(12px,1vw,15px)}@keyframes projects-word-in{0%{transform:translateY(110%)}to{transform:translateY(0)}}.projects-page .projects-intro{max-width:52ch;margin:22px 0 0;color:var(--project-muted);font-size:clamp(17px,1.4vw,20px);line-height:1.55}.projects-page .projects-carousel{margin-top:clamp(32px,5vh,62px)}.projects-page .projects-scene{height:clamp(300px,52svh,620px);position:relative;perspective:1800px;transform-style:preserve-3d;touch-action:pan-y;pointer-events:none;transition:transform .23s cubic-bezier(.16,1,.3,1)}.projects-page .projects-scene.is-dragging{transition:none}.projects-page .projects-slide{position:absolute;left:50%;top:50%;width:min(46vw,760px);aspect-ratio:16 / 10;transform-style:preserve-3d;transform-origin:center center;transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .9s cubic-bezier(.16,1,.3,1);margin:0}.projects-page .projects-browser{height:100%;width:100%;position:relative;border:1px solid rgba(244,242,236,.2);border-radius:16px;background:#11110f;overflow:visible;box-shadow:0 26px 70px #0000006b;transition:border-color .35s}.projects-page .projects-slide.is-active .projects-browser{border-color:#f4f2ec57}.projects-page .projects-browser-bar{height:37px;padding:0 13px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(244,242,236,.1)}.projects-page .projects-browser-dots{display:flex;gap:5px;flex:0 0 auto}.projects-page .projects-browser-dots i{width:7px;height:7px;border-radius:50%;background:#655c4c}.projects-page .projects-browser-dots i:first-child{background:#c47764}.projects-page .projects-browser-dots i:nth-child(2){background:#b49a55}.projects-page .projects-browser-dots i:nth-child(3){background:#647e5c}.projects-page .projects-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#f4f2ec7a;font:10px var(--app-font-mono, monospace);flex:1}.projects-page .projects-screen{height:calc(100% - 37px);width:100%;position:relative;clip-path:inset(0 round 0 0 15px 15px);background:#0b0b0b}.projects-page .projects-screen-image{display:block;width:100%;height:auto;min-height:100%;object-fit:cover;object-position:top;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.projects-page .is-scroll-enabled .projects-screen-image{animation:projects-page-scroll 12s ease-in-out 1.2s infinite alternate}@keyframes projects-page-scroll{0%{transform:translateY(0)}to{transform:translateY(-54%)}}.projects-page .projects-mobile-frame{position:absolute;z-index:2;right:-4.2%;bottom:-9%;width:22%;aspect-ratio:9 / 18.8;border:5px solid #171715;border-radius:24px;background:#0b0b0b;clip-path:inset(0 round 24px);box-shadow:0 12px 32px #000000a6}.projects-page .projects-mobile-screen{width:100%;height:100%;clip-path:inset(0 round 18px);overflow:hidden;background:#0b0b0b}.projects-page .projects-mobile-screen .projects-mobile-page-image{display:block;width:100%;height:auto;animation:projects-page-scroll 12s ease-in-out 1.2s infinite alternate}.projects-page .projects-scene-link{display:block;height:100%;color:inherit}.projects-page .projects-scene-select{width:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:inherit}.projects-page .projects-slide:focus-within .projects-screen-image{animation-play-state:paused}.projects-page .projects-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin:22px auto 0}.projects-page .projects-arrow{display:grid;place-items:center;width:56px;height:56px;border:1px solid rgba(244,242,236,.32);border-radius:50%;background:transparent;color:var(--project-paper);font-size:21px;cursor:pointer;transition:border-color .3s,color .3s}.projects-page .projects-arrow:hover{border-color:var(--project-yellow);color:var(--project-yellow)}.projects-page .projects-arrow span{transition:transform .3s cubic-bezier(.16,1,.3,1)}.projects-page .projects-arrow:first-child:hover span{transform:translate(-4px)}.projects-page .projects-arrow:last-child:hover span{transform:translate(4px)}.projects-page .projects-auto-toggle{border:0;padding:12px;min-height:48px;background:transparent;color:var(--project-muted);cursor:pointer}.projects-page .projects-auto-toggle:hover{color:var(--project-yellow)}.projects-page .projects-progress{height:2px;max-width:550px;margin:18px auto 0;background:#f4f2ec1f;transform-origin:left}.projects-page .projects-progress-fill{height:100%;width:100%;background:var(--project-yellow);transform:scaleX(0);transform-origin:left}.projects-page .projects-progress.is-running .projects-progress-fill{animation:projects-progress 5s linear forwards}@keyframes projects-progress{to{transform:scaleX(1)}}.projects-page .projects-active-info{min-height:115px;max-width:920px;margin:25px auto 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 24px}.projects-page .projects-active-heading{min-width:0}.projects-page .projects-active-title{margin:0 0 8px;font-size:clamp(2rem,4vw,4rem);line-height:.95;letter-spacing:-.06em}.projects-page .projects-active-category{color:var(--project-muted)}.projects-page .projects-active-side{display:flex;align-items:center;justify-content:flex-end;gap:18px}.projects-page .projects-status{display:inline-flex;align-items:center;min-height:27px;padding:3px 9px;border:1px solid rgba(244,242,236,.28);color:#f4f2ecb8;border-radius:999px;font:10px var(--app-font-mono, monospace);white-space:nowrap}.projects-page .projects-status.customer{border-color:#f7c900a6;color:var(--project-yellow)}.projects-page .projects-count{color:var(--project-muted);white-space:nowrap}.projects-page .projects-visit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 17px;background:var(--project-yellow);color:var(--project-ink);font-size:13px;font-weight:600;transition:background .25s}.projects-page .projects-visit:hover{background:var(--project-paper)}.projects-page .projects-live-region{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.projects-page .projects-gallery{padding:clamp(100px,14vw,190px) 0;border-top:1px solid var(--project-line)}.projects-page .projects-section-head{display:grid;grid-template-columns:minmax(160px,.6fr) 1fr;align-items:end;gap:28px;margin-bottom:34px}.projects-page .projects-section-label{color:var(--project-yellow);margin:0 0 17px}.projects-page .projects-gallery-title{font-size:clamp(2.6rem,6vw,6.3rem);letter-spacing:-.07em;margin:0;line-height:.9}.projects-page .projects-filter-wrap{position:relative;justify-self:end;display:flex;gap:clamp(15px,2.4vw,34px);border-bottom:1px solid var(--project-line)}.projects-page .projects-filter{position:relative;border:0;min-height:48px;padding:12px 0 15px;background:transparent;color:var(--project-muted);font:11px var(--app-font-mono, monospace);white-space:nowrap;cursor:pointer;transition:color .25s}.projects-page .projects-filter[aria-pressed=true],.projects-page .projects-filter:hover{color:var(--project-paper)}.projects-page .projects-filter span{margin-left:6px;color:var(--project-yellow)}.projects-page .projects-filter-indicator{position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:var(--project-yellow);transition:transform .35s cubic-bezier(.65,0,.35,1),width .35s cubic-bezier(.65,0,.35,1)}.projects-page .projects-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(38px,6vw,78px) clamp(24px,3vw,48px)}.projects-page .projects-card{min-width:0}.projects-page .projects-card-link{display:block;color:inherit;outline-offset:6px}.projects-page .projects-card-browser{position:relative;aspect-ratio:16/10;border:1px solid rgba(244,242,236,.18);border-radius:12px;overflow:hidden;background:#11110f;transform:perspective(1000px) rotateX(var(--card-rotate-x, 0deg)) rotateY(var(--card-rotate-y, 0deg));transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s}.projects-page .projects-card-link:hover .projects-card-browser{border-color:#f7c9008c;transform:perspective(1000px) translateY(-6px) rotateX(var(--card-rotate-x, 0deg)) rotateY(var(--card-rotate-y, 0deg))}.projects-page .projects-card-browser .projects-browser-bar{height:32px}.projects-page .projects-card-browser .projects-screen{height:calc(100% - 32px);border-radius:0 0 11px 11px}.projects-page .projects-card-browser .projects-screen-image{min-height:100%}.projects-page .projects-card-browser .projects-card-full{position:absolute;inset:0;opacity:0}.projects-page .projects-card-link:hover .projects-card-full{opacity:1}.projects-page .projects-card-link:hover .projects-card-thumb{opacity:0}.projects-page .projects-card-link:hover .projects-card-full{animation:projects-card-scroll 10s ease-in-out forwards}@keyframes projects-card-scroll{to{transform:translateY(-52%)}}.projects-page .projects-card-link:not(:hover) .projects-card-full{transition:transform .6s ease;transform:translateY(0)}.projects-page .projects-card-info{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding-top:17px}.projects-page .projects-card-name{margin:0;font-size:clamp(1.5rem,2.4vw,2.25rem);letter-spacing:-.055em;line-height:1;font-weight:600}.projects-page .projects-card-category{color:var(--project-muted);margin:9px 0 0}.projects-page .projects-card-arrow{color:var(--project-yellow);font-size:22px;transition:transform .35s cubic-bezier(.16,1,.3,1)}.projects-page .projects-card-link:hover .projects-card-arrow{transform:translate(4px,-4px)}.projects-page .projects-filter-status{min-height:1px}.projects-page .projects-end{padding:clamp(85px,13vw,180px) 0 clamp(110px,15vw,205px);border-top:1px solid var(--project-line)}.projects-page .projects-end-title{max-width:1150px;font-size:clamp(3rem,8vw,8rem);letter-spacing:-.075em;line-height:.87;margin:0}.projects-page .projects-end-title span{display:inline-block;animation:projects-word-in .9s cubic-bezier(.16,1,.3,1) both}.projects-page .projects-end-subtitle{margin:24px 0 32px;color:var(--project-muted);font-size:18px}.projects-page .projects-end-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.projects-page .projects-cta-button,.projects-page .projects-copy-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:0 22px;border:1px solid var(--project-line);font-size:14px;cursor:pointer;transition:color .25s,background .25s,border-color .25s}.projects-page .projects-cta-button{border-color:var(--project-yellow);background:var(--project-yellow);color:var(--project-ink)}.projects-page .projects-cta-button:hover{border-color:var(--project-paper);background:var(--project-paper)}.projects-page .projects-copy-button{background:transparent;color:var(--project-paper)}.projects-page .projects-copy-button:hover{border-color:var(--project-yellow);color:var(--project-yellow)}@media(max-width:767px){.projects-page .projects-hero{padding-top:112px}.projects-page .projects-hero-copy{margin-top:54px}.projects-page .projects-hero-title{font-size:clamp(4rem,17vw,8rem)}.projects-page .projects-intro{max-width:38ch;font-size:17px}.projects-page .projects-scene{height:clamp(250px,43svh,380px);margin-inline:-9vw}.projects-page .projects-slide{width:78vw}.projects-page .projects-slide.is-near-left{transform:translate(-50%,-50%) translate(-70%) translateZ(-240px) rotateY(24deg) scale(.88)!important;opacity:.6}.projects-page .projects-slide.is-near-right{transform:translate(-50%,-50%) translate(70%) translateZ(-240px) rotateY(-24deg) scale(.88)!important;opacity:.6}.projects-page .projects-controls{margin-top:28px}.projects-page .projects-active-info{margin:24px auto 0;grid-template-columns:1fr;align-items:start}.projects-page .projects-active-side{justify-content:flex-start;flex-wrap:wrap}.projects-page .projects-section-head{display:block}.projects-page .projects-filter-wrap{justify-self:start;justify-content:space-between;margin-top:28px;gap:12px;overflow-x:auto}.projects-page .projects-filter{font-size:10px}.projects-page .projects-card-grid{grid-template-columns:1fr;gap:42px}.projects-page .projects-card-info{grid-template-columns:minmax(0,1fr) auto}.projects-page .projects-card-info .projects-status{grid-row:2;grid-column:1;justify-self:start}.projects-page .projects-card-arrow{grid-column:2;grid-row:1 / span 2}}@media(max-width:639px){.projects-page .projects-mobile-frame{display:none}.projects-page .projects-browser-bar{height:30px}.projects-page .projects-scene{height:250px}.projects-page .projects-active-side{gap:11px}.projects-page .projects-end-actions{align-items:stretch;flex-direction:column}.projects-page .projects-cta-button,.projects-page .projects-copy-button{width:100%;min-height:52px}}@media(hover:none),(pointer:coarse){.projects-page .projects-grid-light{display:none}.projects-page .projects-slide{will-change:auto}}@media(prefers-reduced-motion:reduce){.projects-page *,.projects-page *:before,.projects-page *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.projects-page .projects-slide{transition-duration:.4s!important}.projects-page .is-active .projects-screen-image,.projects-page .projects-card-link:hover .projects-card-full{animation:none!important;transform:none!important}.projects-page .projects-grid-light{display:none}}
