.tools-list-arrow{border:1px solid #3f6;border-radius:50%;padding:2px;display:flex;justify-content:center;align-items:center}.modal-fullscreen{max-width:100vw!important;width:100vw!important;max-height:100vh!important;height:100vh!important;margin:0!important;padding:0!important;box-sizing:border-box}.modal-content{border-radius:0!important;box-shadow:none!important}.swiper-gallery-container{width:100%;box-sizing:border-box}.main-swiper{width:100%;height:480px;background-color:#060b12;border-radius:12px}@media (max-width:768px){.main-swiper{height:280px}}.thumbs-swiper{height:90px;padding:6px 0;box-sizing:border-box}.thumbs-swiper .swiper-slide{opacity:.5;border-radius:8px;transition:all .3s ease;cursor:pointer}.thumbs-swiper .swiper-slide-thumb-active{opacity:1!important;border:2px solid #3f6!important;box-shadow:0 0 12px rgba(51,255,102,.4);border-radius:8px!important}.main-swiper .swiper-button-next,.main-swiper .swiper-button-prev{color:#fff;background:rgba(10,17,28,.7);backdrop-filter:blur(4px);width:44px;height:44px;border-radius:50%;border:1px solid hsla(0,0%,100%,.2);transition:all .3s ease}.main-swiper .swiper-button-next:hover,.main-swiper .swiper-button-prev:hover{background:rgba(51,255,102,.9);color:#000;border-color:#3f6}.main-swiper .swiper-button-next:after,.main-swiper .swiper-button-prev:after{font-size:18px;font-weight:700}.text-secondary-project{color:hsla(0,0%,100%,.8);font-size:16px;line-height:1.6}.message-heading{display:inline-block;border-bottom:2px solid #3f6;padding-bottom:6px}@font-face{font-family:swiper-icons;src:url("data:application/font-woff;charset=utf-8;base64, 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");font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border-radius:50%;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top:4px solid transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size) / 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:normal;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.other-projects .next-chapter{padding-top:40px}.op-card{height:100%;display:flex;flex-direction:column;border:1px solid hsla(0,0%,100%,.18);border-radius:14px;overflow:hidden;background:hsla(0,0%,100%,.03);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.op-card:hover{transform:translateY(-4px);border-color:#3f6;box-shadow:0 12px 30px rgba(0,0,0,.35),0 0 0 1px rgba(51,255,102,.25)}.op-card-preview{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.op-browser-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#0b1f24;border-bottom:1px solid hsla(0,0%,100%,.08)}.op-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.op-dot-red{background:#ff5f57}.op-dot-yellow{background:#febc2e}.op-dot-green{background:#28c840}.op-browser-bar .op-url{margin-left:10px;flex:1;min-width:0;padding:3px 12px;border-radius:999px;background:hsla(0,0%,100%,.07);color:hsla(0,0%,100%,.65)!important;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-card-shot{position:relative;height:260px;overflow:hidden;background:#0b1f24}@media (min-width:1400px){.op-card-shot{height:320px}}.op-card-img{-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;transition:transform .6s ease}.op-card:hover .op-card-img{transform:scale(1.04)}.op-card-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(3,41,48,.6);color:#fff!important;font-weight:600;opacity:0;transition:opacity .3s ease}.op-card-preview:focus-visible .op-card-hover,.op-card-preview:hover .op-card-hover{opacity:1}.op-card-body{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 20px;margin-top:auto}.op-card-body h3{color:#fff;font-size:22px;font-weight:700;margin-bottom:4px}.op-category{color:#3f6!important;font-size:14px}.op-card-actions{display:flex;gap:10px}.op-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.op-btn-ghost{background:transparent;color:#fff;border:1px solid hsla(0,0%,100%,.6)}.op-btn-ghost:hover{border-color:#3f6;color:#3f6}.op-btn-solid{background:#3f6;color:#032930!important;border:1px solid #3f6}.op-btn-solid:hover{background:#fff;border-color:#fff}.op-btn-solid i{color:#032930}.op-modal-backdrop{position:fixed;inset:0;z-index:1050;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(1,15,18,.85);backdrop-filter:blur(6px);animation:op-fade .2s ease}.op-modal{position:relative;width:100%;max-width:1240px;max-height:calc(100vh - 32px);overflow-y:auto;border:1px solid hsla(0,0%,100%,.15);border-radius:16px;background:#032930;padding:64px 16px 20px;animation:op-rise .25s ease}@media (min-width:992px){.op-modal{padding:28px;overflow:hidden}}.op-modal-close{position:absolute;top:12px;right:12px;z-index:2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid hsla(0,0%,100%,.4);background:#0b1f24;color:#fff;font-size:20px;cursor:pointer}.op-modal-close:hover{border-color:#3f6;color:#3f6}.op-modal-grid{display:grid;gap:24px}@media (min-width:992px){.op-modal-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:32px}}.op-modal-preview{border:1px solid hsla(0,0%,100%,.15);border-radius:12px;overflow:hidden;background:#0b1f24}.op-modal-scroll{height:55vh;overflow-y:auto;overscroll-behavior:contain}@media (min-width:992px){.op-modal-scroll{height:calc(100vh - 170px)}}.op-modal-img{display:block;width:100%;height:auto}.op-scroll-hint{display:flex;align-items:center;gap:6px;padding:8px 14px;margin:0;font-size:12px;color:hsla(0,0%,100%,.6)!important;border-top:1px solid hsla(0,0%,100%,.08)}.op-modal-info{display:flex;flex-direction:column;padding-top:8px}@media (min-width:992px){.op-modal-info{max-height:calc(100vh - 88px);overflow-y:auto;padding-right:8px;padding-top:40px}}.op-modal-info h2{color:#fff;font-size:30px;font-weight:700;margin:6px 0 14px}.op-summary{color:#cacbce!important;line-height:1.65;margin-bottom:24px}.op-modal-info h4{color:#fff;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.op-highlights{list-style:none;padding:0;margin:0 0 24px}.op-highlights li{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;color:#f0f0f0;line-height:1.5}.op-highlights i{color:#3f6;font-size:18px;margin-top:2px;flex-shrink:0}.op-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.op-chip{padding:5px 12px;border-radius:999px;border:1px solid rgba(51,255,102,.5);font-size:13px;font-family:monospace}.op-visit{align-self:flex-start;padding:12px 22px;font-size:15px}@keyframes op-fade{0%{opacity:0}to{opacity:1}}@keyframes op-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.op-card,.op-card-img,.op-modal,.op-modal-backdrop{animation:none;transition:none}}