.about{position:relative;z-index:1;padding:var(--section-pad-y) 0;overflow:visible}.about__inner{display:flex;flex-direction:column;align-items:center;text-align:center}.about__copy{width:100%;max-width:68ch;display:grid;grid-gap:1rem;gap:1rem;margin-bottom:clamp(2rem,4.5vw,3rem);text-align:center}.about__copy p{font-size:var(--fs-body);line-height:var(--lh-body);color:rgba(255,255,255,.92);text-wrap:pretty}.about__carousel{position:relative;width:100%;max-width:1100px;overflow:visible}.about__arrow{position:absolute;top:50%;z-index:6;display:grid;place-items:center;width:var(--touch-min);height:var(--touch-min);border-radius:999px;color:var(--color-white);font-size:1.85rem;line-height:1;background:rgba(5,10,24,.85);transform:translateY(-50%);box-shadow:0 0 0 1px rgba(160,176,255,.22),0 0 16px rgba(1,8,184,.55);transition:box-shadow .25s var(--ease-out),background .25s var(--ease-out)}.about__arrow:first-of-type{left:0}.about__arrow:last-of-type{right:0}.about__arrow:focus-visible,.about__arrow:hover{background:rgba(8,16,40,.95);box-shadow:0 0 0 1px rgba(160,176,255,.4),0 0 22px rgba(1,8,184,.8)}.about__arrow:focus-visible{outline:2px solid rgba(160,176,255,.55);outline-offset:2px}.about__stage{position:relative;width:100%;height:clamp(420px,58vw,540px);overflow:visible}.about__slide{position:absolute;top:50%;left:50%;width:min(34%,300px);aspect-ratio:3/4.15;border-radius:22px;overflow:hidden;background:#020a1b;opacity:0;pointer-events:none;z-index:0;transform:translate(-50%,-50%) scale(.7);filter:brightness(.45);transition:left .48s var(--ease-out),transform .48s var(--ease-out),opacity .36s var(--ease-out),box-shadow .36s var(--ease-out),width .48s var(--ease-out),filter .36s var(--ease-out)}.about__slide[data-offset="-1"]{left:22%}.about__slide[data-offset="-1"],.about__slide[data-offset="1"]{width:min(30%,260px);opacity:1;pointer-events:auto;z-index:1;transform:translate(-50%,-50%) scale(.88)}.about__slide[data-offset="1"]{left:78%}.about__slide[data-active=true]{left:50%;width:min(40%,380px);opacity:1;pointer-events:auto;z-index:3;filter:none;transform:translate(-50%,-50%) scale(1);box-shadow:0 0 0 1px rgba(160,176,255,.28),0 0 32px rgba(1,8,184,.55)}.about__slide-btn{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:inherit;cursor:pointer}.about__photo{width:100%;height:100%;object-fit:contain;object-position:center 12%;mix-blend-mode:lighten;pointer-events:none;transition:transform .32s var(--ease-out)}.about__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.72));transition:background .32s var(--ease-out)}.about__slide:not([data-active=true]) .about__shade{background:linear-gradient(180deg,rgba(0,4,18,.42),rgba(0,4,18,.62)),linear-gradient(180deg,transparent 58%,rgba(0,0,0,.78))}.about__name{position:absolute;z-index:2;left:.75rem;right:.75rem;bottom:1rem;font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--color-white);text-align:center;text-wrap:balance;transition:opacity .32s var(--ease-out)}.about__slide:not([data-active=true]) .about__name{opacity:.45}.about__slide[data-active=true] .about__slide-btn:focus-visible .about__photo,.about__slide[data-active=true] .about__slide-btn:hover .about__photo{transform:scale(1.03)}.about__slide[data-active=true]:focus-within,.about__slide[data-active=true]:hover{box-shadow:0 0 0 1px rgba(160,176,255,.4),0 0 40px rgba(1,8,184,.7)}.about__slide-btn:focus-visible{outline:2px solid rgba(160,176,255,.55);outline-offset:-2px}.about__dots{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:clamp(1.25rem,3vw,1.75rem)}.about__dot{width:12px;height:12px;padding:0;border-radius:999px;background:transparent;border:1.5px solid rgba(255,255,255,.7);transition:background .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s var(--ease-out)}.about__dot[aria-selected=true]{background:var(--color-white);border-color:var(--color-white);box-shadow:inset 0 0 0 3px #040d1e}.about__dot:focus-visible{outline:2px solid rgba(160,176,255,.55);outline-offset:3px}@media (max-width:700px){.about__carousel{padding-inline:.15rem}.about__stage{height:clamp(340px,82vw,420px)}.about__slide[data-offset="-1"]{left:10%;width:min(38%,140px);transform:translate(-50%,-50%) scale(.78)}.about__slide[data-offset="1"]{left:90%;width:min(38%,140px);transform:translate(-50%,-50%) scale(.78)}.about__slide[data-active=true]{width:min(70%,260px)}.about__arrow:first-of-type{left:0}.about__arrow:last-of-type{right:0}.about__name{font-size:13px;bottom:.7rem}}@media (prefers-reduced-motion:reduce){.about__arrow,.about__dot,.about__name,.about__photo,.about__shade,.about__slide{transition:none}.about__slide[data-active=true] .about__slide-btn:focus-visible .about__photo,.about__slide[data-active=true] .about__slide-btn:hover .about__photo{transform:none}}.footer{position:relative;z-index:1;width:100%;max-width:100%;min-height:100svh;min-height:100dvh;overflow:hidden;isolation:isolate;margin-top:-1px;border-top-left-radius:50% 48px;border-top-right-radius:50% 48px;background-color:#020a1c;background-image:linear-gradient(90deg,#020919,#02091a 25%,#020a1a 50%,#020a1a 75%,#020a1b)}@media (min-width:768px){.footer{border-top-left-radius:50% 72px;border-top-right-radius:50% 72px}}@media (min-width:1100px){.footer{border-top-left-radius:50% 96px;border-top-right-radius:50% 96px}}.footer__panels{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url(/images/hero-cylinder-tile.png);background-repeat:repeat-x;background-size:105px 100%;background-position:0 0;opacity:.55;mix-blend-mode:overlay}.footer__shell{position:relative;z-index:1;box-sizing:border-box;min-height:100svh;min-height:100dvh;width:100%;max-width:100%;display:flex;flex-direction:column;justify-content:space-between;padding-block:clamp(4.5rem,12vh,8rem) clamp(2rem,4vh,3rem);padding-inline:max(clamp(1.75rem,6vw,4.5rem),env(safe-area-inset-left)) max(clamp(1.75rem,6vw,4.5rem),env(safe-area-inset-right))}.footer__content{flex:1 1;display:flex;max-width:min(100%,1200px);margin-inline:auto;padding-block:clamp(1rem,3vh,2.5rem)}.footer__content,.footer__grid{align-items:stretch;width:100%;min-width:0}.footer__grid{display:grid;grid-template-columns:1fr;grid-gap:clamp(3rem,7vw,5rem);gap:clamp(3rem,7vw,5rem)}.footer__brand{min-width:0;height:100%}.footer__brand,.footer__intro{display:flex;flex-direction:column;align-items:flex-start}.footer__logo{width:clamp(88px,14vw,120px);height:auto;margin-bottom:clamp(2rem,4.5vw,3rem)}.footer__tagline{font-size:clamp(1.5rem,2.6vw,2.15rem);font-weight:700;font-style:normal;line-height:1.4;color:var(--color-white);margin-bottom:clamp(1.75rem,3.5vw,2.5rem)}.footer__desc{font-size:var(--fs-body);font-weight:var(--fw-body);line-height:1.85;color:rgba(255,255,255,.92)}.footer__break{display:none}.footer__links{margin-top:auto;padding-top:clamp(2.5rem,6vh,4.5rem)}.footer__links-label{font-size:var(--fs-body);font-weight:700;color:var(--color-white);margin-bottom:.9rem}.footer__links nav{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.15rem}.footer__links a{font-size:var(--fs-body);font-weight:var(--fw-body);color:rgba(255,255,255,.92);white-space:nowrap}.footer__links a:focus-visible,.footer__links a:hover{color:var(--color-white);text-decoration:underline;text-underline-offset:3px}.footer__links-sep{color:rgba(255,255,255,.55);font-weight:300;-webkit-user-select:none;-moz-user-select:none;user-select:none}.footer__form{position:relative;display:flex;flex-direction:column;gap:clamp(1.35rem,2.8vw,1.85rem);width:100%;max-width:420px;min-width:0;height:100%;background:transparent;border:none;box-shadow:none;padding:0}.footer__form-title{font-size:clamp(1.5rem,2.6vw,2.15rem);font-weight:700;line-height:1.28;color:var(--color-white);min-height:clamp(88px,14vw,120px);display:flex;align-items:flex-start;margin-bottom:clamp(.75rem,2vw,1.25rem)}.footer__field{display:flex;flex-direction:column;gap:.7rem}.footer__label{font-size:var(--fs-body);font-weight:600;color:var(--color-white)}.footer__field input,.footer__field textarea{width:100%;box-sizing:border-box;background:#01040c;border:1px solid rgba(160,176,255,.12);border-radius:10px;padding:.85rem 1rem;color:var(--color-white);font-family:inherit;font-size:16px;font-weight:var(--fw-body);outline:none;box-shadow:inset 0 2px 6px rgba(0,0,0,.65),inset 0 -1px 0 rgba(160,176,255,.08);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.footer__field input{min-height:48px}.footer__field textarea{min-height:140px;resize:vertical;line-height:1.5}.footer__field input::placeholder,.footer__field textarea::placeholder{color:rgba(148,163,184,.7);font-style:italic}.footer__field input:focus,.footer__field textarea:focus{border-color:rgba(160,176,255,.35);box-shadow:inset 0 2px 8px rgba(0,0,0,.7),inset 0 0 0 1px rgba(160,176,255,.18),0 0 0 3px rgba(20,40,100,.25)}.footer__submit{align-self:flex-end;margin-top:auto;min-height:48px;padding:.7rem 1.75rem;border-radius:12px;border:1px solid rgba(160,176,255,.16);background:#05070f;color:var(--color-white);font-size:var(--fs-body);font-weight:500;box-shadow:inset 0 2px 6px rgba(0,0,0,.7),inset 0 -1px 0 rgba(160,176,255,.1),0 0 18px rgba(1,8,184,.35),0 0 36px rgba(1,8,184,.16);transition:box-shadow .22s var(--ease-out),background .22s var(--ease-out),border-color .22s var(--ease-out),opacity .22s var(--ease-out)}.footer__submit:focus-visible:not(:disabled),.footer__submit:hover:not(:disabled){background:#0a0f1c;border-color:rgba(160,176,255,.28);box-shadow:inset 0 2px 8px rgba(0,0,0,.75),inset 0 -1px 0 rgba(160,176,255,.16),0 0 22px rgba(1,8,184,.5),0 0 44px rgba(1,8,184,.22)}.footer__submit:disabled{cursor:not-allowed;opacity:.55}.footer__field input:disabled,.footer__field textarea:disabled{opacity:.7;cursor:not-allowed}.footer__honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer__status{margin:0;font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty}.footer__status[data-kind=success]{color:#b8d4ff}.footer__status[data-kind=error]{color:#ffb4b4}.footer__copy{flex-shrink:0;text-align:center;margin-top:clamp(2.5rem,6vh,4.5rem);padding-bottom:max(.75rem,env(safe-area-inset-bottom));font-size:var(--fs-body);font-weight:var(--fw-body);color:rgba(190,200,220,.5)}@media (min-width:900px){.footer__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(3.5rem,7vw,6rem);align-items:stretch}.footer__form{max-width:none;justify-self:stretch}.footer__break{display:inline}}@media (max-width:899px){.footer,.footer__shell{min-height:0}.footer__shell{overflow-y:visible;padding-block:clamp(3.75rem,9vh,5.5rem) 1.75rem}.footer__content{align-items:flex-start;padding-block:0}.footer__form{max-width:none;height:auto}.footer__form-title{min-height:0;margin-bottom:.85rem}.footer__logo{margin-bottom:1.35rem}.footer__links{padding-top:2rem}.footer__submit{align-self:stretch;width:100%}}.header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:clamp(1.5rem,4vw,3rem);min-height:var(--header-h);padding:max(.75rem,env(safe-area-inset-top)) max(var(--page-pad-x),env(safe-area-inset-right)) .75rem max(var(--page-pad-x),env(safe-area-inset-left))}.header__logo{position:relative;z-index:22;flex-shrink:0}.header__logo img{width:clamp(44px,10vw,56px);height:auto}.header__toggle{position:relative;z-index:22;display:none;width:var(--touch-min);height:var(--touch-min);flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:8px}.header__toggle-bar{display:block;width:20px;height:2px;background:var(--color-white);border-radius:1px;transition:transform .25s var(--ease-out),opacity .2s var(--ease-out)}.header--open .header__toggle-bar:first-child{transform:translateY(7px) rotate(45deg)}.header--open .header__toggle-bar:nth-child(2){opacity:0}.header--open .header__toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header__nav{position:relative;z-index:22}.header__nav ul{display:flex;flex-wrap:wrap;gap:.75rem clamp(1.75rem,3.5vw,3rem);justify-content:flex-end;align-items:center}.header__nav a{display:inline-flex;align-items:center;min-height:var(--touch-min);font-size:var(--fs-body);font-weight:var(--fw-body);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75);transition:color .2s var(--ease-out)}.header__nav a:focus-visible,.header__nav a:hover{color:var(--color-white)}.header__backdrop{display:none}@media (max-width:767px){.header__toggle{display:flex}.header__nav{position:fixed;inset:0 0 0 auto;width:min(82vw,320px);padding:calc(var(--header-h) + 1.5rem) 1.5rem max(2rem,env(safe-area-inset-bottom));background:rgba(4,13,30,.97);border-left:1px solid rgba(160,176,255,.12);transform:translateX(105%);transition:transform .32s var(--ease-out);z-index:21}.header__nav[data-open=true]{transform:translateX(0)}.header__nav ul{flex-direction:column;align-items:flex-start;gap:.75rem}.header__nav a{width:100%;font-size:var(--fs-body);letter-spacing:.1em}.header__backdrop{display:block;position:fixed;inset:0;z-index:19;background:rgba(0,0,0,.55);border:none;cursor:pointer}}.hero{position:relative;z-index:1;flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem var(--page-pad-x) clamp(3.5rem,9vh,5.5rem);min-height:0}.hero__title{max-width:min(18em,100%);font-size:var(--fs-h1);font-weight:var(--fw-h1);line-height:var(--lh-h1);color:var(--color-white);margin-bottom:.85rem;text-wrap:balance}.hero__title-line2{display:inline-flex;align-items:baseline;justify-content:center;gap:.3em;white-space:nowrap;max-width:100%}.hero__rotate{position:relative;width:-moz-fit-content;width:fit-content;max-width:100%;overflow:visible}.hero__rotate,.hero__rotate-word{display:inline-block;line-height:inherit;font-size:inherit;font-weight:inherit;vertical-align:baseline}.hero__rotate-word{white-space:nowrap;color:inherit;margin:0;padding:0;will-change:opacity,transform;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.hero__rotate-word--in{opacity:1;transform:translateY(0)}.hero__rotate-word--out{opacity:0;transform:translateY(-.25em)}@media (prefers-reduced-motion:reduce){.hero__rotate-word{transition:none}.hero__rotate-word--out{transform:none}}.hero__sub{max-width:min(46ch,100%);font-weight:var(--fw-body);line-height:var(--lh-body);color:rgba(230,235,255,.92);margin-bottom:1.75rem;text-wrap:pretty}.hero__cta,.hero__sub{font-size:var(--fs-body)}.hero__cta{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);padding:.9rem clamp(1.6rem,4vw,2.25rem);border-radius:14px;border:1px solid rgba(255,255,255,.55);background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(255,255,255,.08),0 8px 32px rgba(0,0,0,.28);color:var(--color-white);font-weight:var(--fw-h1);overflow:hidden;transition:transform .25s var(--ease-out),background .25s var(--ease-out),border-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}.hero__cta:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,rgba(255,255,255,.35),rgba(255,255,255,.05) 35%,transparent 55%);pointer-events:none}.hero__cta-label{position:relative;z-index:1}.hero__cta:focus-visible,.hero__cta:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.8);background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(255,255,255,.1),0 12px 36px rgba(1,8,184,.35)}@media (max-width:600px){.hero{padding:1.25rem var(--page-pad-x) clamp(2.75rem,8vh,4rem)}.hero__title{max-width:100%}.hero__title-line2{white-space:normal;flex-wrap:wrap;row-gap:.1em}.hero__sub{max-width:100%;padding-inline:.25rem}.hero__cta{width:min(100%,280px)}}.loading-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden}.loading-screen--light{background-color:var(--color-primary)}.loading-screen--dark{background-color:var(--color-loading-dark)}.loading-screen__logo{position:relative;z-index:2;width:clamp(140px,28vw,220px);height:auto;object-fit:contain;animation:logo-settle .7s var(--ease-out) both}.loading-screen--dark .loading-screen__logo{animation:logo-hold .2s var(--ease-out) both}.loading-boxes{position:absolute;inset:0;z-index:3;display:flex;gap:clamp(4px,.6vw,8px);padding-inline:clamp(2px,.4vw,6px);pointer-events:none}.loading-boxes__col{position:relative;flex:1 1;min-width:0;height:100%}.loading-boxes__bar{position:absolute;left:0;right:0;height:52%;background:var(--color-primary);will-change:transform}.loading-boxes__bar--top{top:0;border-radius:0 0 clamp(18px,2.5vw,36px) clamp(18px,2.5vw,36px);transform:translateY(0);animation:box-open-top 1.15s var(--ease-out) both;animation-delay:calc(.35s + var(--open-delay, 0s))}.loading-boxes__bar--bottom{bottom:0;border-radius:clamp(18px,2.5vw,36px) clamp(18px,2.5vw,36px) 0 0;transform:translateY(0);animation:box-open-bottom 1.15s var(--ease-out) both;animation-delay:calc(.35s + var(--open-delay, 0s))}@keyframes box-open-top{0%{transform:translateY(0)}to{transform:translateY(-105%)}}@keyframes box-open-bottom{0%{transform:translateY(0)}to{transform:translateY(105%)}}@keyframes logo-settle{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes logo-hold{0%{opacity:.85}to{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-boxes__bar--bottom,.loading-boxes__bar--top{animation-duration:.01ms;animation-delay:0s}.loading-screen__logo{animation:none}}.portfolio{position:relative;z-index:1;padding:var(--section-pad-y) 0 clamp(8rem,26vh,15rem);overflow:visible}.portfolio__hint--desktop{display:block;text-align:center;font-size:var(--fs-body);color:rgba(160,176,255,.65);margin:-.5rem 0 clamp(1rem,2.5vw,1.5rem)}.portfolio__arrow,.portfolio__controls,.portfolio__dots,.portfolio__hint--mobile{display:none}.portfolio__carousel,.portfolio__stage{position:relative;width:100%}.portfolio__stage{display:flex;align-items:flex-end;justify-content:center;--card-w:clamp(210px,31%,300px);min-height:clamp(400px,62vw,520px);margin-inline:auto;max-width:1100px;padding-bottom:clamp(1rem,2.5vw,1.5rem);overflow:visible}.portfolio__stage:before{content:"";position:absolute;left:50%;bottom:0;z-index:0;width:min(95%,780px);height:70%;transform:translateX(-50%);background:radial-gradient(ellipse 75% 65% at 50% 100%,rgba(1,8,184,.42) 0,rgba(1,8,184,.14) 45%,transparent 75%);pointer-events:none}.portfolio__card{--offset:0;position:absolute;bottom:clamp(.5rem,1.5vw,1rem);left:50%;width:var(--card-w,clamp(210px,31%,300px));aspect-ratio:3/4.2;margin-left:calc(var(--card-w, clamp(210px, 31%, 300px)) / -2);border-radius:24px;overflow:hidden;cursor:pointer;outline:none;transform-origin:50% 100%;background:#020a1b;box-shadow:var(--shadow-card);transition:box-shadow .28s var(--ease-out)}.portfolio__card[data-offset="0"]{transform:translateX(0) translateY(0) rotate(0deg) scale(1)}.portfolio__card[data-offset="-1"]{transform:translateX(-28%) translateY(8%) rotate(-15deg) scale(.96)}.portfolio__card[data-offset="1"]{transform:translateX(28%) translateY(8%) rotate(15deg) scale(.96)}.portfolio__card[data-offset="-2"]{transform:translateX(-56%) translateY(16%) rotate(-30deg) scale(.92)}.portfolio__card[data-offset="2"]{transform:translateX(56%) translateY(16%) rotate(30deg) scale(.92)}.portfolio__card[data-offset="-3"],.portfolio__card[data-offset="-4"],.portfolio__card[data-offset="3"],.portfolio__card[data-offset="4"]{opacity:0;pointer-events:none}.portfolio__card[data-highlighted=true]{box-shadow:0 0 0 2px rgba(160,176,255,.35),var(--shadow-card)}.portfolio__card:focus-visible{box-shadow:0 0 0 2px rgba(160,176,255,.7),var(--shadow-card)}.portfolio__card-media{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.portfolio__card-shade{position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(4,13,30,.75) 70%);pointer-events:none}.portfolio__card-label{position:absolute;left:.75rem;right:.75rem;bottom:8%;text-align:center;font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--color-white);text-shadow:0 1px 8px rgba(0,0,0,.7);opacity:0;transition:opacity .28s var(--ease-out)}.portfolio__card[data-highlighted=true] .portfolio__card-label{opacity:1}.portfolio-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:clamp(.5rem,1.5vw,1rem);background:#020a1b;animation:portfolio-modal-in .22s var(--ease-out) both;overflow:hidden}.portfolio-modal__panel{position:relative;display:flex;flex-direction:column;width:min(100%,880px);max-height:min(96vh,920px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:20px;background:#0a1228;isolation:isolate;box-shadow:0 0 0 1px rgba(160,176,255,.18),var(--shadow-card);animation:portfolio-panel-in .28s var(--ease-out) both}.portfolio-modal__close{position:-webkit-sticky;position:sticky;top:.65rem;align-self:flex-end;margin:.65rem .65rem -2.75rem;z-index:3;width:40px;height:40px;border-radius:50%;background:#020a1b;color:var(--color-white);font-size:1.5rem;line-height:1;display:grid;place-items:center;border:1px solid rgba(160,176,255,.25);flex-shrink:0}.portfolio-modal__close:focus-visible,.portfolio-modal__close:hover{background:rgba(1,8,184,.45)}.portfolio-modal__media{width:100%;flex-shrink:0;height:clamp(160px,28vh,260px);background:#0a1228;overflow:hidden}.portfolio-modal__media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.portfolio-modal__media--brand{background:#000}.portfolio-modal__media--brand[data-project=save]{background:#1f7a3a}.portfolio-modal__media--brand img{object-fit:contain;object-position:center;padding:1.25rem}.portfolio-modal__body{padding:clamp(1.15rem,3vw,1.75rem) clamp(1.15rem,3vw,1.75rem) clamp(1.5rem,4vw,2.25rem);display:flex;flex-direction:column;gap:1rem}.portfolio-modal__title{font-size:var(--fs-h2);font-weight:var(--fw-h1);line-height:var(--lh-h2);color:var(--color-white)}.portfolio-modal__headline{font-size:var(--fs-body);font-weight:var(--fw-body);line-height:1.55;color:rgba(200,210,255,.88);text-wrap:pretty}.portfolio-modal__facts{display:grid;grid-template-columns:1fr;grid-gap:.75rem 1.25rem;gap:.75rem 1.25rem;padding:.9rem 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.portfolio-modal__facts dt{font-size:var(--fs-body);font-weight:var(--fw-h1);color:rgba(160,176,255,.7);margin-bottom:.15rem}.portfolio-modal__facts dd{font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body);color:rgba(230,235,255,.92)}.portfolio-modal__facts a{color:#a0b0ff;text-decoration:underline;text-underline-offset:2px;word-break:break-word}.portfolio-modal__facts a:hover{color:var(--color-white)}.portfolio-modal__block h4{font-size:var(--fs-body);font-weight:var(--fw-h1);color:#a0b0ff;margin-bottom:.4rem}.portfolio-modal__block p{font-size:var(--fs-body);font-weight:var(--fw-body);line-height:1.65;color:rgba(230,235,255,.88);text-wrap:pretty}.portfolio-modal__closing{margin-top:.35rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);font-size:var(--fs-body);font-weight:var(--fw-h1);font-style:italic;line-height:1.5;color:#a0b0ff;text-wrap:pretty}@keyframes portfolio-modal-in{0%{opacity:0}to{opacity:1}}@keyframes portfolio-panel-in{0%{transform:translateY(12px) scale(.98)}to{transform:translateY(0) scale(1)}}@media (min-width:720px){.portfolio-modal__panel{width:min(100%,920px)}.portfolio-modal__media{height:clamp(220px,34vh,340px)}.portfolio-modal__facts{grid-template-columns:1fr 1fr}}@media (hover:none){.portfolio__card[data-offset="0"] .portfolio__card-label{opacity:1}}@media (max-width:640px){.portfolio{padding-bottom:clamp(3rem,8vh,5rem)}.portfolio__hint--desktop{display:none}.portfolio__hint--mobile{display:block;text-align:center;font-size:var(--fs-body);color:rgba(160,176,255,.65);margin:-.5rem 0 clamp(1rem,2.5vw,1.5rem)}.portfolio__carousel{display:block}.portfolio__stage{--card-w:min(46vw,170px);min-height:clamp(230px,62vw,270px);padding-bottom:.5rem;width:100%}.portfolio__card{width:var(--card-w);margin-left:calc(var(--card-w) / -2);border-radius:16px;bottom:.35rem}.portfolio__card[data-offset="0"]{transform:translateX(0) translateY(0) rotate(0deg) scale(1)}.portfolio__card[data-offset="-1"]{transform:translateX(-48%) translateY(5%) rotate(-11deg) scale(.86)}.portfolio__card[data-offset="1"]{transform:translateX(48%) translateY(5%) rotate(11deg) scale(.86)}.portfolio__card[data-offset="-2"],.portfolio__card[data-offset="-3"],.portfolio__card[data-offset="2"],.portfolio__card[data-offset="3"]{opacity:0;pointer-events:none}.portfolio__controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;max-width:280px;margin:1.35rem auto 0;position:relative;z-index:8}.portfolio__arrow{display:grid;place-items:center;flex-shrink:0;width:var(--touch-min);height:var(--touch-min);border-radius:999px;color:var(--color-white);font-size:1.75rem;line-height:1;background:rgba(5,10,24,.95);box-shadow:0 0 0 1px rgba(160,176,255,.22),0 0 16px rgba(1,8,184,.55)}.portfolio__dots{display:flex;align-items:center;justify-content:center;gap:.55rem;flex:1 1;margin-top:0}.portfolio__dot{width:10px;height:10px;padding:0;border-radius:999px;background:transparent;border:1.5px solid rgba(255,255,255,.7)}.portfolio__dot[aria-selected=true]{background:var(--color-white);border-color:var(--color-white);box-shadow:inset 0 0 0 2.5px #040d1e}.portfolio-modal{padding:0;align-items:stretch}.portfolio-modal__panel{width:100%;max-height:100%;height:100%;border-radius:0}}@media (max-width:380px){.portfolio__stage{--card-w:min(44vw,150px);min-height:clamp(210px,68vw,250px)}.portfolio__card[data-offset="-1"]{transform:translateX(-46%) translateY(5%) rotate(-10deg) scale(.84)}.portfolio__card[data-offset="1"]{transform:translateX(46%) translateY(5%) rotate(10deg) scale(.84)}}@media (prefers-reduced-motion:reduce){.portfolio-modal,.portfolio-modal__panel,.portfolio__card{transition:none;animation:none}}.process{position:relative;z-index:1;padding:var(--section-pad-y) 0;overflow:hidden}.process__layout{display:grid;grid-template-columns:1fr;grid-gap:clamp(1.75rem,4vw,3rem);gap:clamp(1.75rem,4vw,3rem);align-items:start}.process__intro{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.process__title{font-size:var(--fs-section);font-weight:var(--fw-section);line-height:var(--lh-section);color:rgba(180,200,255,.95);text-wrap:balance;max-width:14ch;text-align:left;margin-bottom:0}.process__title-accent{color:#8ea0ff;text-shadow:0 0 28px rgba(1,8,184,.75)}.process__lede{max-width:36ch;font-size:var(--fs-body);line-height:var(--lh-body);color:rgba(200,210,255,.78);text-wrap:pretty}.process__meter{position:relative;width:min(180px,42vw);aspect-ratio:1;margin-top:.5rem}.process__ring{width:100%;height:100%;transform:rotate(-90deg)}.process__ring-track{fill:none;stroke:rgba(160,176,255,.15);stroke-width:3}.process__ring-progress{fill:none;stroke:var(--color-primary);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:490;stroke-dashoffset:calc(490 - 490 * var(--progress, .25));filter:drop-shadow(0 0 10px rgba(1,8,184,.85));transition:stroke-dashoffset .5s var(--ease-out)}.process__meter-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.2rem;font-weight:600}.process__meter-num{font-size:var(--fs-h1);font-weight:var(--fw-h1);line-height:var(--lh-h1);color:var(--color-white)}.process__meter-total{font-size:var(--fs-body);font-weight:var(--fw-body);color:rgba(160,176,255,.65);align-self:flex-end;margin-bottom:.55em}.process__steps{display:flex;flex-direction:column;gap:0;position:relative;padding-left:.25rem;list-style:none}.process__steps:before{content:"";position:absolute;left:1.15rem;top:1.4rem;bottom:1.4rem;width:1px;background:linear-gradient(180deg,rgba(1,8,184,.9),rgba(160,176,255,.15))}.process__step{position:relative}.process__step-btn{display:grid;grid-gap:.45rem;gap:.45rem;width:100%;text-align:left;padding:1rem .75rem 1rem 2.75rem;border-radius:12px;transition:background-color .25s var(--ease-out),transform .25s var(--ease-out)}.process__step-btn:focus-visible,.process__step-btn:hover{background:rgba(1,8,184,.12)}.process__step-btn:focus-visible{outline:1px solid rgba(160,176,255,.5);outline-offset:2px}.process__badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;min-height:1.7rem;padding:.2rem .75rem;border-radius:999px;font-size:var(--fs-body);font-weight:var(--fw-h1);letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(160,176,255,.28);color:rgba(200,210,255,.7);background:transparent;transition:background-color .25s var(--ease-out),border-color .25s var(--ease-out),color .25s var(--ease-out),box-shadow .25s var(--ease-out)}.process__step[data-state=active] .process__badge,.process__step[data-state=done] .process__badge{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);box-shadow:0 0 18px rgba(1,8,184,.55)}.process__step-title{font-size:var(--fs-h2);font-weight:var(--fw-h2);line-height:var(--lh-h2);color:var(--color-white)}.process__step-body{max-width:48ch;font-size:var(--fs-body);line-height:var(--lh-body);color:rgba(200,210,255,.62);transition:color .25s var(--ease-out)}.process__step[data-state=active] .process__step-body{color:rgba(230,235,255,.92)}.process__step[data-state=next] .process__step-title{color:rgba(255,255,255,.55)}@media (max-width:899px){.process__intro{align-items:center;text-align:center;width:100%}.process__title{max-width:none;text-align:center}.process__lede{max-width:42ch}.process__meter{margin-inline:auto}.process__step-btn{padding:1rem .5rem 1rem 2.5rem}}@media (min-width:900px){.process__layout{grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);gap:3.5rem;align-items:center}.process__meter{width:200px}}@media (prefers-reduced-motion:reduce){.process__badge,.process__ring-progress,.process__step-body,.process__step-btn{transition:none}}.services{position:relative;z-index:1;padding:var(--section-pad-y) 0;overflow:visible}.services__heading{color:rgba(180,200,255,.95);margin-bottom:clamp(1.75rem,3.5vw,2.5rem)}.services__grid{display:grid;grid-template-columns:1fr;grid-gap:clamp(1.5rem,3.5vw,2.5rem);gap:clamp(1.5rem,3.5vw,2.5rem);justify-items:center;overflow:visible}.service-card{--card-w:545;--card-h:523;position:relative;z-index:0;overflow:hidden;width:100%;max-width:545px;aspect-ratio:545/523;padding:clamp(1.5rem,3.2vw,2.15rem) clamp(1.5rem,3.5vw,2.35rem) clamp(1.75rem,3.5vw,2.5rem);border:none;border-radius:20px;background:#020a1b;box-shadow:var(--shadow-card);display:flex;flex-direction:column;transition:z-index 0s}.service-card:focus-within,.service-card:hover{z-index:2}.service-card__glow{position:absolute;height:calc(524 / 523 * 100%);left:0;right:-.18%;top:calc(50% - (524 / 523 * 100% / 2) + .5px);background:#0108b8;border-radius:1000px 1000px 20px 1000px;z-index:0;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-out)}.service-card:focus-within .service-card__glow,.service-card:hover .service-card__glow{opacity:1}.service-card__top{position:relative;z-index:1;display:flex;align-items:center;gap:clamp(.75rem,1.8vw,1.15rem);margin-bottom:clamp(.85rem,1.8vw,1.25rem)}.service-card__icon{width:18.17%;max-width:99px;min-width:64px;aspect-ratio:1;margin-bottom:0;background:transparent;flex-shrink:0;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}.service-card__icon img{width:100%;height:100%;object-fit:contain;display:block;background:transparent}.service-card__title{flex:1 1;min-width:0;font-size:clamp(20px,2.4vw,28px);font-weight:600;line-height:1.25;margin-bottom:0;color:#a0b0ff;transition:color .3s var(--ease-out)}.service-card:focus-within .service-card__title,.service-card:hover .service-card__title{color:var(--color-white)}.service-card__body{position:relative;z-index:1;flex:1 1;font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body);color:rgba(255,255,255,.9);text-align:justify;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto}@media (hover:none){.service-card:active .service-card__glow,.service-card:focus-within .service-card__glow{opacity:1}}@media (max-width:719px){.service-card{aspect-ratio:auto;min-height:0;height:auto}.service-card__body{text-align:left}}@media (min-width:720px){.services__grid{grid-template-columns:repeat(2,minmax(0,545px));justify-content:center;gap:40px}}@media (min-width:1100px){.services .container{width:min(100% - (var(--page-pad-x) * 2),1130px)}.services__grid{gap:40px}}@media (prefers-reduced-motion:reduce){.service-card__glow{transition:none}}.spotlight{--blob-duration:18s;pointer-events:none;z-index:0;isolation:isolate;background-color:#020a1a;background-image:linear-gradient(90deg,#020919,#02091a 25%,#020a1a 50%,#020a1a 75%,#020a1b)}.spotlight,.spotlight__blobs{position:absolute;inset:0;overflow:hidden}.spotlight__blobs{z-index:1}.spotlight__blob{position:absolute;border-radius:50%;filter:blur(65px);mix-blend-mode:screen;will-change:top,left;animation-duration:var(--blob-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}.spotlight__cylinders{position:absolute;inset:0;z-index:2;pointer-events:none;background-image:url(/images/hero-cylinder-tile.png);background-repeat:repeat-x;background-size:105px 100%;background-position:0 0;opacity:.55;mix-blend-mode:overlay}.spotlight__blob--1{background-color:#0108b8;width:calc(800 / 1440 * 100%);aspect-ratio:1;height:auto;top:calc(376 / 1024 * 100%);left:calc(-96 / 1440 * 100%);animation-name:blob-1;animation-delay:0s}.spotlight__blob--2{background-color:#8e92ff;width:calc(544 / 1440 * 100%);aspect-ratio:1;height:auto;top:calc(632 / 1024 * 100%);left:calc(448 / 1440 * 100%);animation-name:blob-2;animation-delay:-3s}.spotlight__blob--3{background-color:#0108b8;width:calc(403 / 1440 * 100%);aspect-ratio:1;height:auto;top:calc(760 / 1024 * 100%);left:calc(889 / 1440 * 100%);animation-name:blob-3;animation-delay:-6s}.spotlight__blob--4{background-color:#8e92ff;width:calc(715 / 1440 * 100%);aspect-ratio:715/721;height:auto;top:calc(363 / 1024 * 100%);left:calc(1113 / 1440 * 100%);animation-name:blob-4;animation-delay:-9s}@keyframes blob-1{0%{top:calc(376 / 1024 * 100%);left:calc(-96 / 1440 * 100%)}33%{top:calc(83 / 1024 * 100%);left:calc(195 / 1440 * 100%)}66%{top:calc(146 / 1024 * 100%);left:calc(772 / 1440 * 100%)}to{top:calc(643 / 1024 * 100%);left:calc(340 / 1440 * 100%)}}@keyframes blob-2{0%{top:calc(632 / 1024 * 100%);left:calc(448 / 1440 * 100%)}33%{top:calc(650 / 1024 * 100%);left:calc(-60 / 1440 * 100%)}66%{top:calc(154 / 1024 * 100%);left:calc(419 / 1440 * 100%)}to{top:calc(480 / 1024 * 100%);left:calc(1035 / 1440 * 100%)}}@keyframes blob-3{0%{top:calc(760 / 1024 * 100%);left:calc(889 / 1440 * 100%)}33%{top:calc(822 / 1024 * 100%);left:calc(352 / 1440 * 100%)}66%{top:calc(426 / 1024 * 100%);left:calc(195 / 1440 * 100%)}to{top:calc(209 / 1024 * 100%);left:calc(930 / 1440 * 100%)}}@keyframes blob-4{0%{top:calc(363 / 1024 * 100%);left:calc(1113 / 1440 * 100%)}33%{top:calc(650 / 1024 * 100%);left:calc(678 / 1440 * 100%)}66%{top:calc(585 / 1024 * 100%);left:calc(-57 / 1440 * 100%)}to{top:calc(139 / 1024 * 100%);left:calc(320 / 1440 * 100%)}}@media (prefers-reduced-motion:reduce){.spotlight__blob{animation:none!important}}.testimonials{position:relative;z-index:1;padding:var(--section-pad-y) 0}.testimonials__inner{position:relative;z-index:1;max-width:1100px}.testimonials__header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:clamp(2rem,4vw,2.75rem)}.testimonials__lede{max-width:48ch;font-size:var(--fs-body);line-height:var(--lh-body);color:rgba(200,210,255,.75);text-wrap:pretty}.testimonials__rail{display:grid;grid-template-columns:1fr;grid-gap:clamp(1.25rem,3vw,2.5rem);gap:clamp(1.25rem,3vw,2.5rem);align-items:stretch}.testimonials__card{display:flex;flex-direction:column;gap:1.5rem;height:100%;min-height:0;padding:clamp(1.5rem,3vw,2rem);border-radius:20px;background:#020a1b;box-shadow:var(--shadow-card);transition:transform .28s var(--ease-out)}.testimonials__card:focus-within,.testimonials__card:hover{transform:translateY(-3px)}.testimonials__quote{flex:1 1;font-size:var(--fs-body);font-weight:var(--fw-body);line-height:1.65;color:rgba(230,235,255,.88);text-align:left;text-wrap:pretty}.testimonials__quote:before{content:"“";color:rgba(160,176,255,.45);margin-right:.1em}.testimonials__author{display:flex;align-items:center;gap:.85rem;margin-top:auto;padding-top:1.15rem;border-top:1px solid rgba(255,255,255,.08)}.testimonials__avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;flex-shrink:0;font-size:var(--fs-body);font-weight:var(--fw-h1);letter-spacing:.04em;color:rgba(230,235,255,.95);background:#0a1630;border:1px solid rgba(160,176,255,.2)}.testimonials__meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.testimonials__name{font-size:var(--fs-body);font-weight:var(--fw-h1);color:var(--color-white)}.testimonials__role{font-size:var(--fs-body);font-weight:var(--fw-body);color:rgba(160,176,255,.65)}@media (min-width:720px){.testimonials__rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.testimonials__card:last-child:nth-child(odd){grid-column:1/-1}}@media (min-width:1100px){.testimonials__rail{grid-template-columns:repeat(6,minmax(0,1fr))}.testimonials__card,.testimonials__card:last-child:nth-child(odd){grid-column:span 2}.testimonials__rail:has(>:nth-child(5):last-child)>:nth-child(4),.testimonials__rail:has(>:nth-child(5):last-child)>:nth-child(5){grid-column:span 3}.testimonials__card:last-child:nth-child(3n+1){grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.testimonials__card{transition:none}}.tools{position:relative;z-index:1;padding:var(--section-pad-y) 0;overflow:hidden;isolation:isolate}.tools__blueprint{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(rgba(1,8,184,.22),rgba(1,8,184,.22)),repeating-linear-gradient(0deg,transparent,transparent 47px,rgba(160,176,255,.08) 0,rgba(160,176,255,.08) 48px),repeating-linear-gradient(90deg,transparent,transparent 47px,rgba(160,176,255,.08) 0,rgba(160,176,255,.08) 48px);-webkit-mask-image:radial-gradient(ellipse at center,#000 35%,transparent 80%);mask-image:radial-gradient(ellipse at center,#000 35%,transparent 80%);opacity:.9}.tools__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}.tools__lede{max-width:48ch;margin-bottom:clamp(1.75rem,3.5vw,2.75rem);font-size:var(--fs-body);line-height:var(--lh-body);color:rgba(200,210,255,.75);text-wrap:pretty}.tools__grid{display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:clamp(.85rem,2vw,1.15rem);gap:clamp(.85rem,2vw,1.15rem);max-width:1100px}.tools__cell{min-width:0}.tools__tile{--tint:#a0b0ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;aspect-ratio:1;padding:.75rem .45rem;border-radius:20px;border:1px dashed rgba(160,176,255,.22);background:#020a1b;box-shadow:var(--shadow-card);transition:transform .25s var(--ease-out),border-color .25s var(--ease-out),box-shadow .25s var(--ease-out),background-color .25s var(--ease-out)}.tools__tile:focus-within,.tools__tile:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--tint) 55%,transparent);border-style:solid;background:rgba(1,8,184,.22);box-shadow:var(--shadow-card)}.tools__logo-wrap{display:grid;place-items:center;width:56%;aspect-ratio:1;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 0 18px color-mix(in srgb,var(--tint) 28%,transparent);overflow:hidden}.tools__tile[data-light-logo=true] .tools__logo-wrap{background:#121826}.tools__logo{width:62%;height:62%;object-fit:contain}.tools__tile:has(.tools__logo[src$="logo-figma.png"]) .tools__logo{width:100%;height:100%}.tools__name{font-size:var(--fs-body);font-weight:var(--fw-body);color:rgba(230,235,255,.88);line-height:var(--lh-body);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline:.15rem}@media (min-width:640px){.tools__grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:900px){.tools__grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (max-width:420px){.tools__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tools__tile{padding:.55rem .3rem;border-radius:16px}.tools__name{font-size:12px}}.page{min-height:100svh;min-height:100dvh;background:var(--color-page);opacity:0;transition:opacity .6s var(--ease-out);overflow-x:clip}.page--ready{opacity:1}.page--loading{opacity:0;pointer-events:none}.page__hero-shell{position:relative;isolation:isolate;display:flex;flex-direction:column;height:100svh;height:100dvh;min-height:100svh;min-height:100dvh;overflow:hidden;border-bottom-left-radius:50% 48px;border-bottom-right-radius:50% 48px;margin-bottom:-1px}@media (max-width:767px){.page__hero-shell{height:100svh;min-height:100svh;border-bottom-left-radius:50% 36px;border-bottom-right-radius:50% 36px}}@media (min-width:768px){.page__hero-shell{border-bottom-left-radius:50% 72px;border-bottom-right-radius:50% 72px}}@media (min-width:1100px){.page__hero-shell{border-bottom-left-radius:50% 96px;border-bottom-right-radius:50% 96px}}main{position:relative;z-index:1;min-width:0}