.logo{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:1.08rem;letter-spacing:-.03em;color:var(--text)}.logo__mark{flex:none}.logo__word{display:inline-flex;align-items:baseline;gap:4px}.logo__studio{font-size:1.1em;color:var(--muted);font-weight:400}.btn{--btn-h: 48px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:var(--btn-h);padding:0 8px 0 22px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:500;letter-spacing:-.005em;white-space:nowrap;isolation:isolate;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.btn--lg{--btn-h: 56px;padding-left:26px;font-size:var(--fs-base)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn__icon{display:grid;place-items:center;width:calc(var(--btn-h) - 14px);height:calc(var(--btn-h) - 14px);border-radius:50%;transition:background-color var(--dur) var(--ease-out)}.btn--primary{background:var(--text);color:var(--bg);box-shadow:0 0 #8b5cf600}.btn--primary .btn__icon{background:var(--bg);color:var(--text)}.btn--primary:hover:not(:disabled){box-shadow:0 10px 40px -8px #8b5cf68c}.btn--secondary{border:1px solid var(--line-strong);background:#ffffff05;color:var(--text)}.btn--secondary .btn__icon{background:#ffffff0f}.btn--secondary:hover:not(:disabled){border-color:#c4b5fd73;background:#8b5cf614}.btn--secondary:hover:not(:disabled) .btn__icon{background:var(--accent);color:#fff}.btn--ghost{padding-left:0;color:var(--text)}.btn--ghost .btn__icon{border:1px solid var(--line-strong)}.btn--ghost:hover:not(:disabled) .btn__icon{background:var(--text);color:var(--bg)}.btn:not(:has(.btn__icon)){padding-right:22px}.btn--lg:not(:has(.btn__icon)){padding-right:26px}.nav{position:fixed;inset:0 0 auto;z-index:50;height:var(--nav-h);border-bottom:1px solid transparent;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),backdrop-filter var(--dur) var(--ease-out)}.nav--scrolled{background:#08090db8;border-bottom-color:var(--line);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%)}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:24px}.nav__brand{position:relative;z-index:2;border-radius:var(--r-sm)}.nav__links{display:none}.nav__links ul{display:flex;align-items:center;gap:2px;padding:5px;border:1px solid var(--line);border-radius:var(--r-pill);background:#11131a8c}.nav__link{position:relative;display:block;padding:8px 16px;border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--muted);transition:color var(--dur-fast) var(--ease-out)}.nav__link:hover,.nav__link.is-active{color:var(--text)}.nav__link-label{position:relative;z-index:1}.nav__pill{position:absolute;inset:0;border-radius:inherit;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0f}.nav__actions{position:relative;z-index:2;display:flex;align-items:center;gap:12px}.nav__cta{display:none}.nav__toggle{position:relative;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-strong);background:#11131a99}.nav__toggle span{position:absolute;left:14px;right:14px;height:1.5px;border-radius:2px;background:var(--text);transition:transform var(--dur) var(--ease-out)}.nav__toggle span:first-child{transform:translateY(-4px)}.nav__toggle span:last-child{transform:translateY(4px)}.nav__toggle.is-open span:first-child{transform:rotate(45deg)}.nav__toggle.is-open span:last-child{transform:rotate(-45deg)}@media(min-width:960px){.nav__links{display:block;position:absolute;left:50%;transform:translate(-50%)}.nav__cta{display:inline-flex}.nav__toggle{display:none}}.mobile-menu{position:fixed;inset:0;z-index:45;background:var(--bg);overflow-y:auto}.mobile-menu__glow{position:absolute;width:120vw;height:60vh;left:-10vw;bottom:-20vh;background:radial-gradient(closest-side,rgba(139,92,246,.28),transparent);pointer-events:none}.mobile-menu__inner{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100%;padding-top:calc(var(--nav-h) + 32px);padding-bottom:32px;gap:48px}.mobile-menu__link{display:flex;align-items:baseline;gap:16px;padding:10px 0;font-size:clamp(2.4rem,11vw,4rem);font-weight:500;letter-spacing:-.04em;line-height:1.16;border-bottom:1px solid var(--line)}.mobile-menu__index{font-size:var(--fs-xs);letter-spacing:.1em;color:var(--subtle);transform:translateY(-1.2em)}.mobile-menu__foot{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.mobile-menu__email{display:inline-flex;align-items:center;gap:10px;color:var(--muted)}.socials{display:flex;gap:10px}.socials__item{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);color:var(--muted);transition:color var(--dur-fast),border-color var(--dur-fast),background-color var(--dur-fast)}a.socials__item:hover{color:var(--text);border-color:#c4b5fd80;background:var(--accent-soft)}.socials__item.is-pending{opacity:.45;cursor:default}.footer{position:relative;padding-top:clamp(72px,9vw,120px);border-top:1px solid var(--line);background:linear-gradient(180deg,var(--bg) 0%,#0b0c12 100%);overflow:hidden}.footer__grid{display:grid;gap:48px 32px;grid-template-columns:repeat(2,minmax(0,1fr))}.footer__brand{grid-column:1 / -1;display:grid;gap:20px;align-content:start}.footer__brand p{color:var(--muted);max-width:38ch;font-size:var(--fs-sm)}.footer__title{margin-bottom:18px;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--subtle)}.footer__list{display:grid;gap:10px;font-size:var(--fs-sm)}.footer__list a{color:var(--muted);overflow-wrap:anywhere;transition:color var(--dur-fast)}.footer__list a:hover{color:var(--text)}@media(min-width:960px){.footer__grid{grid-template-columns:1.6fr 1fr 1.2fr 1.2fr}.footer__brand{grid-column:auto}}.footer__wordmark{margin-top:clamp(56px,8vw,96px);overflow:hidden;line-height:.78;-webkit-user-select:none;user-select:none}.footer__wordmark span{display:block;font-size:clamp(5rem,24vw,26rem);font-weight:600;letter-spacing:-.07em;text-align:center;background:linear-gradient(180deg,#f5f5f729,#8b5cf60d 85%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:28px;border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--subtle)}.footer__tag{font-size:var(--fs-base);color:var(--muted)}.footer__top{display:inline-flex;align-items:center;gap:8px;color:var(--muted);transition:color var(--dur-fast)}.footer__top:hover{color:var(--text)}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(var(--nav-h) + clamp(32px,6vh,96px));overflow:hidden;isolation:isolate}.hero__bg{position:absolute;inset:0;z-index:-1;pointer-events:none}.hero__grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.045) 1px,transparent 1px);background-size:88px 88px;mask-image:radial-gradient(ellipse 80% 70% at 70% 30%,#000 10%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 30%,#000 10%,transparent 75%)}.hero__aurora{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}.hero__aurora--a{width:52vw;height:52vw;max-width:820px;max-height:820px;top:-18%;right:-12%;background:radial-gradient(circle,rgba(139,92,246,.55),transparent 65%)}.hero__aurora--b{width:40vw;height:40vw;max-width:640px;max-height:640px;bottom:-20%;left:-14%;background:radial-gradient(circle,rgba(99,102,241,.35),transparent 65%)}.hero__spot{position:absolute;top:0;left:0;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;background:radial-gradient(circle,rgba(167,139,250,.13),transparent 60%);transform:translate(-999px,-999px)}.hero__orbit{position:absolute;top:clamp(40px,8vh,110px);right:clamp(-260px,-8vw,-40px);width:min(62vw,760px);aspect-ratio:1}.hero__sphere{position:absolute;inset:30%;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(237,233,254,.9) 0%,rgba(167,139,250,.75) 18%,rgba(109,40,217,.55) 45%,rgba(30,27,75,.2) 72%,transparent 74%);box-shadow:0 0 120px 20px #8b5cf640,inset -30px -40px 80px #08090d99}.hero__ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08);animation:orbit-spin linear infinite}.hero__ring i{position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--accent-light);box-shadow:0 0 16px 3px #a78bfab3}.hero__ring--1{inset:18%;animation-duration:28s}.hero__ring--2{inset:8%;animation-duration:44s;animation-direction:reverse;border-style:dashed;border-color:#ffffff0f}.hero__ring--2 i:nth-child(2){top:auto;bottom:-4px;background:#818cf8}.hero__ring--3{inset:0;animation-duration:70s}.hero__ring--3 i{width:5px;height:5px;top:50%;left:-2.5px;margin:-2.5px 0 0}@keyframes orbit-spin{to{transform:rotate(360deg)}}.hero__inner{position:relative;width:100%}.hero__content{display:grid;gap:clamp(24px,3vw,36px)}.hero__title{font-size:var(--fs-display);font-weight:600;line-height:1;letter-spacing:-.05em;text-transform:uppercase}.hero__line{display:block}.hero__word{display:inline-block;overflow:hidden;padding:.24em .08em .12em 0;margin:-.24em 0 -.12em;vertical-align:top}.hero__word-inner{display:inline-block;will-change:transform}.hero__word-inner.serif{font-size:.98em;line-height:.9;letter-spacing:-.02em;text-transform:lowercase}.hero__line:nth-child(2){padding-left:clamp(0px,9vw,160px)}.hero__bottom{display:grid;gap:40px;align-items:end;padding-top:clamp(8px,2vw,24px)}.hero__intro{display:grid;gap:32px}.hero__desc{max-width:44ch;font-size:var(--fs-lg);line-height:1.5;color:var(--muted)}.hero__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}.terminal{display:none;width:100%;max-width:400px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:#11131a99;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 30px 80px -30px #000c;overflow:hidden}.terminal__bar{display:flex;align-items:center;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line)}.terminal__bar span{width:9px;height:9px;border-radius:50%;background:#ffffff24}.terminal__bar em{margin-left:auto;font-style:normal;font-size:.7rem;color:var(--subtle)}.terminal__body{display:grid;gap:6px;padding:16px 18px 18px;font-size:.78rem;line-height:1.5;color:var(--muted);white-space:pre}.terminal__line b{font-weight:500;color:var(--subtle)}.terminal__line--cmd{color:var(--text)}.terminal__line--ok b{color:var(--success)}.terminal__line--accent,.terminal__line--accent b{color:var(--accent-light)}.terminal__caret{display:inline-block;width:7px;height:1em;vertical-align:-2px;background:var(--accent-light);animation:caret 1.1s steps(1) infinite}@keyframes caret{50%{opacity:0}}@media(min-width:720px){.terminal{display:block}}@media(min-width:1100px){.hero__bottom{grid-template-columns:minmax(0,1fr) auto}.terminal{width:400px}}.hero__marquee{margin-top:clamp(40px,6vh,80px);border-block:1px solid var(--line);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.hero__marquee-track{display:flex;width:max-content;animation:marquee 42s linear infinite}.hero__marquee ul{display:flex}.hero__marquee li{display:flex;align-items:center;gap:40px;padding:20px 40px 20px 0;font-size:var(--fs-lg);letter-spacing:-.02em;color:var(--muted);white-space:nowrap}.hero__marquee-star{color:var(--accent);font-size:.8em}@keyframes marquee{to{transform:translate(-50%)}}@media(max-width:719px){.hero__orbit{top:calc(var(--nav-h) + 8px);right:-45vw;width:110vw;opacity:.75}.hero__line:nth-child(2){padding-left:0}.hero__ctas .btn--lg{width:100%;justify-content:space-between}.hero__ctas .btn--ghost{justify-content:flex-start}}.services__grid{display:grid;gap:16px}.service-cell{display:flex}.service-card{--mx: 50%;--my: 0%;position:relative;display:flex;flex-direction:column;gap:28px;width:100%;padding:clamp(24px,2.6vw,36px);border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(180deg,#ffffff08,#ffffff03);overflow:hidden;isolation:isolate;transition:border-color var(--dur) var(--ease-out)}.service-card:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(139,92,246,.14),transparent 60%);opacity:0;transition:opacity var(--dur) var(--ease-out)}.service-card:hover{border-color:#c4b5fd47}.service-card:hover:before{opacity:1}.service-card__top{display:flex;align-items:center;justify-content:space-between}.service-card__index{font-size:var(--fs-xs);letter-spacing:.12em;color:var(--subtle)}.service-card__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;border:1px solid var(--line-strong);background:#ffffff08;color:var(--accent-light);transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.service-card:hover .service-card__icon{background:var(--accent);border-color:transparent;color:#fff}.service-card__body{display:grid;gap:12px}.service-card__title{font-size:var(--fs-xl);font-weight:500;line-height:1.1;letter-spacing:-.03em}.service-card__desc{color:var(--muted);font-size:var(--fs-sm);line-height:1.6;max-width:46ch}.service-card__items{display:flex;flex-wrap:wrap;gap:6px 0;margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.02em;color:var(--subtle)}.service-card__items li:not(:last-child):after{content:"/";margin:0 10px;color:#ffffff2e}.service-cell--featured .service-card{background:radial-gradient(120% 90% at 100% 0%,rgba(139,92,246,.18),transparent 55%),linear-gradient(180deg,#ffffff09,#ffffff03);border-color:#c4b5fd29}.service-cell--featured .service-card__title{font-size:var(--fs-2xl);max-width:12ch}.service-cell--featured .service-card__desc{font-size:var(--fs-base)}.service-cell--featured .service-card__icon{width:60px;height:60px;border-radius:18px}.service-card__art{position:absolute;right:-.06em;bottom:18%;z-index:-1;font-family:var(--font-serif);font-style:italic;font-size:clamp(8rem,16vw,15rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(196,181,253,.16);pointer-events:none;-webkit-user-select:none;user-select:none}@media(min-width:720px){.services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-cell--featured{grid-column:1 / -1}}@media(min-width:1100px){.services__grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(300px,auto)}.service-cell{grid-column:span 2}.service-cell--featured{grid-column:span 4;grid-row:span 1}.service-cell--featured .service-card{min-height:420px}}.art{--h: 280;--tint: oklch(72% .16 var(--h));--tint-strong: oklch(62% .2 var(--h));--tint-soft: oklch(72% .16 var(--h) / .16);position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(90% 80% at 80% 10%,oklch(45% .14 var(--h) / .55),transparent 60%),linear-gradient(160deg,oklch(20% .04 var(--h)),#0c0d12 70%)}.art__img{width:100%;height:100%;object-fit:cover;object-position:top}.art__glow{position:absolute;width:60%;aspect-ratio:1;left:50%;top:60%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,oklch(70% .18 var(--h) / .35),transparent 65%);filter:blur(30px)}.art__window{position:absolute;inset:14% 9% -6%;display:flex;flex-direction:column;border-radius:12px 12px 0 0;border:1px solid rgba(255,255,255,.12);border-bottom:0;background:#0d0e14eb;box-shadow:0 30px 60px -20px #000000b3,0 0 0 1px #0006;overflow:hidden}.art__chrome{display:flex;align-items:center;gap:5px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.07)}.art__chrome i{width:6px;height:6px;border-radius:50%;background:#ffffff29}.art__url{flex:0 1 40%;height:8px;margin:0 auto;border-radius:4px;background:#ffffff0f}.art__screen{flex:1;padding:4%;min-height:0}.m-bar{display:block;height:6px;border-radius:3px;background:#ffffff1a}.m-bar--strong{background:#ffffff47}.m-dot{width:14px;height:14px;border-radius:5px;background:var(--tint)}.m-pill{display:block;width:34%;height:12px;border-radius:6px;background:var(--tint-strong)}.m-tile{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:7px;border:1px solid rgba(255,255,255,.06);background:#ffffff06}.m-num{font-family:var(--font-sans);font-size:clamp(.6rem,1.3vw,.9rem);font-weight:600;letter-spacing:-.02em;color:#ffffffe6}.m-meter{height:3px;border-radius:2px;background:#ffffff14}.m-meter span{display:block;height:100%;border-radius:inherit;background:var(--tint)}.m-avatar{flex:none;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--tint),rgba(255,255,255,.2))}.m-dash{display:grid;grid-template-columns:22% 1fr;gap:4%;height:100%}.m-dash__side{display:flex;flex-direction:column;gap:10px;padding-right:10%;border-right:1px solid rgba(255,255,255,.06)}.m-dash__main{display:grid;grid-template-rows:auto 1fr;gap:8px;min-height:0}.m-dash__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.m-dash__chart{padding:8px 0 0;overflow:hidden}.m-dash__chart svg{width:100%;height:100%}.m-area{fill:var(--tint-soft)}.m-line{fill:none;stroke:var(--tint);stroke-width:2;vector-effect:non-scaling-stroke}.m-shop{display:grid;grid-template-rows:1.3fr 1fr;gap:8px;height:100%}.m-shop__hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding:0 4%;border-radius:8px;background:linear-gradient(120deg,oklch(30% .06 var(--h) / .7),transparent)}.m-shop__copy{display:grid;gap:8px}.m-shop__product{display:grid;place-items:center;height:100%}.m-vase{width:38%;aspect-ratio:.6;border-radius:40% 40% 30% 30%/30% 30% 20% 20%;background:radial-gradient(circle at 35% 30%,oklch(88% .08 var(--h)),var(--tint-strong) 55%,oklch(35% .1 var(--h)));box-shadow:0 16px 30px -10px oklch(40% .15 var(--h) / .8)}.m-shop__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.m-shop__item{display:flex;flex-direction:column;gap:6px}.m-shop__item span:first-child{flex:1;border-radius:6px;background:#ffffff0d}.m-table{display:flex;flex-direction:column;gap:10px;height:100%}.m-table__bar{display:flex;justify-content:space-between;align-items:center}.m-table__bar .m-pill{width:18%}.m-input{width:42%;height:14px;border-radius:7px;border:1px solid rgba(255,255,255,.1)}.m-table__rows{display:grid;gap:0;border-radius:8px;border:1px solid rgba(255,255,255,.06);overflow:hidden}.m-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid rgba(255,255,255,.05)}.m-row:nth-child(odd){background:#ffffff04}.m-row .m-bar:nth-of-type(2){margin-left:auto}.m-status{width:30px;height:9px;border-radius:5px}.m-status--ok{background:#53be7080}.m-status--warn{background:#edb34580}.m-status--off{background:#ffffff1f}.m-folio{display:grid;grid-template-rows:auto 1fr;gap:10%;height:100%;padding:4% 2%}.m-folio__type{display:grid;gap:8px}.m-folio__type span{height:14px;border-radius:4px;background:#ffffffd9;width:72%}.m-folio__type span:nth-child(2){width:52%}.m-folio__type em{height:14px;width:38%;border-radius:4px;background:var(--tint);font-style:normal}.m-folio__tiles{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.m-folio__tiles span{border-radius:6px;background:linear-gradient(160deg,oklch(55% .14 var(--h) / .5),#ffffff08)}.m-folio__tiles span:nth-child(2){margin-top:18%;background:#ffffff0f}.m-folio__tiles span:nth-child(3){margin-bottom:18%;background:linear-gradient(200deg,oklch(65% .12 calc(var(--h) + 40) / .4),#ffffff08)}.m-editor{display:grid;grid-template-columns:1.4fr 1fr;gap:4%;height:100%}.m-editor__code{display:grid;align-content:start;gap:8px}.m-code{display:flex;align-items:center;gap:10px}.m-code em{width:10px;font-family:var(--font-mono);font-size:.5rem;font-style:normal;color:#ffffff40}.m-tok{height:6px;border-radius:3px}.m-tok--k{background:var(--tint)}.m-tok--f{background:oklch(78% .12 calc(var(--h) + 120) / .8)}.m-tok--s{background:oklch(80% .1 calc(var(--h) - 80) / .7)}.m-tok--v{background:#ffffff38}.m-editor__cam{display:flex;flex-direction:column;gap:8px}.m-face{position:relative;flex:1;border-radius:8px;background:linear-gradient(180deg,#ffffff0d,#ffffff04);overflow:hidden}.m-face__head{position:absolute;left:50%;bottom:-10%;width:52%;aspect-ratio:.85;transform:translate(-50%);border-radius:50% 50% 40% 40%;background:#ffffff1a}.m-face__box{position:absolute;inset:16% 22% 8%;border:1.5px solid var(--tint);border-radius:6px;box-shadow:0 0 12px var(--tint-soft);z-index:1}.m-editor__cam .m-pill{width:60%}.m-phones{position:absolute;inset:0}.m-phone{position:absolute;left:22%;top:12%;width:30%;aspect-ratio:.5;padding:2.2%;border-radius:22px;border:1px solid rgba(255,255,255,.16);background:#0c0d12;box-shadow:0 30px 60px -20px #000c;z-index:2}.m-phone--back{left:auto;right:18%;top:22%;transform:rotate(6deg);z-index:1;opacity:.85}.m-phone__screen{display:flex;flex-direction:column;gap:8px;height:100%;padding:14% 10%;border-radius:16px;background:linear-gradient(180deg,oklch(24% .05 var(--h)),#101118)}.m-ring{width:64%;aspect-ratio:1;margin:6% auto;border-radius:50%;background:conic-gradient(var(--tint) 0 68%,rgba(255,255,255,.08) 68% 100%);mask:radial-gradient(circle,transparent 54%,#000 56%);-webkit-mask:radial-gradient(circle,transparent 54%,#000 56%)}.m-list{display:flex;align-items:center;gap:8px}.m-bars{display:flex;align-items:flex-end;gap:6%;height:45%;margin:8% 0}.m-bars span{flex:1;border-radius:3px;background:linear-gradient(180deg,var(--tint),var(--tint-soft))}.projects{background:radial-gradient(60% 40% at 50% 0%,rgba(99,102,241,.07),transparent 70%),var(--bg)}.projects__filters{margin-bottom:clamp(32px,4vw,48px);overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}.projects__filters::-webkit-scrollbar{display:none}.filters{display:inline-flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:var(--r-pill);background:#11131a99}.filters__btn{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;transition:color var(--dur-fast)}.filters__btn:hover,.filters__btn.is-active{color:var(--text)}.filters__pill{position:absolute;inset:0;border-radius:inherit;background:#8b5cf62e;box-shadow:inset 0 0 0 1px #c4b5fd47}.filters__label,.filters__count{position:relative;z-index:1}.filters__count{font-size:.68rem;color:var(--subtle)}.filters__btn.is-active .filters__count{color:var(--accent-light)}.projects__grid{display:grid;gap:clamp(40px,5vw,64px) clamp(20px,2.4vw,32px)}@media(min-width:760px){.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects__grid>.project-card:nth-child(2n){margin-top:clamp(0px,6vw,96px)}}.project-card{position:relative;display:flex;flex-direction:column;gap:24px}.project-card__media{position:relative;aspect-ratio:16 / 11;border-radius:var(--r-lg);border:1px solid var(--line);overflow:hidden;isolation:isolate;transition:border-color var(--dur) var(--ease-out)}.project-card:hover .project-card__media{border-color:#c4b5fd4d}.project-card__art{position:absolute;inset:0;transform-origin:50% 100%}.project-card__badge{position:absolute;top:16px;left:16px;padding:6px 10px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.14);background:#08090d99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.project-card__view{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--text);color:var(--bg);opacity:0;transform:scale(.6) rotate(-45deg);transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.project-card:hover .project-card__view,.project-card:focus-within .project-card__view{opacity:1;transform:none}@media(hover:none){.project-card__view{opacity:1;transform:none;width:40px;height:40px}}.project-card__info{display:grid;gap:10px}.project-card__meta{display:flex;justify-content:space-between;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--subtle)}.project-card__title{font-size:var(--fs-xl);font-weight:500;letter-spacing:-.03em;line-height:1.15}.project-card__open{text-align:left;border-radius:4px}.project-card__open:after{content:"";position:absolute;inset:0;z-index:2}.project-card__open:focus-visible{outline:none}.project-card__open:focus-visible:after{outline:2px solid var(--accent-light);outline-offset:6px;border-radius:var(--r-lg)}.project-card__summary{color:var(--muted);font-size:var(--fs-sm);max-width:52ch}.project-card__tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.project-card__tech li{padding:4px 10px;border-radius:var(--r-pill);border:1px solid var(--line);font-family:var(--font-mono);font-size:.7rem;color:var(--muted)}.modal{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#040508b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal__panel{position:relative;width:100%;max-width:1080px;max-height:92svh;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line-strong);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--bg-2);box-shadow:0 40px 120px -20px #000000e6}@media(min-width:760px){.modal{align-items:center;padding:32px}.modal__panel{max-height:calc(100svh - 64px);border-bottom:1px solid var(--line-strong);border-radius:var(--r-lg)}}.modal__close{position:sticky;top:16px;float:right;z-index:5;display:grid;place-items:center;width:44px;height:44px;margin:16px 16px -60px 0;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:#08090db3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color var(--dur-fast),transform var(--dur) var(--ease-out)}.modal__close:hover{background:var(--text);color:var(--bg);transform:rotate(90deg)}.modal__media{aspect-ratio:16 / 9}@media(min-width:760px){.modal__media{aspect-ratio:16 / 7}}.modal__media{border-bottom:1px solid var(--line)}.modal__content{display:grid;gap:24px;padding:clamp(24px,4vw,48px)}.modal__meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--subtle)}.modal__sample{color:var(--accent-light)}.modal__title{font-size:var(--fs-2xl);font-weight:500;letter-spacing:-.04em;line-height:1}.modal__desc{max-width:62ch;font-size:var(--fs-lg);line-height:1.55;color:var(--muted)}.modal__cols{display:grid;gap:32px;padding-block:24px;border-block:1px solid var(--line)}@media(min-width:760px){.modal__cols{grid-template-columns:1.4fr 1fr}}.modal__label{margin-bottom:14px;font-size:var(--fs-xs);font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--subtle)}.modal__highlights{display:grid;gap:10px;font-size:var(--fs-sm)}.modal__highlights li{display:flex;gap:10px;align-items:flex-start}.modal__highlights svg{flex:none;margin-top:4px;color:var(--accent-light)}.modal__tech{display:flex;flex-wrap:wrap;gap:8px}.modal__tech li{padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--line-strong);font-family:var(--font-mono);font-size:.74rem}.modal__actions{display:flex;flex-wrap:wrap;gap:12px}.modal__note{font-size:var(--fs-xs);color:var(--subtle)}.why{border-top:1px solid var(--line)}.why__layout{display:grid;gap:clamp(48px,6vw,80px)}.why__intro{display:grid;gap:22px;align-content:start}.why__title{font-size:var(--fs-2xl);font-weight:500;line-height:1.14;letter-spacing:-.035em;text-wrap:balance}.why__lead{max-width:44ch;color:var(--muted);font-size:var(--fs-lg);line-height:1.5}.why__grid{display:grid;border-top:1px solid var(--line)}.why__item{position:relative;display:grid;gap:12px;align-content:start;padding:32px 0;border-bottom:1px solid var(--line)}.why__item:before{content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:linear-gradient(90deg,var(--accent-light),transparent);transition:width .6s var(--ease-out)}.why__item:hover:before{width:100%}.why__item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.why__icon{color:var(--accent-light);transition:transform var(--dur) var(--ease-out)}.why__item:hover .why__icon{transform:translateY(-3px)}.why__num{font-size:var(--fs-xs);color:var(--subtle)}.why__item-title{font-size:var(--fs-lg);font-weight:500;letter-spacing:-.02em}.why__item-desc{color:var(--muted);font-size:var(--fs-sm);max-width:38ch}@media(min-width:720px){.why__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.why__item{padding:36px 32px 36px 0}.why__item:nth-child(2n){padding-left:32px;padding-right:0;border-left:1px solid var(--line)}}@media(min-width:1100px){.why__layout{grid-template-columns:.9fr 1.3fr;gap:96px}.why__intro{position:sticky;top:calc(var(--nav-h) + 48px);align-self:start}}.process{background:radial-gradient(50% 50% at 0% 50%,rgba(139,92,246,.08),transparent 70%),var(--bg-2);border-block:1px solid var(--line)}.process__layout{display:grid;gap:24px}@media(min-width:1100px){.process__layout{grid-template-columns:.9fr 1.3fr;gap:96px}.process__head{position:sticky;top:calc(var(--nav-h) + 48px);align-self:start}.process__head .section-head{margin-bottom:0}}.process__timeline{--dot-x: 7px;position:relative}.process__steps{display:grid}.process__line{position:absolute;left:var(--dot-x);top:14px;bottom:14px;width:1px;background:var(--line-strong)}.process__line-fill{position:absolute;inset:0;background:linear-gradient(180deg,var(--accent-light),var(--accent-2));transform-origin:top;box-shadow:0 0 12px #8b5cf699}.process__step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:8px 20px;padding:0 0 clamp(40px,5vw,64px) 40px}.process__step:last-child{padding-bottom:0}.process__dot{position:absolute;left:calc(var(--dot-x) - 7px);top:8px;width:15px;height:15px;border-radius:50%;border:1px solid var(--line-strong);background:var(--bg-2);transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.process__index{padding-top:4px;font-size:var(--fs-sm);color:var(--subtle);transition:color var(--dur) var(--ease-out)}.process__body{display:grid;gap:10px;opacity:.45;transition:opacity .5s var(--ease-out)}.process__title{font-size:var(--fs-xl);font-weight:500;letter-spacing:-.03em;line-height:1.1}.process__desc{color:var(--muted);max-width:48ch}.process__deliverables{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.process__deliverables li{padding:4px 10px;border-radius:var(--r-pill);background:#ffffff0a;font-family:var(--font-mono);font-size:.7rem;color:var(--muted)}.process__step.is-active .process__body{opacity:1}.process__step.is-active .process__index{color:var(--accent-light)}.process__step.is-active .process__dot{background:var(--accent);border-color:var(--accent-light);box-shadow:0 0 0 5px #8b5cf62e,0 0 18px #8b5cf6b3}@media(prefers-reduced-motion:reduce){.process__body{opacity:1}}.about{overflow:hidden}.about:before{content:"";position:absolute;right:-20%;top:10%;width:60vw;height:60vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.1),transparent 65%);pointer-events:none}.about__top{margin-bottom:clamp(28px,4vw,48px)}.about__statement{position:relative;max-width:22ch;font-size:var(--fs-3xl);font-weight:500;line-height:1.2;letter-spacing:-.045em}.about__word.serif{font-size:1.06em}.about__pillars{position:relative;display:grid;gap:40px;margin-top:clamp(64px,9vw,128px)}.about__pillar{display:grid;gap:12px;align-content:start;padding-top:24px;border-top:1px solid var(--line-strong)}.about__pillar-index{font-size:var(--fs-xs);color:var(--accent-light)}.about__pillar-label{font-size:var(--fs-lg);font-weight:500;letter-spacing:-.02em}.about__pillar p{color:var(--muted);font-size:var(--fs-sm);max-width:40ch}@media(min-width:860px){.about__pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}}.contact{overflow:hidden;border-top:1px solid var(--line)}.contact__glow{position:absolute;left:50%;top:0;width:120vw;max-width:1600px;height:70%;transform:translate(-50%);background:radial-gradient(50% 60% at 50% 0%,rgba(139,92,246,.18),transparent 70%);pointer-events:none}.contact__layout{position:relative;display:grid;gap:clamp(48px,6vw,72px)}@media(min-width:1100px){.contact__layout{grid-template-columns:1fr minmax(0,600px);gap:96px;align-items:start}}.contact__intro{display:grid;gap:24px;align-content:start}.contact__title{font-size:var(--fs-3xl);font-weight:600;line-height:1.1;letter-spacing:-.05em;text-transform:uppercase}.contact__title .serif{font-size:1.05em;text-transform:none}.contact__lead{max-width:44ch;color:var(--muted);font-size:var(--fs-lg);line-height:1.5}.contact__channels{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:16px;padding-top:28px;border-top:1px solid var(--line);max-width:560px}.contact__methods{display:grid;gap:18px}.contact__email.is-pending{opacity:.5}.contact__email{display:inline-flex;align-items:center;gap:14px;font-size:var(--fs-lg);letter-spacing:-.01em;overflow-wrap:anywhere}.contact__email small{display:block;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--subtle)}.contact__email-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent-light);transition:background-color var(--dur),color var(--dur)}.contact__email:hover .contact__email-icon{background:var(--accent);color:#fff}.contact__card{padding:clamp(24px,3.5vw,44px);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:linear-gradient(180deg,#171a23d9,#11131ad9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 40px 100px -40px #000c}.form,.form__row{display:grid;gap:22px}@media(min-width:600px){.form__row{grid-template-columns:1fr 1fr}}.field{display:grid;gap:8px}.field__label{font-size:var(--fs-sm);font-weight:500;color:var(--text)}.field input,.field select,.field textarea{width:100%;min-height:52px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:#08090d8c;font-size:1rem;line-height:1.4;transition:border-color var(--dur-fast),box-shadow var(--dur-fast),background-color var(--dur-fast)}.field textarea{resize:vertical;min-height:140px}.field input::placeholder,.field textarea::placeholder{color:#6c6c77}.field input:hover,.field select:hover,.field textarea:hover{border-color:#ffffff3d}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent-light);background:#08090dcc;box-shadow:0 0 0 4px #8b5cf62e}.field--error input,.field--error select,.field--error textarea{border-color:#f87171b3}.field--error input:focus,.field--error select:focus,.field--error textarea:focus{box-shadow:0 0 0 4px #f8717129}.field__error{font-size:var(--fs-xs);color:var(--danger);overflow:hidden}.form__select{position:relative}.form__select select{appearance:none;padding-right:44px;cursor:pointer}.form__select select.is-placeholder{color:#6c6c77}.form__select option{background:var(--bg-2);color:var(--text)}.form__select:after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}.form__footer{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:6px}.form__note{flex:1 1 200px;font-size:var(--fs-xs);color:var(--subtle)}.form__status{padding:14px 16px;border-radius:var(--r-md);background:var(--accent-soft);font-size:var(--fs-sm);color:var(--text)}.form__status a{color:var(--accent-light);text-decoration:underline;text-underline-offset:3px}.form__status--error{background:#f871711a;color:#fecaca}.form__status-wrap:empty{display:none}.form-success{display:grid;justify-items:start;gap:16px;padding:24px 0}.form-success__icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#4ade801f;color:var(--success)}.form-success h3{font-size:var(--fs-xl);font-weight:500;letter-spacing:-.03em}.form-success p{color:var(--muted)}.zalo-float{position:fixed;right:clamp(16px,2.5vw,28px);bottom:clamp(16px,2.5vw,28px);z-index:70;display:inline-flex;align-items:center;gap:10px;padding:6px;border-radius:var(--r-pill);background:#0068ff;color:#fff;box-shadow:0 18px 40px -12px #0068ff99;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur)}.zalo-float:hover{transform:translateY(-3px);box-shadow:0 22px 46px -12px #0068ffbf}.zalo-float__icon{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffffff29}.zalo-float__icon:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:zalo-pulse 2.4s ease-out infinite}@keyframes zalo-pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(1.6);opacity:0}}.zalo-float__label{padding-right:14px;font-size:var(--fs-sm);font-weight:600;white-space:nowrap}@media(max-width:640px){.zalo-float__label{display:none}}:root{--bg: #08090d;--bg-2: #11131a;--bg-3: #171a23;--surface: rgba(255, 255, 255, .025);--surface-hover: rgba(255, 255, 255, .045);--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--text: #f5f5f7;--muted: #a1a1aa;--subtle: #8b8b96;--accent: #8b5cf6;--accent-2: #6366f1;--accent-light: #c4b5fd;--accent-soft: rgba(139, 92, 246, .14);--accent-gradient: linear-gradient(100deg, #d8ccff 0%, #a78bfa 40%, #6366f1 100%);--danger: #f87171;--success: #4ade80;--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif: "Playfair Display", ui-serif, Georgia, serif;--font-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs-xs: clamp(.72rem, .7rem + .1vw, .78rem);--fs-sm: clamp(.85rem, .82rem + .15vw, .94rem);--fs-base: clamp(1rem, .96rem + .2vw, 1.1rem);--fs-lg: clamp(1.15rem, 1.05rem + .45vw, 1.4rem);--fs-xl: clamp(1.5rem, 1.25rem + 1vw, 2.1rem);--fs-2xl: clamp(2.2rem, 1.6rem + 2.6vw, 3.9rem);--fs-3xl: clamp(2.8rem, 1.6rem + 5vw, 6.2rem);--fs-display: clamp(3rem, 1.2rem + 7.4vw, 9.25rem);--gutter: clamp(16px, 4vw, 48px);--container: 1360px;--section-y: clamp(96px, 12vw, 180px);--r-sm: 8px;--r-md: 14px;--r-lg: 22px;--r-pill: 999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .18s;--dur: .32s;--nav-h: 76px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) - 1px);background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent-light);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.section{position:relative;padding-block:var(--section-y)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:10px 16px;border-radius:var(--r-sm);background:var(--text);color:var(--bg);font-weight:500;transform:translateY(-160%);transition:transform var(--dur) var(--ease-out)}.skip-link:focus{transform:none}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--subtle)}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;text-transform:none}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em;margin-right:-.08em}.mono{font-family:var(--font-mono)}.section-head{display:grid;gap:22px;margin-bottom:clamp(48px,7vw,96px)}.section-head__title{font-size:var(--fs-2xl);font-weight:500;line-height:1.12;letter-spacing:-.035em;max-width:16ch;text-wrap:balance}.section-head__lead{color:var(--muted);max-width:52ch;font-size:var(--fs-lg);line-height:1.5}@media(min-width:960px){.section-head--split{grid-template-columns:1.2fr 1fr;align-items:end;column-gap:64px}.section-head--split .eyebrow{grid-column:1 / -1}.section-head--split .section-head__lead{justify-self:end}}.grain{pointer-events:none;position:fixed;inset:0;z-index:100;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
